From 81ef227fd1c1d735bfc70331343ebb4fce666ef4 Mon Sep 17 00:00:00 2001 From: mchung Date: Thu, 7 Jan 2010 08:14:48 -0800 Subject: [PATCH] 6911737: Module build: generate modules with native libraries and any other files not in jar Summary: create modules under OUTPUTDIR/modules directory containing resources, native libraries Reviewed-by: alanb, ohair --- jdk/make/com/sun/crypto/provider/Makefile | 2 +- jdk/make/com/sun/java/pack/Makefile | 7 +- jdk/make/com/sun/java/pack/prop/Makefile | 1 + jdk/make/com/sun/jndi/cosnaming/Makefile | 1 + jdk/make/com/sun/jndi/dns/Makefile | 1 + jdk/make/com/sun/jndi/ldap/Makefile | 1 + jdk/make/com/sun/jndi/rmi/registry/Makefile | 1 + jdk/make/com/sun/nio/sctp/Makefile | 1 + jdk/make/com/sun/org/apache/xml/Makefile | 1 + jdk/make/com/sun/rowset/Makefile | 1 + jdk/make/com/sun/script/Makefile | 1 + .../com/sun/security/auth/module/Makefile | 1 + jdk/make/com/sun/servicetag/Makefile | 3 +- jdk/make/com/sun/tools/attach/Makefile | 2 + jdk/make/common/Defs.gmk | 95 +++++++++++- jdk/make/common/Demo.gmk | 2 + jdk/make/common/Library.gmk | 12 ++ jdk/make/common/Modules.gmk | 55 ++++++- jdk/make/common/Program.gmk | 19 +-- jdk/make/common/internal/BinaryPlugs.gmk | 4 +- jdk/make/common/internal/Resources.gmk | 2 +- jdk/make/common/shared/Sanity.gmk | 4 +- jdk/make/java/awt/Makefile | 1 + jdk/make/java/fdlibm/Makefile | 1 + jdk/make/java/hpi/native/Makefile | 1 + jdk/make/java/hpi/windows/Makefile | 5 +- jdk/make/java/instrument/Makefile | 1 + jdk/make/java/java/Makefile | 10 +- jdk/make/java/java_crw_demo/Makefile | 2 + jdk/make/java/java_hprof_demo/Makefile | 1 + jdk/make/java/jli/Makefile | 1 + jdk/make/java/jvm/Makefile | 22 ++- jdk/make/java/logging/Makefile | 1 + jdk/make/java/main/java/Makefile | 1 + jdk/make/java/main/javaw/Makefile | 1 + jdk/make/java/management/Makefile | 3 +- jdk/make/java/net/Makefile | 4 +- jdk/make/java/nio/Makefile | 3 +- jdk/make/java/npt/Makefile | 3 + jdk/make/java/redist/Makefile | 107 ++------------ .../java/redist/{FILES.gmk => fonts/Makefile} | 57 +++++++- jdk/make/java/redist/sajdi/Makefile | 87 +++++++++++ jdk/make/java/security/Makefile | 15 +- jdk/make/java/sql/Makefile | 1 + jdk/make/java/text/Makefile | 2 +- jdk/make/java/verify/Makefile | 1 + jdk/make/java/zip/Makefile | 1 + jdk/make/javax/crypto/Makefile | 25 +++- jdk/make/javax/imageio/Makefile | 1 + jdk/make/javax/print/Makefile | 1 + jdk/make/javax/sound/Makefile | 1 + jdk/make/javax/sound/jsoundalsa/Makefile | 1 + jdk/make/javax/sound/jsoundds/Makefile | 1 + jdk/make/javax/sql/Makefile | 1 + jdk/make/javax/swing/Makefile | 1 + jdk/make/javax/swing/plaf/Makefile | 1 + jdk/make/jpda/back/Makefile | 1 + jdk/make/jpda/transport/Makefile | 1 + jdk/make/jpda/transport/shmem/Makefile | 1 + jdk/make/jpda/transport/socket/Makefile | 1 + jdk/make/jpda/tty/Makefile | 1 + jdk/make/launchers/Makefile | 53 +++---- jdk/make/mkdemo/jvmti/Makefile | 1 + jdk/make/mkdemo/management/Makefile | 1 + jdk/make/mksample/dtrace/Makefile | 1 + jdk/make/mksample/jmx/jmx-scandir/Makefile | 1 + jdk/make/mksample/nbproject/Makefile | 1 + jdk/make/mksample/nio/file/Makefile | 1 + jdk/make/mksample/nio/multicast/Makefile | 1 + jdk/make/mksample/nio/server/Makefile | 1 + .../mksample/scripting/scriptpad/Makefile | 1 + .../mksample/webservices/EbayClient/Makefile | 1 + .../mksample/webservices/EbayServer/Makefile | 1 + jdk/make/modules/Makefile | 64 +++----- jdk/make/modules/modules.config | 137 +++++++++++++----- jdk/make/modules/tools/nbproject/project.xml | 3 +- .../src/com/sun/classanalyzer/Module.java | 6 +- jdk/make/sun/applet/Makefile | 1 + jdk/make/sun/awt/Makefile | 10 +- jdk/make/sun/cmm/Makefile | 31 ++-- jdk/make/sun/cmm/kcms/Makefile | 1 + jdk/make/sun/cmm/lcms/Makefile | 1 + jdk/make/sun/dcpr/Makefile | 1 + jdk/make/sun/font/Makefile | 17 ++- jdk/make/sun/font/t2k/Makefile | 1 + jdk/make/sun/headless/Makefile | 1 + jdk/make/sun/image/generic/Makefile | 1 + jdk/make/sun/image/vis/Makefile | 1 + jdk/make/sun/jar/Makefile | 1 + jdk/make/sun/javazic/Makefile | 2 + jdk/make/sun/jawt/Makefile | 1 + jdk/make/sun/jconsole/Makefile | 3 +- jdk/make/sun/jdbc/Makefile | 1 + jdk/make/sun/jdga/Makefile | 1 + jdk/make/sun/jkernel/Makefile | 1 + jdk/make/sun/jpeg/Makefile | 1 + jdk/make/sun/launcher/Makefile | 1 + jdk/make/sun/management/Makefile | 10 +- jdk/make/sun/native2ascii/Makefile | 1 + jdk/make/sun/net/others/Makefile | 1 + jdk/make/sun/net/spi/nameservice/dns/Makefile | 3 + jdk/make/sun/nio/Makefile | 84 +---------- jdk/make/sun/nio/{ => cs}/FILES_java.gmk | 0 jdk/make/sun/nio/cs/Makefile | 112 ++++++++++++++ jdk/make/sun/org/mozilla/javascript/Makefile | 1 + jdk/make/sun/pisces/Makefile | 1 + jdk/make/sun/rmi/cgi/Makefile | 2 + jdk/make/sun/rmi/oldtools/Makefile | 1 + jdk/make/sun/rmi/registry/Makefile | 5 + jdk/make/sun/rmi/rmi/Makefile | 3 +- jdk/make/sun/rmi/rmic/Makefile | 1 + jdk/make/sun/rmi/rmid/Makefile | 6 +- jdk/make/sun/security/ec/Makefile | 3 +- jdk/make/sun/security/jgss/wrapper/Makefile | 1 + jdk/make/sun/security/krb5/Makefile | 8 + jdk/make/sun/security/mscapi/Makefile | 3 +- jdk/make/sun/security/pkcs11/Makefile | 23 ++- jdk/make/sun/security/smartcardio/Makefile | 1 + jdk/make/sun/security/tools/Makefile | 5 + jdk/make/sun/serialver/Makefile | 1 + jdk/make/sun/splashscreen/Makefile | 1 + jdk/make/sun/text/Makefile | 1 + jdk/make/sun/tools/Makefile | 1 + jdk/make/sun/tracing/dtrace/Makefile | 1 + jdk/make/sun/xawt/Makefile | 1 + 125 files changed, 816 insertions(+), 404 deletions(-) rename jdk/make/java/redist/{FILES.gmk => fonts/Makefile} (65%) create mode 100644 jdk/make/java/redist/sajdi/Makefile rename jdk/make/sun/nio/{ => cs}/FILES_java.gmk (100%) create mode 100644 jdk/make/sun/nio/cs/Makefile diff --git a/jdk/make/com/sun/crypto/provider/Makefile b/jdk/make/com/sun/crypto/provider/Makefile index 8cf809dc46..96b12e9989 100644 --- a/jdk/make/com/sun/crypto/provider/Makefile +++ b/jdk/make/com/sun/crypto/provider/Makefile @@ -249,7 +249,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar else $(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar endif - $(install-file) + $(install-non-module-file) ifndef OPENJDK install-prebuilt: diff --git a/jdk/make/com/sun/java/pack/Makefile b/jdk/make/com/sun/java/pack/Makefile index 1d013c0894..4598313fdb 100644 --- a/jdk/make/com/sun/java/pack/Makefile +++ b/jdk/make/com/sun/java/pack/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = pack200 PACKAGE = com.sun.java.util.jar.pack LIBRARY = unpack PRODUCT = sun @@ -123,11 +124,14 @@ COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR))) all: build -build: prop +build: prop pack200-tool prop: $(MAKE) -C prop +pack200-tool: + $(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack) + unpacker: $(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG= @@ -151,6 +155,7 @@ ifdef MT $(MT) /manifest $(TEMPDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 endif $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) + $(install-module-file) ifeq ($(PLATFORM), windows) $(RES):: $(VERSIONINFO_RESOURCE) diff --git a/jdk/make/com/sun/java/pack/prop/Makefile b/jdk/make/com/sun/java/pack/prop/Makefile index 59a53f663b..e0bda2de04 100644 --- a/jdk/make/com/sun/java/pack/prop/Makefile +++ b/jdk/make/com/sun/java/pack/prop/Makefile @@ -29,6 +29,7 @@ # to a collision of rules with Classes.gmk and Library.gmk BUILDDIR = ../../../../.. +MODULE = pack200 PACKAGE = com.sun.java.util.jar.pack PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/jndi/cosnaming/Makefile b/jdk/make/com/sun/jndi/cosnaming/Makefile index 1657e9be36..9cc85a196f 100644 --- a/jdk/make/com/sun/jndi/cosnaming/Makefile +++ b/jdk/make/com/sun/jndi/cosnaming/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = jndi-cosnaming PACKAGE = com.sun.jndi.cosnaming PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/jndi/dns/Makefile b/jdk/make/com/sun/jndi/dns/Makefile index ed2641527b..a081c25592 100644 --- a/jdk/make/com/sun/jndi/dns/Makefile +++ b/jdk/make/com/sun/jndi/dns/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = jndi-dns PACKAGE = com.sun.jndi.dns PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/jndi/ldap/Makefile b/jdk/make/com/sun/jndi/ldap/Makefile index eac6568ba2..e6286c093c 100644 --- a/jdk/make/com/sun/jndi/ldap/Makefile +++ b/jdk/make/com/sun/jndi/ldap/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = jndi-ldap PACKAGE = com.sun.jndi.ldap PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/jndi/rmi/registry/Makefile b/jdk/make/com/sun/jndi/rmi/registry/Makefile index 4192b55e40..34a4e8170c 100644 --- a/jdk/make/com/sun/jndi/rmi/registry/Makefile +++ b/jdk/make/com/sun/jndi/rmi/registry/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../../.. +MODULE = jndi-rmiregistry PACKAGE = com.sun.jndi.rmi.registry PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/nio/sctp/Makefile b/jdk/make/com/sun/nio/sctp/Makefile index d5acea340a..1eadf76912 100644 --- a/jdk/make/com/sun/nio/sctp/Makefile +++ b/jdk/make/com/sun/nio/sctp/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = sctp PACKAGE = com.sun.nio.sctp LIBRARY = sctp PRODUCT = sun diff --git a/jdk/make/com/sun/org/apache/xml/Makefile b/jdk/make/com/sun/org/apache/xml/Makefile index 36a15bac49..f57e3d0cfc 100644 --- a/jdk/make/com/sun/org/apache/xml/Makefile +++ b/jdk/make/com/sun/org/apache/xml/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../../.. +MODULE = security-xmldsig PACKAGE = com.sun.org.apache.xml PRODUCT = xml include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/rowset/Makefile b/jdk/make/com/sun/rowset/Makefile index ff7641a128..3f73fd6e79 100644 --- a/jdk/make/com/sun/rowset/Makefile +++ b/jdk/make/com/sun/rowset/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = jdbc-enterprise PACKAGE = com.sun.rowset PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/script/Makefile b/jdk/make/com/sun/script/Makefile index 5e4c83063d..07159b0b6b 100644 --- a/jdk/make/com/sun/script/Makefile +++ b/jdk/make/com/sun/script/Makefile @@ -25,6 +25,7 @@ BUILDDIR = ../../.. +MODULE = scripting-rhino PACKAGE = com.sun.script PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/com/sun/security/auth/module/Makefile b/jdk/make/com/sun/security/auth/module/Makefile index d7a4abdf16..8552ffe758 100644 --- a/jdk/make/com/sun/security/auth/module/Makefile +++ b/jdk/make/com/sun/security/auth/module/Makefile @@ -26,6 +26,7 @@ # Makefile for building auth modules. BUILDDIR = ../../../../.. +MODULE = security-auth PACKAGE = com.sun.security.auth.module PRODUCT = sun diff --git a/jdk/make/com/sun/servicetag/Makefile b/jdk/make/com/sun/servicetag/Makefile index e7914e8278..4ec4bc7f08 100644 --- a/jdk/make/com/sun/servicetag/Makefile +++ b/jdk/make/com/sun/servicetag/Makefile @@ -22,6 +22,7 @@ # have any questions. BUILDDIR = ../../.. +MODULE = servicetag PACKAGE = com.sun.servicetag PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -68,7 +69,7 @@ $(CLASSBINDIR)/%: $(SHARE_SRC)/classes/% $(SERVICETAG_LIBDIR)/jdk_header.png: $(SHARE_SRC)/classes/com/sun/servicetag/resources/jdk_header.png $(install-file) - $(CHMOD) 444 $@ + $(call chmod-file, 444) install-servicetag-lib: @$(RM) -rf $(SERVICETAG_LIBDIR) diff --git a/jdk/make/com/sun/tools/attach/Makefile b/jdk/make/com/sun/tools/attach/Makefile index 25421bff37..f1b3a3a553 100644 --- a/jdk/make/com/sun/tools/attach/Makefile +++ b/jdk/make/com/sun/tools/attach/Makefile @@ -25,6 +25,7 @@ BUILDDIR = ../../../.. +MODULE = attach PACKAGE = com.sun.tools.attach LIBRARY = attach PRODUCT = sun @@ -65,6 +66,7 @@ $(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/% @$(MKDIR) -p $(@D) @$(RM) $@ @$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@ + @$(install-module-file) .PHONY: copy-files diff --git a/jdk/make/common/Defs.gmk b/jdk/make/common/Defs.gmk index de974fe62e..d233b1ff8a 100644 --- a/jdk/make/common/Defs.gmk +++ b/jdk/make/common/Defs.gmk @@ -225,12 +225,6 @@ DEVTOOLS_FT_DIR_EXISTS = $(shell \ endif endif - ifeq ($(PLATFORM), windows) - FREETYPE_LIB = $(FREETYPE_LIB_PATH)/freetype.lib - else - FREETYPE_LIB = -L$(FREETYPE_LIB_PATH) -lfreetype - endif - ifdef ALT_FREETYPE_HEADERS_PATH FREETYPE_HEADERS_PATH = $(ALT_FREETYPE_HEADERS_PATH) else @@ -388,6 +382,14 @@ ifneq ($(THREADDIR),) UNIQUE_LOCATION_STRING += /$(THREADDIR) endif +# +# Build units may or may not define MODULE. Default to "other". +# +ifndef MODULE + MODULE = other +endif +override MODULE_DEST_DIR = $(OUTPUTDIR)/tmp/modules/$(MODULE) + # the use of += above makes a space separated list which we need to # remove for filespecs. # @@ -497,6 +499,58 @@ PKGDIR = $(subst .,/,$(PACKAGE)) # include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk +# +# Macros to find the module that $@ belongs to +# + +UNIQUE_PATH_PATTERN = $(subst /,.,$(UNIQUE_PATH)) +MODULE_PATH_PATTERN = -e 's%.*\/classes\/%classes\/%' \ + -e 's%.*\/$(UNIQUE_PATH_PATTERN)\/%classes\/%' \ + -e 's%.*\/lib\/%lib\/%' \ + -e 's%.*\/bin\/%bin\/%' \ + -e 's%.*\/include\/%include\/%' \ + -e 's%.*\/demo\/%demo\/%' \ + -e 's%.*\/sample\/%sample\/%' + +# Install a file to its module +define install-module-file +dest=`echo $(@D)/ | $(SED) $(MODULE_PATH_PATTERN)` ; \ +$(MKDIR) -p $(MODULE_DEST_DIR)/$$dest; \ +$(CP) $@ $(MODULE_DEST_DIR)/$$dest +endef + +# Install all files from the directory to its module +define install-module-dir +dest=`echo $(@D)/ | $(SED) $(MODULE_PATH_PATTERN)` ; \ +$(MKDIR) -p $(MODULE_DEST_DIR)/$$dest; \ +$(CP) -rf $(@D)/* $(MODULE_DEST_DIR)/$$dest +endef + +# chmod the file in its module +define chmod-module-file +dest=`echo $@ | $(SED) $(MODULE_PATH_PATTERN)` ; \ +$(CHMOD) $1 $(MODULE_DEST_DIR)/$$dest +endef + +# install a sym link in its module +define install-module-sym-link +dest=`echo $@ | $(SED) $(MODULE_PATH_PATTERN)` ; \ +$(LN) -s $1 $(MODULE_DEST_DIR)/$$dest +endef + + +# Run MAKE $@ for a launcher: +# $(call make-launcher, name, mainclass, java-args, main-args) +define make-launcher +$(CD) $(BUILDDIR)/launchers && \ +$(MAKE) -f Makefile.launcher \ + MODULE=$(MODULE) \ + PROGRAM=$(strip $1) \ + MAIN_CLASS=$(strip $2) \ + MAIN_JAVA_ARGS="$(strip $3)" \ + MAIN_ARGS="$(strip $4)" +endef + # # Convenient macros # @@ -511,6 +565,28 @@ endef define install-file $(prep-target) $(CP) $< $@ +$(install-module-file) +endef + +define chmod-file +$(CHMOD) $1 $@ +$(call chmod-module-file, $1) +endef + +define install-sym-link +$(LN) -s $1 $@ +$(call install-module-sym-link, $1) +endef + +# +# Marcos for files not belonging to any module +define install-non-module-file +$(prep-target) +$(CP) $< $@ +endef + +define install-manifest-file +$(install-non-module-file) endef # Cleanup rule for after debug java run (hotspot.log file is left around) @@ -712,7 +788,7 @@ else endif # Install of imported file (JDK_IMPORT_PATH, or some other external location) -define install-import-file +define install-importonly-file @$(ECHO) "ASSEMBLY_IMPORT: $@" $(prep-target) $(CP) $< $@ @@ -730,4 +806,9 @@ $(CP) $< $@ fi endef +define install-import-file +$(install-importonly-file) +$(install-module-file) +endef + .PHONY: all build clean clobber diff --git a/jdk/make/common/Demo.gmk b/jdk/make/common/Demo.gmk index 12a3ce105e..26b8ea221e 100644 --- a/jdk/make/common/Demo.gmk +++ b/jdk/make/common/Demo.gmk @@ -25,6 +25,8 @@ # JDK Demo building jar file. +MODULE = demos + # Some names are defined with LIBRARY inside the Defs.gmk file LIBRARY=$(DEMONAME) OBJDIR=$(TEMPDIR)/$(DEMONAME) diff --git a/jdk/make/common/Library.gmk b/jdk/make/common/Library.gmk index 22b9bc4f32..b95f43d7ef 100644 --- a/jdk/make/common/Library.gmk +++ b/jdk/make/common/Library.gmk @@ -193,9 +193,18 @@ ifdef MT $(MT) /manifest $(OBJDIR)/$(@F).manifest /outputresource:$(OBJDIR)/$(@F);#2 endif $(CP) $(OBJDIR)/$(@F) $@ + $(install-module-file) $(CP) $(OBJDIR)/$(LIBRARY).map $(@D) $(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D) +$(ACTUAL_LIBRARY):: $(ACTUAL_LIBRARY_DIR)/$(LIBRARY).map $(ACTUAL_LIBRARY_DIR)/$(LIBRARY).pdb + +$(ACTUAL_LIBRARY_DIR)/%.map: FORCE + $(install-module-file) + +$(ACTUAL_LIBRARY_DIR)/%.pdb: FORCE + $(install-module-file) + endif # LIBRARY $(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m) @@ -250,6 +259,7 @@ ifeq ($(LIBRARY), fdlibm) $(AR) -r $@ $(FILES_o) else # LIBRARY $(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS) + $(install-module-file) ifeq ($(WRITE_LIBVERSION),true) $(MCS) -d -a "$(FULL_VERSION)" $@ endif # WRITE_LIBVERSION @@ -353,5 +363,7 @@ fastdebug: openjdk: $(MAKE) OPENJDK=true build +FORCE: + .PHONY: all build debug fastdebug diff --git a/jdk/make/common/Modules.gmk b/jdk/make/common/Modules.gmk index d277a11920..a8dc72a543 100644 --- a/jdk/make/common/Modules.gmk +++ b/jdk/make/common/Modules.gmk @@ -34,12 +34,10 @@ JRE_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jre-module-image # # Open issues that need further investigation: # 1. Classes in jre/lib/ext/dnsns.jar are currently put in jre/lib/jndi-dns -# module. +# module. META-INF/services file is not installed. # 2. Signed jars # For JDK build, signed jars are copied to the build. # All jars in the module image are unsigned. -# 3. jre/lib/security/US_export_policy.jar and local_policy.jar -# are not included in the module image yet. MODULE_IMAGEBINDIR = bin @@ -63,7 +61,8 @@ process-module-image-jre process-module-image-jdk :: @$(ECHO) ">>>Making "$@" @ `$(DATE)` ..." # Order is important here, trim jre after jdk image is created -modules:: sanity-module-images post-sanity-module-images \ +modules:: gen-modules \ + sanity-module-images post-sanity-module-images \ $(INITIAL_MODULE_IMAGE_JRE) $(INITIAL_MODULE_IMAGE_JDK) \ trim-module-image-jre trim-module-image-jdk \ process-module-image-jre process-module-image-jdk @@ -124,6 +123,33 @@ endif MODULES_TEMPDIR=$(ABS_TEMPDIR)/modules MODULES_LIB = $(ABS_OUTPUTDIR)/modules +MODULES_LIST = $(MODULES_TEMPDIR)/classlist/modules.list + +# Modules in the jre/lib/security directory +POLICY_MODULES = US_export_policy local_policy + +# Modules in the modules/ext directory +EXT_MODULES = localedata security-sunec security-sunjce + +# Build PKCS#11 on all platforms except 64-bit Windows. +PKCS11 = security-sunpkcs11 +ifeq ($(ARCH_DATA_MODEL), 64) + ifeq ($(PLATFORM), windows) + PKCS11 = + endif +endif + +EXT_MODULES += $(PKCS11) + +# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform. +ifeq ($(PLATFORM), windows) + ifneq ($(ARCH_DATA_MODEL), 64) + EXT_MODULES += security-sunmscapi + endif +endif + +# Modules for JDK only +JDK_MODULES = tools gen-modules: $(CD) modules; $(MAKE) all @@ -151,7 +177,6 @@ initial-module-image-jre-sol64:: initial-module-image-jre-setup \ # Construct an initial jre image (initial jdk jre) no trimming or stripping initial-module-image-jre:: initial-module-image-jre-setup \ $(JRE_LICENSES) $(JRE_MODULE_DOCFILES) \ - gen-modules \ $(BUILDMETAINDEX_JARFILE) @# Copy in bin directory $(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR) @@ -162,7 +187,21 @@ initial-module-image-jre:: initial-module-image-jre-setup \ @# @# copy modules to jre/lib @# - $(CP) -rf $(MODULES_LIB)/jre/lib/* $(JRE_MODULE_IMAGE_DIR)/lib + for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \ + $(CP) $(MODULES_LIB)/$$m/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib ; \ + done + $(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/ext + for m in $(EXT_MODULES) ; do \ + $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/ext ; \ + done + for m in $(POLICY_MODULES) ; do \ + $(MV) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar $(JRE_MODULE_IMAGE_DIR)/lib/security; \ + done + @# Remove jdk modules + for m in $(JDK_MODULES) ; do \ + $(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$$m.jar ; \ + done + @# Make sure all directories are read/execute for everyone $(CHMOD) a+rx `$(FIND) $(JRE_MODULE_IMAGE_DIR) -type d` @# Remove some files from the jre area @@ -304,7 +343,9 @@ initial-module-image-jdk:: initial-module-image-jdk-setup \ @# copy jdk modules to jdk/lib @# $(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/lib - $(CP) -rf $(MODULES_LIB)/lib/* $(JDK_MODULE_IMAGE_DIR)/lib + for m in $(JDK_MODULES) ; do \ + $(CP) $(MODULES_LIB)/$$m/lib/$$m.jar $(JDK_MODULE_IMAGE_DIR)/lib ; \ + done ifeq ($(PLATFORM), windows) @# @# lib/ diff --git a/jdk/make/common/Program.gmk b/jdk/make/common/Program.gmk index 091ec95f80..7cae90fb10 100644 --- a/jdk/make/common/Program.gmk +++ b/jdk/make/common/Program.gmk @@ -50,8 +50,6 @@ ACTUAL_PROGRAM_NAME = $(PROGRAM)$(EXE_SUFFIX) ACTUAL_PROGRAM_DIR = $(BINDIR) ACTUAL_PROGRAM = $(ACTUAL_PROGRAM_DIR)/$(ACTUAL_PROGRAM_NAME) -JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg - # Make sure the default rule is all program_default_rule: all @@ -116,7 +114,7 @@ endif ifeq ($(COMPILE_IT),true) -$(ACTUAL_PROGRAM):: classes $(JVMCFG) $(INIT) +$(ACTUAL_PROGRAM):: classes $(INIT) # # Windows only @@ -190,12 +188,13 @@ $(ACTUAL_PROGRAM):: $(FILES_o) @$(MKDIR) -p $(TEMPDIR) $(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \ $(FILES_o) $(THREADLIBS) $(LDLIBS) + $(install-module-file) endif # PLATFORM else # COMPILE_IT -$(ACTUAL_PROGRAM):: $(JVMCFG) +$(ACTUAL_PROGRAM):: # Copies in the file from the JDK_IMPORT_PATH area $(ACTUAL_PROGRAM_DIR)/%: $(JDK_IMPORT_PATH)/jre/bin/% @@ -271,18 +270,6 @@ $(OBJDIR)/main.$(OBJECT_SUFFIX): $(LAUNCHER_SHARE_SRC)/bin/main.c $(COMPILE.c) $(CC_OBJECT_OUTPUT_FLAG)$(OBJDIR)/main.$(OBJECT_SUFFIX) \ $(VERSION_DEFINES) $< -# -# How to install jvm.cfg. -# -ifeq ($(ZERO_BUILD), true) -JVMCFG_ARCH = zero -else -JVMCFG_ARCH = $(ARCH) -endif - -$(JVMCFG): $(LAUNCHER_PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg - $(install-file) - # # Default dependencies # diff --git a/jdk/make/common/internal/BinaryPlugs.gmk b/jdk/make/common/internal/BinaryPlugs.gmk index a77044af43..96c7ba989b 100644 --- a/jdk/make/common/internal/BinaryPlugs.gmk +++ b/jdk/make/common/internal/BinaryPlugs.gmk @@ -116,7 +116,7 @@ PLUG_IMPORT_JARFILE=$(BINARY_PLUGS_JARFILE) define import-binary-plug-file @$(ECHO) "PLUG IMPORT: $(@F)" -$(install-file) +$(install-non-module-file) endef # import-binary-plug-file # Import classes command @@ -184,7 +184,7 @@ PLUG_EXPORT_JARFILE=$(PLUG_EXPORT_DIR)/jre/lib/$(BINARY_PLUGS_JARNAME) define export-binary-plug-file @$(ECHO) "PLUG EXPORT: $(@F)" -$(install-file) +$(install-non-module-file) endef # export-binary-plug-file # OpenJDK Binary Plug License diff --git a/jdk/make/common/internal/Resources.gmk b/jdk/make/common/internal/Resources.gmk index a772194b47..dbbc4b561d 100644 --- a/jdk/make/common/internal/Resources.gmk +++ b/jdk/make/common/internal/Resources.gmk @@ -139,7 +139,7 @@ STRIP_PROP_FILES = $(PROPERTIES_FILES:%=$(CLASSDESTDIR)/%) STRIP_PROP_options=$(TEMPDIR)/strip_prop_options define install-properties-file $(install-file) -$(CHMOD) a+rw $@ +$(call chmod-file, a+rw) @$(ECHO) "# Adding to strip properties list: $@" $(ECHO) "$@" >> $(STRIP_PROP_options) endef diff --git a/jdk/make/common/shared/Sanity.gmk b/jdk/make/common/shared/Sanity.gmk index e8b19c942e..c19df0eb6e 100644 --- a/jdk/make/common/shared/Sanity.gmk +++ b/jdk/make/common/shared/Sanity.gmk @@ -1117,7 +1117,7 @@ TMP_SDK_INCLUDE_GET_FULL_VERSION= $(TMP_SDK_INCLUDE_FIND_VERSION) | \ # be checked when this represents a full control build (i.e. the # HOTSPOT_IMPORT_PATH includes these files in it's 'include' directory). $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h - @$(install-file) + @$(install-non-module-file) @$(RM) $@.IMPORT @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(@F) ]; then \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(@F) $@.IMPORT ; \ @@ -1131,7 +1131,7 @@ $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h fi $(TEMPDIR)/%.h: $(PLATFORM_SRC)/javavm/export/%.h - @$(install-file) + @$(install-non-module-file) @$(RM) $@.IMPORT @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) ]; then \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) $@.IMPORT ; \ diff --git a/jdk/make/java/awt/Makefile b/jdk/make/java/awt/Makefile index e019a309d9..f8c56732c3 100644 --- a/jdk/make/java/awt/Makefile +++ b/jdk/make/java/awt/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = awt PACKAGE = java.awt PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/java/fdlibm/Makefile b/jdk/make/java/fdlibm/Makefile index 739eaf4403..fcacf2d710 100644 --- a/jdk/make/java/fdlibm/Makefile +++ b/jdk/make/java/fdlibm/Makefile @@ -31,6 +31,7 @@ # BUILDDIR = ../.. +MODULE = base LIBRARY = fdlibm PRODUCT = java diff --git a/jdk/make/java/hpi/native/Makefile b/jdk/make/java/hpi/native/Makefile index 7e9f2d2047..79cafdcf82 100644 --- a/jdk/make/java/hpi/native/Makefile +++ b/jdk/make/java/hpi/native/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = base LIBRARY = hpi PRODUCT = java THREADDIR = native_threads diff --git a/jdk/make/java/hpi/windows/Makefile b/jdk/make/java/hpi/windows/Makefile index b82d8853ab..44d0501363 100644 --- a/jdk/make/java/hpi/windows/Makefile +++ b/jdk/make/java/hpi/windows/Makefile @@ -26,8 +26,9 @@ # # Makefile for Windows HPI DLL # -BUILDDIR = ../../.. -LIBRARY = hpi +BUILDDIR = ../../.. +MODULE = base +LIBRARY = hpi PRODUCT = java THREADDIR = windows_threads LIB_LOCATION = $(BINDIR) diff --git a/jdk/make/java/instrument/Makefile b/jdk/make/java/instrument/Makefile index f46b3d10cc..8b703afd92 100644 --- a/jdk/make/java/instrument/Makefile +++ b/jdk/make/java/instrument/Makefile @@ -27,6 +27,7 @@ # agent, supporting java.lang.instrument BUILDDIR = ../.. +MODULE = instrument PACKAGE = sun.instrument LIBRARY = instrument PRODUCT = sun diff --git a/jdk/make/java/java/Makefile b/jdk/make/java/java/Makefile index b0e40530f4..e3d5ee4231 100644 --- a/jdk/make/java/java/Makefile +++ b/jdk/make/java/java/Makefile @@ -29,6 +29,7 @@ # BUILDDIR = ../.. +MODULE = base PACKAGE = java.lang LIBRARY = java PRODUCT = java @@ -241,7 +242,7 @@ ifneq ($(PLATFORM),windows) $(GENSRCDIR)/java/lang/UNIXProcess.java: \ $(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM) - $(install-file) + $(install-non-module-file) clean:: $(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java @@ -285,7 +286,7 @@ TZMAPFILE = $(PLATFORM_SRC)/lib/tzmappings $(TZMAP): $(TZMAPFILE) $(install-file) - $(CHMOD) 444 $@ + $(call chmod-file, 444) endif build: $(LIBDIR)/$(PROPS) $(LIBDIR)/$(CAL_PROPS) $(TZMAP) @@ -315,7 +316,8 @@ $(CURDATA): \ $(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \ < $(SHARE_SRC)/classes/java/util/CurrencyData.properties $(MV) $@.temp $@ - $(CHMOD) 444 $@ + $(install-module-file) + $(call chmod-file, 444) clean:: $(RM) $(CURDATA) @@ -369,7 +371,7 @@ $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \ -usecharforbyte 11 4 1 $(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template - $(install-file) + $(install-non-module-file) clean:: $(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java diff --git a/jdk/make/java/java_crw_demo/Makefile b/jdk/make/java/java_crw_demo/Makefile index 6c45bcbd49..4ee6467aa6 100644 --- a/jdk/make/java/java_crw_demo/Makefile +++ b/jdk/make/java/java_crw_demo/Makefile @@ -24,6 +24,8 @@ # BUILDDIR = ../.. + +MODULE = demos LIBRARY = java_crw_demo PRODUCT = sun LIBRARY_OUTPUT = java_crw_demo diff --git a/jdk/make/java/java_hprof_demo/Makefile b/jdk/make/java/java_hprof_demo/Makefile index 4e1ef2a31a..0826dd0213 100644 --- a/jdk/make/java/java_hprof_demo/Makefile +++ b/jdk/make/java/java_hprof_demo/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = instrument LIBRARY = hprof PRODUCT = sun LIBRARY_OUTPUT = hprof_jvmti diff --git a/jdk/make/java/jli/Makefile b/jdk/make/java/jli/Makefile index 7aad6e9892..98a7874402 100644 --- a/jdk/make/java/jli/Makefile +++ b/jdk/make/java/jli/Makefile @@ -30,6 +30,7 @@ # its manifestations (java, javaw, javac, ...). # BUILDDIR = ../.. +MODULE = base LIBRARY = jli PRODUCT = java diff --git a/jdk/make/java/jvm/Makefile b/jdk/make/java/jvm/Makefile index 42b756309f..ee992a1630 100644 --- a/jdk/make/java/jvm/Makefile +++ b/jdk/make/java/jvm/Makefile @@ -24,6 +24,8 @@ # BUILDDIR = ../.. +MODULE = base + include $(BUILDDIR)/common/Defs.gmk # @@ -36,15 +38,29 @@ FILES_h = $(INCLUDEDIR)/jni.h \ $(INCLUDEDIR)/classfile_constants.h $(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h - $(install-file) + $(install-non-module-file) $(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h + $(install-non-module-file) + +JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg + +# +# How to install jvm.cfg. +# +ifeq ($(ZERO_BUILD), true) +JVMCFG_ARCH = zero +else +JVMCFG_ARCH = $(ARCH) +endif + +$(JVMCFG): $(PLATFORM_SRC)/bin/$(JVMCFG_ARCH)/jvm.cfg $(install-file) all: build -build: $(FILES_h) +build: $(FILES_h) $(JVMCFG) clean clobber:: - $(RM) $(FILES_h) + $(RM) $(FILES_h) $(JVMCFG) diff --git a/jdk/make/java/logging/Makefile b/jdk/make/java/logging/Makefile index 444c1c63b5..2077c02a01 100644 --- a/jdk/make/java/logging/Makefile +++ b/jdk/make/java/logging/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = logging PACKAGE = java.util.logging PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/java/main/java/Makefile b/jdk/make/java/main/java/Makefile index 37fdf2bdd0..b24e9f0aaa 100644 --- a/jdk/make/java/main/java/Makefile +++ b/jdk/make/java/main/java/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = base PROGRAM = java PRODUCT = java diff --git a/jdk/make/java/main/javaw/Makefile b/jdk/make/java/main/javaw/Makefile index 7ebc218f66..cd81b3ae11 100644 --- a/jdk/make/java/main/javaw/Makefile +++ b/jdk/make/java/main/javaw/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = base PROGRAM = javaw PRODUCT = java diff --git a/jdk/make/java/management/Makefile b/jdk/make/java/management/Makefile index f579e10c10..17c778e938 100644 --- a/jdk/make/java/management/Makefile +++ b/jdk/make/java/management/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = management PACKAGE = java.lang.management LIBRARY = management PRODUCT = java @@ -99,7 +100,7 @@ $(AGENTJAR): $(LIBDIR) $(TEMPDIR)/manifest @$(java-vm-cleanup) $(TEMPDIR)/manifest: $(MANIFEST) - $(install-file) + $(install-manifest-file) build: $(AGENTJAR) diff --git a/jdk/make/java/net/Makefile b/jdk/make/java/net/Makefile index 3c0985bcf9..c714d0a61a 100644 --- a/jdk/make/java/net/Makefile +++ b/jdk/make/java/net/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = base PACKAGE = java.net LIBRARY = net PRODUCT = sun @@ -111,8 +112,7 @@ LOCALE_SET_DEFINITION = jre MISC_FILES = $(LIBDIR) $(LIBDIR)/net.properties $(LIBDIR)/net.properties: $(SHARE_SRC)/lib/net.properties - @$(RM) $@ - $(CP) $< $@ + $(install-file) # # SDP configuration template diff --git a/jdk/make/java/nio/Makefile b/jdk/make/java/nio/Makefile index 455d7529f6..6dd15eac23 100644 --- a/jdk/make/java/nio/Makefile +++ b/jdk/make/java/nio/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = nio PACKAGE = java.nio LIBRARY = nio PRODUCT = java @@ -816,7 +817,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \ $(NAWK) '/^.*Copyright.*Sun/ { print $$3 }') $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC) - $(install-file) + $(install-non-module-file) $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC) $(prep-target) diff --git a/jdk/make/java/npt/Makefile b/jdk/make/java/npt/Makefile index 57e6a66380..77afce633d 100644 --- a/jdk/make/java/npt/Makefile +++ b/jdk/make/java/npt/Makefile @@ -24,6 +24,9 @@ # BUILDDIR = ../.. + +# It's currently used by jpda and hprof. Put it in base module for now. +MODULE = base LIBRARY = npt PRODUCT = sun LIBRARY_OUTPUT = npt diff --git a/jdk/make/java/redist/Makefile b/jdk/make/java/redist/Makefile index 69d95a6057..d66244920f 100644 --- a/jdk/make/java/redist/Makefile +++ b/jdk/make/java/redist/Makefile @@ -35,6 +35,7 @@ # BUILDDIR = ../.. +MODULE = base PRODUCT = java include $(BUILDDIR)/common/Defs.gmk @@ -61,7 +62,11 @@ CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing # Needed to do file copy ABS_BUILDDIR :=$(call FullPath,$(BUILDDIR)) -all: build +SUBDIRS = fonts sajdi +all clean clobber:: + $(SUBDIRS-loop) + +all:: build # List of files created here or coming from BUILDDIR area (this workspace) INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist @@ -70,30 +75,6 @@ INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \ $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt -# INCLUDE_SA is false on platforms where SA is not supported. -# On platforms where it is supported, we want to allow it to -# not be present, at least temporarily. So, -# if the SA files (well, just sa-jdi.jar) do not exist -# in the HOTSPOT_IMPORT_PATH, then we won't build SA. -SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \ - $(ECHO) true; \ - else \ - $(ECHO) false; \ - fi) - -ifeq ($(SA_EXISTS), false) - INCLUDE_SA := false -endif - -ifeq ($(INCLUDE_SA), true) - IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \ - $(LIB_LOCATION)/$(SALIB_NAME) - ifeq ($(PLATFORM), windows) - IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \ - $(LIB_LOCATION)/$(SAPDB_NAME) - endif -endif # INCLUDE_SA - # Hotspot client is only available on 32-bit non-Zero builds ifneq ($(ZERO_BUILD), true) ifeq ($(ARCH_DATA_MODEL), 32) @@ -110,10 +91,10 @@ IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%) # NOTE: These might actually come from BUILDDIR, depends on the settings. $(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll $(install-import-file) - $(CHMOD) a+x $@ + $(call chmod-file, a+x) $(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL) $(install-import-file) - $(CHMOD) a+x $@ + $(call chmod-file, a+x) # Get the hotspot .map and .pdb files for client and server IMPORT_LIST += \ @@ -140,26 +121,32 @@ $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME) $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME): @$(prep-target) -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME) $@ + @$(install-module-file) $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME): @$(prep-target) -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME) $@ + @$(install-module-file) $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME): @$(prep-target) -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@ + @$(install-module-file) $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME): @$(prep-target) -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME) $@ + @$(install-module-file) $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME): @$(prep-target) -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME) $@ + @$(install-module-file) $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): @$(prep-target) -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@ + @$(install-module-file) # Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows else # PLATFORM @@ -220,7 +207,7 @@ $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJ $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME): @$(prep-target) - $(LN) -s ../$(LIBJSIG_NAME) $@ + $(call install-sym-link, ../$(LIBJSIG_NAME)) $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME) $(install-import-file) @@ -246,28 +233,6 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt : $(HOTSPOT_CLIENT_PATH)/Xusage.tx $(LIB_LOCATION)/$(KERNEL_LOCATION)/Xusage.txt : $(HOTSPOT_KERNEL_PATH)/Xusage.txt $(install-file) -ifeq ($(INCLUDE_SA), true) -# The Serviceability Agent is built in the Hotspot workspace. -# It contains two files: -# - sa-jdi.jar: This goes into the same dir as tools.jar. -# - a shared library: sawindbg.dll on windows / libproc.sa on unix -# This goes into the same dir as the other -# shared libs, eg. libjdwp.so. -$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar - $(install-import-file) - -$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME) - $(install-import-file) - -ifeq ($(PLATFORM), windows) -$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME) - $(install-import-file) - -$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME) - $(install-import-file) -endif # windows -endif # INCLUDE_SA - # # Specific to OpenJDK building # @@ -288,7 +253,7 @@ INTERNAL_IMPORT_LIST += \ $(LIBDIR)/jce.jar: \ $(BUILDDIR)/closed/tools/crypto/jce/jce.jar - $(install-file) + $(install-non-module-file) $(LIBDIR)/security/US_export_policy.jar: \ $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar $(install-file) @@ -310,46 +275,6 @@ $(LIBDIR)/classlist: \ $(CLASSSHARINGDATA_DIR)/classlist.$(PLATFORM) $@.temp $(MV) $@.temp $@ -ifndef OPENJDK - -# Lucida font files are not included in the OpenJDK distribution. -# Get names of font files -include FILES.gmk - -# Copy font files into OUTPUTDIR area - -FONTFILES = $(SHARED_FONTFILES) -FONTSDIR = $(LIBDIR)/fonts -FONTSDIRFILE = $(FONTSDIR)/fonts.dir -INTERNAL_IMPORT_LIST += $(FONTFILES) - -ifneq ($(PLATFORM), windows) - INTERNAL_IMPORT_LIST += $(FONTSDIRFILE) -endif - -$(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/%.ttf - $(install-file) - -$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir - $(install-file) - -ifeq ($(PLATFORM), linux) - -# The oblique fonts are only needed/wanted on Linux. - -OBLFONTSDIR = $(LIBDIR)/oblique-fonts -OBLFONTSDIRFILE = $(OBLFONTSDIR)/fonts.dir -INTERNAL_IMPORT_LIST += $(OBLIQUE_FONTFILES) $(OBLFONTSDIRFILE) - -$(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/oblique/%.ttf - $(install-file) - -$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir - $(install-file) - -endif # linux -endif # !OPENJDK - # Import internal files (ones that are stashed in this source tree) import_internal_files : $(INTERNAL_IMPORT_LIST) diff --git a/jdk/make/java/redist/FILES.gmk b/jdk/make/java/redist/fonts/Makefile similarity index 65% rename from jdk/make/java/redist/FILES.gmk rename to jdk/make/java/redist/fonts/Makefile index a90da603f4..263d9b25c0 100644 --- a/jdk/make/java/redist/FILES.gmk +++ b/jdk/make/java/redist/fonts/Makefile @@ -1,5 +1,5 @@ # -# Copyright 1998-2003 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,6 +23,12 @@ # have any questions. # +BUILDDIR = ../../.. +MODULE = font +PRODUCT = java +include $(BUILDDIR)/common/Defs.gmk + + # # List of lucida font files that we redistribute. # @@ -54,3 +60,52 @@ OBLIQUE_FONTFILES = \ $(LIBDIR)/oblique-fonts/LucidaSansDemiOblique.ttf \ endif + +ifndef OPENJDK + +# Lucida font files are not included in the OpenJDK distribution. +# Get names of font files + +# Copy font files into OUTPUTDIR area + +FONTFILES = $(SHARED_FONTFILES) +FONTSDIR = $(LIBDIR)/fonts +FONTSDIRFILE = $(FONTSDIR)/fonts.dir +INTERNAL_IMPORT_LIST = $(FONTFILES) + +ifneq ($(PLATFORM), windows) + INTERNAL_IMPORT_LIST += $(FONTSDIRFILE) +endif + +$(LIBDIR)/fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/%.ttf + $(install-file) + +$(FONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.fonts.dir + $(install-file) + +ifeq ($(PLATFORM), linux) + +# The oblique fonts are only needed/wanted on Linux. + +OBLFONTSDIR = $(LIBDIR)/oblique-fonts +OBLFONTSDIRFILE = $(OBLFONTSDIR)/fonts.dir +INTERNAL_IMPORT_LIST += $(OBLIQUE_FONTFILES) $(OBLFONTSDIRFILE) + +$(LIBDIR)/oblique-fonts/%.ttf: $(CLOSED_SRC)/share/lib/fonts/oblique/%.ttf + $(install-file) + +$(OBLFONTSDIRFILE): $(PLATFORM_SRC)/classes/sun/awt/motif/java.oblique-fonts.dir + $(install-file) + +endif # linux + +all build : $(INTERNAL_IMPORT_LIST) + +clean clobber:: + $(RM) $(INTERNAL_IMPORT_LIST) + +else + +all build clean clobber : + +endif # !OPENJDK diff --git a/jdk/make/java/redist/sajdi/Makefile b/jdk/make/java/redist/sajdi/Makefile new file mode 100644 index 0000000000..7117763e29 --- /dev/null +++ b/jdk/make/java/redist/sajdi/Makefile @@ -0,0 +1,87 @@ +# +# Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +BUILDDIR = ../../.. +MODULE = sajdi +PRODUCT = java +include $(BUILDDIR)/common/Defs.gmk + +ifeq ($(PLATFORM), windows) + LIB_LOCATION = $(BINDIR) +else + LIB_LOCATION = $(LIBDIR)/$(LIBARCH) +endif + +# INCLUDE_SA is false on platforms where SA is not supported. +# On platforms where it is supported, we want to allow it to +# not be present, at least temporarily. So, +# if the SA files (well, just sa-jdi.jar) do not exist +# in the HOTSPOT_IMPORT_PATH, then we won't build SA. +SA_EXISTS := $(shell if [ -r $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar ] ; then \ + $(ECHO) true; \ + else \ + $(ECHO) false; \ + fi) + +ifeq ($(SA_EXISTS), false) + INCLUDE_SA := false +endif + +IMPORT_LIST = +ifeq ($(INCLUDE_SA), true) + IMPORT_LIST += $(LIBDIR)/sa-jdi.jar \ + $(LIB_LOCATION)/$(SALIB_NAME) + ifeq ($(PLATFORM), windows) + IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \ + $(LIB_LOCATION)/$(SAPDB_NAME) + endif +endif # INCLUDE_SA + + +ifeq ($(INCLUDE_SA), true) +# The Serviceability Agent is built in the Hotspot workspace. +# It contains two files: +# - sa-jdi.jar: This goes into the same dir as tools.jar. +# - a shared library: sawindbg.dll on windows / libproc.sa on unix +# This goes into the same dir as the other +# shared libs, eg. libjdwp.so. +$(LIBDIR)/sa-jdi.jar: $(HOTSPOT_IMPORT_PATH)/lib/sa-jdi.jar + $(install-importonly-file) + +$(LIB_LOCATION)/$(SALIB_NAME): $(HOTSPOT_SALIB_PATH)/$(SALIB_NAME) + $(install-import-file) + +ifeq ($(PLATFORM), windows) +$(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME) + $(install-import-file) +endif # windows +endif # INCLUDE_SA + +all: $(IMPORT_LIST) + +clean clobber:: diff --git a/jdk/make/java/security/Makefile b/jdk/make/java/security/Makefile index 5da905a698..8228eea85d 100644 --- a/jdk/make/java/security/Makefile +++ b/jdk/make/java/security/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = base PACKAGE = java.security PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -38,11 +39,9 @@ AUTO_FILES_JAVA_DIRS = java/security # PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security -SUNPKCS11 = ifeq ($(PLATFORM), solaris) PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-solaris -SUNPKCS11 = sunpkcs11 else # PLATFORM @@ -57,9 +56,6 @@ endif # PLATFORM PROPS_BUILD = $(LIBDIR)/security/java.security -SUNPKCS11_SRC = $(TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg -SUNPKCS11_BUILD = $(LIBDIR)/security/sunpkcs11-solaris.cfg - POLICY_SRC = $(TOPDIR)/src/share/lib/security/java.policy POLICY_BUILD = $(LIBDIR)/security/java.policy @@ -73,14 +69,12 @@ FILES_class = $(FILES_java:%.java=$(CLASSBINDIR)/%.class) # include $(BUILDDIR)/common/Rules.gmk -build: properties $(SUNPKCS11) policy cacerts +build: properties policy cacerts install: all properties: classes $(PROPS_BUILD) -sunpkcs11: classes $(SUNPKCS11_BUILD) - policy: classes $(POLICY_BUILD) cacerts: classes $(CACERTS_BUILD) @@ -88,9 +82,6 @@ cacerts: classes $(CACERTS_BUILD) $(PROPS_BUILD): $(PROPS_SRC) $(install-file) -$(SUNPKCS11_BUILD): $(SUNPKCS11_SRC) - $(install-file) - $(POLICY_BUILD): $(POLICY_SRC) $(install-file) @@ -99,7 +90,7 @@ $(CACERTS_BUILD): $(CACERTS_SRC) clean clobber:: .delete.classlist $(RM) -r $(CLASSBINDIR)/java/security - $(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD) $(SUNPKCS11_BUILD) + $(RM) $(PROPS_BUILD) $(POLICY_BUILD) $(CACERTS_BUILD) # Additional Rule for building sun.security.util $(CLASSBINDIR)/%.class: $(SHARE_SRC)/sun/%.java diff --git a/jdk/make/java/sql/Makefile b/jdk/make/java/sql/Makefile index 61e8047227..62ce4b726e 100644 --- a/jdk/make/java/sql/Makefile +++ b/jdk/make/java/sql/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = jdbc-base PACKAGE = java.sql PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/java/text/Makefile b/jdk/make/java/text/Makefile index 4db338926f..001f4717a9 100644 --- a/jdk/make/java/text/Makefile +++ b/jdk/make/java/text/Makefile @@ -24,7 +24,7 @@ # BUILDDIR = ../.. - +MODULE = base PACKAGE = java.text PRODUCT = sun diff --git a/jdk/make/java/verify/Makefile b/jdk/make/java/verify/Makefile index 24bcc0f48d..783dd2c55c 100644 --- a/jdk/make/java/verify/Makefile +++ b/jdk/make/java/verify/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = base PRODUCT = java LIBRARY = verify include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/java/zip/Makefile b/jdk/make/java/zip/Makefile index cec9d0d6cf..809753050e 100644 --- a/jdk/make/java/zip/Makefile +++ b/jdk/make/java/zip/Makefile @@ -25,6 +25,7 @@ BUILDDIR = ../.. +MODULE = base PACKAGE = java.util.zip LIBRARY = zip PRODUCT = sun diff --git a/jdk/make/javax/crypto/Makefile b/jdk/make/javax/crypto/Makefile index fe07ed5edf..19a00a5e19 100644 --- a/jdk/make/javax/crypto/Makefile +++ b/jdk/make/javax/crypto/Makefile @@ -108,6 +108,7 @@ # BUILDDIR = ../.. +MODULE = base PACKAGE = javax.crypto PRODUCT = sun @@ -293,7 +294,7 @@ limited: \ $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar: \ $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar - $(install-file) + $(install-non-module-file) $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \ policy/limited/default_local.policy \ @@ -414,7 +415,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar else $(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar endif - $(install-file) + $(install-non-module-file) # # Install the appropriate policy file, depending on the type of build. @@ -425,7 +426,7 @@ else INSTALL_POLICYDIR = $(SIGNED_POLICY_BUILDDIR) endif -install-limited: \ +install-limited-jars: \ $(INSTALL_POLICYDIR)/limited/US_export_policy.jar \ $(INSTALL_POLICYDIR)/limited/local_policy.jar $(MKDIR) -p $(POLICY_DESTDIR) @@ -433,24 +434,28 @@ install-limited: \ $(POLICY_DESTDIR)/US_export_policy.jar \ $(POLICY_DESTDIR)/local_policy.jar $(CP) $^ $(POLICY_DESTDIR) + +install-limited: install-limited-jars install-module-files ifndef OPENJDK $(release-warning) endif -install-unlimited: \ +install-unlimited-jars: \ $(INSTALL_POLICYDIR)/unlimited/US_export_policy.jar \ - $(INSTALL_POLICYDIR)/unlimited/local_policy.jar + $(INSTALL_POLICYDIR)/unlimited/local_policy.jar $(MKDIR) -p $(POLICY_DESTDIR) $(RM) \ $(POLICY_DESTDIR)/US_export_policy.jar \ $(POLICY_DESTDIR)/local_policy.jar $(CP) $^ $(POLICY_DESTDIR) + +install-unlimited: install-unlimited-jars install-module-files ifndef OPENJDK $(release-warning) endif ifndef OPENJDK -install-prebuilt: +install-prebuilt-jars: @$(ECHO) "\n>>>Installing prebuilt JCE framework..." $(RM) $(JAR_DESTFILE) \ $(POLICY_DESTDIR)/US_export_policy.jar \ @@ -460,8 +465,16 @@ install-prebuilt: $(PREBUILT_DIR)/jce/US_export_policy.jar \ $(PREBUILT_DIR)/jce/local_policy.jar \ $(POLICY_DESTDIR) + +install-prebuilt: install-prebuilt-jars install-module-files endif +install-module-files: \ + $(POLICY_DESTDIR)/US_export_policy.jar \ + $(POLICY_DESTDIR)/local_policy.jar + +$(POLICY_DESTDIR)/%.jar : + $(install-module-file) # ===================================================== # Support routines. diff --git a/jdk/make/javax/imageio/Makefile b/jdk/make/javax/imageio/Makefile index b3f75d1818..62f3b1b65e 100644 --- a/jdk/make/javax/imageio/Makefile +++ b/jdk/make/javax/imageio/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = imageio PACKAGE = javax.imageio PRODUCT = jiio include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/javax/print/Makefile b/jdk/make/javax/print/Makefile index b3652f8368..639dc14855 100644 --- a/jdk/make/javax/print/Makefile +++ b/jdk/make/javax/print/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = print PACKAGE = javax.print PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/javax/sound/Makefile b/jdk/make/javax/sound/Makefile index d2d1e736ae..8b4948a15e 100644 --- a/jdk/make/javax/sound/Makefile +++ b/jdk/make/javax/sound/Makefile @@ -26,6 +26,7 @@ # WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk BUILDDIR = ../.. +MODULE = sound PACKAGE = javax.sound LIBRARY = jsound PRODUCT = sun diff --git a/jdk/make/javax/sound/jsoundalsa/Makefile b/jdk/make/javax/sound/jsoundalsa/Makefile index 6fdde65ee5..15b215fe6b 100644 --- a/jdk/make/javax/sound/jsoundalsa/Makefile +++ b/jdk/make/javax/sound/jsoundalsa/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = sound PACKAGE = javax.sound LIBRARY = jsoundalsa PRODUCT = sun diff --git a/jdk/make/javax/sound/jsoundds/Makefile b/jdk/make/javax/sound/jsoundds/Makefile index 5dcd336c93..5da3ee7bf7 100644 --- a/jdk/make/javax/sound/jsoundds/Makefile +++ b/jdk/make/javax/sound/jsoundds/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = sound PACKAGE = javax.sound LIBRARY = jsoundds PRODUCT = sun diff --git a/jdk/make/javax/sql/Makefile b/jdk/make/javax/sql/Makefile index 9edaff36f5..deac8ea239 100644 --- a/jdk/make/javax/sql/Makefile +++ b/jdk/make/javax/sql/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = jdbc-enterprise PACKAGE = javax.sql PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/javax/swing/Makefile b/jdk/make/javax/swing/Makefile index 1f3fa6c0f3..16bfcac03a 100644 --- a/jdk/make/javax/swing/Makefile +++ b/jdk/make/javax/swing/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = swing PACKAGE = javax.swing PRODUCT = com SWING_SRC = $(SHARE_SRC)/classes/javax/swing diff --git a/jdk/make/javax/swing/plaf/Makefile b/jdk/make/javax/swing/plaf/Makefile index c0c5ebecc7..2ef72c8b4c 100644 --- a/jdk/make/javax/swing/plaf/Makefile +++ b/jdk/make/javax/swing/plaf/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = swing PACKAGE = javax.swing.plaf PRODUCT = com SWING_SRC = $(SHARE_SRC)/classes/javax/swing diff --git a/jdk/make/jpda/back/Makefile b/jdk/make/jpda/back/Makefile index 5237d9c798..e2e073f31a 100644 --- a/jdk/make/jpda/back/Makefile +++ b/jdk/make/jpda/back/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = debugging LIBRARY = jdwp PRODUCT = jpda diff --git a/jdk/make/jpda/transport/Makefile b/jdk/make/jpda/transport/Makefile index 8e507eab59..9069032fa6 100644 --- a/jdk/make/jpda/transport/Makefile +++ b/jdk/make/jpda/transport/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = debugging PRODUCT = jpda include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/jpda/transport/shmem/Makefile b/jdk/make/jpda/transport/shmem/Makefile index fcc8c632de..36d1d7fe86 100644 --- a/jdk/make/jpda/transport/shmem/Makefile +++ b/jdk/make/jpda/transport/shmem/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = debugging LIBRARY = dt_shmem PRODUCT = jbug diff --git a/jdk/make/jpda/transport/socket/Makefile b/jdk/make/jpda/transport/socket/Makefile index 65f8018477..d48d032752 100644 --- a/jdk/make/jpda/transport/socket/Makefile +++ b/jdk/make/jpda/transport/socket/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = debugging LIBRARY = dt_socket PRODUCT = jbug diff --git a/jdk/make/jpda/tty/Makefile b/jdk/make/jpda/tty/Makefile index 4468bddbeb..1706aba164 100644 --- a/jdk/make/jpda/tty/Makefile +++ b/jdk/make/jpda/tty/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = jdb PACKAGE = com.sun.tools.example.debug.tty PRODUCT = jpda PROGRAM = jdb diff --git a/jdk/make/launchers/Makefile b/jdk/make/launchers/Makefile index e9f949c1b2..c9d32b9d20 100644 --- a/jdk/make/launchers/Makefile +++ b/jdk/make/launchers/Makefile @@ -28,33 +28,23 @@ # BUILDDIR = .. +MODULE = tools PACKAGE = launchers PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk -# Run MAKE $@ for a launcher: +# Run MAKE $@ for a launcher for the corba module: # $(call make-launcher, name, mainclass, java-args, main-args) -define make-launcher +define make-corba-launcher +$(CD) $(BUILDDIR)/launchers && \ $(MAKE) -f Makefile.launcher \ - PROGRAM=$(strip $1) \ - MAIN_CLASS=$(strip $2) \ - MAIN_JAVA_ARGS="$(strip $3)" \ - MAIN_ARGS="$(strip $4)" $@ + MODULE=corba \ + PROGRAM=$(strip $1) \ + MAIN_CLASS=$(strip $2) \ + MAIN_JAVA_ARGS="$(strip $3)" \ + MAIN_ARGS="$(strip $4)" endef -# Run MAKE $@ for all launchers -ifeq ($(PLATFORM),windows) -# Run MAKE $@ for all platform specific launchers -define make-platform-specific-launchers -$(call make-launcher, kinit, sun.security.krb5.internal.tools.Kinit, , ) -$(call make-launcher, klist, sun.security.krb5.internal.tools.Klist, , ) -$(call make-launcher, ktab, sun.security.krb5.internal.tools.Ktab, , ) -endef -else -# Run MAKE $@ for all platform specific launchers -define make-platform-specific-launchers -endef -endif # Run MAKE $@ for all generic launchers define make-all-launchers $(call make-launcher, appletviewer, sun.applet.Main, , ) @@ -85,36 +75,29 @@ $(call make-launcher, jstack, sun.tools.jstack.JStack, \ -J-Dsun.jvm.hotspot.debugger.useWindbgDebugger, ) $(call make-launcher, jstat, sun.tools.jstat.Jstat, , ) $(call make-launcher, jstatd, sun.tools.jstatd.Jstatd, , ) -$(call make-launcher, keytool, sun.security.tools.KeyTool, , ) $(call make-launcher, native2ascii, sun.tools.native2ascii.Main, , ) -$(call make-launcher, orbd, com.sun.corba.se.impl.activation.ORBD, \ - -J-Dcom.sun.CORBA.activation.DbDir=./orb.db \ - -J-Dcom.sun.CORBA.activation.Port=1049 \ - -J-Dcom.sun.CORBA.POA.ORBServerId=1, ) -$(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack) -$(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) $(call make-launcher, rmic, sun.rmi.rmic.Main, , ) -$(call make-launcher, rmid, sun.rmi.server.Activation, , ) -$(call make-launcher, rmiregistry, sun.rmi.registry.RegistryImpl, , ) $(call make-launcher, schemagen, com.sun.tools.internal.jxc.SchemaGenerator, , ) $(call make-launcher, serialver, sun.tools.serialver.SerialVer, , ) -$(call make-launcher, servertool, com.sun.corba.se.impl.activation.ServerTool, , ) -$(call make-launcher, tnameserv, com.sun.corba.se.impl.naming.cosnaming.TransientNameServer, \ +$(call make-launcher, xjc, com.sun.tools.internal.xjc.Driver, , ) +$(call make-launcher, wsgen, com.sun.tools.internal.ws.WsGen, , ) +$(call make-launcher, wsimport, com.sun.tools.internal.ws.WsImport, , ) +$(call make-corba-launcher, orbd, com.sun.corba.se.impl.activation.ORBD, \ + -J-Dcom.sun.CORBA.activation.DbDir=./orb.db \ + -J-Dcom.sun.CORBA.activation.Port=1049 \ + -J-Dcom.sun.CORBA.POA.ORBServerId=1, ) +$(call make-corba-launcher, servertool, com.sun.corba.se.impl.activation.ServerTool, , ) +$(call make-corba-launcher, tnameserv, com.sun.corba.se.impl.naming.cosnaming.TransientNameServer, \ -J-Dcom.sun.CORBA.activation.DbDir=./orb.db \ -J-Djava.util.logging.LoggingPermission=contol \ -J-Dcom.sun.CORBA.POA.ORBServerId=1, ) -$(call make-launcher, wsgen, com.sun.tools.internal.ws.WsGen, , ) -$(call make-launcher, wsimport, com.sun.tools.internal.ws.WsImport, , ) -$(call make-launcher, xjc, com.sun.tools.internal.xjc.Driver, , ) endef build: $(make-all-launchers) - $(make-platform-specific-launchers) clean clobber:: $(make-all-launchers) - $(make-platform-specific-launchers) include $(BUILDDIR)/common/Rules.gmk diff --git a/jdk/make/mkdemo/jvmti/Makefile b/jdk/make/mkdemo/jvmti/Makefile index 592413087f..749068b909 100644 --- a/jdk/make/mkdemo/jvmti/Makefile +++ b/jdk/make/mkdemo/jvmti/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = demos PRODUCT = demos include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mkdemo/management/Makefile b/jdk/make/mkdemo/management/Makefile index b021ddd1eb..e80b30afe0 100644 --- a/jdk/make/mkdemo/management/Makefile +++ b/jdk/make/mkdemo/management/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = demos PRODUCT = demos include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/dtrace/Makefile b/jdk/make/mksample/dtrace/Makefile index 056f0b29f7..dbe1eed815 100644 --- a/jdk/make/mksample/dtrace/Makefile +++ b/jdk/make/mksample/dtrace/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/jmx/jmx-scandir/Makefile b/jdk/make/mksample/jmx/jmx-scandir/Makefile index b32a419175..5c06efce7d 100644 --- a/jdk/make/mksample/jmx/jmx-scandir/Makefile +++ b/jdk/make/mksample/jmx/jmx-scandir/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/nbproject/Makefile b/jdk/make/mksample/nbproject/Makefile index abc326c900..6543282c22 100644 --- a/jdk/make/mksample/nbproject/Makefile +++ b/jdk/make/mksample/nbproject/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/nio/file/Makefile b/jdk/make/mksample/nio/file/Makefile index f7159de83a..3181339e18 100644 --- a/jdk/make/mksample/nio/file/Makefile +++ b/jdk/make/mksample/nio/file/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/nio/multicast/Makefile b/jdk/make/mksample/nio/multicast/Makefile index 179d3d4a97..7e794c9053 100644 --- a/jdk/make/mksample/nio/multicast/Makefile +++ b/jdk/make/mksample/nio/multicast/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/nio/server/Makefile b/jdk/make/mksample/nio/server/Makefile index a776fa98fb..3eced2d38b 100644 --- a/jdk/make/mksample/nio/server/Makefile +++ b/jdk/make/mksample/nio/server/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/scripting/scriptpad/Makefile b/jdk/make/mksample/scripting/scriptpad/Makefile index 8918764ed5..bd9009aa95 100644 --- a/jdk/make/mksample/scripting/scriptpad/Makefile +++ b/jdk/make/mksample/scripting/scriptpad/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/webservices/EbayClient/Makefile b/jdk/make/mksample/webservices/EbayClient/Makefile index 541bd14d4f..16f42d214f 100644 --- a/jdk/make/mksample/webservices/EbayClient/Makefile +++ b/jdk/make/mksample/webservices/EbayClient/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/mksample/webservices/EbayServer/Makefile b/jdk/make/mksample/webservices/EbayServer/Makefile index a0481cdedb..6cbe9f0623 100644 --- a/jdk/make/mksample/webservices/EbayServer/Makefile +++ b/jdk/make/mksample/webservices/EbayServer/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../../.. +MODULE = samples PRODUCT = java include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/modules/Makefile b/jdk/make/modules/Makefile index 039682e871..60dcd6ff39 100644 --- a/jdk/make/modules/Makefile +++ b/jdk/make/modules/Makefile @@ -40,32 +40,7 @@ MODULE_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp TMP=$(ABS_TEMPDIR)/modules MODULE_CLASSLIST = $(TMP)/classlist MODULE_CLASSES = $(TMP)/classes -MODULE_LIST = $(MODULE_CLASSLIST)/modules.list - -# Modules in the modules/ext directory -EXT_MODULES = localedata security-sunec security-sunjce - -# Build PKCS#11 on all platforms except 64-bit Windows. -# We exclude windows-amd64 because we don't have any -# 64-bit PKCS#11 implementations to test with on that platform. -PKCS11 = security-sunpkcs11 -ifeq ($(ARCH_DATA_MODEL), 64) - ifeq ($(PLATFORM), windows) - PKCS11 = - endif -endif - -EXT_MODULES += $(PKCS11) - -# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform. -ifeq ($(PLATFORM), windows) - ifneq ($(ARCH_DATA_MODEL), 64) - EXT_MODULES += security-sunmscapi - endif -endif - - -JDK_MODULES = tools +MODULES_LIST = $(MODULE_CLASSLIST)/modules.list SUBDIRS = tools all build clean clobber:: @@ -76,7 +51,7 @@ all:: unpack-jars gen-classlist modularize $(CLASSANALYZER_JAR): $(CD) tools && $(MAKE) all -JAR_LIST := $(shell $(FIND) $(ABS_OUTPUTDIR)/lib -name \*.jar -depth) +JAR_LIST := $(shell $(FIND) $(ABS_OUTPUTDIR)/lib -name \*.jar -print) unpack-jars: $(RM) -rf $(MODULE_CLASSES) $(MKDIR) -p $(MODULE_CLASSES) @@ -107,31 +82,29 @@ gen-classlist: $(CLASSANALYZER_JAR) modularize: $(MODULE_JAR_MANIFEST_FILE) @$(ECHO) ">>>Making "$@" @ `$(DATE)` ..." @$(RM) -rf $(MODULE_LIB) - @$(MKDIR) -p $(MODULE_LIB)/lib - @$(MKDIR) -p $(MODULE_LIB)/jre/lib/ext - @# create modules - for m in `$(NAWK) '{print $$1}' $(MODULE_LIST)` ; do \ + @# create jar file for modules and + @# copy other files from all members of this module + for m in `$(NAWK) '{print $$1}' $(MODULES_LIST)` ; do \ $(ECHO) "Creating module $$m" ; \ $(SED) -e 's%\\%\/%g' < $(MODULE_CLASSLIST)/$$m.classlist > $(TMP)/tmp.cf ; \ if [ -f $(MODULE_CLASSLIST)/$$m.resources ] ; then \ $(SED) -e 's%\\%\/%g' < $(MODULE_CLASSLIST)/$$m.resources >> $(TMP)/tmp.cf ; \ fi ; \ + $(MKDIR) -p $(MODULE_LIB)/$$m/lib; \ $(CD) $(MODULE_CLASSES) && \ $(BOOT_JAR_CMD) c0mf $(MODULE_JAR_MANIFEST_FILE) \ - $(MODULE_LIB)/$$m.jar \ - @$(TMP)/tmp.cf \ - $(BOOT_JAR_JFLAGS) ; \ - done + $(MODULE_LIB)/$$m/lib/$$m.jar \ + @$(TMP)/tmp.cf \ + $(BOOT_JAR_JFLAGS); \ + for s in `$(GREP) "^$$m" $(MODULES_LIST)` ; do \ + if [ -d $(TMP)/$$s ] ; then \ + $(CP) -rf $(TMP)/$$s/* $(MODULE_LIB)/$$m; \ + $(RM) -rf $(MODULE_LIB)/$$m/classes; \ + fi \ + done \ + done @$(CD) $(MODULE_CLASSES) && $(java-vm-cleanup) - @# move modules to lib, jre/lib, or jre/lib/ext - for m in $(EXT_MODULES) ; do \ - $(MV) $(MODULE_LIB)/$$m.jar $(MODULE_LIB)/jre/lib/ext ; \ - done - for m in $(JDK_MODULES) ; do \ - $(MV) $(MODULE_LIB)/$$m.jar $(MODULE_LIB)/lib ; \ - done - $(MV) $(MODULE_LIB)/*.jar $(MODULE_LIB)/jre/lib @$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..." $(MODULE_JAR_MANIFEST_FILE): @@ -140,6 +113,5 @@ $(MODULE_JAR_MANIFEST_FILE): clean clobber:: $(RM) -rf $(MODULE_CLASSLIST) $(RM) -rf $(MODULE_LIB) - $(RM) -f $(MODULE_JAR_MANIFEST_FILE) - $(RM) -f $(CLASSANALYZER_JAR) - + $(RM) $(MODULE_JAR_MANIFEST_FILE) + $(RM) $(CLASSANALYZER_JAR) diff --git a/jdk/make/modules/modules.config b/jdk/make/modules/modules.config index 04b71ea6a5..bcc0493a98 100644 --- a/jdk/make/modules/modules.config +++ b/jdk/make/modules/modules.config @@ -372,15 +372,19 @@ module management { /**************************************************************************/ +module tracing { + // tracing + include com.sun.tracing.**, sun.tracing.**; +} + module instrument { // java.lang.instrument include java.lang.instrument.*, sun.instrument.*; - // tracing - include com.sun.tracing.**, sun.tracing.**; - // HPROF support include com.sun.demo.jvmti.hprof.*; + + include tracing; } /**************************************************************************/ @@ -391,15 +395,17 @@ module rmi-activation { sun.rmi.server.InactiveGroupException; } +module rmic { + // rmic is included in tools + include sun.rmi.rmic.**; +} + module rmi { include java.rmi.**, sun.rmi.**, com.sun.rmi.**; // SSL factories are in rmi include javax.rmi.ssl.**; - // rmic is in tools - exclude sun.rmi.rmic.**; - // supporting classes in sun.misc and dependencies include sun.misc.GC; } @@ -468,9 +474,14 @@ module security-smartcardio { include javax.smartcardio.**, sun.security.smartcardio.**; } +module security-auth { + include com.sun.security.auth.**, sun.security.util.AuthResources_*; +} + module security-misc { - include com.sun.security.auth.**, sun.security.util.AuthResources_*, - sun.security.pkcs.*, + include security-auth; + + include sun.security.pkcs.*, sun.security.pkcs12.*; // this class is a candidate to be removed. @@ -500,9 +511,8 @@ module jndi-rmiregistry { } module jndi-dns { + include net-dns; include com.sun.jndi.dns.**, com.sun.jndi.url.dns.**; - include sun.net.dns.**; // to access DNS config. - include sun.net.spi.nameservice.dns.**; // for DNS-only name service. } module jndi-cosnaming { @@ -677,31 +687,69 @@ module corba { /**************************************************************************/ -module client { +module applet { include java.applet.**, - java.awt.**, - javax.accessibility.*, - javax.imageio.**, - javax.print.**, - javax.sound.**, - javax.swing.**, - sun.applet.**, - sun.audio.**, + sun.applet.**; +} + +module awt { + include java.awt.**, sun.awt.**, - sun.dc.**, - sun.font.**, + com.sun.awt.**; +} + +module font { + include sun.font.**; +} + +module imageio { + include javax.imageio.**, + com.sun.imageio.**; +} + +module java2d { + include sun.dc.**, sun.java2d.**, - sun.print.**, + com.sun.image.**; +} + +module media { + include com.sun.media.**; +} + +module print { + include javax.print.**, + sun.print.**; +} + +module sound { + include javax.sound.**; +} + +module swing { + include javax.swing.**, sun.swing.**, - com.sun.accessibility.**, - com.sun.awt.**, - com.sun.image.**, - com.sun.imageio.**, - com.sun.java.swing.*, // sajdi also contains classes in a subpackage; - // so use '*' instead of '**' + // sajdi also contains classes in subpackages of com.sun.java.swing; + // so use '*' instead of '**' + com.sun.java.swing.*, com.sun.java.swing.plaf.**, - com.sun.media.**, com.sun.swing.**; +} + +module client { + include applet, + awt, + font, + imageio, + java2d, + media, + print, + sound, + swing; + + include javax.accessibility.*, + sun.audio.**, + com.sun.accessibility.**; // Bidi class in client module for now include java.text.Bidi, sun.text.bidi.*; @@ -723,7 +771,13 @@ module client { /**************************************************************************/ +module jkernel { + include sun.jkernel.*; +} + module deploy { + include jkernel; + // For now, all plugin and JNLP include com.sun.java.browser.**, netscape.**, @@ -732,8 +786,7 @@ module deploy { com.sun.deploy.**, com.sun.javaws.**, javax.jnlp.*, - com.sun.jnlp.*, - sun.jkernel.*; + com.sun.jnlp.*; // Hook for http authentication include sun.net.www.protocol.http.AuthCacheBridge; @@ -741,6 +794,11 @@ module deploy { /**************************************************************************/ +module net-dns { + include sun.net.dns.**; // to access DNS config. + include sun.net.spi.nameservice.dns.**; // for DNS-only name service. +} + module net-compat { // NTLM authentication support include sun.net.www.protocol.http.ntlm.*; @@ -824,6 +882,7 @@ module tools { debugging, jaxws-tools, jdb, + rmic, sajdi; // include gui-tools in tools module unless the tool binaries @@ -834,8 +893,7 @@ module tools { com.sun.jarsigner.**, com.sun.javac.**, com.sun.javadoc.**, com.sun.source.**, - sun.jvmstat.**, - sun.rmi.rmic.**; + sun.jvmstat.**; } /**************************************************************************/ @@ -853,6 +911,19 @@ module inputmethods-ext { /**************************************************************************/ +// Workaround for US export and local policy files +// They are currently in signed jars under the jre/lib/security directory +module US_export_policy { + include default_US_export.policy; +} + +module local_policy { + include default_local.policy, + exempt_local.policy; +} + +/**************************************************************************/ + module other { include **; } diff --git a/jdk/make/modules/tools/nbproject/project.xml b/jdk/make/modules/tools/nbproject/project.xml index b8b0aeafe0..61955a8eac 100644 --- a/jdk/make/modules/tools/nbproject/project.xml +++ b/jdk/make/modules/tools/nbproject/project.xml @@ -1,3 +1,4 @@ + - - org.netbeans.modules.java.j2seproject diff --git a/jdk/make/modules/tools/src/com/sun/classanalyzer/Module.java b/jdk/make/modules/tools/src/com/sun/classanalyzer/Module.java index 26af227763..0fdc5b145f 100644 --- a/jdk/make/modules/tools/src/com/sun/classanalyzer/Module.java +++ b/jdk/make/modules/tools/src/com/sun/classanalyzer/Module.java @@ -444,8 +444,8 @@ public class Module implements Comparable { } void printClassListTo(String output) throws IOException { - // no file created if the module doesn't have any class - if (classes.isEmpty()) { + // no file created if the module doesn't have any class nor resource + if (isEmpty()) { return; } @@ -482,7 +482,7 @@ public class Module implements Comparable { void printDependenciesTo(String output, boolean showDynamic) throws IOException { // no file created if the module doesn't have any class - if (classes.isEmpty()) { + if (isEmpty()) { return; } diff --git a/jdk/make/sun/applet/Makefile b/jdk/make/sun/applet/Makefile index 415db17ddf..83902ab7d8 100644 --- a/jdk/make/sun/applet/Makefile +++ b/jdk/make/sun/applet/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = applet PACKAGE = sun.applet PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/awt/Makefile b/jdk/make/sun/awt/Makefile index c3c1745ff5..0a8ad9c5fe 100644 --- a/jdk/make/sun/awt/Makefile +++ b/jdk/make/sun/awt/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = awt PACKAGE = sun.awt LIBRARY = awt PRODUCT = sun @@ -312,15 +313,15 @@ dgalibs: $(DGALIBS) $(LIBDIR)/$(LIBARCH)/libxinerama.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libxinerama.so $(install-file) - $(CHMOD) a+x $@ + $(call chmod-file, a+x) $(LIBDIR)/$(LIBARCH)/libjdgaSUNW%.so: $(CLOSED_SRC)/solaris/lib/$(ARCH)/libjdgaSUNW%.so $(install-file) - $(CHMOD) a+x $@ + $(call chmod-file, a+x) $(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so: $(LIBDIR)/$(LIBARCH)/libjdgaSUNWffb.so $(prep-target) - $(LN) -s libjdgaSUNWffb.so $(LIBDIR)/$(LIBARCH)/libjdgaSUNWafb.so + $(call install-sym-link, libjdgaSUNWffb.so) clean:: dgalib.clean @@ -404,7 +405,8 @@ $(LIBDIR)/%.bfc: $(FONTCONFIGS_SRC)/$(FONTCONFIGS_SRC_PREFIX)%.properties \ $(COMPILEFONTCONFIG_JARFILE) $(prep-target) $(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $< $@ - $(CHMOD) 444 $(@) + $(install-module-file) + $(call chmod-file, 444) @$(java-vm-cleanup) fontconfigs.clean : diff --git a/jdk/make/sun/cmm/Makefile b/jdk/make/sun/cmm/Makefile index bbed857654..dc8a87b6e6 100644 --- a/jdk/make/sun/cmm/Makefile +++ b/jdk/make/sun/cmm/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = java2d PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -45,34 +46,24 @@ iccprofiles: $(ICCPROFILE_DEST_DIR)/sRGB.pf $(ICCPROFILE_DEST_DIR)/GRAY.pf \ $(ICCPROFILE_DEST_DIR)/LINEAR_RGB.pf $(ICCPROFILE_DEST_DIR)/sRGB.pf: $(ICCPROFILE_SRC_DIR)/sRGB.pf - $(RM) $(ICCPROFILE_DEST_DIR)/sRGB.pf - -$(MKDIR) -p $(ICCPROFILE_DEST_DIR) - $(CP) $(ICCPROFILE_SRC_DIR)/sRGB.pf $(ICCPROFILE_DEST_DIR) - $(CHMOD) 444 $(ICCPROFILE_DEST_DIR)/sRGB.pf + $(install-file) + $(call chmod-file, 444) $(ICCPROFILE_DEST_DIR)/GRAY.pf: $(ICCPROFILE_SRC_DIR)/GRAY.pf - $(RM) $(ICCPROFILE_DEST_DIR)/GRAY.pf - -$(MKDIR) -p $(ICCPROFILE_DEST_DIR) - $(CP) $(ICCPROFILE_SRC_DIR)/GRAY.pf $(ICCPROFILE_DEST_DIR) - $(CHMOD) 444 $(ICCPROFILE_DEST_DIR)/GRAY.pf + $(install-file) + $(call chmod-file, 444) $(ICCPROFILE_DEST_DIR)/CIEXYZ.pf: $(ICCPROFILE_SRC_DIR)/CIEXYZ.pf - $(RM) $(ICCPROFILE_DEST_DIR)/CIEXYZ.pf - -$(MKDIR) -p $(ICCPROFILE_DEST_DIR) - $(CP) $(ICCPROFILE_SRC_DIR)/CIEXYZ.pf $(ICCPROFILE_DEST_DIR) - $(CHMOD) 444 $(ICCPROFILE_DEST_DIR)/CIEXYZ.pf + $(install-file) + $(call chmod-file, 444) $(ICCPROFILE_DEST_DIR)/PYCC.pf: $(ICCPROFILE_SRC_DIR)/PYCC.pf - $(RM) $(ICCPROFILE_DEST_DIR)/PYCC.pf - -$(MKDIR) -p $(ICCPROFILE_DEST_DIR) - $(CP) $(ICCPROFILE_SRC_DIR)/PYCC.pf $(ICCPROFILE_DEST_DIR) - $(CHMOD) 444 $(ICCPROFILE_DEST_DIR)/PYCC.pf + $(install-file) + $(call chmod-file, 444) $(ICCPROFILE_DEST_DIR)/LINEAR_RGB.pf: $(ICCPROFILE_SRC_DIR)/LINEAR_RGB.pf - $(RM) $(ICCPROFILE_DEST_DIR)/LINEAR_RGB.pf - -$(MKDIR) -p $(ICCPROFILE_DEST_DIR) - $(CP) $(ICCPROFILE_SRC_DIR)/LINEAR_RGB.pf $(ICCPROFILE_DEST_DIR) - $(CHMOD) 444 $(ICCPROFILE_DEST_DIR)/LINEAR_RGB.pf + $(install-file) + $(call chmod-file, 444) iccprofiles.clean: $(RM) -r $(ICCPROFILE_DEST_DIR) diff --git a/jdk/make/sun/cmm/kcms/Makefile b/jdk/make/sun/cmm/kcms/Makefile index 10ff72b4f5..a7250f74b8 100644 --- a/jdk/make/sun/cmm/kcms/Makefile +++ b/jdk/make/sun/cmm/kcms/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = java2d PACKAGE = sun.java2d.cmm.kcms LIBRARY = kcms PRODUCT = sun diff --git a/jdk/make/sun/cmm/lcms/Makefile b/jdk/make/sun/cmm/lcms/Makefile index ba595507b7..ac8746af7b 100644 --- a/jdk/make/sun/cmm/lcms/Makefile +++ b/jdk/make/sun/cmm/lcms/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = java2d PACKAGE = sun.java2d.cmm.lcms LIBRARY = lcms PRODUCT = sun diff --git a/jdk/make/sun/dcpr/Makefile b/jdk/make/sun/dcpr/Makefile index e49db2af23..4dc39f93b9 100644 --- a/jdk/make/sun/dcpr/Makefile +++ b/jdk/make/sun/dcpr/Makefile @@ -26,6 +26,7 @@ # WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmk BUILDDIR = ../.. +MODULE = java2d PACKAGE = sun.dc LIBRARY = dcpr PRODUCT = sun diff --git a/jdk/make/sun/font/Makefile b/jdk/make/sun/font/Makefile index f513a64bd4..c95e52f458 100644 --- a/jdk/make/sun/font/Makefile +++ b/jdk/make/sun/font/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = font PACKAGE = sun.font LIBRARY = fontmanager PRODUCT = sun @@ -121,16 +122,21 @@ FILES_m=mapfile-vers.openjdk # #TODO: rework this to avoid hardcoding library name in the makefile # -library:: $(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) - -$(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX): ifeq ($(PLATFORM), windows) - $(CP) $(FREETYPE_LIB_PATH)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) $@ + FREETYPE_LIB = $(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) + OTHER_LDLIBS += $(FREETYPE_LIB_PATH)/freetype.lib else ifeq ($(USING_SYSTEM_FT_LIB), false) - $(CP) $(FREETYPE_LIB_PATH)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) $@.6 + FREETYPE_LIB = $(LIB_LOCATION)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX).6 endif + OTHER_LDLIBS += -L$(FREETYPE_LIB_PATH) -lfreetype endif + +library:: $(FREETYPE_LIB) + +$(FREETYPE_LIB): + $(CP) $(FREETYPE_LIB_PATH)/$(LIB_PREFIX)freetype.$(LIBRARY_SUFFIX) $@ + $(install-module-file) endif #ifeq ($(PLATFORM), solaris) @@ -158,7 +164,6 @@ ifndef OPENJDK CPPFLAGS += -I$(CLOSED_SRC)/share/native/$(PKGDIR)/t2k else CPPFLAGS += -I$(FREETYPE_HEADERS_PATH) -I$(FREETYPE_HEADERS_PATH)/freetype2 - OTHER_LDLIBS += $(FREETYPE_LIB) endif ifeq ($(PLATFORM), windows) diff --git a/jdk/make/sun/font/t2k/Makefile b/jdk/make/sun/font/t2k/Makefile index d01e825159..651eea84d2 100644 --- a/jdk/make/sun/font/t2k/Makefile +++ b/jdk/make/sun/font/t2k/Makefile @@ -30,6 +30,7 @@ # BUILDDIR = ../../.. +MODULE = font PACKAGE = sun.font LIBRARY = t2k PRODUCT = sun diff --git a/jdk/make/sun/headless/Makefile b/jdk/make/sun/headless/Makefile index b1e1ebf6d5..ee853eae74 100644 --- a/jdk/make/sun/headless/Makefile +++ b/jdk/make/sun/headless/Makefile @@ -30,6 +30,7 @@ MOTIF_VERSION = none MOTIF_VERSION_STRING=none LIB_LOCATION = $(LIBDIR)/$(LIBARCH)/headless +MODULE = awt PACKAGE = sun.awt LIBRARY = mawt LIBRARY_OUTPUT = headless diff --git a/jdk/make/sun/image/generic/Makefile b/jdk/make/sun/image/generic/Makefile index 5caedf6d7d..446209f866 100644 --- a/jdk/make/sun/image/generic/Makefile +++ b/jdk/make/sun/image/generic/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = media PACKAGE = sun.awt.medialib LIBRARY = mlib_image PRODUCT = sun diff --git a/jdk/make/sun/image/vis/Makefile b/jdk/make/sun/image/vis/Makefile index b0e399b087..2bc891a5cf 100644 --- a/jdk/make/sun/image/vis/Makefile +++ b/jdk/make/sun/image/vis/Makefile @@ -27,6 +27,7 @@ # Makefile for building the VIS (solaris-only) version of medialib # BUILDDIR = ../../.. +MODULE = media PACKAGE = sun.awt.medialib LIBRARY = mlib_image_v PRODUCT = sun diff --git a/jdk/make/sun/jar/Makefile b/jdk/make/sun/jar/Makefile index b90d738900..7dd586e2ff 100644 --- a/jdk/make/sun/jar/Makefile +++ b/jdk/make/sun/jar/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = jar-tool PACKAGE = sun.tools PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/javazic/Makefile b/jdk/make/sun/javazic/Makefile index 96a2df1e0d..10c2b1a856 100644 --- a/jdk/make/sun/javazic/Makefile +++ b/jdk/make/sun/javazic/Makefile @@ -27,6 +27,7 @@ BUILDDIR = ../.. +MODULE = base PACKAGE = sun.javazic PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -69,6 +70,7 @@ $(INSTALLDIR)/$(MAPFILE): $(WORKDIR)/$(MAPFILE) $(RM) -r $(@D) $(prep-target) $(CP) -r $(WORKDIR)/* $(@D) + $(install-module-dir) clean clobber:: $(RM) -r $(TEMPDIR) $(INSTALLDIR) diff --git a/jdk/make/sun/jawt/Makefile b/jdk/make/sun/jawt/Makefile index 45d337258a..424a20d1c4 100644 --- a/jdk/make/sun/jawt/Makefile +++ b/jdk/make/sun/jawt/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = awt PACKAGE = sun.awt LIBRARY = jawt PRODUCT = sun diff --git a/jdk/make/sun/jconsole/Makefile b/jdk/make/sun/jconsole/Makefile index dc61227fe6..42f624e38b 100644 --- a/jdk/make/sun/jconsole/Makefile +++ b/jdk/make/sun/jconsole/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = jconsole PACKAGE = sun.tools.jconsole PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -79,7 +80,7 @@ $(CLASSBINDIR)/$(PKGDIR)/resources/%: $(SHARE_SRC)/classes/$(PKGDIR)/resources/% $(install-file) $(TEMPDIR)/manifest: $(SHARE_SRC)/classes/$(PKGDIR)/manifest - $(install-file) + $(install-manifest-file) # # Extra rule to build jconsole.jar diff --git a/jdk/make/sun/jdbc/Makefile b/jdk/make/sun/jdbc/Makefile index d7e7eaf153..4b241b9174 100644 --- a/jdk/make/sun/jdbc/Makefile +++ b/jdk/make/sun/jdbc/Makefile @@ -33,6 +33,7 @@ # BUILDDIR = ../.. +MODULE = jdbc-odbc PACKAGE = sun.jdbc.odbc LIBRARY = JdbcOdbc PRODUCT = sun diff --git a/jdk/make/sun/jdga/Makefile b/jdk/make/sun/jdga/Makefile index 257996d772..d9a6db6556 100644 --- a/jdk/make/sun/jdga/Makefile +++ b/jdk/make/sun/jdga/Makefile @@ -25,6 +25,7 @@ BUILDDIR = ../.. +MODULE = java2d PACKAGE = sun.jdga LIBRARY = sunwjdga PRODUCT = sun diff --git a/jdk/make/sun/jkernel/Makefile b/jdk/make/sun/jkernel/Makefile index 97f2f38aca..7a7a6a3645 100644 --- a/jdk/make/sun/jkernel/Makefile +++ b/jdk/make/sun/jkernel/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = jkernel PACKAGE = sun.jkernel LIBRARY = jkernel PRODUCT = sun diff --git a/jdk/make/sun/jpeg/Makefile b/jdk/make/sun/jpeg/Makefile index f97e2cd08b..99d36a9b25 100644 --- a/jdk/make/sun/jpeg/Makefile +++ b/jdk/make/sun/jpeg/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = java2d PACKAGE = sun.awt LIBRARY = jpeg PRODUCT = sun diff --git a/jdk/make/sun/launcher/Makefile b/jdk/make/sun/launcher/Makefile index 1346bc4e20..32b2ec7aa1 100644 --- a/jdk/make/sun/launcher/Makefile +++ b/jdk/make/sun/launcher/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = base PACKAGE = sun.launcher PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/management/Makefile b/jdk/make/sun/management/Makefile index bb7ad8935c..a54b1dd0be 100644 --- a/jdk/make/sun/management/Makefile +++ b/jdk/make/sun/management/Makefile @@ -28,6 +28,8 @@ # BUILDDIR = ../.. +MODULE = management + include $(BUILDDIR)/common/Defs.gmk MGMT_LIBDIR = $(LIBDIR)/management @@ -56,17 +58,17 @@ jmxremotefiles: $(MGMT_LIBDIR)/jmxremote.password.template $(MGMT_LIBDIR)/jmxrem $(MGMT_LIBDIR)/management.properties: $(MGMT_LIB_SRC)/management.properties $(install-file) - $(CHMOD) 644 $@ + $(call chmod-file, 644) $(MGMT_LIBDIR)/snmp.acl.template: $(MGMT_LIB_SRC)/snmp.acl.template $(install-file) - $(CHMOD) 444 $@ + $(call chmod-file, 444) $(MGMT_LIBDIR)/jmxremote.password.template: $(MGMT_LIB_SRC)/jmxremote.password.template $(install-file) - $(CHMOD) 444 $@ + $(call chmod-file, 444) $(MGMT_LIBDIR)/jmxremote.access: $(MGMT_LIB_SRC)/jmxremote.access $(install-file) - $(CHMOD) 644 $@ + $(call chmod-file, 644) diff --git a/jdk/make/sun/native2ascii/Makefile b/jdk/make/sun/native2ascii/Makefile index 766e90fc54..1cd1ab9b15 100644 --- a/jdk/make/sun/native2ascii/Makefile +++ b/jdk/make/sun/native2ascii/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = tools PACKAGE = sun.tools.native2ascii PRODUCT = sun OTHER_JAVACFLAGS += -Xlint:serial -Werror diff --git a/jdk/make/sun/net/others/Makefile b/jdk/make/sun/net/others/Makefile index 2adf6048b7..0896c7ef67 100644 --- a/jdk/make/sun/net/others/Makefile +++ b/jdk/make/sun/net/others/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = base PACKAGE = sun.net PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/net/spi/nameservice/dns/Makefile b/jdk/make/sun/net/spi/nameservice/dns/Makefile index d86a3c69f0..746f168b45 100644 --- a/jdk/make/sun/net/spi/nameservice/dns/Makefile +++ b/jdk/make/sun/net/spi/nameservice/dns/Makefile @@ -28,6 +28,9 @@ # BUILDDIR = ../../../../.. + +# dns should probably be its own module +MODULE = net-dns PACKAGE = sun.net.spi.nameservice.dns PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/nio/Makefile b/jdk/make/sun/nio/Makefile index 4b46a1fb76..76051c1b17 100644 --- a/jdk/make/sun/nio/Makefile +++ b/jdk/make/sun/nio/Makefile @@ -1,5 +1,5 @@ # -# Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -23,88 +23,12 @@ # have any questions. # -# -# Makefile for character converters. -# - BUILDDIR = ../.. - PACKAGE = sun.nio PRODUCT = sun - -# This re-directs all the class files to a separate location -CLASSDESTDIR = $(TEMPDIR)/classes - -OTHER_JAVACFLAGS += -Xlint:serial -Werror include $(BUILDDIR)/common/Defs.gmk -# -# Files -# -include FILES_java.gmk -AUTO_FILES_JAVA_DIRS = sun/nio/cs/ext - -# For Cygwin, command line arguments that are paths must be converted to -# windows style paths. These paths cannot be used as targets, however, because -# the ":" in them will interfere with GNU Make rules, generating "multiple -# target pattern" errors. - -# this define is for the rule: -CHARSETS_JAR = $(LIBDIR)/charsets.jar - -# extcs -FILES_genout_extcs = $(FILES_gen_extcs:%.java=$(GENSRCDIR)/%.java) - -# -# Rules -# -include $(BUILDDIR)/common/Classes.gmk - -build: $(FILES_genout_extcs) $(CHARSETS_JAR) - -# -# Extra rules to build character converters. - -SERVICE_DESCRIPTION = java.nio.charset.spi.CharsetProvider -SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION) - -GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping -GENCSSRCDIR = $(BUILDDIR)/tools/src/build/tools/charsetmapping -GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext - -FILES_MAP = $(GENCSDATASRC)/sjis0213.map -FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat -CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar - -$(FILES_DAT): $(FILES_MAP) - @$(prep-target) - $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \ - $(FILES_MAP) $(FILES_DAT) sjis0213 - - -$(FILES_genout_extcs): \ - $(GENCSDATASRC)/SingleByte-X.java.template \ - $(GENCSDATASRC)/DoubleByte-X.java.template \ - $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs - @$(prep-target) - $(RM) -r $(GENCSEXT) - $(MKDIR) -p $(GENCSEXT) - $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs - $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ - $(GENCSSRCDIR)/GenerateEUC_TW.java - $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) dbcs - -$(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \ - $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH) - $(install-file) - -$(CHARSETS_JAR): $(FILES_class) $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH) $(FILES_DAT) - $(BOOT_JAR_CMD) cf0 $(CHARSETS_JAR) \ - -C $(CLASSDESTDIR) sun \ - -C $(CLASSDESTDIR) $(SERVICE_DESCRIPTION_PATH) \ - $(BOOT_JAR_JFLAGS) - @$(java-vm-cleanup) +SUBDIRS = cs +all build clean clobber:: + $(SUBDIRS-loop) -clean:: - $(RM) -r $(CLASSDESTDIR) - $(RM) $(CHARSETS_JAR) diff --git a/jdk/make/sun/nio/FILES_java.gmk b/jdk/make/sun/nio/cs/FILES_java.gmk similarity index 100% rename from jdk/make/sun/nio/FILES_java.gmk rename to jdk/make/sun/nio/cs/FILES_java.gmk diff --git a/jdk/make/sun/nio/cs/Makefile b/jdk/make/sun/nio/cs/Makefile new file mode 100644 index 0000000000..c2e9c0b8ef --- /dev/null +++ b/jdk/make/sun/nio/cs/Makefile @@ -0,0 +1,112 @@ +# +# Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +# +# Makefile for character converters. +# + +BUILDDIR = ../../.. + +# charsets should be separated from nio module +MODULE = charsets +PACKAGE = sun.nio +PRODUCT = sun + +# This re-directs all the class files to a separate location +CLASSDESTDIR = $(TEMPDIR)/classes + +OTHER_JAVACFLAGS += -Xlint:serial -Werror +include $(BUILDDIR)/common/Defs.gmk + +# +# Files +# +include FILES_java.gmk +AUTO_FILES_JAVA_DIRS = sun/nio/cs/ext + +# For Cygwin, command line arguments that are paths must be converted to +# windows style paths. These paths cannot be used as targets, however, because +# the ":" in them will interfere with GNU Make rules, generating "multiple +# target pattern" errors. + +# this define is for the rule: +CHARSETS_JAR = $(LIBDIR)/charsets.jar + +# extcs +FILES_genout_extcs = $(FILES_gen_extcs:%.java=$(GENSRCDIR)/%.java) + +# +# Rules +# +include $(BUILDDIR)/common/Classes.gmk + +build: $(FILES_genout_extcs) $(CHARSETS_JAR) + +# +# Extra rules to build character converters. + +SERVICE_DESCRIPTION = java.nio.charset.spi.CharsetProvider +SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION) + +GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping +GENCSSRCDIR = $(BUILDDIR)/tools/src/build/tools/charsetmapping +GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext + +FILES_MAP = $(GENCSDATASRC)/sjis0213.map +FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat +CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar + +$(FILES_DAT): $(FILES_MAP) + @$(prep-target) + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \ + $(FILES_MAP) $(FILES_DAT) sjis0213 + + +$(FILES_genout_extcs): \ + $(GENCSDATASRC)/SingleByte-X.java.template \ + $(GENCSDATASRC)/DoubleByte-X.java.template \ + $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs + @$(prep-target) + $(RM) -r $(GENCSEXT) + $(MKDIR) -p $(GENCSEXT) + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ + $(GENCSSRCDIR)/GenerateEUC_TW.java + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) dbcs + +$(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \ + $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH) + $(install-file) + +$(CHARSETS_JAR): $(FILES_class) $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH) $(FILES_DAT) + $(BOOT_JAR_CMD) cf0 $(CHARSETS_JAR) \ + -C $(CLASSDESTDIR) sun \ + -C $(CLASSDESTDIR) $(SERVICE_DESCRIPTION_PATH) \ + $(BOOT_JAR_JFLAGS) + @$(java-vm-cleanup) + +clean:: + $(RM) -r $(CLASSDESTDIR) + $(RM) $(CHARSETS_JAR) diff --git a/jdk/make/sun/org/mozilla/javascript/Makefile b/jdk/make/sun/org/mozilla/javascript/Makefile index 2e74c02fdd..1750fadc6c 100644 --- a/jdk/make/sun/org/mozilla/javascript/Makefile +++ b/jdk/make/sun/org/mozilla/javascript/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../../.. +MODULE = scripting-rhino PACKAGE = sun.org.mozilla.javascript.internal PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/pisces/Makefile b/jdk/make/sun/pisces/Makefile index 3f3a3228b9..73f07f5090 100644 --- a/jdk/make/sun/pisces/Makefile +++ b/jdk/make/sun/pisces/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = java2d PACKAGE = sun.pisces PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/rmi/cgi/Makefile b/jdk/make/sun/rmi/cgi/Makefile index 0ed90ca2bd..4b69bc0a52 100644 --- a/jdk/make/sun/rmi/cgi/Makefile +++ b/jdk/make/sun/rmi/cgi/Makefile @@ -28,6 +28,8 @@ # BUILDDIR = ../../.. +# java-rmi.cgi is a JDK tool +MODULE = tools PACKAGE = sun.rmi PRODUCT = sun PROGRAM = java-rmi diff --git a/jdk/make/sun/rmi/oldtools/Makefile b/jdk/make/sun/rmi/oldtools/Makefile index ad610ffca4..b59d4fcf07 100644 --- a/jdk/make/sun/rmi/oldtools/Makefile +++ b/jdk/make/sun/rmi/oldtools/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = oldjavac PRODUCT = oldjavac include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/rmi/registry/Makefile b/jdk/make/sun/rmi/registry/Makefile index c5254a7f3c..bfb6cb55ed 100644 --- a/jdk/make/sun/rmi/registry/Makefile +++ b/jdk/make/sun/rmi/registry/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = rmi PACKAGE = sun.rmi.registry PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -48,3 +49,7 @@ RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES = $(PKGDIR)/resources/rmiregistry.propert # include $(BUILDDIR)/common/Classes.gmk +build: rmiregistry + +rmiregistry: + $(call make-launcher, rmiregistry, sun.rmi.registry.RegistryImpl, , ) diff --git a/jdk/make/sun/rmi/rmi/Makefile b/jdk/make/sun/rmi/rmi/Makefile index c351d87f0e..844f51bcc3 100644 --- a/jdk/make/sun/rmi/rmi/Makefile +++ b/jdk/make/sun/rmi/rmi/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = rmi PACKAGE = sun.rmi PRODUCT = sun LIBRARY = rmi @@ -124,7 +125,7 @@ bin: $(BINDIR)/java-rmi.cgi $(BINDIR)/java-rmi.cgi: $(PLATFORM_SRC)/bin/java-rmi.cgi.sh $(install-file) - $(CHMOD) a+x $@ + $(call chmod-file, a+x) bin.clean: $(RM) $(BINDIR)/java-rmi.cgi diff --git a/jdk/make/sun/rmi/rmic/Makefile b/jdk/make/sun/rmi/rmic/Makefile index a09a170f86..ae73a2d28e 100644 --- a/jdk/make/sun/rmi/rmic/Makefile +++ b/jdk/make/sun/rmi/rmic/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../../.. +MODULE = rmic PACKAGE = sun.rmi.rmic PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/rmi/rmid/Makefile b/jdk/make/sun/rmi/rmid/Makefile index 845b103220..23f223ec66 100644 --- a/jdk/make/sun/rmi/rmid/Makefile +++ b/jdk/make/sun/rmi/rmid/Makefile @@ -29,11 +29,12 @@ # BUILDDIR = ../../.. +MODULE = rmi-activation PACKAGE = sun.rmi.activation PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk -build: stubs +build: stubs rmid # # Resources @@ -75,4 +76,5 @@ stubs: $(FILES_stubs) # include $(BUILDDIR)/common/Classes.gmk - +rmid: + $(call make-launcher, rmid, sun.rmi.server.Activation, , ) diff --git a/jdk/make/sun/security/ec/Makefile b/jdk/make/sun/security/ec/Makefile index 53a3e3e9e5..95b9e8d30d 100644 --- a/jdk/make/sun/security/ec/Makefile +++ b/jdk/make/sun/security/ec/Makefile @@ -89,6 +89,7 @@ # BUILDDIR = ../../.. +MODULE = security-sunec PACKAGE = sun.security.ec PRODUCT = sun @@ -308,7 +309,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunec.jar else $(JAR_DESTFILE): $(SIGNED_DIR)/sunec.jar endif - $(install-file) + $(install-non-module-file) ifndef OPENJDK install-prebuilt: diff --git a/jdk/make/sun/security/jgss/wrapper/Makefile b/jdk/make/sun/security/jgss/wrapper/Makefile index f5b75dbeb4..8be00aa6c2 100644 --- a/jdk/make/sun/security/jgss/wrapper/Makefile +++ b/jdk/make/sun/security/jgss/wrapper/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../../.. +MODULE = security-kerberos PACKAGE = sun.security.jgss.wrapper PRODUCT = sun diff --git a/jdk/make/sun/security/krb5/Makefile b/jdk/make/sun/security/krb5/Makefile index aac29eb561..c835666ea9 100644 --- a/jdk/make/sun/security/krb5/Makefile +++ b/jdk/make/sun/security/krb5/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = security-kerberos PACKAGE = sun.security.krb5 PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -77,3 +78,10 @@ ifeq ($(PLATFORM), windows) else OTHER_LDLIBS = -ldl $(JVMLIB) endif + +build: +ifeq ($(PLATFORM),windows) + $(call make-launcher, kinit, sun.security.krb5.internal.tools.Kinit, , ) + $(call make-launcher, klist, sun.security.krb5.internal.tools.Klist, , ) + $(call make-launcher, ktab, sun.security.krb5.internal.tools.Ktab, , ) +endif diff --git a/jdk/make/sun/security/mscapi/Makefile b/jdk/make/sun/security/mscapi/Makefile index c16d130504..2cc8ea5361 100644 --- a/jdk/make/sun/security/mscapi/Makefile +++ b/jdk/make/sun/security/mscapi/Makefile @@ -89,6 +89,7 @@ # BUILDDIR = ../../.. +MODULE = security-sunmscapi PACKAGE = sun.security.mscapi LIBRARY = sunmscapi PRODUCT = sun @@ -271,7 +272,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunmscapi.jar else $(JAR_DESTFILE): $(SIGNED_DIR)/sunmscapi.jar endif - $(install-file) + $(install-non-module-file) ifndef OPENJDK install-prebuilt: diff --git a/jdk/make/sun/security/pkcs11/Makefile b/jdk/make/sun/security/pkcs11/Makefile index 9a4a4089be..f4be8d7a50 100644 --- a/jdk/make/sun/security/pkcs11/Makefile +++ b/jdk/make/sun/security/pkcs11/Makefile @@ -89,6 +89,7 @@ # BUILDDIR = ../../.. +MODULE = security-sunpkcs11 PACKAGE = sun.security.pkcs11 LIBRARY = j2pkcs11 PRODUCT = sun @@ -161,6 +162,16 @@ else OTHER_LDLIBS = -ldl $(JVMLIB) endif +# Other config files +SUNPKCS11_CFG = + +ifeq ($(PLATFORM), solaris) +SUNPKCS11_CFG = sunpkcs11-cfg +endif # PLATFORM + +SUNPKCS11_CFG_SRC = $(TOPDIR)/src/share/lib/security/sunpkcs11-solaris.cfg +SUNPKCS11_CFG_BUILD = $(LIBDIR)/security/sunpkcs11-solaris.cfg + # # We use a variety of subdirectories in the $(TEMPDIR) depending on what # part of the build we're doing. Both OPENJDK/JDK builds are initially @@ -174,12 +185,17 @@ UNSIGNED_DIR = $(TEMPDIR)/unsigned # ifdef OPENJDK -all: build-jar install-jar +all: $(SUNPKCS11_CFG) build-jar install-jar else -all: build-jar install-prebuilt +all: $(SUNPKCS11_CFG) build-jar install-prebuilt $(build-warning) endif +sunpkcs11-cfg: $(SUNPKCS11_CFG_BUILD) + +$(SUNPKCS11_CFG_BUILD): $(SUNPKCS11_CFG_SRC) + $(install-file) + include $(BUILDDIR)/javax/crypto/Defs-jce.gmk @@ -271,7 +287,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunpkcs11.jar else $(JAR_DESTFILE): $(SIGNED_DIR)/sunpkcs11.jar endif - $(install-file) + $(install-non-module-file) ifndef OPENJDK install-prebuilt: @@ -287,6 +303,7 @@ endif clobber clean:: $(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR) + $(RM) $(SUNPKCS11_CFG_BUILD) .PHONY: build-jar jar install-jar ifndef OPENJDK diff --git a/jdk/make/sun/security/smartcardio/Makefile b/jdk/make/sun/security/smartcardio/Makefile index 5568641196..097cd40c7a 100644 --- a/jdk/make/sun/security/smartcardio/Makefile +++ b/jdk/make/sun/security/smartcardio/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = security-smartcardio PACKAGE = sun.security.smartcardio LIBRARY = j2pcsc PRODUCT = sun diff --git a/jdk/make/sun/security/tools/Makefile b/jdk/make/sun/security/tools/Makefile index 0a8ffabe15..3380d20e6d 100644 --- a/jdk/make/sun/security/tools/Makefile +++ b/jdk/make/sun/security/tools/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../../.. +MODULE = security-tools PACKAGE = sun.security.tools PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -44,3 +45,7 @@ RESOURCE_BUNDLES_JAVA = sun/security/tools/JarSignerResources.java # include $(BUILDDIR)/common/Classes.gmk +build: + $(call make-launcher, keytool, sun.security.tools.KeyTool, , ) + $(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) + diff --git a/jdk/make/sun/serialver/Makefile b/jdk/make/sun/serialver/Makefile index 0906d3e3e1..29c3cceba4 100644 --- a/jdk/make/sun/serialver/Makefile +++ b/jdk/make/sun/serialver/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = serialver PACKAGE = sun.tools.serialver PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/splashscreen/Makefile b/jdk/make/sun/splashscreen/Makefile index 305df2fc2e..65b3fc388c 100644 --- a/jdk/make/sun/splashscreen/Makefile +++ b/jdk/make/sun/splashscreen/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = awt PACKAGE = sun.awt LIBRARY = splashscreen PRODUCT = sun diff --git a/jdk/make/sun/text/Makefile b/jdk/make/sun/text/Makefile index 37b8522156..005587df7a 100644 --- a/jdk/make/sun/text/Makefile +++ b/jdk/make/sun/text/Makefile @@ -29,6 +29,7 @@ BUILDDIR = ../.. +MODULE = localedata PACKAGE = sun.text PRODUCT = sun diff --git a/jdk/make/sun/tools/Makefile b/jdk/make/sun/tools/Makefile index 3c4d4c98d7..a6e926daf4 100644 --- a/jdk/make/sun/tools/Makefile +++ b/jdk/make/sun/tools/Makefile @@ -28,6 +28,7 @@ # BUILDDIR = ../.. +MODULE = tools PACKAGE = sun.tools PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk diff --git a/jdk/make/sun/tracing/dtrace/Makefile b/jdk/make/sun/tracing/dtrace/Makefile index cf0dc9a978..16f09e7197 100644 --- a/jdk/make/sun/tracing/dtrace/Makefile +++ b/jdk/make/sun/tracing/dtrace/Makefile @@ -27,6 +27,7 @@ # Makefile for building dtrace extension # BUILDDIR = ../../.. +MODULE = tracing PACKAGE = sun.tracing.dtrace LIBRARY = jsdt PRODUCT = sun diff --git a/jdk/make/sun/xawt/Makefile b/jdk/make/sun/xawt/Makefile index 3cb408d990..f9636cd3e6 100644 --- a/jdk/make/sun/xawt/Makefile +++ b/jdk/make/sun/xawt/Makefile @@ -24,6 +24,7 @@ # BUILDDIR = ../.. +MODULE = awt PACKAGE = sun.awt.X11 LIBRARY = mawt LIBRARY_OUTPUT = xawt -- GitLab