提交 ae24394c 编写于 作者: L lana

Merge

......@@ -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:
......
......@@ -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)
......
......@@ -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
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../..
MODULE = jndi-cosnaming
PACKAGE = com.sun.jndi.cosnaming
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../..
MODULE = jndi-dns
PACKAGE = com.sun.jndi.dns
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../..
MODULE = jndi-ldap
PACKAGE = com.sun.jndi.ldap
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../../..
MODULE = jndi-rmiregistry
PACKAGE = com.sun.jndi.rmi.registry
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -57,8 +57,7 @@ FILES_java += \
sun/nio/ch/SctpResultContainer.java \
sun/nio/ch/SctpSendFailed.java \
sun/nio/ch/SctpServerChannelImpl.java \
sun/nio/ch/SctpShutdown.java \
sun/nio/ch/SctpSocketDispatcher.java
sun/nio/ch/SctpShutdown.java
else
FILES_java += \
sun/nio/ch/SctpChannelImpl.java \
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../..
MODULE = sctp
PACKAGE = com.sun.nio.sctp
LIBRARY = sctp
PRODUCT = sun
......
......@@ -25,9 +25,14 @@
SUNWprivate_1.1 {
global:
Java_sun_nio_ch_SctpNet_init;
Java_sun_nio_ch_SctpNet_socket0;
Java_sun_nio_ch_SctpNet_bindx;
Java_sun_nio_ch_SctpNet_branch0;
Java_sun_nio_ch_SctpNet_listen0;
Java_sun_nio_ch_SctpNet_connect0;
Java_sun_nio_ch_SctpNet_close0;
Java_sun_nio_ch_SctpNet_preClose0;
Java_sun_nio_ch_SctpNet_getLocalAddresses0;
Java_sun_nio_ch_SctpNet_getRemoteAddresses0;
Java_sun_nio_ch_SctpNet_getPrimAddrOption0;
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../../../..
MODULE = security-xmldsig
PACKAGE = com.sun.org.apache.xml
PRODUCT = xml
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = jdbc-enterprise
PACKAGE = com.sun.rowset
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -25,6 +25,7 @@
BUILDDIR = ../../..
MODULE = scripting-rhino
PACKAGE = com.sun.script
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -26,6 +26,7 @@
# Makefile for building auth modules.
BUILDDIR = ../../../../..
MODULE = security-auth
PACKAGE = com.sun.security.auth.module
PRODUCT = sun
......
......@@ -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)
......
......@@ -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
......
......@@ -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
......@@ -313,6 +307,9 @@ INCLUDEDIR = $(OUTPUTDIR)/include
# for generated class files
CLASSBINDIR = $(OUTPUTDIR)/classes
DEMOCLASSDIR = $(OUTPUTDIR)/democlasses
# for modules
MODULES_DIR = $(OUTPUTDIR)/modules
ABS_MODULES_DIR = $(ABS_OUTPUTDIR)/modules
# for generated tool class files
BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses
# for build tool jar files
......@@ -388,6 +385,22 @@ ifneq ($(THREADDIR),)
UNIQUE_LOCATION_STRING += /$(THREADDIR)
endif
#
# Build units may or may not define MODULE. Default to "other".
#
# MODULE variable defines the lowest-level module name that
# might or might not be the name of the modules created in
# the modules build (see make/modules/modules.config and
# modules.group).
#
MODULES_TEMPDIR = $(OUTPUTDIR)/tmp/modules
ABS_MODULES_TEMPDIR = $(ABS_OUTPUTDIR)/tmp/modules
ifndef MODULE
MODULE = other
endif
override MODULE_DEST_DIR = $(MODULES_TEMPDIR)/$(MODULE)
# the use of += above makes a space separated list which we need to
# remove for filespecs.
#
......@@ -497,6 +510,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) -f $@ $(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) -sf $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 +576,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 +799,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 +817,9 @@ $(CP) $< $@
fi
endef
define install-import-file
$(install-importonly-file)
$(install-module-file)
endef
.PHONY: all build clean clobber
......@@ -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)
......
......@@ -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
......@@ -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
......@@ -122,8 +121,33 @@ endif
# JRE Image
######################################################
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 +175,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 +185,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_DIR)/$$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 +341,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_DIR)/$$m/lib/$$m.jar $(JDK_MODULE_IMAGE_DIR)/lib ; \
done
ifeq ($(PLATFORM), windows)
@#
@# lib/
......
......@@ -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
#
......
......@@ -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
......
......@@ -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
......
......@@ -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 ; \
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../..
MODULE = awt
PACKAGE = java.awt
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -31,6 +31,7 @@
#
BUILDDIR = ../..
MODULE = base
LIBRARY = fdlibm
PRODUCT = java
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = base
LIBRARY = hpi
PRODUCT = java
THREADDIR = native_threads
......
......@@ -27,6 +27,7 @@
# Makefile for Windows HPI DLL
#
BUILDDIR = ../../..
MODULE = base
LIBRARY = hpi
PRODUCT = java
THREADDIR = windows_threads
......
......@@ -27,6 +27,7 @@
# agent, supporting java.lang.instrument
BUILDDIR = ../..
MODULE = instrument
PACKAGE = sun.instrument
LIBRARY = instrument
PRODUCT = sun
......
......@@ -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
......
......@@ -24,6 +24,8 @@
#
BUILDDIR = ../..
MODULE = demos
LIBRARY = java_crw_demo
PRODUCT = sun
LIBRARY_OUTPUT = java_crw_demo
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../..
MODULE = instrument
LIBRARY = hprof
PRODUCT = sun
LIBRARY_OUTPUT = hprof_jvmti
......
......@@ -30,6 +30,7 @@
# its manifestations (java, javaw, javac, ...).
#
BUILDDIR = ../..
MODULE = base
LIBRARY = jli
PRODUCT = java
......
......@@ -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)
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../..
MODULE = logging
PACKAGE = java.util.logging
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = base
PROGRAM = java
PRODUCT = java
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = base
PROGRAM = javaw
PRODUCT = java
......
......@@ -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)
......
......@@ -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
......
......@@ -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)
......
......@@ -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
......
......@@ -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)
......
#
# 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
#
# 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::
......@@ -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
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = jdbc-base
PACKAGE = java.sql
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -24,7 +24,7 @@
#
BUILDDIR = ../..
MODULE = base
PACKAGE = java.text
PRODUCT = sun
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = base
PRODUCT = java
LIBRARY = verify
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -25,6 +25,7 @@
BUILDDIR = ../..
MODULE = base
PACKAGE = java.util.zip
LIBRARY = zip
PRODUCT = sun
......
......@@ -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,11 +434,13 @@ 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
$(MKDIR) -p $(POLICY_DESTDIR)
......@@ -445,12 +448,14 @@ install-unlimited: \
$(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.
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = imageio
PACKAGE = javax.imageio
PRODUCT = jiio
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = print
PACKAGE = javax.print
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -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
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound
LIBRARY = jsoundalsa
PRODUCT = sun
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound
LIBRARY = jsoundds
PRODUCT = sun
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = jdbc-enterprise
PACKAGE = javax.sql
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../..
MODULE = swing
PACKAGE = javax.swing
PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = swing
PACKAGE = javax.swing.plaf
PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = debugging
LIBRARY = jdwp
PRODUCT = jpda
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = debugging
PRODUCT = jpda
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_shmem
PRODUCT = jbug
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_socket
PRODUCT = jbug
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = jdb
PACKAGE = com.sun.tools.example.debug.tty
PRODUCT = jpda
PROGRAM = jdb
......
......@@ -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 \
MODULE=corba \
PROGRAM=$(strip $1) \
MAIN_CLASS=$(strip $2) \
MAIN_JAVA_ARGS="$(strip $3)" \
MAIN_ARGS="$(strip $4)" $@
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
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = demos
PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = demos
PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -29,6 +29,7 @@
BUILDDIR = ../../..
MODULE = samples
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -23,115 +23,106 @@
# have any questions.
#
BUILDDIR = ..
include $(BUILDDIR)/common/Defs.gmk
#
# Modularizing the JDK
# - Post jdk build process until the source tree is restructured
# for modules build
# - <outputdir>/modules/<module> will be created for each module.
#
# Steps:
# 0. During jdk build before this makefile is invoked, classes,
# resource files, and other non-class files such as native libraries,
# properties file, images, etc are created.
#
# Non-class files are copied to <outputdir>/tmp/modules/<MODULE>
# directory in this step to prepare for the post-build modularization.
#
# The MODULE variable defined in other makefiles specifies
# the lowest-level module that the non-class files belong to.
# The name might or might not be the same as the name of the modules
# in the resulting <outputdir>/modules directory.
#
# 1. Unpack all jars in the <builddir>/lib directory to a temporary
# location (<outputdir>/tmp/modules/classes) to prepare for modules
# creation.
#
# 2. Run ClassAnalyzer tool to analyze all jdk classes and generate
# class list for all modules and also perform dependency analysis.
#
# Input configuration files :-
#
# modules.config : defines the low-level modules and specifies
# what classes and resource files each module includes.
# modules.group : defines the module groups and its members.
# jdk7.depconfig : lists the dynamic dependencies including
# use of reflection Class.forName and JNI FindClass and
# service provider.
# optional.depconfig : lists the optional dependencies
#
# 3. Create one directory for each module (<outputdir>/modules/<module>)
# based on the output files from (2).
#
# modules.list lists the modules to be created for the modules
# build and its members. For each module (m) in modules.list,
# a. create $m/lib/$m.jar with all classes and resource files
# listed in $m.classlist and $m.resources respectively.
# b. copy all non-class files from its members to
# <outputdir>/modules/$m.
BUILDDIR = ..
include $(BUILDDIR)/common/Defs.gmk
CLASSANALYZER_JAR=$(BUILDTOOLJARDIR)/classanalyzer.jar
JAVA_FLAGS=$(JAVA_TOOLS_FLAGS) -Xbootclasspath:$(CLASSBINDIR)
MODULE_LIB = $(ABS_OUTPUTDIR)/modules
MAINMANIFEST=$(JDK_TOPDIR)/make/tools/manifest.mf
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
SUBDIRS = tools
all build clean clobber::
$(SUBDIRS-loop)
TMP = $(ABS_MODULES_TEMPDIR)
MODULE_CLASSLIST = $(ABS_MODULES_TEMPDIR)/classlist
MODULE_CLASSES = $(ABS_MODULES_TEMPDIR)/classes
MODULES_LIST = $(MODULE_CLASSLIST)/modules.list
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:
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
$(RM) -rf $(MODULE_CLASSES)
$(MKDIR) -p $(MODULE_CLASSES)
$(CP) -rf $(CLASSBINDIR)/* $(MODULE_CLASSES)
for jf in $(JAR_LIST) ; do \
@for jf in $(JAR_LIST) ; do \
$(CD) $(MODULE_CLASSES) && $(BOOT_JAR_CMD) xf $$jf $(BOOT_JAR_JFLAGS);\
done
gen-classlist: $(CLASSANALYZER_JAR)
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULE_CLASSLIST)
@$(MKDIR) -p $(MODULE_CLASSLIST)
@# Use java in the default tool directory.
@# OUTPUTDIR for solaris 64-bit doesn't have the tools.
$(JAVA_TOOLS_DIR)/java $(JAVA_FLAGS) \
-Dclassanalyzer.debug \
-jar $(CLASSANALYZER_JAR) \
-jdkhome $(OUTPUTDIR) \
-config modules.config \
-config modules.group \
-depconfig jdk7.depconfig \
-depconfig optional.depconfig \
-showdynamic \
-output $(MODULE_CLASSLIST)
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
gen-classlist:
$(CD) tools && $(MAKE) all
modularize: $(MODULE_JAR_MANIFEST_FILE)
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULE_LIB)
@$(MKDIR) -p $(MODULE_LIB)/lib
@$(MKDIR) -p $(MODULE_LIB)/jre/lib/ext
@$(RM) -rf $(MODULES_DIR)
@# 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 $(ABS_MODULES_DIR)/$$m/lib; \
$(CD) $(MODULE_CLASSES) && \
$(BOOT_JAR_CMD) c0mf $(MODULE_JAR_MANIFEST_FILE) \
$(MODULE_LIB)/$$m.jar \
$(ABS_MODULES_DIR)/$$m/lib/$$m.jar \
@$(TMP)/tmp.cf \
$(BOOT_JAR_JFLAGS) ; \
$(BOOT_JAR_JFLAGS); \
for s in `$(GREP) "^$$m" $(MODULES_LIST)` ; do \
if [ -d $(TMP)/$$s ] ; then \
$(CP) -rf $(TMP)/$$s/* $(ABS_MODULES_DIR)/$$m; \
$(RM) -rf $(ABS_MODULES_DIR)/$$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):
......@@ -139,7 +130,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) -rf $(MODULES_DIR)
$(RM) $(MODULE_JAR_MANIFEST_FILE)
......@@ -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;
// 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 **;
}
#
# 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
# 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.
#
# public final java.nio.channels.SocketChannel getChannel()
@Optional
sun.security.ssl.BaseSSLSocketImpl -> java.nio.channels.SocketChannel
......
......@@ -28,58 +28,128 @@
#
BUILDDIR = ../..
PACKAGE = com.sun.classanalyzer
PRODUCT = tools
PROGRAM = classanalyzer
include $(BUILDDIR)/common/Defs.gmk
PKGDIR = com/sun/classanalyzer
BUILDTOOL_SOURCE_ROOT = src
BUILDTOOL_MAIN = $(PKGDIR)/ClassAnalyzer.java
BUILTTOOL_MAINCLASS = $(subst /,.,$(BUILDTOOL_MAIN:%.java=%))
BUILDTOOL_MAIN_SOURCE_FILE = $(BUILDTOOL_SOURCE_ROOT)/$(BUILDTOOL_MAIN)
BUILDTOOL_MANIFEST_FILE = $(BUILDTOOLCLASSDIR)/$(PROGRAM)_manifest.mf
BUILDTOOL_JAR_FILE = $(BUILDTOOLJARDIR)/$(PROGRAM).jar
BUILDTOOL_MANIFEST_FILE = $(BUILDTOOLCLASSDIR)/classanalyzer_manifest.mf
FILES_java := $(shell $(CD) $(BUILDTOOL_SOURCE_ROOT) \
&& $(FIND) $(PKGDIR) $(SCM_DIRS_prune) -o -type f -print)
&& $(FIND) $(PKGDIR) -type f -print)
FILES_class = $(FILES_java:%.java=$(BUILDTOOLCLASSDIR)/%.class)
all build: $(BUILDTOOL_JAR_FILE) tool_info
CLASSANALYZER_JAR_FILE = $(BUILDTOOLJARDIR)/classanalyzer.jar
#
# ClassAnalyzer depends on the com.sun.tools.classfile API.
# The tool is compiled with the latest version of the classfile
# library in the langtools repo to make sure that synchronized
# change is made if the classfile API is changed.
#
# If langtools repo exists, build its own copy of the
# classfile library and use it for compile time and runtime.
# If not exist (the top level repo is not a forest), use
# the built jdk tools that imports tools.jar from the latest
# promoted build.
#
# If the classfile API is changed but not yet in a promoted build,
# the build might fail and the tool would need the langtools repo
# to build in that case.
#
ifndef LANGTOOLS_TOPDIR
LANGTOOLS_TOPDIR=$(JDK_TOPDIR)/../langtools
endif
LANGTOOLS_TOPDIR_EXISTS := $(shell \
if [ -d $(LANGTOOLS_TOPDIR) ] ; then \
echo true; \
else \
echo false; \
fi)
CLASSFILE_SRC = $(LANGTOOLS_TOPDIR)/src/share/classes
CLASSFILE_PKGDIR = com/sun/tools/classfile
ifeq ($(LANGTOOLS_TOPDIR_EXISTS), true)
FILES_classfile_java := $(shell \
$(CD) $(CLASSFILE_SRC) && \
$(FIND) $(CLASSFILE_PKGDIR) -name '*.java' -print)
FILES_classfile_class = $(FILES_classfile_java:%.java=$(BUILDTOOLCLASSDIR)/%.class)
CLASSFILE_JAR_FILE = $(BUILDTOOLJARDIR)/classfile.jar
BUILDTOOL_JAVAC = $(BOOT_JAVAC_CMD) $(JAVAC_JVM_FLAGS) \
$(BOOT_JAVACFLAGS) -classpath $(CLASSFILE_JAR_FILE)
BUILDTOOL_JAVA = $(BOOT_JAVA_CMD) $(JAVA_TOOLS_FLAGS) \
-Xbootclasspath/p:$(CLASSFILE_JAR_FILE)
else
# if langtools doesn't exist, use tools from the built jdk
BUILDTOOL_JAVAC = $(BINDIR)/javac $(JAVAC_JVM_FLAGS) \
$(BOOT_JAVACFLAGS)
BUILDTOOL_JAVA = $(BINDIR)/java $(JAVA_TOOLS_FLAGS)
endif
# Location of the output modules.list, <module>.classlist
# and other output files generated by the class analyzer tool.
#
MODULE_CLASSLIST = $(MODULES_TEMPDIR)/classlist
all build: classanalyzer gen-classlist
classanalyzer: $(CLASSFILE_JAR_FILE) $(CLASSANALYZER_JAR_FILE)
gen-classlist:
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULE_CLASSLIST)
@$(MKDIR) -p $(MODULE_CLASSLIST)
$(BUILDTOOL_JAVA) \
-Dclassanalyzer.debug \
-jar $(CLASSANALYZER_JAR_FILE) \
-jdkhome $(OUTPUTDIR) \
-config ../modules.config \
-config ../modules.group \
-depconfig ../jdk7.depconfig \
-depconfig ../optional.depconfig \
-showdynamic \
-output $(MODULE_CLASSLIST)
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
$(BUILDTOOL_MANIFEST_FILE): $(BUILDTOOL_MAIN_SOURCE_FILE)
@$(prep-target)
$(ECHO) "Main-Class: $(BUILTTOOL_MAINCLASS)" > $@
$(BUILDTOOLCLASSDIR)/$(CLASSFILE_PKGDIR)/%.class : $(CLASSFILE_SRC)/$(CLASSFILE_PKGDIR)/%.java
@$(prep-target)
@$(BUILDTOOL_JAVAC) \
-sourcepath $(CLASSFILE_SRC) \
-d $(BUILDTOOLCLASSDIR) $<
$(BUILDTOOLCLASSDIR)/%.class : $(BUILDTOOL_SOURCE_ROOT)/%.java
@$(prep-target)
$(JAVAC_CMD) \
$(BUILDTOOL_JAVAC) \
-sourcepath $(BUILDTOOL_SOURCE_ROOT) \
-d $(BUILDTOOLCLASSDIR) $<
$(BUILDTOOL_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) $(FILES_class)
$(CLASSANALYZER_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) $(FILES_class)
@$(prep-target)
$(CD) $(BUILDTOOLCLASSDIR) && \
$(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \
-C $(BUILDTOOLCLASSDIR) $(PKGDIR) \
$(BOOT_JAR_JFLAGS) || $(RM) $@
$(java-vm-cleanup)
# Printing out a build tool information line
define printBuildToolSetting
if [ "$2" != "" ] ; then $(PRINTF) "%-25s %s\n" "$1:" "$2"; fi
endef
# Print out the build tool information
tool_info:
@$(ECHO) "========================================================="
@$(call printBuildToolSetting,BUILDTOOL,$(PROGRAM))
@$(call printBuildToolSetting,PACKAGE,$(PACKAGE))
@$(call printBuildToolSetting,BUILDTOOL_SOURCE_ROOT,$(BUILDTOOL_SOURCE_ROOT))
@$(call printBuildToolSetting,BUILTTOOL_MAINCLASS,$(BUILTTOOL_MAINCLASS))
@$(call printBuildToolSetting,BUILDTOOL_JAR_FILE,$(BUILDTOOL_JAR_FILE))
@$(ECHO) "========================================================="
$(PKGDIR) $(BOOT_JAR_JFLAGS) || $(RM) $@
@$(java-vm-cleanup)
$(BUILDTOOLJARDIR)/classfile.jar: $(FILES_classfile_class)
@$(prep-target)
$(CD) $(BUILDTOOLCLASSDIR) && \
$(BOOT_JAR_CMD) cf $@ \
$(CLASSFILE_PKGDIR) $(BOOT_JAR_JFLAGS) || $(RM) $@
@$(java-vm-cleanup)
clean clobber::
@$(RM) -rf $(BUILDTOOLCLASSDIR)/$(PKGDIR)
@$(RM) -rf $(BUILDTOOLCLASSDIR)/$(CLASSFILE_PKGDIR)
@$(RM) $(BUILDTOOL_MANIFEST_FILE)
@$(RM) $(BUILDTOOL_JAR_FILE)
@$(RM) $(CLASSANALYZER_JAR_FILE)
@$(RM) $(CLASSFILE_JAR_FILE)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
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.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
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).
- Neither the name of Sun Microsystems nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
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.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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.
-->
<project name="classanalyzer" default="build" basedir=".">
......
#
# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 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.
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 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).
#
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 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.
#
# - Neither the name of Sun Microsystems nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 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.
#
application.title=classanalyzer
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
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.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
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).
- Neither the name of Sun Microsystems nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
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.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
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.
-->
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
......
......@@ -444,8 +444,8 @@ public class Module implements Comparable<Module> {
}
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<Module> {
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;
}
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = applet
PACKAGE = sun.applet
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -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 :
......
......@@ -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)
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = java2d
PACKAGE = sun.java2d.cmm.kcms
LIBRARY = kcms
PRODUCT = sun
......
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../../..
MODULE = java2d
PACKAGE = sun.java2d.cmm.lcms
LIBRARY = lcms
PRODUCT = sun
......
......@@ -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
......
......@@ -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)
......
......@@ -30,6 +30,7 @@
#
BUILDDIR = ../../..
MODULE = font
PACKAGE = sun.font
LIBRARY = t2k
PRODUCT = sun
......
......@@ -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
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../../..
MODULE = media
PACKAGE = sun.awt.medialib
LIBRARY = mlib_image
PRODUCT = sun
......
......@@ -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
......
......@@ -28,6 +28,7 @@
#
BUILDDIR = ../..
MODULE = jar-tool
PACKAGE = sun.tools
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk
......
......@@ -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)
......@@ -24,6 +24,7 @@
#
BUILDDIR = ../..
MODULE = awt
PACKAGE = sun.awt
LIBRARY = jawt
PRODUCT = sun
......
......@@ -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
......
......@@ -33,6 +33,7 @@
#
BUILDDIR = ../..
MODULE = jdbc-odbc
PACKAGE = sun.jdbc.odbc
LIBRARY = JdbcOdbc
PRODUCT = sun
......
......@@ -25,6 +25,7 @@
BUILDDIR = ../..
MODULE = java2d
PACKAGE = sun.jdga
LIBRARY = sunwjdga
PRODUCT = sun
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册