提交 fe20294a 编写于 作者: A asaha

Merge

...@@ -74,7 +74,6 @@ import -- copy in the pre-built components (e.g. VM) \n\ ...@@ -74,7 +74,6 @@ import -- copy in the pre-built components (e.g. VM) \n\
import_product -- copy in the product components \n\ import_product -- copy in the product components \n\
import_fastdebug -- copy in the fastdebug components \n\ import_fastdebug -- copy in the fastdebug components \n\
import_debug -- copy in the debug components \n\ import_debug -- copy in the debug components \n\
modules -- build the jdk and jre module images (experimental) \n\
create_links -- create softlinks in Solaris 32bit build to 64bit dirs \n\ create_links -- create softlinks in Solaris 32bit build to 64bit dirs \n\
" "
...@@ -261,7 +260,6 @@ docs:: sanity-docs post-sanity-docs ...@@ -261,7 +260,6 @@ docs:: sanity-docs post-sanity-docs
# Release engineering targets. # Release engineering targets.
# #
include $(BUILDDIR)/common/Release.gmk include $(BUILDDIR)/common/Release.gmk
include $(BUILDDIR)/common/Modules.gmk
# #
# Cscope targets. # Cscope targets.
......
...@@ -249,7 +249,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar ...@@ -249,7 +249,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/sunjce_provider.jar
else else
$(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar $(JAR_DESTFILE): $(SIGNED_DIR)/sunjce_provider.jar
endif endif
$(install-non-module-file) $(install-file)
ifndef OPENJDK ifndef OPENJDK
install-prebuilt: install-prebuilt:
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = pack200
PACKAGE = com.sun.java.util.jar.pack PACKAGE = com.sun.java.util.jar.pack
LIBRARY = unpack LIBRARY = unpack
PRODUCT = sun PRODUCT = sun
...@@ -156,7 +155,6 @@ ifdef MT ...@@ -156,7 +155,6 @@ ifdef MT
endif endif
$(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)
@$(call binary_file_verification,$@) @$(call binary_file_verification,$@)
$(install-module-file)
ifeq ($(PLATFORM), windows) ifeq ($(PLATFORM), windows)
$(RES):: $(VERSIONINFO_RESOURCE) $(RES):: $(VERSIONINFO_RESOURCE)
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
# to a collision of rules with Classes.gmk and Library.gmk # to a collision of rules with Classes.gmk and Library.gmk
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = pack200
PACKAGE = com.sun.java.util.jar.pack PACKAGE = com.sun.java.util.jar.pack
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-cosnaming
PACKAGE = com.sun.jndi.cosnaming PACKAGE = com.sun.jndi.cosnaming
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-dns
PACKAGE = com.sun.jndi.dns PACKAGE = com.sun.jndi.dns
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = jndi-ldap
PACKAGE = com.sun.jndi.ldap PACKAGE = com.sun.jndi.ldap
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = jndi-rmiregistry
PACKAGE = com.sun.jndi.rmi.registry PACKAGE = com.sun.jndi.rmi.registry
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = sctp
PACKAGE = com.sun.nio.sctp PACKAGE = com.sun.nio.sctp
LIBRARY = sctp LIBRARY = sctp
PRODUCT = sun PRODUCT = sun
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = security-xmldsig
PACKAGE = com.sun.org.apache.xml PACKAGE = com.sun.org.apache.xml
PRODUCT = xml PRODUCT = xml
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = jdbc-enterprise
PACKAGE = com.sun.rowset PACKAGE = com.sun.rowset
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = scripting-rhino
PACKAGE = com.sun.script PACKAGE = com.sun.script
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
# Makefile for building auth modules. # Makefile for building auth modules.
BUILDDIR = ../../../../.. BUILDDIR = ../../../../..
MODULE = security-auth
PACKAGE = com.sun.security.auth.module PACKAGE = com.sun.security.auth.module
PRODUCT = sun PRODUCT = sun
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
# questions. # questions.
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = servicetag
PACKAGE = com.sun.servicetag PACKAGE = com.sun.servicetag
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
BUILDDIR = ../../../.. BUILDDIR = ../../../..
MODULE = attach
PACKAGE = com.sun.tools.attach PACKAGE = com.sun.tools.attach
LIBRARY = attach LIBRARY = attach
PRODUCT = sun PRODUCT = sun
...@@ -66,8 +65,7 @@ $(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/% ...@@ -66,8 +65,7 @@ $(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/tools/attach/META-INF/services/%
@$(MKDIR) -p $(@D) @$(MKDIR) -p $(@D)
@$(RM) $@ @$(RM) $@
@$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@ @$(CAT) $< | $(SED) -e "s/^#\[$(PLATFORM)\]//" > $@
@$(install-module-file)
.PHONY: copy-files .PHONY: copy-files
......
...@@ -224,9 +224,6 @@ INCLUDEDIR = $(OUTPUTDIR)/include ...@@ -224,9 +224,6 @@ INCLUDEDIR = $(OUTPUTDIR)/include
# for generated class files # for generated class files
CLASSBINDIR = $(OUTPUTDIR)/classes CLASSBINDIR = $(OUTPUTDIR)/classes
DEMOCLASSDIR = $(OUTPUTDIR)/democlasses DEMOCLASSDIR = $(OUTPUTDIR)/democlasses
# for modules
MODULES_DIR = $(OUTPUTDIR)/modules
ABS_MODULES_DIR = $(ABS_OUTPUTDIR)/modules
# for generated tool class files # for generated tool class files
BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses BUILDTOOLCLASSDIR = $(OUTPUTDIR)/btclasses
# for build tool jar files # for build tool jar files
...@@ -297,22 +294,6 @@ ifneq ($(LIBRARY),) ...@@ -297,22 +294,6 @@ ifneq ($(LIBRARY),)
endif endif
endif 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 # the use of += above makes a space separated list which we need to
# remove for filespecs. # remove for filespecs.
# #
...@@ -422,52 +403,13 @@ PKGDIR = $(subst .,/,$(PACKAGE)) ...@@ -422,52 +403,13 @@ PKGDIR = $(subst .,/,$(PACKAGE))
# #
include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk include $(JDK_MAKE_SHARED_DIR)/Defs-java.gmk
#
# Macros to find the module that $@ belongs to
#
UNIQUE_PATH_PATTERN = $(subst /,.,$(UNIQUE_PATH)) 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: # Run MAKE $@ for a launcher:
# $(call make-launcher, name, mainclass, java-args, main-args) # $(call make-launcher, name, mainclass, java-args, main-args)
define make-launcher define make-launcher
$(CD) $(BUILDDIR)/launchers && \ $(CD) $(BUILDDIR)/launchers && \
$(MAKE) -f Makefile.launcher \ $(MAKE) -f Makefile.launcher \
MODULE=$(MODULE) \
PROGRAM=$(strip $1) \ PROGRAM=$(strip $1) \
MAIN_CLASS=$(strip $2) \ MAIN_CLASS=$(strip $2) \
MAIN_JAVA_ARGS="$(strip $3)" \ MAIN_JAVA_ARGS="$(strip $3)" \
...@@ -488,28 +430,18 @@ endef ...@@ -488,28 +430,18 @@ endef
define install-file define install-file
$(prep-target) $(prep-target)
$(CP) $< $@ $(CP) $< $@
@$(install-module-file)
endef endef
define chmod-file define chmod-file
$(CHMOD) $1 $@ $(CHMOD) $1 $@
@$(call chmod-module-file, $1)
endef endef
define install-sym-link define install-sym-link
$(LN) -s $1 $@ $(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 endef
define install-manifest-file define install-manifest-file
$(install-non-module-file) $(install-file)
endef endef
# Cleanup rule for after debug java run (hotspot.log file is left around) # Cleanup rule for after debug java run (hotspot.log file is left around)
...@@ -577,7 +509,6 @@ endef ...@@ -577,7 +509,6 @@ endef
define install-import-file define install-import-file
$(install-importonly-file) $(install-importonly-file)
@$(install-module-file)
endef endef
.PHONY: all build clean clobber .PHONY: all build clean clobber
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
# JDK Demo building jar file. # JDK Demo building jar file.
MODULE = demos
# Some names are defined with LIBRARY inside the Defs.gmk file # Some names are defined with LIBRARY inside the Defs.gmk file
LIBRARY=$(DEMONAME) LIBRARY=$(DEMONAME)
OBJDIR=$(TEMPDIR)/$(DEMONAME) OBJDIR=$(TEMPDIR)/$(DEMONAME)
......
...@@ -168,18 +168,9 @@ $(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf ...@@ -168,18 +168,9 @@ $(ACTUAL_LIBRARY):: $(OBJDIR)/$(LIBRARY).lcf
$(OTHER_LCF) $(JAVALIB) $(LDLIBS) $(OTHER_LCF) $(JAVALIB) $(LDLIBS)
$(CP) $(OBJDIR)/$(@F) $@ $(CP) $(OBJDIR)/$(@F) $@
@$(call binary_file_verification,$@) @$(call binary_file_verification,$@)
$(install-module-file)
$(CP) $(OBJDIR)/$(LIBRARY).map $(@D) $(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@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 endif # LIBRARY
$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m) $(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
...@@ -235,7 +226,6 @@ ifeq ($(LIBRARY), fdlibm) ...@@ -235,7 +226,6 @@ ifeq ($(LIBRARY), fdlibm)
else # LIBRARY else # LIBRARY
$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS) $(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
@$(call binary_file_verification,$@) @$(call binary_file_verification,$@)
$(install-module-file)
ifeq ($(WRITE_LIBVERSION),true) ifeq ($(WRITE_LIBVERSION),true)
$(MCS) -d -a "$(FULL_VERSION)" $@ $(MCS) -d -a "$(FULL_VERSION)" $@
endif # WRITE_LIBVERSION endif # WRITE_LIBVERSION
......
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
JDK_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jdk-module-image
JRE_MODULE_IMAGE_DIR = $(ABS_OUTPUTDIR)/jre-module-image
#
# modules Target to build jdk and jre module image
#
# There is one jar file per module containing classes only.
# All module jars are currently placed under jre/lib directory.
#
# Open issues that need further investigation:
# 1. Classes in jre/lib/ext/dnsns.jar are currently put in jre/lib/jndi-dns
# 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.
MODULE_IMAGEBINDIR = bin
#
# Targets.
#
INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre
INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk
ifeq ($(PLATFORM), solaris)
ifeq ($(ARCH_DATA_MODEL), 64)
INITIAL_MODULE_IMAGE_JRE=initial-module-image-jre-sol64
INITIAL_MODULE_IMAGE_JDK=initial-module-image-jdk-sol64
endif
endif
modules modules-clobber \
initial-module-image-jre initial-module-image-jdk \
initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
trim-module-image-jre trim-module-image-jdk \
process-module-image-jre process-module-image-jdk ::
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
# Order is important here, trim jre after jdk image is created
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
# Don't use these
module-image-jre:: initial-module-image-jre trim-module-image-jre process-module-image-jre
module-image-jdk:: initial-module-image-jdk trim-module-image-jdk process-module-image-jdk
#
# Paths to these files we need
JDK_MODULE_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
JRE_MODULE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
###### RULES
# JDK files
$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
$(process-doc-file)
# JRE files
$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
$(process-doc-file)
ifeq ($(PLATFORM), windows)
$(JRE_MODULE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
$(process-doc-file)
endif
######################################################
# JRE Image
######################################################
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
initial-module-image-jre-setup:
$(RM) -r $(JRE_MODULE_IMAGE_DIR)
$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)
# 64-bit solaris jre image contains only the 64-bit add-on files.
initial-module-image-jre-sol64:: initial-module-image-jre-setup
@# Use tar instead of cp to preserve the symbolic links
for dir in bin lib ; do \
( $(CD) $(OUTPUTDIR) && \
$(TAR) cf - `$(FIND) $$dir -name '$(ARCH)' -print` | \
($(CD) $(JRE_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
done
@# Remove some files from the jre area
for t in $(NOTJRETOOLS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
done
$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl'`
$(RM) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl'`
# Construct an initial jre image (initial jdk jre) no trimming or stripping
initial-module-image-jre:: initial-module-image-jre-setup \
$(JRE_MODULE_DOCFILES) \
$(BUILDMETAINDEX_JARFILE)
@# Copy in bin directory
$(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
@# CTE plugin security change require new empty directory lib/applet
$(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)/lib/applet
@# Copy files but not .jar in lib directory
$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(EGREP) -v ".jar$$" | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
@#
@# copy modules to jre/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
for t in $(NOTJRETOOLS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin$(ISA_DIR)/$$t ; \
done
@# Remove orb.idl and ir.idl from jre
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'orb.idl' -exec $(RM) \{} \;
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -name 'ir.idl' -exec $(RM) \{} \;
@# Generate meta-index to make boot and extension class loaders lazier
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-o meta-index *.jar
@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && $(java-vm-cleanup)
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && \
$(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
-o meta-index *.jar
@$(CD) $(JRE_MODULE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup)
ifeq ($(PLATFORM), windows)
@# Remove certain *.lib files
$(CD) $(JRE_MODULE_IMAGE_DIR)/lib && \
$(RM) java.$(LIB_SUFFIX) jvm.$(LIB_SUFFIX) \
awt.$(LIB_SUFFIX) jawt.$(LIB_SUFFIX)
ifeq ($(ARCH_DATA_MODEL), 32)
@# The Java Kernel JRE image ships with a special VM. It is not included
@# in the full JRE image, so remove it. Also, is it only for 32-bit windows.
$(CD) $(JRE_MODULE_IMAGE_DIR)/bin && $(RM) -r kernel
endif
endif # Windows
ifneq ($(PLATFORM), windows)
$(call copy-man-pages,$(JRE_MODULE_IMAGE_DIR),$(JRE_MAN_PAGES))
endif # !windows
# Trim out any extra files not for the jre shipment but wanted in the jdk jre.
# (Note the jdk WILL want the jre image before this trimming)
# Removes server VM on Windows 32bit.
# Remove certain shared libraries that should not be in the jre image
# but should be in the jdk jre image.
trim-module-image-jre::
ifeq ($(PLATFORM), windows)
ifeq ($(ARCH_DATA_MODEL), 32)
$(RM) -r $(JRE_MODULE_IMAGE_DIR)/bin/server
endif
ifdef NOTJRE_SHARED_LIBS
for l in $(NOTJRE_SHARED_LIBS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/bin/$$l ; \
done ;
endif
else # PLATFORM
ifdef NOTJRE_SHARED_LIBS
for l in $(NOTJRE_SHARED_LIBS) ; do \
$(RM) $(JRE_MODULE_IMAGE_DIR)/lib/$(LIBARCH)/$$l ; \
done ;
endif
endif # PLATFORM
# Get list of all Elf files in the jre
JRE_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jre-elf-files.list
$(JRE_MODULE_ELF_LIST):
@$(prep-target)
ifneq ($(PLATFORM), windows)
$(RM) $@
$(FIND) $(JRE_MODULE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
$(FILE) `$(FIND) $(JRE_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
endif
# Post process the image (strips and mcs on Elf files we are shipping)
# (Note the jdk WILL want the jre image before this processing)
process-module-image-jre:: $(JRE_MODULE_ELF_LIST)
ifneq ($(POST_STRIP_PROCESS), )
for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
$(POST_STRIP_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
ifneq ($(POST_MCS_PROCESS), )
for f in `$(CAT) $(JRE_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
$(POST_MCS_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
$(RM) $(JRE_MODULE_ELF_LIST)
######################################################
# JDK Image
######################################################
# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
initial-module-image-jdk-setup:
$(RM) -r $(JDK_MODULE_IMAGE_DIR)
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/jre
($(CD) $(JRE_MODULE_IMAGE_DIR) && $(FIND) . -depth -print \
| $(CPIO) -pdum $(JDK_MODULE_IMAGE_DIR)/jre )
$(RM) -rf $(JDK_MODULE_IMAGE_DIR)/jre/man
$(CHMOD) a+rx `$(FIND) $(JDK_MODULE_IMAGE_DIR) -type d`
initial-module-image-jdk64-bindemos:
for dir in bin demo ; do \
( $(CD) $(OUTPUTDIR) && \
$(TAR) cf - `$(FIND) $$dir -name '$(LIBARCH)' -print` | \
($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -) ) ; \
done
# Solaris 64 bit image is special
initial-module-image-jdk-sol64:: initial-module-image-jdk-setup \
initial-module-image-jdk64-bindemos
# DB files to add
ifeq ($(OPENJDK),true)
initial-module-image-jdk-db:
else
# Create the list of db *.zip files to bundle with jdk
ABS_DB_PATH :=$(call FullPath,$(CLOSED_SHARE_SRC)/db)
DB_ZIP_LIST = $(shell $(LS) $(ABS_DB_PATH)/*.zip 2>/dev/null)
initial-module-image-jdk-db: $(DB_ZIP_LIST)
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/db
for d in $(DB_ZIP_LIST); do \
($(CD) $(JDK_MODULE_IMAGE_DIR)/db && $(UNZIP) -o $$d); \
done
endif
# Standard jdk image
initial-module-image-jdk:: initial-module-image-jdk-setup \
initial-module-image-jdk-db \
$(JDK_MODULE_DOCFILES)
$(MKDIR) $(JDK_MODULE_IMAGE_DIR)/lib
@#
@# copy jdk modules to jdk/lib
@#
$(MKDIR) -p $(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/
@#
$(CP) $(LIBDIR)/$(LIB_PREFIX)jvm.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
$(CP) $(LIBDIR)/$(LIB_PREFIX)jawt.$(LIB_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/lib
@#
@# bin/
@#
@# copy all EXE files and only certain DLL files from BINDIR
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/bin
$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
ifeq ($(COMPILER_VERSION), VS2010)
$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
endif
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(COMPILER_VERSION), VS2003)
$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
endif
endif
else # PLATFORM
@#
@# bin/
@#
($(CD) $(BINDIR)/.. && $(TAR) cf - \
`$(FIND) bin \( -type f -o -type l \) -print `) | \
($(CD) $(JDK_MODULE_IMAGE_DIR) && $(TAR) xf -)
endif # PLATFORM
@#
@# lib/ct.sym
@#
$(MKDIR) -p $(OUTPUTDIR)/symbols/META-INF/sym
$(JAVAC_CMD) -XDprocess.packages -proc:only \
-processor com.sun.tools.javac.sym.CreateSymbols \
-Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
-Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
-C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
@$(java-vm-cleanup)
$(CP) $(LIBDIR)/ct.sym $(JDK_MODULE_IMAGE_DIR)/lib/ct.sym
@#
@# CORBA supported orb.idl and ir.idl should be copied to lib
@#
$(CP) $(LIBDIR)/orb.idl $(JDK_MODULE_IMAGE_DIR)/lib/orb.idl
$(CP) $(LIBDIR)/ir.idl $(JDK_MODULE_IMAGE_DIR)/lib/ir.idl
ifeq ($(PLATFORM), linux)
@#
@# on Linux copy jexec from jre/lib to /lib
@#
$(CP) $(LIBDIR)/jexec $(JDK_MODULE_IMAGE_DIR)/lib/jexec
endif # PLATFORM
@#
@# demo, include
@#
$(CP) -r -f $(DEMODIR) $(JDK_MODULE_IMAGE_DIR)
$(CP) -r -f $(SAMPLEDIR) $(JDK_MODULE_IMAGE_DIR)
$(CP) -r $(INCLUDEDIR) $(JDK_MODULE_IMAGE_DIR)
@#
@# Swing BeanInfo generation
@#
$(CD) javax/swing/beaninfo && $(MAKE) JDK_IMAGE_DIR=$(JDK_MODULE_IMAGE_DIR) swing-1.2-beans
ifneq ($(PLATFORM), windows)
$(call copy-man-pages,$(JDK_MODULE_IMAGE_DIR),$(JDK_MAN_PAGES))
endif # !windows
# Trim out files we don't want to ship
trim-module-image-jdk::
@# Remove tools that should not be part of SDK.
for t in $(NOTJDKTOOLS); do \
$(RM) $(JDK_MODULE_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \
done
# Get list of Elf files in the jdk
JDK_MODULE_ELF_LIST=$(MODULES_TEMPDIR)/jdk-elf-files.list
$(JDK_MODULE_ELF_LIST):
@$(prep-target)
ifneq ($(PLATFORM), windows)
$(RM) $@
$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
$(FILE) `$(FIND) $(JDK_MODULE_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
file `$(FIND) $(JDK_MODULE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
| $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
endif
# Post process the image (strips and mcs on files we are shipping)
process-module-image-jdk:: $(JDK_MODULE_ELF_LIST)
ifneq ($(POST_STRIP_PROCESS), )
for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_STRIP_PROCESS) $${f}; \
$(POST_STRIP_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
ifneq ($(POST_MCS_PROCESS), )
for f in `$(CAT) $(JDK_MODULE_ELF_LIST)`; do \
$(CHMOD) u+w $${f}; \
$(ECHO) $(POST_MCS_PROCESS) $${f}; \
$(POST_MCS_PROCESS) $${f}; \
$(CHMOD) go-w $${f}; \
done
endif
$(RM) $(JDK_MODULE_ELF_LIST)
######################################################
# clobber
######################################################
modules-clobber::
$(RM) -r $(JDK_MODULE_IMAGE_DIR)
$(RM) -r $(JRE_MODULE_IMAGE_DIR)
#
# TODO - nop for now
sanity-module-images post-sanity-module-images:
modules modules-clobber::
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
@$(java-vm-cleanup)
.PHONY: modules module-image-jre module-image-jdk \
initial-module-image-jre initial-module-image-jdk \
initial-module-image-jre-sol64 initial-module-image-jdk-sol64 \
initial-module-image-jdk-setup \
initial-module-image-jdk-db \
initial-module-image-jdk64-bindemos \
initial-module-image-jre-setup \
trim-module-image-jre trim-module-image-jdk \
process-module-image-jre process-module-image-jdk \
install-previous-jre install-previous-jdk \
modules-clobber
# Force rule
FRC:
...@@ -186,7 +186,6 @@ $(ACTUAL_PROGRAM):: $(FILES_o) ...@@ -186,7 +186,6 @@ $(ACTUAL_PROGRAM):: $(FILES_o)
$(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \ $(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
$(FILES_o) $(THREADLIBS) $(LDLIBS) $(FILES_o) $(THREADLIBS) $(LDLIBS)
@$(call binary_file_verification,$@) @$(call binary_file_verification,$@)
$(install-module-file)
endif # PLATFORM endif # PLATFORM
......
...@@ -60,7 +60,7 @@ EXCLUDE_PROPWARN_PKGS += sun.dyn ...@@ -60,7 +60,7 @@ EXCLUDE_PROPWARN_PKGS += sun.dyn
# #
# Include the exported private packages in ct.sym. # Include the exported private packages in ct.sym.
# This is an interim solution until the ct.sym is replaced # This is an interim solution until the ct.sym is replaced
# with a new module system (being discussed for JDK 7). # with a new module system (being discussed for JDK 8).
# #
EXPORTED_PRIVATE_PKGS = com.sun.servicetag \ EXPORTED_PRIVATE_PKGS = com.sun.servicetag \
com.oracle.net com.oracle.net
......
...@@ -71,8 +71,7 @@ sanity-base: pre-sanity \ ...@@ -71,8 +71,7 @@ sanity-base: pre-sanity \
sane-cacerts \ sane-cacerts \
sane-ant_version \ sane-ant_version \
sane-zip_version \ sane-zip_version \
sane-msvcrt_path \ sane-msvcrt_path
sane-build_modules
# The rules sanity-* have a one-to-one correspondence with the major targets # The rules sanity-* have a one-to-one correspondence with the major targets
# Each sanity-* rule should have no body to ensure that the post-sanity-* is the # Each sanity-* rule should have no body to ensure that the post-sanity-* is the
......
...@@ -40,9 +40,6 @@ ...@@ -40,9 +40,6 @@
# #
# By default, subdirs specified in the SUBDIRS and all SUBDIRS_* # By default, subdirs specified in the SUBDIRS and all SUBDIRS_*
# variables will be built. # variables will be built.
#
# BUILD_MODULES variable can be used to specify one or more groups
# to be built (BUILD_MODULES=all will build all groups).
# #
# Variables of the currently supported groups are: # Variables of the currently supported groups are:
# SUBDIRS_desktop # SUBDIRS_desktop
...@@ -53,15 +50,12 @@ ...@@ -53,15 +50,12 @@
# #
# Change to the above list also need to update # Change to the above list also need to update
# make/common/shared/Sanity.gmk. NOTE: this list is subject # make/common/shared/Sanity.gmk. NOTE: this list is subject
# to change till the JDK 7 SE profiles/modules are finalized. # to change.
# #
# Eventually we want to restructure the make directory # Eventually we want to restructure the make directory
# according to these grouping (e.g. make/desktop/...) and # according to these grouping (e.g. make/desktop/...) and
# the SUBDIRS_<group> variables would not be needed. # the SUBDIRS_<group> variables would not be needed.
# #
# To build the desktop and tools groups only, you can do:
# gnumake BUILD_MODULES="desktop tools" ...
#
# Iterate the subdirectories specified in $1. # Iterate the subdirectories specified in $1.
# - cd into each subdir and make them # - cd into each subdir and make them
...@@ -96,77 +90,51 @@ endef ...@@ -96,77 +90,51 @@ endef
# #
# Iterate the list specified in SUBDIRS_<group> only if # Iterate the list specified in SUBDIRS_<group> only if
# SUBDIRS_<group> is set and <group> or "all" is specified # SUBDIRS_<group> is set.
# in the BUILD_MODULES variable
# #
ifdef SUBDIRS_desktop ifdef SUBDIRS_desktop
ifneq (,$(findstring desktop, $(BUILD_MODULES))) define subdirs-desktop-loop
define subdirs-desktop-loop @$(call subdirs-group-loop,SUBDIRS_desktop)
@$(call subdirs-group-loop,SUBDIRS_desktop) endef
endef
else
define subdirs-desktop-loop
endef
endif
else else
define subdirs-desktop-loop define subdirs-desktop-loop
endef endef
endif # SUBDIRS_desktop endif # SUBDIRS_desktop
ifdef SUBDIRS_enterprise ifdef SUBDIRS_enterprise
ifneq (,$(findstring enterprise, $(BUILD_MODULES))) define subdirs-enterprise-loop
define subdirs-enterprise-loop @$(call subdirs-group-loop,SUBDIRS_enterprise)
@$(call subdirs-group-loop,SUBDIRS_enterprise) endef
endef
else
define subdirs-enterprise-loop
endef
endif
else else
define subdirs-enterprise-loop define subdirs-enterprise-loop
endef endef
endif # SUBDIRS_enterprise endif # SUBDIRS_enterprise
ifdef SUBDIRS_management ifdef SUBDIRS_management
ifneq (,$(findstring management, $(BUILD_MODULES))) define subdirs-management-loop
define subdirs-management-loop @$(call subdirs-group-loop,SUBDIRS_management)
@$(call subdirs-group-loop,SUBDIRS_management) endef
endef
else
define subdirs-management-loop
endef
endif
else else
define subdirs-management-loop define subdirs-management-loop
endef endef
endif # SUBDIRS_management endif # SUBDIRS_management
ifdef SUBDIRS_misc ifdef SUBDIRS_misc
ifneq (,$(findstring misc, $(BUILD_MODULES))) define subdirs-misc-loop
define subdirs-misc-loop @$(call subdirs-group-loop,SUBDIRS_misc)
@$(call subdirs-group-loop,SUBDIRS_misc) endef
endef
else
define subdirs-misc-loop
endef
endif
else else
define subdirs-misc-loop define subdirs-misc-loop
endef endef
endif # SUBDIRS_misc endif # SUBDIRS_misc
ifdef SUBDIRS_tools ifdef SUBDIRS_tools
ifneq (,$(findstring tools, $(BUILD_MODULES))) define subdirs-tools-loop
define subdirs-tools-loop @$(call subdirs-group-loop,SUBDIRS_tools)
@$(call subdirs-group-loop,SUBDIRS_tools) endef
endef
else
define subdirs-tools-loop
endef
endif
else else
define subdirs-tools-loop define subdirs-tools-loop
endef endef
endif # SUBDIRS_tools endif # SUBDIRS_tools
# #
...@@ -175,30 +143,6 @@ endif # SUBDIRS_tools ...@@ -175,30 +143,6 @@ endif # SUBDIRS_tools
SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \ SUBDIRS_all = $(SUBDIRS) $(SUBDIRS_desktop) $(SUBDIRS_enterprise) \
$(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools) $(SUBDIRS_management) $(SUBDIRS_misc) $(SUBDIRS_tools)
ifndef BUILD_MODULES
define SUBDIRS-loop
@$(call subdirs-group-loop,SUBDIRS_all)
endef
else
ifneq (,$(findstring all, $(BUILD_MODULES)))
define SUBDIRS-loop define SUBDIRS-loop
@$(call subdirs-group-loop,SUBDIRS_all) @$(call subdirs-group-loop,SUBDIRS_all)
endef endef
else # BUILD_MODULES set
#
# Iterate SUBDIRS and the groups specified in BUILD_MODULES
#
define SUBDIRS-loop
@$(call subdirs-group-loop,SUBDIRS)
@$(subdirs-desktop-loop)
@$(subdirs-enterprise-loop)
@$(subdirs-management-loop)
@$(subdirs-misc-loop)
@$(subdirs-tools-loop)
endef
endif
endif # BUILD_MODULES
...@@ -64,7 +64,7 @@ COPYRIGHT_SYMBOL = &\#x00a9; ...@@ -64,7 +64,7 @@ COPYRIGHT_SYMBOL = &\#x00a9;
# Macro to construct the copyright line # Macro to construct the copyright line
# (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81) # (The GNU make 3.78.1 "if" conditional is broken, fixed in GNU make 3.81)
define CopyrightLine # optionalurl optionalfirstyear optionaladdress define CopyrightLine # optionalurl optionalfirstyear optionaladdress
$(if $(strip $1),<a href=\"$(strip $1)\">Copyright</a>,Copyright) \ $(if $(strip $1),<a href="$(strip $1)">Copyright</a>,Copyright) \
$(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\ $(COPYRIGHT_SYMBOL) $(if $2,$2${COMMA},) $(COPYRIGHT_YEAR),\
$(FULL_COMPANY_NAME). $3 All rights reserved. $(FULL_COMPANY_NAME). $3 All rights reserved.
endef endef
......
...@@ -113,7 +113,7 @@ ifeq ($(PLATFORM), linux) ...@@ -113,7 +113,7 @@ ifeq ($(PLATFORM), linux)
ALSA_INCLUDE=/usr/include/alsa/version.h ALSA_INCLUDE=/usr/include/alsa/version.h
ALSA_LIBRARY=/usr/lib/libasound.so ALSA_LIBRARY=/usr/lib/libasound.so
_ALSA_VERSION := $(shell $(EGREP) SND_LIB_VERSION_STR $(ALSA_INCLUDE) | \ _ALSA_VERSION := $(shell $(EGREP) SND_LIB_VERSION_STR $(ALSA_INCLUDE) | \
$(SED) -e 's@.*\"\(.*\)\".*@\1@' ) $(SED) -e 's@.*"\(.*\)".*@\1@' )
ALSA_VERSION := $(call GetVersion,$(_ALSA_VERSION)) ALSA_VERSION := $(call GetVersion,$(_ALSA_VERSION))
endif endif
...@@ -221,8 +221,7 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk ...@@ -221,8 +221,7 @@ include $(JDK_MAKE_SHARED_DIR)/Sanity-Settings.gmk
sane-zip_version \ sane-zip_version \
sane-unzip_version \ sane-unzip_version \
sane-msvcrt_path \ sane-msvcrt_path \
sane-freetype \ sane-freetype
sane-build_modules
###################################################### ######################################################
# check for COPYRIGHT_YEAR variable # check for COPYRIGHT_YEAR variable
...@@ -334,12 +333,12 @@ sane-locale: ...@@ -334,12 +333,12 @@ sane-locale:
ifneq ($(PLATFORM), windows) ifneq ($(PLATFORM), windows)
@if [ "$(LC_ALL)" != "" -a "$(LC_ALL)" != "C" ]; then \ @if [ "$(LC_ALL)" != "" -a "$(LC_ALL)" != "C" ]; then \
$(ECHO) "WARNING: LC_ALL has been set to $(LC_ALL), this can cause build failures. \n" \ $(ECHO) "WARNING: LC_ALL has been set to $(LC_ALL), this can cause build failures. \n" \
" Try setting LC_ALL to \"C\". \n" \ " Try setting LC_ALL to 'C'. \n" \
"" >> $(WARNING_FILE) ; \ "" >> $(WARNING_FILE) ; \
fi fi
@if [ "$(LANG)" != "" -a "$(LANG)" != "C" ]; then \ @if [ "$(LANG)" != "" -a "$(LANG)" != "C" ]; then \
$(ECHO) "WARNING: LANG has been set to $(LANG), this can cause build failures. \n" \ $(ECHO) "WARNING: LANG has been set to $(LANG), this can cause build failures. \n" \
" Try setting LANG to \"C\". \n" \ " Try setting LANG to 'C'. \n" \
"" >> $(WARNING_FILE) ; \ "" >> $(WARNING_FILE) ; \
fi fi
endif endif
...@@ -831,21 +830,6 @@ else ...@@ -831,21 +830,6 @@ else
sane-freetype: sane-freetype:
endif endif
######################################################
# if specified, BUILD_MODULES must contain valid values.
######################################################
MODULES_REGEX="all|base|desktop|management|enterprise|misc|tools"
sane-build_modules:
ifdef BUILD_MODULES
@for m in $(BUILD_MODULES) ; do \
valid=`$(ECHO) $$m | $(EGREP) $(MODULES_REGEX)`; \
if [ "x$$valid" = "x" ] ; then \
$(ECHO) "ERROR: $$m set in the BUILD_MODULES variable is invalid.\n" \
"" >> $(ERROR_FILE); \
fi \
done
endif
###################################################### ######################################################
# CUPS_HEADERS_PATH must be valid # CUPS_HEADERS_PATH must be valid
###################################################### ######################################################
...@@ -1126,7 +1110,7 @@ TMP_SDK_INCLUDE_GET_FULL_VERSION= $(TMP_SDK_INCLUDE_FIND_VERSION) | \ ...@@ -1126,7 +1110,7 @@ TMP_SDK_INCLUDE_GET_FULL_VERSION= $(TMP_SDK_INCLUDE_FIND_VERSION) | \
# be checked when this represents a full control build (i.e. the # be checked when this represents a full control build (i.e. the
# HOTSPOT_IMPORT_PATH includes these files in it's 'include' directory). # HOTSPOT_IMPORT_PATH includes these files in it's 'include' directory).
$(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
@$(install-non-module-file) @$(install-file)
@$(RM) $@.IMPORT @$(RM) $@.IMPORT
@if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(@F) ]; then \ @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(@F) ]; then \
$(CP) $(HOTSPOT_IMPORT_PATH)/include/$(@F) $@.IMPORT ; \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(@F) $@.IMPORT ; \
...@@ -1140,7 +1124,7 @@ $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h ...@@ -1140,7 +1124,7 @@ $(TEMPDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
fi fi
$(TEMPDIR)/%.h: $(PLATFORM_SRC)/javavm/export/%.h $(TEMPDIR)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
@$(install-non-module-file) @$(install-file)
@$(RM) $@.IMPORT @$(RM) $@.IMPORT
@if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) ]; then \ @if [ -r $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) ]; then \
$(CP) $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) $@.IMPORT ; \ $(CP) $(HOTSPOT_IMPORT_PATH)/include/$(PLATFORM_INCLUDE_NAME)/$(@F) $@.IMPORT ; \
...@@ -1343,9 +1327,9 @@ ifdef LINK_VER ...@@ -1343,9 +1327,9 @@ ifdef LINK_VER
fi fi
@if [ "$(LINK_CHECK)" != "same" ]; then \ @if [ "$(LINK_CHECK)" != "same" ]; then \
$(ECHO) "WARNING: To build Java 2 SDK $(JDK_VERSION) you need : \n" \ $(ECHO) "WARNING: To build Java 2 SDK $(JDK_VERSION) you need : \n" \
" $(REQUIRED_COMPILER_VERSION) - link.exe version \"$(REQUIRED_LINK_VER)\" \n" \ " $(REQUIRED_COMPILER_VERSION) - link.exe version '$(REQUIRED_LINK_VER)' \n" \
" Specifically the $(REQUIRED_COMPILER_NAME) link.exe. \n " \ " Specifically the $(REQUIRED_COMPILER_NAME) link.exe. \n " \
" $(YOU_ARE_USING) Linker version \"$(LINK_VER)\" \n" \ " $(YOU_ARE_USING) Linker version '$(LINK_VER)' \n" \
"" >> $(WARNING_FILE) ; \ "" >> $(WARNING_FILE) ; \
fi fi
endif endif
......
此差异已折叠。
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = awt
PACKAGE = java.awt PACKAGE = java.awt
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
LIBRARY = fdlibm LIBRARY = fdlibm
PRODUCT = java PRODUCT = java
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
# agent, supporting java.lang.instrument # agent, supporting java.lang.instrument
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = instrument
PACKAGE = sun.instrument PACKAGE = sun.instrument
LIBRARY = instrument LIBRARY = instrument
PRODUCT = sun PRODUCT = sun
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.lang PACKAGE = java.lang
LIBRARY = java LIBRARY = java
PRODUCT = java PRODUCT = java
...@@ -244,7 +243,7 @@ ifneq ($(PLATFORM),windows) ...@@ -244,7 +243,7 @@ ifneq ($(PLATFORM),windows)
$(GENSRCDIR)/java/lang/UNIXProcess.java: \ $(GENSRCDIR)/java/lang/UNIXProcess.java: \
$(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM) $(PLATFORM_SRC)/classes/java/lang/UNIXProcess.java.$(PLATFORM)
$(install-non-module-file) $(install-file)
clean:: clean::
$(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java $(RM) $(GENSRCDIR)/java/lang/UNIXProcess.java
...@@ -318,7 +317,6 @@ $(CURDATA): \ ...@@ -318,7 +317,6 @@ $(CURDATA): \
$(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \ $(BOOT_JAVA_CMD) -jar $(GENERATECURRENCYDATA_JARFILE) -o $@.temp \
< $(SHARE_SRC)/classes/java/util/CurrencyData.properties < $(SHARE_SRC)/classes/java/util/CurrencyData.properties
$(MV) $@.temp $@ $(MV) $@.temp $@
$(install-module-file)
$(call chmod-file, 444) $(call chmod-file, 444)
clean:: clean::
...@@ -373,7 +371,7 @@ $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \ ...@@ -373,7 +371,7 @@ $(GENSRCDIR)/java/lang/CharacterDataLatin1.java \
-usecharforbyte 11 4 1 -usecharforbyte 11 4 1
$(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template $(GENSRCDIR)/java/lang/%.java : $(CHARACTERDATA)/%.java.template
$(install-non-module-file) $(install-file)
clean:: clean::
$(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java $(RM) $(GENSRCDIR)/java/lang/CharacterDataLatin1.java
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
LIBRARY = java_crw_demo LIBRARY = java_crw_demo
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = java_crw_demo LIBRARY_OUTPUT = java_crw_demo
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = instrument
LIBRARY = hprof LIBRARY = hprof
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = hprof_jvmti LIBRARY_OUTPUT = hprof_jvmti
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
# its manifestations (java, javaw, javac, ...). # its manifestations (java, javaw, javac, ...).
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
LIBRARY = jli LIBRARY = jli
PRODUCT = java PRODUCT = java
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -39,10 +38,10 @@ FILES_h = $(INCLUDEDIR)/jni.h \ ...@@ -39,10 +38,10 @@ FILES_h = $(INCLUDEDIR)/jni.h \
$(INCLUDEDIR)/classfile_constants.h $(INCLUDEDIR)/classfile_constants.h
$(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h $(INCLUDEDIR)/%.h: $(SHARE_SRC)/javavm/export/%.h
$(install-non-module-file) $(install-file)
$(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h $(PLATFORM_INCLUDE)/%.h: $(PLATFORM_SRC)/javavm/export/%.h
$(install-non-module-file) $(install-file)
JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg JVMCFG = $(LIBDIR)/$(LIBARCH)/jvm.cfg
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = logging
PACKAGE = java.util.logging PACKAGE = java.util.logging
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
PROGRAM = java PROGRAM = java
PRODUCT = java PRODUCT = java
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
PROGRAM = javaw PROGRAM = javaw
PRODUCT = java PRODUCT = java
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = management
PACKAGE = java.lang.management PACKAGE = java.lang.management
LIBRARY = management LIBRARY = management
PRODUCT = java PRODUCT = java
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.net PACKAGE = java.net
LIBRARY = net LIBRARY = net
PRODUCT = sun PRODUCT = sun
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = nio
PACKAGE = java.nio PACKAGE = java.nio
LIBRARY = nio LIBRARY = nio
PRODUCT = java PRODUCT = java
...@@ -304,11 +303,7 @@ endif # PLATFORM ...@@ -304,11 +303,7 @@ endif # PLATFORM
# Rules # Rules
# #
SUBDIRS_management = mxbean
include $(BUILDDIR)/common/Subdirs.gmk
build: sources build: sources
$(SUBDIRS-loop)
clean clobber:: clean clobber::
$(RM) -r $(NIO_GEN) $(SNIO_GEN) $(RM) -r $(NIO_GEN) $(SNIO_GEN)
...@@ -821,7 +816,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \ ...@@ -821,7 +816,7 @@ SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
$(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC) $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC)
$(install-non-module-file) $(install-file)
$(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC) $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
$(prep-target) $(prep-target)
......
#
# Copyright (c) 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
BUILDDIR = ../../..
MODULE = management
PACKAGE = java.nio
PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk
FILES_java = java/nio/BufferPoolMXBean.java
include $(BUILDDIR)/common/Classes.gmk
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
BUILDDIR = ../.. BUILDDIR = ../..
# It's currently used by jpda and hprof. Put it in base module for now. # It's currently used by jpda and hprof. Put it in base module for now.
MODULE = base
LIBRARY = npt LIBRARY = npt
PRODUCT = sun PRODUCT = sun
LIBRARY_OUTPUT = npt LIBRARY_OUTPUT = npt
......
...@@ -35,7 +35,6 @@ ...@@ -35,7 +35,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -122,32 +121,26 @@ $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME) ...@@ -122,32 +121,26 @@ $(LIBDIR)/$(JVMLIB_NAME): $(HOTSPOT_LIB_PATH)/$(JVMLIB_NAME)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME): $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMMAP_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@ -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMMAP_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_CLIENT_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_KERNEL_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME): $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMPDB_NAME):
@$(prep-target) @$(prep-target)
-$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@ -$(CP) $(HOTSPOT_SERVER_PATH)/$(JVMPDB_NAME) $@
@$(install-module-file)
# Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows # Windows ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Windows
else # PLATFORM else # PLATFORM
...@@ -291,7 +284,7 @@ INTERNAL_IMPORT_LIST += \ ...@@ -291,7 +284,7 @@ INTERNAL_IMPORT_LIST += \
$(LIBDIR)/jce.jar: \ $(LIBDIR)/jce.jar: \
$(BUILDDIR)/closed/tools/crypto/jce/jce.jar $(BUILDDIR)/closed/tools/crypto/jce/jce.jar
$(install-non-module-file) $(install-file)
$(LIBDIR)/security/US_export_policy.jar: \ $(LIBDIR)/security/US_export_policy.jar: \
$(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar $(BUILDDIR)/closed/tools/crypto/jce/US_export_policy.jar
$(install-file) $(install-file)
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = font
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = sajdi
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.security PACKAGE = java.security
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdbc-base
PACKAGE = java.sql PACKAGE = java.sql
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = base
PACKAGE = java.text PACKAGE = java.text
PRODUCT = sun PRODUCT = sun
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PRODUCT = java PRODUCT = java
LIBRARY = verify LIBRARY = verify
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = java.util.zip PACKAGE = java.util.zip
LIBRARY = zip LIBRARY = zip
PRODUCT = sun PRODUCT = sun
......
...@@ -83,7 +83,7 @@ RELEASE_DIR = $(OUTPUTDIR)/jce-release ...@@ -83,7 +83,7 @@ RELEASE_DIR = $(OUTPUTDIR)/jce-release
define release-warning define release-warning
@$(ECHO) \ @$(ECHO) \
"\n***The jar files built by the \"release\" target must***" \ "\n***The jar files built by the 'release' target must***" \
"\n***still be checked into the closed workspace! ***" \ "\n***still be checked into the closed workspace! ***" \
$(README-MAKEFILE_WARNING) $(README-MAKEFILE_WARNING)
endef endef
......
...@@ -108,7 +108,6 @@ ...@@ -108,7 +108,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = base
PACKAGE = javax.crypto PACKAGE = javax.crypto
PRODUCT = sun PRODUCT = sun
...@@ -294,7 +293,7 @@ limited: \ ...@@ -294,7 +293,7 @@ limited: \
$(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar: \ $(UNSIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar: \
$(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar $(UNSIGNED_POLICY_BUILDDIR)/unlimited/US_export_policy.jar
$(install-non-module-file) $(install-file)
$(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \ $(UNSIGNED_POLICY_BUILDDIR)/limited/local_policy.jar: \
policy/limited/default_local.policy \ policy/limited/default_local.policy \
...@@ -415,7 +414,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar ...@@ -415,7 +414,7 @@ $(JAR_DESTFILE): $(UNSIGNED_DIR)/jce.jar
else else
$(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar $(JAR_DESTFILE): $(SIGNED_DIR)/jce.jar
endif endif
$(install-non-module-file) $(install-file)
# #
# Install the appropriate policy file, depending on the type of build. # Install the appropriate policy file, depending on the type of build.
...@@ -435,7 +434,7 @@ install-limited-jars: \ ...@@ -435,7 +434,7 @@ install-limited-jars: \
$(POLICY_DESTDIR)/local_policy.jar $(POLICY_DESTDIR)/local_policy.jar
$(CP) $^ $(POLICY_DESTDIR) $(CP) $^ $(POLICY_DESTDIR)
install-limited: install-limited-jars install-module-files install-limited: install-limited-jars
ifndef OPENJDK ifndef OPENJDK
$(release-warning) $(release-warning)
endif endif
...@@ -449,7 +448,7 @@ install-unlimited-jars: \ ...@@ -449,7 +448,7 @@ install-unlimited-jars: \
$(POLICY_DESTDIR)/local_policy.jar $(POLICY_DESTDIR)/local_policy.jar
$(CP) $^ $(POLICY_DESTDIR) $(CP) $^ $(POLICY_DESTDIR)
install-unlimited: install-unlimited-jars install-module-files install-unlimited: install-unlimited-jars
ifndef OPENJDK ifndef OPENJDK
$(release-warning) $(release-warning)
endif endif
...@@ -466,16 +465,9 @@ install-prebuilt-jars: ...@@ -466,16 +465,9 @@ install-prebuilt-jars:
$(PREBUILT_DIR)/jce/local_policy.jar \ $(PREBUILT_DIR)/jce/local_policy.jar \
$(POLICY_DESTDIR) $(POLICY_DESTDIR)
install-prebuilt: install-prebuilt-jars install-module-files install-prebuilt: install-prebuilt-jars
endif endif
install-module-files: \
$(POLICY_DESTDIR)/US_export_policy.jar \
$(POLICY_DESTDIR)/local_policy.jar
$(POLICY_DESTDIR)/%.jar :
$(install-module-file)
# ===================================================== # =====================================================
# Support routines. # Support routines.
# #
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = imageio
PACKAGE = javax.imageio PACKAGE = javax.imageio
PRODUCT = jiio PRODUCT = jiio
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = print
PACKAGE = javax.print PACKAGE = javax.print
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsound LIBRARY = jsound
PRODUCT = sun PRODUCT = sun
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsoundalsa LIBRARY = jsoundalsa
PRODUCT = sun PRODUCT = sun
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = sound
PACKAGE = javax.sound PACKAGE = javax.sound
LIBRARY = jsoundds LIBRARY = jsoundds
PRODUCT = sun PRODUCT = sun
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdbc-enterprise
PACKAGE = javax.sql PACKAGE = javax.sql
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = swing
PACKAGE = javax.swing PACKAGE = javax.swing
PRODUCT = com PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = swing
PACKAGE = javax.swing.plaf PACKAGE = javax.swing.plaf
PRODUCT = com PRODUCT = com
SWING_SRC = $(SHARE_SRC)/classes/javax/swing SWING_SRC = $(SHARE_SRC)/classes/javax/swing
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = debugging
LIBRARY = jdwp LIBRARY = jdwp
PRODUCT = jpda PRODUCT = jpda
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = debugging
PRODUCT = jpda PRODUCT = jpda
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_shmem LIBRARY = dt_shmem
PRODUCT = jbug PRODUCT = jbug
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = debugging
LIBRARY = dt_socket LIBRARY = dt_socket
PRODUCT = jbug PRODUCT = jbug
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = jdb
PACKAGE = com.sun.tools.example.debug.tty PACKAGE = com.sun.tools.example.debug.tty
PRODUCT = jpda PRODUCT = jpda
PROGRAM = jdb PROGRAM = jdb
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = .. BUILDDIR = ..
MODULE = tools
PACKAGE = launchers PACKAGE = launchers
PRODUCT = sun PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
...@@ -38,7 +37,6 @@ include $(BUILDDIR)/common/Defs.gmk ...@@ -38,7 +37,6 @@ include $(BUILDDIR)/common/Defs.gmk
define make-corba-launcher define make-corba-launcher
$(CD) $(BUILDDIR)/launchers && \ $(CD) $(BUILDDIR)/launchers && \
$(MAKE) -f Makefile.launcher \ $(MAKE) -f Makefile.launcher \
MODULE=corba \
PROGRAM=$(strip $1) \ PROGRAM=$(strip $1) \
MAIN_CLASS=$(strip $2) \ MAIN_CLASS=$(strip $2) \
MAIN_JAVA_ARGS="$(strip $3)" \ MAIN_JAVA_ARGS="$(strip $3)" \
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
PRODUCT = demos PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# #
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = demos
PRODUCT = demos PRODUCT = demos
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../.. BUILDDIR = ../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
BUILDDIR = ../../.. BUILDDIR = ../../..
MODULE = samples
PRODUCT = java PRODUCT = java
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
......
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or 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.
MAINMANIFEST=$(JDK_TOPDIR)/make/tools/manifest.mf
MODULE_JAR_MANIFEST_FILE=$(ABS_TEMPDIR)/manifest.tmp
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
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 \
$(CD) $(MODULE_CLASSES) && $(BOOT_JAR_CMD) xf $$jf $(BOOT_JAR_JFLAGS);\
done
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
gen-classlist:
$(CD) tools && $(MAKE) all
modularize: $(MODULE_JAR_MANIFEST_FILE)
@$(ECHO) ">>>Making "$@" @ `$(DATE)` ..."
@$(RM) -rf $(MODULES_DIR)
@# 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) \
$(ABS_MODULES_DIR)/$$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/* $(ABS_MODULES_DIR)/$$m; \
$(RM) -rf $(ABS_MODULES_DIR)/$$m/classes; \
fi \
done \
done
@$(CD) $(MODULE_CLASSES) && $(java-vm-cleanup)
@$(ECHO) ">>>Finished making "$@" @ `$(DATE)` ..."
$(MODULE_JAR_MANIFEST_FILE):
$(SED) -e "s/@@RELEASE@@/$(RELEASE)/" $(MAINMANIFEST) > $@
clean clobber::
$(RM) -rf $(MODULE_CLASSLIST)
$(RM) -rf $(MODULES_DIR)
$(RM) $(MODULE_JAR_MANIFEST_FILE)
#
# Copyright (c) 2009, Oracle and/or its affiliates. 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.
#
# 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
#
# List of root classes/methods, each line of the following syntax:
# <class name>
# <method name> <signature>|*
# exclude <class>|<method>
# The boot module generated based on this rootset does not support
# - security permission check
# - non-standard charset
# - logging output
# - resource bundles
# including error output from the launcher
# VM preloaded classes
java.lang.Object
java.lang.String
java.lang.Class
java.lang.Cloneable
java.lang.ClassLoader
java.lang.System
java.lang.Throwable
java.lang.Error
java.lang.ThreadDeath
java.lang.Exception
java.lang.RuntimeException
java.security.ProtectionDomain
java.security.AccessControlContext
java.lang.ClassNotFoundException
java.lang.NoClassDefFoundError
java.lang.ClassCastException
java.lang.ArrayStoreException
java.lang.VirtualMachineError
java.lang.OutOfMemoryError
java.lang.StackOverflowError
java.lang.IllegalMonitorStateException
java.lang.ref.Reference
java.lang.ref.SoftReference
java.lang.ref.WeakReference
java.lang.ref.FinalReference
java.lang.ref.PhantomReference
java.lang.ref.Finalizer
java.lang.Runnable
java.lang.Thread
java.lang.ThreadGroup
java.util.Properties
java.lang.reflect.AccessibleObject
java.lang.reflect.Member
java.lang.reflect.Field
java.lang.reflect.Method
java.lang.reflect.Constructor
java.lang.reflect.Type
sun.reflect.MagicAccessorImpl
sun.reflect.MethodAccessorImpl
sun.reflect.ConstructorAccessorImpl
sun.reflect.DelegatingClassLoader
sun.reflect.ConstantPool
sun.reflect.UnsafeStaticFieldAccessorImpl
java.util.Vector
java.lang.StringBuffer
java.lang.StackTraceElement
java.nio.Buffer
java.lang.Boolean
java.lang.Character
java.lang.Float
java.lang.Double
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.NullPointerException
java.lang.ArithmeticException
java.lang.Compiler
# Root methods
java.lang.ClassLoader.getSystemClassLoader ()Ljava/lang/ClassLoader;
java.lang.System.initializeSystemClass ()V
sun.launcher.LauncherHelper.checkAndLoadMain (ZZLjava/lang/String;)Ljava/lang/Object;
# The tool doesn't automatically find superclasses and parse the method
# if overridden as it tries to reduce unnecessary classes being pulled in.
# The following forces the dependency to be included the result.
sun.net.www.protocol.file.Handler.<init> ()V
sun.net.www.protocol.jar.Handler.<init> ()V
sun.net.www.protocol.file.Handler.openConnection *
sun.net.www.protocol.jar.Handler.openConnection *
sun.misc.URLClassPath$JarLoader.<init> (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;)V
sun.misc.URLClassPath$FileLoader.<init> (Ljava/net/URL;)V
sun.misc.URLClassPath$FileLoader.getClassPath *
sun.misc.URLClassPath$FileLoader.getResource *
sun.misc.URLClassPath$JarLoader.getResource *
sun.misc.URLClassPath$JarLoader.getClassPath *
# permission collections
java.io.FilePermission.newPermissionCollection ()Ljava/security/PermissionCollection;
java.security.BasicPermission.newPermissionCollection ()Ljava/security/PermissionCollection;
# native
java.io.UnixFileSystem
java.io.UnixFileSystem.<init> ()V
java.io.UnixFileSystem.canonicalize *
java.io.Win32FileSystem
java.io.Win32FileSystem.<init> ()V
java.io.Win32FileSystem.canonicalize *
java.io.WinNTFileSystem
java.io.WinNTFileSystem.<init> ()V
java.io.WinNTFileSystem.canonicalize *
# missing
java.util.HashMap.<init> ()V
java.util.HashMap$EntrySet.iterator *
# Called from native GetStringPlatformChars (jni_util.c)
java.lang.String.getBytes *
# charset
sun.nio.cs.US_ASCII.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_8.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_8.newDecoder *
sun.nio.cs.UTF_16.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_16.newDecoder *
sun.nio.cs.UTF_32.newEncoder ()Ljava/nio/charset/CharsetEncoder;
sun.nio.cs.UTF_32.newDecoder *
# hashcode
java.util.jar.Attributes$Name.hashCode *
# nio
sun.nio.ByteBuffered
sun.nio.ch.DirectBuffer
java.nio.DirectByteBuffer
java.nio.MappedByteBuffer
java.nio.DirectLongBufferU
# resource files
sun.launcher.resources.launcher
sun.misc.Launcher$AppClassLoader.getPermissions *
sun.misc.Launcher$AppClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$AppClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$ExtClassLoader.getPermissions *
sun.misc.Launcher$ExtClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
sun.misc.Launcher$ExtClassLoader.findClass (Ljava/lang/String;)Ljava/lang/Class;
java.lang.ClassLoader.checkPackageAccess *
java.lang.ClassLoader.findClass *
java.lang.ClassLoader.defineClass *
java.net.URLClassLoader.getPermissions *
java.net.URLClassLoader.findClass *
java.net.URLClassLoader.defineClass *
java.security.SecureClassLoader.defineClass *
# need to parse superclasses <init>
java.security.SecureClassLoader.<init> ()V
exclude sun.security.provider.PolicyFile.<init>
exclude java.lang.ClassLoader.compareCerts
exclude java.security.cert.Certificate.equals
# unsigned jars - no verifier
exclude java.util.jar.JarFile.initializeVerifier
exclude java.util.jar.JarVerifier
exclude sun.security.util.SignatureFileVerifier.<init>
# what about other charset
exclude sun.misc.Service
exclude java.util.ServiceLoader
# exclude support for localized messages
exclude java.util.ResourceBundle.getBundle
exclude java.text.MessageFormat
exclude sun.util.logging.PlatformLogger$LoggerProxy.format *
# exclude nio and miscellaneous classes
exclude java.nio.channels.**
exclude sun.misc.FloatingDecimal
exclude sun.misc.FormattedFloatingDecimal
exclude sun.misc.FDBigInt
此差异已折叠。
此差异已折叠。
/*
* Copyright (c) 2009, Oracle and/or its affiliates. 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.
*
* 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* Example:
* module jdbc {
* include jdbc-base, jdbc-enterprise, jdbc-odbc;
* }
*/
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.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
# public XMLDecoder(java.io.InputStream)
# public XMLDecoder(java.io.InputStream, java.lang.Object)
# public XMLDecoder(java.io.InputStream, java.lang.Object, java.beans.ExceptionListener)
# public XMLDecoder(java.io.InputStream, java.lang.Object, java.beans.ExceptionListener, java.lang.ClassLoader)
# public XMLDecoder(org.xml.sax.InputSource)
@Optional
java.beans.XMLDecoder -> com.sun.beans.decoder.DocumentHandler
java.beans.XMLDecoder -> org.xml.sax.InputSource
# public static org.xml.sax.helpers.DefaultHandler createHandler(java.lang.Object, java.beans.ExceptionListener, java.lang.ClassLoader)
@Optional
java.beans.XMLDecoder -> com.sun.beans.decoder.DocumentHandler
java.beans.XMLDecoder -> org.xml.sax.helpers.DefaultHandler
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.net.SocketInputStream -> java.nio.channels.FileChannel
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.net.SocketOutputStream -> java.nio.channels.FileChannel
# public Scanner(java.io.File)
# public Scanner(java.io.File, java.lang.String)
@Optional
java.util.Scanner -> java.nio.channels.ReadableByteChannel
java.util.Scanner -> java.nio.channels.Channels
# public Scanner(java.nio.file.FileRef)
# public Scanner(java.nio.file.FileRef, java.lang.String)
@Optional
java.util.Scanner -> java.nio.file.FileRef
java.util.Scanner -> java.nio.file.OpenOption
# public Scanner(java.nio.channels.ReadableByteChannel)
# public Scanner(java.nio.channels.ReadableByteChannel, java.lang.String)
@Optional
java.util.Scanner -> java.nio.channels.ReadableByteChannel
java.util.Scanner -> java.nio.channels.Channels
# private static void loadSnmpAgent(java.lang.String, java.util.Properties)
@Optional
sun.management.Agent -> sun.management.snmp.AdaptorBootstrap
# public void connect()
@Optional
sun.net.www.protocol.http.HttpURLConnection -> java.net.SecureCacheResponse
# private static sun.security.util.PermissionFactory<?> permissionFactory()
@Optional
sun.security.util.SecurityConstants$AWT -> sun.awt.AWTPermissionFactory
# sun.util.logging.LoggingSupport
@Optional
sun.util.logging.LoggingSupport -> java.util.logging.LoggingProxyImpl
# public java.nio.channels.DatagramChannel getChannel()
@Optional
java.net.DatagramSocket -> java.nio.channels.DatagramChannel
# public java.nio.channels.SocketChannel getChannel()
@Optional
java.net.Socket -> java.nio.channels.SocketChannel
# public java.nio.channels.ServerSocketChannel getChannel()
@Optional
java.net.ServerSocket -> java.nio.channels.ServerSocketChannel
# public final java.nio.channels.FileChannel getChannel()
@Optional
java.io.RandomAccessFile -> java.nio.channels.FileChannel
java.io.RandomAccessFile -> sun.nio.ch.FileChannelImpl
# public static sun.nio.cs.StreamDecoder forDecoder(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.ReadableByteChannel
# private static java.nio.channels.FileChannel getChannel(java.io.FileInputStream)
# StreamDecoder(java.io.InputStream, java.lang.Object, java.nio.charset.CharsetDecoder)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.FileChannel
# StreamDecoder(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int)
@Optional
sun.nio.cs.StreamDecoder -> java.nio.channels.ReadableByteChannel
# public static java.io.File createTemporaryFile(java.lang.String, java.lang.String, java.nio.file.attribute.FileAttribute<?>[])
@Optional
java.io.File -> java.io.TempFileHelper
java.io.File -> java.nio.file.attribute.FileAttribute
# public java.nio.file.Path toPath()
@Optional
java.io.File -> java.nio.file.Paths
java.io.File -> java.nio.file.Path
# public static sun.nio.cs.StreamEncoder forEncoder(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int)
# private StreamEncoder(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int)
@Optional
sun.nio.cs.StreamEncoder -> java.nio.channels.WritableByteChannel
# public java.nio.channels.FileChannel getChannel()
@Optional
java.io.FileOutputStream -> java.nio.channels.FileChannel
java.io.FileOutputStream -> sun.nio.ch.FileChannelImpl
# public java.nio.channels.FileChannel getChannel()
@Optional
java.io.FileInputStream -> java.nio.channels.FileChannel
java.io.FileInputStream -> sun.nio.ch.FileChannelImpl
# public void loadFromXML(java.io.InputStream)
# public void storeToXML(java.io.OutputStream, java.lang.String, java.lang.String)
@Optional
java.util.Properties -> java.util.XMLUtils
# public static java.nio.channels.Channel inheritedChannel()
@Optional
java.lang.System -> java.nio.channels.Channel
java.lang.System -> java.nio.channels.spi.SelectorProvider
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
#
# Makefile for building the classanalyzer tool
#
BUILDDIR = ../..
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)/classanalyzer_manifest.mf
FILES_java := $(shell $(CD) $(BUILDTOOL_SOURCE_ROOT) \
&& $(FIND) $(PKGDIR) -type f -print)
FILES_class = $(FILES_java:%.java=$(BUILDTOOLCLASSDIR)/%.class)
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)
$(BUILDTOOL_JAVAC) \
-sourcepath $(BUILDTOOL_SOURCE_ROOT) \
-d $(BUILDTOOLCLASSDIR) $<
$(CLASSANALYZER_JAR_FILE): $(BUILDTOOL_MANIFEST_FILE) $(FILES_class)
@$(prep-target)
$(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \
-C $(BUILDTOOLCLASSDIR) $(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) $(CLASSANALYZER_JAR_FILE)
@$(RM) $(CLASSFILE_JAR_FILE)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2009, Oracle and/or its affiliates. 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. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<project name="classanalyzer" default="build" basedir=".">
</project>
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. 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. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
application.title=classanalyzer
application.vendor=mchung
build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned:
build.dir=build
build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
cp.extra=${tools.jar}
debug.classpath=\
${run.classpath}
debug.test.classpath=\
${run.test.classpath}
# This directory is removed when the project is cleaned:
dist.dir=dist
dist.jar=${dist.dir}/classanalyzer.jar
dist.javadoc.dir=${dist.dir}/javadoc
excludes=
file.reference.tools.jar=${jdk.home}/lib/tools.jar
file.reference.tools-src=src
includes=**
jar.compress=false
javac.classpath=\
${file.reference.tools.jar}
javac.deprecation=false
javac.source=1.5
javac.target=1.5
javac.test.classpath=
javadoc.author=false
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.private=false
javadoc.splitindex=false
javadoc.use=false
javadoc.version=false
main.class=com.sun.classanalyzer.ClassAnalyzer
manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF
platform.active=JDK_1.6
run.classpath=\
${javac.classpath}:\
${build.classes.dir}
# Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs=-Xmx256m
run.test.classpath=
source.encoding=UTF-8
src.dir=${file.reference.tools-src}
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2009, Oracle and/or its affiliates. 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. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>classanalyzer</name>
<explicit-platform explicit-source-supported="true"/>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots/>
</data>
</configuration>
</project>
/*
* Copyright (c) 2009, Oracle and/or its affiliates. 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.
*
* 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.classanalyzer;
/**
*
* @author Mandy Chung
*/
public class ConstantPoolAnalyzer {
public static void main(String[] args) throws Exception {
String jdkhome = null;
// process arguments
int i = 0;
while (i < args.length) {
String arg = args[i++];
if (arg.equals("-jdkhome")) {
if (i < args.length) {
jdkhome = args[i++];
} else {
usage();
}
}
}
if (jdkhome == null) {
usage();
}
ClassPath.setJDKHome(jdkhome);
ClassPath.parseAllClassFiles();
}
private static void usage() {
System.out.println("Usage: ConstantPoolAnalyzer <options>");
System.out.println("Options: ");
System.out.println("\t-jdkhome <JDK home> where all jars will be parsed");
System.out.println("\t-cpath <classpath> where classes and jars will be parsed");
System.exit(-1);
}
}
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册