diff -r 836adbf7a2cd -r 3317bb8137f4 jdk/make/CreateJars.gmk --- 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