diff --git a/.hgtags b/.hgtags index 23e8fa2a74e046fd0e20ceedad373bf571f255a4..ebca091558f76cfcc46ec63a99d809581480f368 100644 --- a/.hgtags +++ b/.hgtags @@ -127,3 +127,8 @@ f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147 7989ee9fe673a87f4db3917fa6a005732a6a9b85 jdk8-b03 fc569517f3cf242f90ce3503b743eb5553938946 jdk8-b04 0b32369b83d81c226a2e79e730f3a8c0d2595e92 jdk8-b05 +bdb870cc269ef8b221d17a217be89092400b59d2 jdk8-b06 +19f0a3db863cc491affc78b48c4a81a6679b2433 jdk8-b07 +1c023bcd0c5a01ac07bc7eea728aafbb0d8991e9 jdk8-b08 +f1ec21b8142168ff40f3278d2f6b5fe4bd5f3b26 jdk8-b09 +4788745572ef2bde34924ef34e7e4d55ba07e979 jdk8-b10 diff --git a/make/com/sun/net/httpserver/Makefile b/make/com/sun/net/httpserver/Makefile index 5c0e85c81884ffead70c4f72a196336d43375c0c..2d2e6b89b01bac6c6174cb139459ed825029c8ef 100644 --- a/make/com/sun/net/httpserver/Makefile +++ b/make/com/sun/net/httpserver/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2005, 2011, 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 @@ -26,6 +26,8 @@ BUILDDIR = ../../../.. PACKAGE = com.sun.net.httpserver PRODUCT = sun +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/com/sun/net/ssl/Makefile b/make/com/sun/net/ssl/Makefile index 4ec297c234643b5b7440f5be462e71b7ea98b3ed..b5c291ec2e6b04cdf1d72fc724c331165f478558 100644 --- a/make/com/sun/net/ssl/Makefile +++ b/make/com/sun/net/ssl/Makefile @@ -26,6 +26,9 @@ BUILDDIR = ../../../.. PACKAGE = com.sun.net.ssl PRODUCT = sun +JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/com/sun/org/apache/xml/Makefile b/make/com/sun/org/apache/xml/Makefile index e0c25e9d2733a3878d40194a5fea129787646fa8..f00135d8d1ebbfefd46e74ca1f77de0437afb300 100644 --- a/make/com/sun/org/apache/xml/Makefile +++ b/make/com/sun/org/apache/xml/Makefile @@ -30,6 +30,8 @@ BUILDDIR = ../../../../.. PACKAGE = com.sun.org.apache.xml PRODUCT = xml +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/common/Defs-linux.gmk b/make/common/Defs-linux.gmk index 123d1b39be5b474a113eb8b8dcb89eb3a77c9a9f..d20efc9718029416d52d3412cb96db37bcb6ce85 100644 --- a/make/common/Defs-linux.gmk +++ b/make/common/Defs-linux.gmk @@ -74,6 +74,57 @@ SCRIPT_SUFFIX = CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required! CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required! +# Default OBJCOPY comes from GNU Binutils on Linux: +DEF_OBJCOPY=/usr/bin/objcopy +ifdef CROSS_COMPILE_ARCH + # don't try to generate .debuginfo files when cross compiling + _JUNK_ := $(shell \ + echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \ + "skipping .debuginfo generation.") + OBJCOPY= +else + OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) + ifneq ($(ALT_OBJCOPY),) + _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") + # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path + OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) + endif +endif + +ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS +# The setting of OBJCOPY above enables the JDK build to import +# .debuginfo files from the HotSpot build. However, adding FDS +# support to the JDK build will occur in phases so a different +# make variable is used to indicate that a particular library +# supports FDS. + +ifeq ($(OBJCOPY),) + _JUNK_ := $(shell \ + echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") +else + _JUNK_ := $(shell \ + echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") + + # Library stripping policies for .debuginfo configs: + # all_strip - strips everything from the library + # min_strip - strips most stuff from the library; leaves minimum symbols + # no_strip - does not strip the library at all + # + # Oracle security policy requires "all_strip". A waiver was granted on + # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. + # + DEF_STRIP_POLICY="min_strip" + ifeq ($(ALT_STRIP_POLICY),) + STRIP_POLICY=$(DEF_STRIP_POLICY) + else + STRIP_POLICY=$(ALT_STRIP_POLICY) + endif + + _JUNK_ := $(shell \ + echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") +endif +endif + # # Default optimization # @@ -322,6 +373,7 @@ endif override LIBPOSIX4 = override LIBSOCKET = override LIBNSL = +override LIBSCF = override LIBTHREAD = override MOOT_PRIORITIES = true override NO_INTERRUPTIBLE_IO = true @@ -359,6 +411,7 @@ JA_TARGET_ENCODINGS = UTF-8 # Settings for the JDI - Serviceability Agent binding. HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH) SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX) +SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo # The JDI - Serviceability Agent binding is not currently supported # on Linux-ia64. diff --git a/make/common/Defs-solaris.gmk b/make/common/Defs-solaris.gmk index c062f275c25564f3d140c8db391a5e096eccf901..666cdc12ef2e11faa803240c9c2a69f4fd2aff9c 100644 --- a/make/common/Defs-solaris.gmk +++ b/make/common/Defs-solaris.gmk @@ -74,6 +74,69 @@ SCRIPT_SUFFIX = CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required! CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required! +ifdef ENABLE_FULL_DEBUG_SYMBOLS +# Only check for Full Debug Symbols support on Solaris if it is +# specifically enabled. Hopefully, it can be enabled by default +# once the .debuginfo size issues are worked out. + +# Default OBJCOPY comes from the SUNWbinutils package: +DEF_OBJCOPY=/usr/sfw/bin/gobjcopy +ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64) + # On Solaris AMD64/X64, gobjcopy is not happy and fails: + # + # usr/sfw/bin/gobjcopy --add-gnu-debuglink=.debuginfo .so + # BFD: stKPaiop: Not enough room for program headers, try linking with -N + # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value + # BFD: stKPaiop: Not enough room for program headers, try linking with -N + # /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value + # BFD: stKPaiop: Not enough room for program headers, try linking with -N + # /usr/sfw/bin/gobjcopy: stKPaiop: Bad value + _JUNK_ := $(shell \ + echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64") + OBJCOPY= +else + OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY)) + ifneq ($(ALT_OBJCOPY),) + _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)") + # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path + OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY)) + endif +endif + +ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS +# The setting of OBJCOPY above enables the JDK build to import +# .debuginfo files from the HotSpot build. However, adding FDS +# support to the JDK build will occur in phases so a different +# make variable is used to indicate that a particular library +# supports FDS. + +ifeq ($(OBJCOPY),) + _JUNK_ := $(shell \ + echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.") +else + _JUNK_ := $(shell \ + echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.") + + # Library stripping policies for .debuginfo configs: + # all_strip - strips everything from the library + # min_strip - strips most stuff from the library; leaves minimum symbols + # no_strip - does not strip the library at all + # + # Oracle security policy requires "all_strip". A waiver was granted on + # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE. + # + DEF_STRIP_POLICY="min_strip" + ifeq ($(ALT_STRIP_POLICY),) + STRIP_POLICY=$(DEF_STRIP_POLICY) + else + STRIP_POLICY=$(ALT_STRIP_POLICY) + endif + _JUNK_ := $(shell \ + echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)") +endif +endif +endif + # # Java default optimization (-x04/-O2) etc. Applies to the VM. # @@ -648,6 +711,9 @@ LIBSOCKET = -lsocket # Network Services library LIBNSL = -lnsl +# service configuration facility library +LIBSCF = -lscf + # GLOBAL_KPIC: If set means all libraries are PIC, position independent code # EXCEPT for select compiles # If a .o file is compiled non-PIC then it should be forced @@ -684,5 +750,6 @@ JA_TARGET_ENCODINGS = eucJP UTF-8 PCK # Settings for the JDI - Serviceability Agent binding. HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH) SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX) +SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo INCLUDE_SA=true diff --git a/make/java/java/FILES_java.gmk b/make/java/java/FILES_java.gmk index 58c763a3fe5b394e92d887bd15ad9ffb5b877e13..7aae0877000d144a0659673426a5a6300b6bf293 100644 --- a/make/java/java/FILES_java.gmk +++ b/make/java/java/FILES_java.gmk @@ -208,7 +208,6 @@ JAVA_JAVA_java = \ java/util/Observable.java \ java/util/Observer.java \ java/util/Properties.java \ - java/util/XMLUtils.java \ java/util/InvalidPropertiesFormatException.java \ java/util/PropertyPermission.java \ java/util/PropertyResourceBundle.java \ diff --git a/make/java/java/Makefile b/make/java/java/Makefile index 632cd3960ce1e7f65666e9ecea3c8fbbd2fad420..73aa81dce1c74969e8cd5fe3c2bc3bfe6022f905 100644 --- a/make/java/java/Makefile +++ b/make/java/java/Makefile @@ -208,7 +208,7 @@ OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlib -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib \ shell32.lib delayimp.lib /DELAYLOAD:shell32.dll else -OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) $(LIBNSL) -ldl \ +OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) $(LIBNSL) $(LIBSCF) -ldl \ -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH) endif diff --git a/make/java/net/Makefile b/make/java/net/Makefile index e6429c6c20957f06b1924578eae5be8e796ec492..83c885b34d8f1abf728e32d3c89ec592e8a8f66f 100644 --- a/make/java/net/Makefile +++ b/make/java/net/Makefile @@ -27,6 +27,9 @@ BUILDDIR = ../.. PACKAGE = java.net LIBRARY = net PRODUCT = sun +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true +JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation include $(BUILDDIR)/common/Defs.gmk # diff --git a/make/java/nio/Makefile b/make/java/nio/Makefile index 7a802d03531907512f85a91bb01eb311f70593c4..b72cfc1eb1ac26583331cda3c28be92bac2993b2 100644 --- a/make/java/nio/Makefile +++ b/make/java/nio/Makefile @@ -206,7 +206,6 @@ FILES_java += \ sun/nio/fs/LinuxUserDefinedFileAttributeView.java \ sun/nio/fs/LinuxNativeDispatcher.java \ sun/nio/fs/LinuxWatchService.java \ - sun/nio/fs/PollingWatchService.java \ sun/nio/fs/UnixChannelFactory.java \ sun/nio/fs/UnixCopyFile.java \ sun/nio/fs/UnixDirectoryStream.java \ diff --git a/make/java/redist/Makefile b/make/java/redist/Makefile index 392cd2c16243fbf964c05e640f7ffcddeeeb7e60..a0c4a677f00c864d28ea3db3f94e215fbb77df2a 100644 --- a/make/java/redist/Makefile +++ b/make/java/redist/Makefile @@ -58,6 +58,11 @@ LIBJSIG_NAME = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX) JVMDB_NAME = $(LIB_PREFIX)jvm$(DB_SUFFIX).$(LIBRARY_SUFFIX) JVMDTRACE_NAME = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).$(LIBRARY_SUFFIX) +JVM_DEBUGINFO_NAME = $(LIB_PREFIX)jvm.debuginfo +LIBJSIG_DEBUGINFO_NAME = $(LIB_PREFIX)jsig.debuginfo +JVMDB_DEBUGINFO_NAME = $(LIB_PREFIX)jvm$(DB_SUFFIX).debuginfo +JVMDTRACE_DEBUGINFO_NAME = $(LIB_PREFIX)jvm$(DTRACE_SUFFIX).debuginfo + CLASSSHARINGDATA_DIR = $(BUILDDIR)/tools/sharing # Needed to do file copy @@ -79,6 +84,12 @@ INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist ifndef BUILD_CLIENT_ONLY IMPORT_LIST = $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME) \ $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME) + endif + endif else IMPORT_LIST = endif @@ -88,6 +99,12 @@ ifneq ($(ZERO_BUILD), true) ifeq ($(ARCH_DATA_MODEL), 32) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME) \ $(LIB_LOCATION)/$(CLIENT_LOCATION)/Xusage.txt + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME) + endif + endif endif endif @@ -157,16 +174,40 @@ else # PLATFORM # NOT Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv NOT Windows IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_NAME) +ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) + endif +endif ifndef BUILD_CLIENT_ONLY IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain the target of the symlink + ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) + endif + endif endif ifeq ($(PLATFORM), solaris) ifndef BUILD_CLIENT_ONLY IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME) + endif + endif # The conditional can be removed when import JDKs contain these files. ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)),) IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME) + endif + endif else $(warning WARNING: $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) not found!) endif @@ -177,17 +218,37 @@ ifneq ($(ZERO_BUILD), true) ifeq ($(ARCH_DATA_MODEL), 32) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) +ifneq ($(OBJCOPY),) + # the import JDK may not contain the target of the symlink + ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) + endif +endif ifeq ($(PLATFORM), solaris) # solaris vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv solaris IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME) +ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_DEBUGINFO_NAME) + endif +endif # The conditional can be removed when import JDKs contain these files. ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)),) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME) IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME) + IMPORT_LIST += $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME) + endif + endif else $(warning WARNING: $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) not found!) endif @@ -196,6 +257,12 @@ ifndef BUILD_CLIENT_ONLY # The conditional can be removed when import JDKs contain these files. ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)),) IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME) + endif + endif else $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) not found!) endif @@ -203,6 +270,12 @@ ifndef BUILD_CLIENT_ONLY # The conditional can be removed when import JDKs contain these files. ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)),) IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME) + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME) + endif + endif else $(warning WARNING: $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME) not found!) endif @@ -229,6 +302,11 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAM $(install-import-file) @$(call binary_file_verification,$@) +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME) + $(install-import-file) +endif + $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME) $(install-file) @$(call binary_file_verification,$@) @@ -237,15 +315,33 @@ $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJ $(install-import-file) @$(call binary_file_verification,$@) +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME) + $(install-import-file) +endif + ifndef BUILD_CLIENT_ONLY $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME): @$(prep-target) $(call install-sym-link, ../$(LIBJSIG_NAME)) + +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME) \ +$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME): + @$(prep-target) + $(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME)) +endif else $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME): @$(prep-target) $(call install-sym-link, ../$(LIBJSIG_NAME)) + +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME): + @$(prep-target) + $(call install-sym-link, ../$(LIBJSIG_DEBUGINFO_NAME)) +endif endif $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME) @@ -256,6 +352,14 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$ $(install-import-file) @$(call binary_file_verification,$@) +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_DEBUGINFO_NAME) + $(install-import-file) +endif + ifndef BUILD_CLIENT_ONLY $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) $(install-import-file) @@ -264,6 +368,14 @@ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) $(install-import-file) @$(call binary_file_verification,$@) + +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME) + $(install-import-file) +endif endif $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) @@ -274,6 +386,14 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/ $(install-import-file) @$(call binary_file_verification,$@) +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME) + $(install-import-file) +endif + ifndef BUILD_CLIENT_ONLY $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME) $(install-import-file) @@ -287,6 +407,17 @@ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAM $(install-import-file) @$(call binary_file_verification,$@) +ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME) + $(install-import-file) + +$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME) + $(install-import-file) +endif + $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt $(install-import-file) endif diff --git a/make/java/redist/sajdi/Makefile b/make/java/redist/sajdi/Makefile index b624b81ccc9e42ca36a14f453e9024215f3b3f5d..1eaa9a080e71888236af62abf25e0736cbaa3c81 100644 --- a/make/java/redist/sajdi/Makefile +++ b/make/java/redist/sajdi/Makefile @@ -56,6 +56,12 @@ ifeq ($(INCLUDE_SA), true) IMPORT_LIST += $(LIB_LOCATION)/$(SAMAP_NAME) \ $(LIB_LOCATION)/$(SAPDB_NAME) endif + ifneq ($(OBJCOPY),) + # the import JDK may not contain .debuginfo files + ifneq ($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),) + IMPORT_LIST += $(LIB_LOCATION)/$(SA_DEBUGINFO_NAME) + endif + endif endif # INCLUDE_SA @@ -79,6 +85,11 @@ $(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME) $(LIB_LOCATION)/$(SAMAP_NAME): $(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME) $(install-import-file) endif # windows + + ifneq ($(OBJCOPY),) +$(LIB_LOCATION)/$(SA_DEBUGINFO_NAME): $(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME) + $(install-import-file) + endif endif # INCLUDE_SA all: $(IMPORT_LIST) diff --git a/make/java/security/Makefile b/make/java/security/Makefile index c05ecdd1e5720f23cb79b4705735a2e9c363ca16..60bcc75ee0dd9cfaa0ce095a5d2a216548ba28cc 100644 --- a/make/java/security/Makefile +++ b/make/java/security/Makefile @@ -26,8 +26,8 @@ BUILDDIR = ../.. PACKAGE = java.security PRODUCT = sun -JAVAC_MAX_WARNINGS = false -JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation +JAVAC_MAX_WARNINGS = true +JAVAC_LINT_OPTIONS = -Xlint:all JAVAC_WARNINGS_FATAL = true include $(BUILDDIR)/common/Defs.gmk diff --git a/make/javax/Makefile b/make/javax/Makefile index a58a1b1eb5a6596539370f8d7b86642728c871dd..ebeec3c4eea8d9f86a602409e90f085dfa0f682d 100644 --- a/make/javax/Makefile +++ b/make/javax/Makefile @@ -1,5 +1,5 @@ # -# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1998, 2011, 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 @@ -30,7 +30,7 @@ BUILDDIR = .. include $(BUILDDIR)/common/Defs.gmk -SUBDIRS = others +SUBDIRS = others security SUBDIRS_management = management diff --git a/make/javax/others/Makefile b/make/javax/others/Makefile index c98d63ded35b7c9197fcfa96e4b8884a4c7335af..77401632231b345459d1d7c0ec8acc88394d5ba7 100644 --- a/make/javax/others/Makefile +++ b/make/javax/others/Makefile @@ -28,7 +28,6 @@ # BUILDDIR = ../.. -JAVAC_MAX_WARNINGS = true include $(BUILDDIR)/common/Defs.gmk # @@ -39,10 +38,6 @@ AUTO_FILES_JAVA_DIRS = \ com/sun/naming/internal \ javax/net \ javax/script \ - javax/security/auth \ - javax/security/cert \ - javax/security/sasl \ - javax/smartcardio \ javax/tools \ javax/xml diff --git a/make/javax/security/Makefile b/make/javax/security/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..88d7abb30c7f43e739c26c7f6d20d39687834071 --- /dev/null +++ b/make/javax/security/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (c) 2011, 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 javax (security classes) +# + +BUILDDIR = ../.. +JAVAC_MAX_WARNINGS = true +JAVAC_WARNINGS_FATAL = true + +include $(BUILDDIR)/common/Defs.gmk + +# +# Files to compile +# +AUTO_FILES_JAVA_DIRS = \ + javax/security/auth \ + javax/security/cert \ + javax/security/sasl \ + javax/smartcardio + +# +# Rules +# +include $(BUILDDIR)/common/Classes.gmk + diff --git a/make/netbeans/README b/make/netbeans/README index a375b8b55e303e909897c6c9adcd2a0f2611f255..ffae80f95ced54ec09d7eddfd8070fc5fac2166d 100644 --- a/make/netbeans/README +++ b/make/netbeans/README @@ -5,7 +5,7 @@ Working on OpenJDK using NetBeans Getting Started In addition to the source bundle for Open JDK, you'll need to download - and install copies of the JDK and of NetBeans 6. And if you want to run + and install copies of the JDK and of NetBeans. And if you want to run tests on the JDK (you do want to run tests, right?), you'll need to install the jtreg test harness. @@ -20,30 +20,28 @@ Getting Started Downloading the JDK You've probably done this a million times. Download and install it - from http://java.sun.com/javase + from http://www.oracle.com/technetwork/java/javase/overview/index.html Downloading the OpenJDK sources Since you're reading this, d you've already downloaded the OpenJDK source bundle. Later in this document we'll refer to the location where you installed the Open JDK sources as *install-dir*. - Downloading a pre-built, JDK 7 + Downloading a pre-built, JDK 8 This will be necessary to do builds of some of the projects. In general, you want to download and install a pre-built JDK that corresponds to the OpenJDK sources you download. Building the entire OpenJDK depends on a few parts of the pre-built JDK. Get this from - http://download.java.net/jdk7/binaries + http://download.java.net/jdk8/binaries - Note: For working on certain projects, like JMX and JConsole, you - may find convenient to use a pre-built version of JDK 7 (or + Note: For working on certain projects, like JMX and JConsole, you + may find convenient to use a pre-built version of JDK 8 (or OpenJDK) rather than building your own. This will allow you to build only that part of the OpenJDK sources which correspond - to that project. + to that project. - NetBeans 6 - Yep, NetBeans *6*. Nope, not FCS'd yet. We're on the edge here, - enjoy it! Get the latest working development build of NetBeans 6 - from http://netbeans.org + NetBeans 7.0 or later + Older versions may also work but are unsupported. jtreg "jtreg" is the test harness for running OpenJDK's regression tests. @@ -51,7 +49,7 @@ Getting Started Ant NetBeans comes with ant, but if you use a separately-installed copy - please make sure that it is at least version 1.7.0. + please make sure that it is at least version 1.8.1. Configuring Building OpenJDK is hard and complex. No, strike that. While it's not @@ -92,8 +90,8 @@ Configuring situation: make.options=\ - ALT_BOOTDIR=/home/me/bin/jdk1.6.0 \ - ALT_JDK_IMPORT_PATH=/home/me/bin/jdk1.7.0 \ + ALT_BOOTDIR=/home/me/bin/jdk1.7.0 \ + ALT_JDK_IMPORT_PATH=/home/me/bin/jdk1.8.0 \ OPENJDK=true The trailing '\' are important, so that make gets the above as a @@ -107,7 +105,7 @@ Configuring Windows-specific configuration First, please note that the entire JDK cannot currently be built on Windows platforms. This will likely limit your ability to build - make-based projects. See + make-based projects. See *install-dir*/jdk/make/README-builds.html for full information on issues with building on the Windows platform. @@ -141,7 +139,7 @@ Configuring editor. Locale Requirements - To build the Open JDK sources, be certain that you are using the "C" + To build the OpenJDK sources, be certain that you are using the "C" locale on Unix (R) platforms, or "English (United States)" locale on Windows. @@ -220,13 +218,13 @@ Provided NetBeans projects running and debugging JConsole. This ant-based project does *not* require that you build the jdk - project first, provided that you use a pre-built version of JDK 7. + project first, provided that you use a pre-built version of JDK 7. Java (TM) Management Extensions (JMX(TM)) API (directory "jmx") For working on JMX source code. Creates ../dist/lib/jmx.jar. This ant-based project does *not* require that you build the jdk - project first, provided that you use a pre-built version of JDK 7. + project first, provided that you use a pre-built version of JDK 7. Jar & Zip (directory "jarzip") For working on jar & zip. It builds the zip library (including @@ -242,12 +240,12 @@ Provided NetBeans projects running and debugging the SampleTree demo. This ant-based project does *not* require that you build the jdk - project first, provided that you use a pre-built version of JDK 7. + project first, provided that you use a pre-built version of JDK 7. In addition, there are projects for building the compiler, javadoc, and related tools, in the OpenJDK langtools component. These projects are separate from those described here, and have their - own set of guidelines and conventions. For more details, see the + own set of guidelines and conventions. For more details, see the README files in make/netbeans in the OpenJDK langtools component. Running Tests @@ -603,13 +601,6 @@ Appendix 1: Customizations * -clean-make Known Issues - Tests won't run: waiting for lock - Occasionally when running tests, there will be a delay, followed by a - message like this: - Waiting to lock test result cache for - /tmp/jdk/build/linux-i586/jtreg/jconsole/JTwork for 20 seconds - The workaround is to stop the tests, rm -rf the offending jtreg/ - directory by hand, and re-run the tests. Can't run nor debug a single test in the JConsole test In most projects, you can run a single test by opening it in the editor, diff --git a/make/netbeans/common/closed-share-view.ent b/make/netbeans/common/closed-share-view.ent index 6ef29331f9de4093cd80e128437ddaec255f998a..82fe0cab52575bf95aae26691df1104175318a49 100644 --- a/make/netbeans/common/closed-share-view.ent +++ b/make/netbeans/common/closed-share-view.ent @@ -31,8 +31,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - - + + ${root}/src/closed/share/classes ${includes} ${excludes} diff --git a/make/netbeans/common/java-data-native.ent b/make/netbeans/common/java-data-native.ent index fb531ed8921e1aa6a5cab07178b58be1975e387f..a801e821db61ecbc4daaa08b9216427b7e3fe72d 100644 --- a/make/netbeans/common/java-data-native.ent +++ b/make/netbeans/common/java-data-native.ent @@ -38,7 +38,12 @@ ${root}/src/solaris/classes ${bootstrap.jdk}/jre/lib/rt.jar ${root}/build/${platform}-${arch}/classes - ${root}/build/javadoc/${name} + ${root}/build/${platform}-${arch}/docs/api + 1.7 + + + ${root}/test + 1.7 diff --git a/make/netbeans/common/java-data-no-native.ent b/make/netbeans/common/java-data-no-native.ent index 2e1b791bd50980b38be7bb82680af3d2e0716148..a204f3a6f17a27f6600c6372750c7d02d0917c94 100644 --- a/make/netbeans/common/java-data-no-native.ent +++ b/make/netbeans/common/java-data-no-native.ent @@ -36,7 +36,12 @@ ${root}/src/share/classes ${bootstrap.jdk}/jre/lib/rt.jar ${root}/build/${platform}-${arch}/classes - ${root}/build/javadoc/${name} + ${root}/build/${platform}-${arch}/docs/api + 1.7 + + + ${root}/test + 1.7 diff --git a/make/netbeans/common/jtreg-view.ent b/make/netbeans/common/jtreg-view.ent index 899df888e238b0ee589144732a669631efe9b8ff..ce0d2dad3ed65d0e471e8c77ffdc52e5ab9d17bc 100644 --- a/make/netbeans/common/jtreg-view.ent +++ b/make/netbeans/common/jtreg-view.ent @@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/test ${jtreg.tests} diff --git a/make/netbeans/common/sample-view.ent b/make/netbeans/common/sample-view.ent index 70cdd2397cad399d57cf0237b5df0143ac639975..9b470ef9d548ee5960580ef297100a8ff3ba91b5 100644 --- a/make/netbeans/common/sample-view.ent +++ b/make/netbeans/common/sample-view.ent @@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/src/share/sample ${samples} diff --git a/make/netbeans/common/share-view.ent b/make/netbeans/common/share-view.ent index 0b0dde08a2b2ba69edbf2c0d04d78aefc30b8657..2d607889ce6e0914c3285e93efc24f3f3bca0496 100644 --- a/make/netbeans/common/share-view.ent +++ b/make/netbeans/common/share-view.ent @@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/src/share/classes ${includes} diff --git a/make/netbeans/common/unix-view.ent b/make/netbeans/common/unix-view.ent index c1176f66d748009ba5a8df29dd02d3e701d38c80..84f168b292787ed6c74959763b79991f883b3343 100644 --- a/make/netbeans/common/unix-view.ent +++ b/make/netbeans/common/unix-view.ent @@ -35,7 +35,7 @@ UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. --> - + ${root}/src/solaris/classes ${includes} diff --git a/make/netbeans/common/windows-view.ent b/make/netbeans/common/windows-view.ent index 38419c2cf5a93b0007f6ee1ac2a80509ca49cd52..8e80c6cfce337e71c0c675703257bc8892c15986 100644 --- a/make/netbeans/common/windows-view.ent +++ b/make/netbeans/common/windows-view.ent @@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - + ${root}/src/windows/classes ${includes} diff --git a/make/netbeans/j2se/nbproject/project.xml b/make/netbeans/j2se/nbproject/project.xml index 7cc5b51672128953f70c03570de8a64193810857..784ab7232b868bf30dff6f8ae9fbd1eb7ae14f04 100644 --- a/make/netbeans/j2se/nbproject/project.xml +++ b/make/netbeans/j2se/nbproject/project.xml @@ -1,7 +1,7 @@