jdk/make/CreateJars.gmk
changeset 25859 3317bb8137f4
parent 24965 bb8868e02e4d
child 26191 a0ff4b39d34b
--- a/jdk/make/CreateJars.gmk	Sun Aug 10 19:39:01 2014 -0700
+++ b/jdk/make/CreateJars.gmk	Sun Aug 17 15:54:13 2014 +0100
@@ -26,12 +26,14 @@
 include $(SPEC)
 include MakeBase.gmk
 include JavaCompilation.gmk
-include Setup.gmk
 
 default: all
 
 include Tools.gmk
 
+JDK_OUT_CLASSES := $(wildcard $(JDK_OUTPUTDIR)/modules/*)
+$(eval $(call FillCacheFind, $(JDK_OUT_CLASSES)))
+
 include Profiles.gmk
 
 #
@@ -50,7 +52,7 @@
 ##########################################################################################
 
 $(eval $(call SetupArchive,BUILD_JCONSOLE_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUTPUTDIR)/modules/jdk.jconsole, \
     SUFFIXES := .class .gif .png .properties, \
     INCLUDES := sun/tools/jconsole com/sun/tools/jconsole, \
     JARMAIN := sun.tools.jconsole.JConsole, \
@@ -61,7 +63,7 @@
 ##########################################################################################
 
 $(eval $(call SetupArchive,BUILD_DNS_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUTPUTDIR)/modules/jdk.naming.dns, \
     INCLUDES := sun/net/spi/nameservice/dns, \
     EXTRA_FILES := META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor, \
     JAR := $(IMAGES_OUTPUTDIR)/lib/ext/dnsns.jar, \
@@ -78,10 +80,9 @@
     $(addprefix sun/util/resources/, $(LOCALEDATA_INCLUDE_LOCALES))
 
 $(eval $(call SetupArchive,BUILD_LOCALEDATA_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUTPUTDIR)/modules/jdk.localedata, \
     SUFFIXES := .class _dict _th, \
     INCLUDES := $(LOCALEDATA_INCLUDES), \
-    EXCLUDES := sun/text/resources/th/BreakIteratorRules_th.class, \
     JAR := $(IMAGES_OUTPUTDIR)/lib/ext/localedata.jar, \
     SKIP_METAINF := true))
 
@@ -165,18 +166,19 @@
     META-INF/services/com.sun.jdi.connect.spi.TransportService \
     META-INF/services/com.sun.tools.attach.spi.AttachProvider \
     META-INF/services/com.sun.tools.xjc.Plugin \
+    META-INF/services/javax.script.ScriptEngineFactory \
     META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \
     META-INF/services/java.nio.file.spi.FileSystemProvider \
     org/relaxng/datatype \
     sun/awt/HKSCS.class \
     sun/awt/motif/X11GB2312.class \
-    sun/awt/motif/X11GB2312\$$$$Decoder.class \
-    sun/awt/motif/X11GB2312\$$$$Encoder.class \
+    sun/awt/motif/X11GB2312$$$$Decoder.class \
+    sun/awt/motif/X11GB2312$$$$Encoder.class \
     sun/awt/motif/X11GBK.class \
-    sun/awt/motif/X11GBK\$$$$Encoder.class \
+    sun/awt/motif/X11GBK$$$$Encoder.class \
     sun/awt/motif/X11KSC5601.class \
-    sun/awt/motif/X11KSC5601\$$$$Decoder.class \
-    sun/awt/motif/X11KSC5601\$$$$Encoder.class \
+    sun/awt/motif/X11KSC5601$$$$Decoder.class \
+    sun/awt/motif/X11KSC5601$$$$Encoder.class \
     sun/jvmstat \
     sun/net/spi/nameservice/dns \
     sun/nio/cs/ext \
@@ -212,11 +214,20 @@
     $(LOCALEDATA_INCLUDES) \
     com/oracle/jrockit/jfr \
     oracle/jrockit/jfr \
-    jdk/jfr
+    jdk/jfr \
+    jdk/internal/dynalink \
+    jdk/nashorn \
+    sun/jvm \
+    toolbarButtonGraphics \
+    sa.properties \
+    com/sun/java/swing/action \
+    com/sun/java/swing/ui \
+    com/oracle/security \
+    #
 
 # Find all files in the classes dir to use as dependencies. This could be more fine granular.
 ALL_FILES_IN_CLASSES := $(call not-containing, _the., $(filter-out %javac_state, \
-    $(call CacheFind, $(JDK_OUTPUTDIR)/classes)))
+    $(call CacheFind, $(JDK_OUT_CLASSES))))
 
 RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar_manifest
 RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar_manifest
@@ -252,12 +263,12 @@
 	$(TOOL_ADDJSUM) $< $@.tmp
 	$(MV) $@.tmp $@
 
-$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents: $(BUILD_TOOLS) $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude \
+$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents: $(BUILD_TOOLS_JDK) $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude \
     $(ALL_FILES_IN_CLASSES) $(IMAGES_OUTPUTDIR)/lib/classlist
 	$(MKDIR) -p $(@D)
 	$(RM) $@ $@.tmp
-	($(CD) $(JDK_OUTPUTDIR)/classes && \
-	$(TOOL_JARREORDER) \
+	($(CD) $(JDK_OUTPUTDIR)/modules && \
+	$(TOOL_JARREORDER) -m \
 	    -o $@.tmp $(IMAGES_OUTPUTDIR)/lib/classlist $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.exclude . )
 	$(MV) $@.tmp $@
 
@@ -266,7 +277,9 @@
 	$(RM) $@ $@.tmp
 	$(GREP) -e '\.class$$' $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp
         ifneq ($(PROFILE), )
-          # # Add back classes from excluded packages (fixing the $ substitution in the process)
+          # Add back classes from excluded packages (fixing the $ substitution in the process)
+          # This currently won't work with modular build layout, but there currently are no 
+          # types needing to be re added.
 	  for type in $(subst \$$,\, $(RT_JAR_INCLUDE_TYPES)) ; do \
 	    $(ECHO) $$type >> $@.tmp ; \
 	  done
@@ -277,16 +290,17 @@
 	$(MKDIR) -p $(@D)
 	$(RM) $@ $@.tmp
 	$(GREP) -v -e '\.class$$' \
-	    -e '/_the\.*' -e '^_the\.*' -e '\\_the\.*' -e 'javac_state' \
+	    -e '/_the\.' -e '^_the\.' -e '\\_the\.' -e ' _the\.' -e 'javac_state' \
 	    $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.jars.contents > $@.tmp
         ifneq ($(PROFILE), )
-          # # Strip out all META-INF/services/ entries
+          # Strip out all META-INF/services/ entries
 	  $(GREP) -v -e 'META-INF/services/' $@.tmp > $@.tmp2
-          # # Add back the required services
-          # # FIXME: On Solaris if PROFILE_INCLUDE_METAINF_SERVICES is not defined
-          # # we get a syntax error from sh. That doesn't happen on linux
+          # Add back the required services
+          # FIXME: On Solaris if PROFILE_INCLUDE_METAINF_SERVICES is not defined
+          # we get a syntax error from sh. That doesn't happen on linux
+          # Preserve any -C <dir> part of the original include line.
 	  for service in $(PROFILE_INCLUDE_METAINF_SERVICES) ; do \
-	    $(ECHO) $$service >> $@.tmp2; \
+	    $(GREP) -e "$$service" $@.tmp >> $@.tmp2; \
 	  done
 	  $(MV) $@.tmp2 $@.tmp
         endif
@@ -313,7 +327,7 @@
 	$(ECHO) Creating rt.jar $(PROFILE) Compressed=$(COMPRESS_JARS)
 	$(MKDIR) -p $(@D)
 	$(RM) $@ $@.tmp
-	$(CD) $(JDK_OUTPUTDIR)/classes && \
+	$(CD) $(JDK_OUTPUTDIR)/modules && \
 	$(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RT_JAR_MANIFEST_FILE) \
 	    @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents && \
 	if [ -f $(CLASS_FILE) ]; then \
@@ -328,7 +342,7 @@
 	$(ECHO) Creating resources.jar
 	$(MKDIR) -p $(@D)
 	$(RM) $@ $@.tmp
-	$(CD) $(JDK_OUTPUTDIR)/classes && \
+	$(CD) $(JDK_OUTPUTDIR)/modules && \
 	$(JAR) $(RT_JAR_CREATE_OPTIONS) $@.tmp $(RESOURCE_JAR_MANIFEST_FILE) \
 	    @$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.resources.jar.contents
 	$(MV) $@.tmp $@
@@ -337,17 +351,17 @@
 
 ifneq ($(OPENJDK_TARGET_OS), windows)
   CHARSETS_EXTRA_FILES := sun/awt/motif/X11GBK.class \
-      sun/awt/motif/X11GB2312\$$$$Decoder.class \
+      sun/awt/motif/X11GB2312$$$$Decoder.class \
       sun/awt/motif/X11GB2312.class \
-      sun/awt/motif/X11KSC5601\$$$$Decoder.class \
-      sun/awt/motif/X11KSC5601\$$$$Encoder.class \
-      sun/awt/motif/X11GB2312\$$$$Encoder.class \
-      sun/awt/motif/X11GBK\$$$$Encoder.class \
+      sun/awt/motif/X11KSC5601$$$$Decoder.class \
+      sun/awt/motif/X11KSC5601$$$$Encoder.class \
+      sun/awt/motif/X11GB2312$$$$Encoder.class \
+      sun/awt/motif/X11GBK$$$$Encoder.class \
       sun/awt/motif/X11KSC5601.class
 endif
 
 $(eval $(call SetupArchive,BUILD_CHARSETS_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUT_CLASSES), \
     SUFFIXES := .class .dat, \
     INCLUDES := sun/nio/cs/ext, \
     EXTRA_FILES := sun/awt/HKSCS.class \
@@ -359,7 +373,7 @@
 ##########################################################################################
 
 $(eval $(call SetupArchive,BUILD_ZIPFS_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUT_CLASSES), \
     INCLUDES := jdk/nio/zipfs, \
     EXTRA_FILES := META-INF/services/java.nio.file.spi.FileSystemProvider, \
     JAR := $(IMAGES_OUTPUTDIR)/lib/ext/zipfs.jar, \
@@ -371,7 +385,7 @@
 ifndef OPENJDK
   ifeq ($(ENABLE_JFR), true)
     $(eval $(call SetupArchive,BUILD_JFR_JAR, , \
-        SRCS := $(JDK_OUTPUTDIR)/classes, \
+        SRCS := $(JDK_OUTPUTDIR)/modules/jdk.jfr, \
         SUFFIXES := .class .jfc .xsd, \
         INCLUDES := com/oracle/jrockit/jfr \
             oracle/jrockit/jfr \
@@ -387,7 +401,7 @@
 ##########################################################################################
 
 $(eval $(call SetupArchive,BUILD_JSSE_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUT_CLASSES), \
     INCLUDES := sun/security/provider/Sun.class \
         sun/security/rsa/SunRsaSign.class \
         sun/security/ssl \
@@ -400,7 +414,7 @@
 ##########################################################################################
 
 $(eval $(call SetupArchive,BUILD_SWINGBEANS_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUTPUTDIR)/modules/java.desktop, \
     SUFFIXES := BeanInfo.class .gif, \
     INCLUDES := javax/swing sun/swing, \
     EXCLUDES := javax/swing/plaf, \
@@ -416,12 +430,12 @@
 CLDRDATA_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/cldrdata.jar
 
 $(eval $(call SetupArchive,BUILD_CLDRDATA_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(JDK_OUTPUTDIR)/modules/jdk.localedata \
+        $(JDK_OUTPUTDIR)/modules/java.base, \
     SUFFIXES := .class, \
     INCLUDES := sun/text/resources/cldr \
-        sun/util/cldr \
+        sun/util/cldr/CLDRLocaleDataMetaInfo.class \
         sun/util/resources/cldr, \
-    EXCLUDES := sun/util/cldr/CLDRLocaleProviderAdapter, \
     JAR := $(CLDRDATA_JAR_DST), \
     EXTRA_MANIFEST_ATTR := CLDR-Version: $(CLDRVERSION), \
     SKIP_METAINF := true))
@@ -484,13 +498,33 @@
 # The sjavac tools is not ready for public consumption.
 TOOLS_JAR_EXCLUDES = com/sun/tools/sjavac
 
+TOOLS_JAR_SRC := $(addprefix $(JDK_OUTPUTDIR)/modules/,\
+    java.corba \
+    java.desktop \
+    jdk.attach \
+    jdk.compiler \
+    jdk.dev \
+    jdk.javadoc \
+    jdk.jconsole \
+    jdk.jcmd \
+    jdk.jdi \
+    jdk.jvmstat \
+    jdk.rmic \
+    jdk.runtime \
+    jdk.xml.bind \
+    jdk.xml.ws \
+    )
+    #
+
 $(eval $(call SetupArchive,BUILD_TOOLS_JAR, , \
-    SRCS := $(JDK_OUTPUTDIR)/classes, \
+    SRCS := $(TOOLS_JAR_SRC), \
     SUFFIXES := .class .prp .gif .properties .xml .css .xsd .js .html .txt .java \
         Tool aliasmap options, \
     INCLUDES := $(TOOLS_JAR_INCLUDES), \
     EXCLUDES := $(TOOLS_JAR_EXCLUDES), \
-    EXTRA_FILES := META-INF/services/com.sun.jdi.connect.Connector \
+    EXTRA_FILES := \
+        $(JDK_OUTPUTDIR)/modules/jdk.jdi/META-INF/services/com.sun.jdi.connect.Connector \
+        $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.jdi.connect.Connector \
         META-INF/services/com.sun.jdi.connect.spi.TransportService \
         META-INF/services/com.sun.tools.attach.spi.AttachProvider \
         META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
@@ -533,7 +567,7 @@
 	$(RM) -r $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols/META-INF/sym
 	$(JAVA) $(NEW_JAVAC) \
-	    -bootclasspath $(JDK_OUTPUTDIR)/classes \
+	    -bootclasspath "$(IMAGES_OUTPUTDIR)/lib/rt.jar" \
 	    -XDprocess.packages -proc:only \
 	    -processor com.sun.tools.javac.sym.CreateSymbols \
 	    -Acom.sun.tools.javac.sym.Jar=$(IMAGES_OUTPUTDIR)/lib/rt.jar \
@@ -600,27 +634,35 @@
     SRC_ZIP_EXCLUDES = javax/swing/beaninfo
 endif
 
-SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
-SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc
-SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/impsrc
-SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gendocsrc_rmic
+SRC_ZIP_SRCS := $(wildcard \
+    $(JDK_TOPDIR)/src/*/share/classes \
+    $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS)/classes \
+    $(JDK_TOPDIR)/src/*/$(OPENJDK_TARGET_OS_API_DIR)/classes \
+    $(LANGTOOLS_TOPDIR)/src/*/share/classes \
+    $(CORBA_TOPDIR)/src/*/share/classes \
+    $(JAXP_TOPDIR)/src/*/share/classes \
+    $(JAXWS_TOPDIR)/src/*/share/classes \
+    $(JDK_OUTPUTDIR)/gensrc/j* \
+    $(JDK_OUTPUTDIR)/gendocsrc_rmic \
+    $(CORBA_OUTPUTDIR)/gensrc/j* \
+    ) \
+    #
 ifndef OPENJDK
-  SRC_ZIP_SRCS += $(JDK_TOPDIR)/src/closed/share/classes
+  SRC_ZIP_SRCS += $(wildcard $(JDK_TOPDIR)/src/closed/*/share/classes)
 endif
 
 # Need to copy launcher src files into desired directory structure
 # before zipping the sources.
-LAUNCHER_SRC_FILES := $(wildcard $(JDK_TOPDIR)/src/share/bin/*) \
-    $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/java_md*)
-LAUNCHER_ZIP_SRC := $(patsubst $(JDK_TOPDIR)/src/share/bin/%, $(IMAGES_OUTPUTDIR)/src/launcher/%, \
-    $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%, $(IMAGES_OUTPUTDIR)/src/launcher/%, \
-    $(LAUNCHER_SRC_FILES)))
+$(eval $(call SetupCopyFiles,COPY_LAUNCHER_SRC, \
+    SRC := $(JDK_TOPDIR)/src/java.base, \
+    DEST := $(IMAGES_OUTPUTDIR)/src/launcher, \
+    FLATTEN := true, \
+    FILES := $(wildcard \
+        $(JDK_TOPDIR)/src/java.base/share/native/launcher/* \
+        $(JDK_TOPDIR)/src/java.base/share/native/libjli/* \
+        $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_API_DIR)/native/libjli/java_md*)))
 
-$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/share/bin/%
-	$(install-file)
-
-$(IMAGES_OUTPUTDIR)/src/launcher/%: $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/%
-	$(install-file)
+LAUNCHER_ZIP_SRC := $(COPY_LAUNCHER_SRC)
 
 $(IMAGES_OUTPUTDIR)/src.zip: $(LAUNCHER_ZIP_SRC)
 
@@ -636,50 +678,10 @@
 
 ##########################################################################################
 
-ifndef OPENJDK
-  ifeq ($(OPENJDK_TARGET_OS), windows)
-
-    $(eval $(call SetupArchive,BUILD_JACCESS_JAR, , \
-        SRCS := $(JDK_OUTPUTDIR)/classes, \
-        INCLUDES := com/sun/java/accessibility/util, \
-        JAR := $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar, \
-        SKIP_METAINF := true))
-
-    JARS += $(IMAGES_OUTPUTDIR)/lib/ext/jaccess.jar
-
-    ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
-      $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_32_JAR, , \
-          SRCS := $(JDK_OUTPUTDIR)/classes_ab/32bit, \
-          INCLUDES := com/sun/java/accessibility, \
-          JAR := $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar, \
-          SKIP_METAINF := true))
-
-      $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_LEGACY_JAR, , \
-          SRCS := $(JDK_OUTPUTDIR)/classes_ab/legacy, \
-          INCLUDES := com/sun/java/accessibility, \
-          JAR := $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar, \
-          SKIP_METAINF := true))
-
-      JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-32.jar \
-          $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge.jar
-    else
-      $(eval $(call SetupArchive,BUILD_ACCESSBRIDGE_64_JAR, , \
-          SRCS := $(JDK_OUTPUTDIR)/classes_ab/64bit, \
-          INCLUDES := com/sun/java/accessibility, \
-          JAR := $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar, \
-          SKIP_METAINF := true))
-
-      JARS += $(IMAGES_OUTPUTDIR)/lib/ext/access-bridge-64.jar
-    endif
-  endif
-endif
-
-##########################################################################################
-
 # This file is imported from hotspot in Import.gmk. Copying it into images/lib so that
 # all jars can be found in one place when creating images in Images.gmk. It needs to be
 # done here so that clean targets can be simple and accurate.
-$(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(JDK_OUTPUTDIR)/lib/sa-jdi.jar
+$(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(HOTSPOT_DIST)/lib/sa-jdi.jar
 	$(install-file)
 
 ##########################################################################################
@@ -688,22 +690,22 @@
 #
 $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP, \
     SRC := $(JDK_OUTPUTDIR), \
-    INCLUDES := classes/javax/net \
-        classes/javax/security/cert \
-        classes/com/sun/net/ssl \
-        classes/com/sun/security/cert \
-        classes/sun/net/www/protocol/https \
-        classes/sun/security/pkcs12 \
-        classes/sun/security/ssl \
-        classes/sun/security/krb5 \
-        classes/sun/security/krb5/internal \
-        classes/sun/security/krb5/internal/ccache \
-        classes/sun/security/krb5/internal/crypto \
-        classes/sun/security/krb5/internal/ktab \
-        classes/sun/security/krb5/internal/rcache \
-        classes/sun/security/krb5/internal/util, \
-    INCLUDE_FILES := classes/sun/security/jgss/spi/GSSContextSpi.class, \
-    EXCLUDES := classes/sun/security/krb5/internal/tools, \
+    INCLUDES := modules/java.base/javax/net \
+        modules/java.base/javax/security/cert \
+        modules/java.base/com/sun/net/ssl \
+        modules/java.base/com/sun/security/cert \
+        modules/java.base/sun/net/www/protocol/https \
+        modules/java.base/sun/security/pkcs12 \
+        modules/java.base/sun/security/ssl \
+        modules/java.security.jgss/sun/security/krb5 \
+        modules/java.security.jgss/sun/security/krb5/internal \
+        modules/java.security.jgss/sun/security/krb5/internal/ccache \
+        modules/java.security.jgss/sun/security/krb5/internal/crypto \
+        modules/java.security.jgss/sun/security/krb5/internal/ktab \
+        modules/java.security.jgss/sun/security/krb5/internal/rcache \
+        modules/java.security.jgss/sun/security/krb5/internal/util, \
+    INCLUDE_FILES := modules/java.security.jgss/sun/security/jgss/spi/GSSContextSpi.class, \
+    EXCLUDES := modules/java.security.jgss/sun/security/krb5/internal/tools, \
     ZIP := $(IMAGES_OUTPUTDIR)/sec-bin.zip))
 
 JARS += $(IMAGES_OUTPUTDIR)/sec-bin.zip
@@ -716,7 +718,7 @@
   # sec-windows-bin.zip is used by builds where the corresponding sources are not available
   $(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP, \
       SRC := $(JDK_OUTPUTDIR), \
-      INCLUDES := classes/sun/security/krb5/internal/tools, \
+      INCLUDES := modules/java.security.jgss/sun/security/krb5/internal/tools, \
       ZIP := $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip))
 
   JARS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip