< prev index next >

make/CreateJmods.gmk

Print this page

        

@@ -115,10 +115,21 @@
 
       JMOD_FLAGS += --module-path $(JMODS_DIR) \
           --hash-modules '^(?!$(EXCLUDE_PATTERN)$$)'
     endif
   endif
+else # not java.base
+  ifeq ($(OPENJDK_TARGET_OS), windows)
+    # Only java.base needs to include the MSVC*_DLLs. Make sure no other module
+    # tries to include them (typically imported ones).
+    ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCR_DLL))), )
+      JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'
+    endif
+    ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCP_DLL))), )
+      JMOD_FLAGS += --exclude '$(notdir $(MSVCP_DLL))'
+    endif
+  endif
 endif
 
 # Changes to the jmod tool itself should also trigger a rebuild of all jmods.
 # The variable JMOD_CMD could contain an environment variable assignment before
 # the actual command. Filter that out using wildcard before adding to DEPS.

@@ -131,22 +142,25 @@
 # to avoid false incremental rebuilds.
 ifeq ($(INTERIM_JMOD), true)
   DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS))
 endif
 
+JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
+
 # Create jmods in a temp dir and then move them into place to keep the
 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
 $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
         $(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))
         $(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))
         $(RM) $@ $(JMODS_TEMPDIR)/$(notdir $@)
+        $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/jmods/$(MODULE).jmod, \
         $(JMOD) create \
             --module-version $(VERSION_SHORT) \
             --target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
             --module-path $(JMODS_DIR) \
-            --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}' \
-            $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@)
+                $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \
+        )
         $(MV) $(JMODS_TEMPDIR)/$(notdir $@) $@
 
 TARGETS += $(JMODS_DIR)/$(MODULE).jmod
 
 ################################################################################
< prev index next >