# HG changeset patch # User duke # Date 1499265263 -7200 # Node ID 898f519b613889dbce3c16c2baf482d1f4243f8e # Parent 510a9a867e27725037b3b0432329e2c6aeae5663# Parent e14008f86acd1d3860aa4cce7d5fe62c70529d48 Merge diff -r 510a9a867e27 -r 898f519b6138 .hgtags-top-repo --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgtags-top-repo Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +cfeea66a3fa8ca3686a7cfa2d0ce8ab0169f168d jdk7-b24 diff -r 510a9a867e27 -r 898f519b6138 .jcheck/conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.jcheck/conf Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +project=jdk7 diff -r 510a9a867e27 -r 898f519b6138 Makefile --- a/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -23,25 +23,25 @@ # have any questions. # +BUILD_PARENT_DIRECTORY=. + ifndef TOPDIR - TOPDIR:=$(shell \ - if [ -r ./j2se/make/Makefile -o -r ./jdk/make/Makefile ]; then \ - echo "."; \ - else \ - echo "../.."; \ - fi) + TOPDIR:=. endif ifndef CONTROL_TOPDIR - CONTROL_TOPDIR=$(TOPDIR)/control - CONTROL_TOPDIR:=$(shell \ - if [ -r $(TOPDIR)/control/make/Makefile ]; then \ - echo "$(TOPDIR)/control"; \ - else \ - echo "$(TOPDIR)"; \ - fi) + CONTROL_TOPDIR=$(TOPDIR) endif +# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true) +OPENJDK_SOURCETREE=$(TOPDIR)/openjdk +OPENJDK_BUILDDIR:=$(shell \ + if [ -r $(OPENJDK_SOURCETREE)/Makefile ]; then \ + echo "$(OPENJDK_SOURCETREE)"; \ + else \ + echo "."; \ + fi) + ifndef JDK_TOPDIR JDK_TOPDIR=$(TOPDIR)/jdk endif @@ -55,6 +55,7 @@ all:: @$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build started: `$(DATE) '+%y-%m-%d %H:%M'` + $(MKDIR) -p $(OUTPUTDIR) # Rules for sanity checks include ./make/sanity-rules.gmk @@ -81,11 +82,24 @@ all:: setup build -setup: +setup: openjdk_check $(MKDIR) -p $(OUTPUTDIR)/j2sdk-image - $(MKDIR) -p $(ABS_OUTPUTDIR)/j2sdk-image - $(MKDIR) -p $(OUTPUTDIR)-fastdebug/j2sdk-image - $(MKDIR) -p $(ABS_OUTPUTDIR)-fastdebug/j2sdk-image + +# Check on whether we really can build the openjdk, need source etc. +openjdk_check: FRC +ifneq ($(SKIP_OPENJDK_BUILD), true) + @$(ECHO) " " + @$(ECHO) "=================================================" + @if [ ! -r $(OPENJDK_BUILDDIR)/Makefile ] ; then \ + $(ECHO) "ERROR: No openjdk source tree available at: $(OPENJDK_BUILDDIR)"; \ + exit 1; \ + else \ + $(ECHO) "OpenJDK will be built after JDK is built"; \ + $(ECHO) " OPENJDK_BUILDDIR=$(OPENJDK_BUILDDIR)"; \ + fi + @$(ECHO) "=================================================" + @$(ECHO) " " +endif build:: sanity @@ -143,7 +157,7 @@ COMMON_DEBUG_FLAGS= \ DEBUG_NAME=$(DEBUG_NAME) \ - ALT_OUTPUTDIR=$(_OUTPUTDIR)-$(DEBUG_NAME) \ + ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \ NO_DOCS=true product_build: setup @@ -190,46 +204,64 @@ all :: compare-image endif -ifeq ($(SKIP_OPENJDK_BUILD), false) +ifneq ($(SKIP_OPENJDK_BUILD), true) + all :: openjdk_build +endif + +# If we have bundle rules, we have a chance here to do a complete cycle +# build, of production and open build. +# FIXUP: We should create the openjdk source bundle and build that? +# But how do we reliable create or get at a formal openjdk source tree? +# The one we have needs to be trimmed of built bits and closed dirs. +# The repositories might not be available. +# The openjdk source bundle is probably not available. + +ifneq ($(SKIP_OPENJDK_BUILD), true) ifeq ($(BUILD_JDK), true) ifeq ($(BUNDLE_RULES_AVAILABLE), true) - # If we have bundle rules, we have a chance here to do a complete cycle - # build, of closed and open build. - # FIXUP: We should create the openjdk source bundle and build that? - ABS_OPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) - ABS_OPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/openjdk - OPENJDK_BUILD_NAME_PREFIX \ - = $(J2SDK_NAME)-$(JDK_MKTG_UNDERSCORE_VERSION)-$(MILESTONE) - OPENJDK_BUILD_NAME_SUFFIX \ - = $(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE) - OPENJDK_BUILD_NAME \ - = $(OPENJDK_BUILD_NAME_PREFIX)-openjdk-$(OPENJDK_BUILD_NAME_SUFFIX) - OPENJDK_BUILD_BINARY_ZIP \ - = $(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip - all :: openjdk-build - openjdk-build: + +OPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) +OPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/open-output +OPENJDK_BUILD_NAME \ + = openjdk-$(JDK_MINOR_VERSION)-$(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE) +OPENJDK_BUILD_BINARY_ZIP=$(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip +BUILT_IMAGE=$(ABS_OUTPUTDIR)/j2sdk-image +ifeq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64) + OPENJDK_BOOTDIR=$(BOOTDIR) + OPENJDK_IMPORTJDK=$(JDK_IMPORT_PATH) +else + OPENJDK_BOOTDIR=$(BUILT_IMAGE) + OPENJDK_IMPORTJDK=$(BUILT_IMAGE) +endif + +openjdk_build: @$(ECHO) " " @$(ECHO) "=================================================" @$(ECHO) "Starting openjdk build" + @$(ECHO) " Using: ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR)" @$(ECHO) "=================================================" @$(ECHO) " " - $(RM) -r $(ABS_OPENJDK_OUTPUTDIR) - $(MKDIR) -p $(ABS_OPENJDK_OUTPUTDIR) - $(MAKE) OPENJDK=true \ - BUILD_LANGTOOLS=$(BUILD_LANGTOOLS) \ - BUILD_CORBA=$(BUILD_CORBA) \ - BUILD_JAXP=$(BUILD_JAXP) \ - BUILD_JAXWS=$(BUILD_JAXWS) \ - BUILD_HOTSPOT=$(BUILD_HOTSPOT) \ - ALT_OUTPUTDIR=$(ABS_OPENJDK_OUTPUTDIR) \ - ALT_BINARY_PLUGS_PATH=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) \ - ALT_BOOTDIR=$(ABS_OUTPUTDIR)/j2sdk-image \ - ALT_JDK_IMPORT_PATH=$(ABS_OUTPUTDIR)/j2sdk-image \ - product_build + $(RM) -r $(OPENJDK_OUTPUTDIR) + $(MKDIR) -p $(OPENJDK_OUTPUTDIR) + ($(CD) $(OPENJDK_BUILDDIR) && $(MAKE) \ + OPENJDK=true \ + ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR) \ + ALT_OUTPUTDIR=$(OPENJDK_OUTPUTDIR) \ + ALT_BINARY_PLUGS_PATH=$(OPENJDK_PLUGS) \ + ALT_BOOTDIR=$(OPENJDK_BOOTDIR) \ + ALT_JDK_IMPORT_PATH=$(OPENJDK_IMPORTJDK) \ + product_build ) $(RM) $(OPENJDK_BUILD_BINARY_ZIP) - ( $(CD) $(ABS_OPENJDK_OUTPUTDIR)/j2sdk-image && \ + ( $(CD) $(OPENJDK_OUTPUTDIR)/j2sdk-image && \ $(ZIPEXE) -q -r $(OPENJDK_BUILD_BINARY_ZIP) .) - $(RM) -r $(ABS_OPENJDK_OUTPUTDIR) + $(RM) -r $(OPENJDK_OUTPUTDIR) + @$(ECHO) " " + @$(ECHO) "=================================================" + @$(ECHO) "Finished openjdk build" + @$(ECHO) " Binary Bundle: $(OPENJDK_BUILD_BINARY_ZIP)" + @$(ECHO) "=================================================" + @$(ECHO) " " + endif endif endif @@ -432,11 +464,11 @@ # Cycle build. Build the jdk, use it to build the jdk again. ################################################################ -ABS_BOOTJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk +ABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk boot_cycle: - $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTJDK_OUTPUTDIR) product_build - $(MAKE) ALT_BOOTDIR=$(ABS_BOOTJDK_OUTPUTDIR)/j2sdk-image product_build + $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) product_build + $(MAKE) ALT_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image product_build ################################################################ # JPRT rule to build @@ -452,7 +484,6 @@ fastdebug_build debug_build product_build setup \ dev dev-build dev-sanity dev-clobber -# FIXUP: Old j2se targets -j2se_fastdebug_only: jdk_fastdebug_only -j2se_only: jdk_only +# Force target +FRC: diff -r 510a9a867e27 -r 898f519b6138 README-builds.html --- a/README-builds.html Tue Mar 04 10:58:04 2008 -0800 +++ b/README-builds.html Wed Jul 05 16:34:23 2017 +0200 @@ -342,32 +342,29 @@
@@ -730,17 +727,15 @@ under an open-source license. In order to build an OpenJDK binary from source code, you must first download and install the appropriate - binary plug bundles from the OpenJDK Download area. + binary plug bundles from the OpenJDK, go to the + OpenJDK site and select + the "Bundles(7)" link. During the OpenJDK build process these "binary plugs" for the encumbered components will be copied into your resulting OpenJDK binary build image. These binary plug files are only for the purpose of building an OpenJDK binary. - Download the Binary Plugs by selecting the Downloads - link at - the OpenJDK site, - install the bundle, - and make sure you set + Make sure you set ALT_BINARY_PLUGS_PATH to the root of this installation. diff -r 510a9a867e27 -r 898f519b6138 corba/.hgtags --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/corba/.hgtags Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +55540e827aef970ecc010b7e06b912d991c8e3ce jdk7-b24 diff -r 510a9a867e27 -r 898f519b6138 corba/.jcheck/conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/corba/.jcheck/conf Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +project=jdk7 diff -r 510a9a867e27 -r 898f519b6138 corba/make/common/shared/Defs.gmk --- a/corba/make/common/shared/Defs.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/corba/make/common/shared/Defs.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -281,6 +281,13 @@ # Get platform specific settings include $(BUILDDIR)/common/shared/Defs-$(PLATFORM).gmk +# Components +ifdef ALT_LANGTOOLS_DIST + LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST)) +else + LANGTOOLS_DIST = +endif + # These are the same on all platforms but require the above platform include 1st # BOOTDIR: Bootstrap JDK, previous released JDK. diff -r 510a9a867e27 -r 898f519b6138 corba/src/share/classes/com/sun/corba/se/impl/corba/orb_config_design.txt --- a/corba/src/share/classes/com/sun/corba/se/impl/corba/orb_config_design.txt Tue Mar 04 10:58:04 2008 -0800 +++ b/corba/src/share/classes/com/sun/corba/se/impl/corba/orb_config_design.txt Wed Jul 05 16:34:23 2017 +0200 @@ -318,7 +318,7 @@ 11. RequestHandler and ORB - The RH interface is currently implemented in the ORB class, but migūt better be a separate + The RH interface is currently implemented in the ORB class, but might better be a separate class. The API is currently almost the same as a ServerSubcontract. Should we regularize this? Also, the API would need to be extended to handle shutdown properly. diff -r 510a9a867e27 -r 898f519b6138 corba/src/share/classes/org/omg/CORBA/ir.idl --- a/corba/src/share/classes/org/omg/CORBA/ir.idl Tue Mar 04 10:58:04 2008 -0800 +++ b/corba/src/share/classes/org/omg/CORBA/ir.idl Wed Jul 05 16:34:23 2017 +0200 @@ -774,18 +774,18 @@ // orbos 98-01-18: Objects By Value -- end - enum TCKind { - tk_null, tk_void, + enum TCKind { + tk_null, tk_void, tk_short, tk_long, tk_ushort, tk_ulong, - tk_float, tk_double, tk_boolean, tk_char, - tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, - tk_struct, tk_union, tk_enum, tk_string, - tk_sequence, tk_array, tk_alias, tk_except, - tk_longlong, tk_ulonglong, tk_longdouble, - tk_wchar, tk_wstring, tk_fixed, - tk_value, tk_value_box, - tk_native, - tk_abstract_interface + tk_float, tk_double, tk_boolean, tk_char, + tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref, + tk_struct, tk_union, tk_enum, tk_string, + tk_sequence, tk_array, tk_alias, tk_except, + tk_longlong, tk_ulonglong, tk_longdouble, + tk_wchar, tk_wstring, tk_fixed, + tk_value, tk_value_box, + tk_native, + tk_abstract_interface }; interface NativeDef : TypedefDef { diff -r 510a9a867e27 -r 898f519b6138 corba/src/share/classes/org/omg/DynamicAny/DynamicAny.idl --- a/corba/src/share/classes/org/omg/DynamicAny/DynamicAny.idl Tue Mar 04 10:58:04 2008 -0800 +++ b/corba/src/share/classes/org/omg/DynamicAny/DynamicAny.idl Wed Jul 05 16:34:23 2017 +0200 @@ -1042,24 +1042,24 @@ /** * DynValueCommon provides operations supported by both the DynValue and DynValueBox interfaces. */ - interface DynValueCommon : DynAny { + interface DynValueCommon : DynAny { /** * Returns true if the DynValueCommon represents a null value type. */ - boolean is_null(); + boolean is_null(); /** * Changes the representation of a DynValueCommon to a null value type. */ - void set_to_null(); + void set_to_null(); /** * Replaces a null value type with a newly constructed value. Its components are initialized * to default values as in DynAnyFactory.create_dyn_any_from_type_code. * If the DynValueCommon represents a non-null value type, then this operation has no effect. */ - void set_to_value(); - }; + void set_to_value(); + }; /** * DynValue objects support the manipulation of IDL non-boxed value types. @@ -1164,14 +1164,14 @@ * of the boxed type. A DynValueBox representing a null value type has no components * and a current position of -1. */ - interface DynValueBox : DynValueCommon { + interface DynValueBox : DynValueCommon { /** * Returns the boxed value as an Any. * * @exception InvalidValue if this object represents a null value box type */ - any get_boxed_value() + any get_boxed_value() raises(InvalidValue); /** @@ -1189,7 +1189,7 @@ * * @exception InvalidValue if this object represents a null value box type */ - DynAny get_boxed_value_as_dyn_any() + DynAny get_boxed_value_as_dyn_any() raises(InvalidValue); /** @@ -1199,7 +1199,7 @@ * @exception TypeMismatch if this object represents a non-null value box type and the type * of the parameter is not matching the current boxed value type. */ - void set_boxed_value_as_dyn_any(in DynAny boxed) + void set_boxed_value_as_dyn_any(in DynAny boxed) raises(TypeMismatch); }; diff -r 510a9a867e27 -r 898f519b6138 hotspot/.hgtags --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/.hgtags Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +a61af66fc99eb5ec9d50c05b0c599757b1289ceb jdk7-b24 diff -r 510a9a867e27 -r 898f519b6138 hotspot/.jcheck/conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/.jcheck/conf Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +project=jdk7 diff -r 510a9a867e27 -r 898f519b6138 jdk/.hgtags --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/.hgtags Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +37a05a11f281b4d238e2f9e7ebb67c63f64d0e77 jdk7-b24 diff -r 510a9a867e27 -r 898f519b6138 jdk/.jcheck/conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/.jcheck/conf Wed Jul 05 16:34:23 2017 +0200 @@ -0,0 +1,1 @@ +project=jdk7 diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/Defs-linux.gmk --- a/jdk/make/common/Defs-linux.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/Defs-linux.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -50,13 +50,13 @@ CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' ifndef PLATFORM_SRC - PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris + PLATFORM_SRC = $(BUILDDIR)/../src/solaris endif # PLATFORM_SRC # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC - CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris + CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris endif endif diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/Defs-solaris.gmk --- a/jdk/make/common/Defs-solaris.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/Defs-solaris.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -45,13 +45,13 @@ include $(JDK_MAKE_SHARED_DIR)/Defs.gmk ifndef PLATFORM_SRC -PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris +PLATFORM_SRC = $(BUILDDIR)/../src/solaris endif # PLATFORM_SRC # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC - CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris + CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris endif endif diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/Defs-windows.gmk --- a/jdk/make/common/Defs-windows.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/Defs-windows.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -51,13 +51,13 @@ endif # LIB_LOCATION ifndef PLATFORM_SRC - PLATFORM_SRC = $(JDK_TOPDIR)/src/windows + PLATFORM_SRC = $(BUILDDIR)/../src/windows endif # PLATFORM_SRC # Platform specific closed sources ifndef OPENJDK ifndef CLOSED_PLATFORM_SRC - CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/windows + CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/windows endif endif @@ -367,7 +367,7 @@ endif # Settings for the VERSIONINFO tap on windows. -VERSIONINFO_RESOURCE = $(JDK_TOPDIR)/src/windows/resource/version.rc +VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc ifneq ($(JDK_BUILD_NUMBER),) COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//') diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/Defs.gmk --- a/jdk/make/common/Defs.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/Defs.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -32,6 +32,13 @@ # So when it includes other files, it must use JDK_TOPDIR. # +# Check for strange explicit settings (change to empty or true) +ifdef OPENJDK + ifneq ($(OPENJDK),true) + x:=$(error "OPENJDK (if defined) can only be set to true") + endif +endif + # # On Solaris, the 'make' utility from Sun will not work with these makefiles. # This little rule is only understood by Sun's make, and is harmless @@ -41,7 +48,15 @@ SUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 ifndef JDK_TOPDIR - JDK_TOPDIR=$(BUILDDIR)/.. + ifdef BUILDDIR + JDK_TOPDIR=$(BUILDDIR)/.. + else + JDK_TOPDIR:=$(error "ERROR: Cannot define top of jdk repository") + endif +endif +ifndef BUILDDIR + # Hack, due to deploy repository using this file. + BUILDDIR=$(JDK_TOPDIR)/make endif ifndef JDK_MAKE_SHARED_DIR JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared @@ -59,13 +74,13 @@ # there yet. # ifndef SHARE_SRC - SHARE_SRC = $(JDK_TOPDIR)/src/share + SHARE_SRC = $(BUILDDIR)/../src/share endif # Files that cannot be included in the OpenJDK distribution are # collected under a parent directory which contains just those files. ifndef CLOSED_SRC - CLOSED_SRC = $(JDK_TOPDIR)/src/closed + CLOSED_SRC = $(BUILDDIR)/../src/closed endif # If we have no closed directory, force it to an openjdk build @@ -79,19 +94,6 @@ OPENJDK = true endif -# Check for strange explicit settings (change to empty or true) -ifdef OPENJDK - ifeq ($(OPENJDK),false) - # Silently treat as not defined - OPENJDK = - else - ifneq ($(OPENJDK),true) - dummy := $(warning "WARNING: OPENKJDK=$(OPENJDK) being treated as true") - OPENJDK = true - endif - endif -endif - # Define where closed directories are ifdef OPENJDK CLOSED_SRC = @@ -170,14 +172,6 @@ endif endif # OPENJDK -# Default output directory -ifdef OPENJDK -_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX) -else -_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH) -endif - - # # Get platform definitions # diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/shared/Defs-control.gmk --- a/jdk/make/common/shared/Defs-control.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/shared/Defs-control.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -36,7 +36,7 @@ endif ifndef CONTROL_TOPDIR - CONTROL_TOPDIR=$(TOPDIR)/control + CONTROL_TOPDIR=$(TOPDIR) endif ifndef HOTSPOT_TOPDIR HOTSPOT_TOPDIR=$(TOPDIR)/hotspot @@ -70,7 +70,8 @@ include $(JDK_MAKE_SHARED_DIR)/Platform.gmk # Default output directory -_OUTPUTDIR=$(CONTROL_TOPDIR)/build/$(PLATFORM)-$(ARCH) +BUILD_PARENT_DIRECTORY=$(TOPDIR) +_OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH) # Get platform specific settings include $(JDK_MAKE_SHARED_DIR)/Defs.gmk diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/shared/Defs-utils.gmk --- a/jdk/make/common/shared/Defs-utils.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/shared/Defs-utils.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -67,16 +67,6 @@ UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) endif -# Utilities ant and findbugs -ifndef ANT_HOME - ANT_HOME = $(JDK_DEVTOOLS_DIR)/share/ant/latest -endif -ANT = $(ANT_HOME)/bin/ant -ifndef FINDBUGS_HOME - FINDBUGS_HOME = $(JDK_DEVTOOLS_DIR)/share/findbugs/latest -endif -FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs - # Utilities ADB = $(UTILS_COMMAND_PATH)adb AR = $(UTILS_CCS_BIN_PATH)ar diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/shared/Defs.gmk --- a/jdk/make/common/shared/Defs.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/shared/Defs.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -55,7 +55,10 @@ # Simple pwd path define PwdPath -$(shell cd $1 2> $(DEV_NULL) && pwd) +$(shell $(CD) $1 2> $(DEV_NULL) && $(PWD)) +endef +define AbsPwdPathCheck +$(shell $(CD) .. 2> $(DEV_NULL) && $(CD) $1 2> $(DEV_NULL) && $(PWD)) endef # Checks an ALT value for spaces (should be one word), @@ -422,23 +425,54 @@ CACERTS_FILE:=$(call AltCheckValue,CACERTS_FILE) # OUTPUTDIR: Location of all output for the build -_BACKUP_OUTPUTDIR = $(TEMP_DISK)/$(USER)/jdk-outputdir ifdef ALT_OUTPUTDIR - _POSSIBLE_OUTPUTDIR =$(subst \,/,$(ALT_OUTPUTDIR)) + OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR)) + # Assumes this is absolute (checks later) + ABS_OUTPUTDIR:=$(OUTPUTDIR) else ifndef _OUTPUTDIR - _OUTPUTDIR = $(_BACKUP_OUTPUTDIR) + # Default: Get "build" parent directory, which should always exist + ifndef BUILD_PARENT_DIRECTORY + BUILD_PARENT_DIRECTORY=$(BUILDDIR)/.. + endif + ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY)) + ifdef OPENJDK + _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX) + else + _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH) + endif + _OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME) + ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME) endif - _POSSIBLE_OUTPUTDIR =$(_OUTPUTDIR) + OUTPUTDIR:=$(_OUTPUTDIR) endif -_create_outputdir1:=$(shell mkdir -p $(_POSSIBLE_OUTPUTDIR) > $(DEV_NULL) 2>&1) -OUTPUTDIR:=$(call WriteDirExists,$(_POSSIBLE_OUTPUTDIR),$(_BACKUP_OUTPUTDIR)) -_create_outputdir2:=$(shell mkdir -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1) -ifeq "$(OUTPUTDIR)" "$(_BACKUP_OUTPUTDIR)" - _outputdir_warning:=$(warning "WARNING: OUTPUTDIR '$(_POSSIBLE_OUTPUTDIR)' not writable, will use '$(_BACKUP_OUTPUTDIR)'") -endif +# Check for spaces and null value OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR) OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR) +# Create the output directory and make sure it exists and is writable +_create_outputdir:=$(shell $(MKDIR) -p "$(OUTPUTDIR)" > $(DEV_NULL) 2>&1) +ifeq ($(call WriteDirExists,$(OUTPUTDIR),/dev/null),/dev/null) + _outputdir_error:=$(error "ERROR: OUTPUTDIR '$(OUTPUTDIR)' not created or not writable") +endif +# Define absolute path if needed and check for spaces and null value +ifndef ABS_OUTPUTDIR + ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR)) +endif +ABS_OUTPUTDIR:=$(call AltCheckSpaces,ABS_OUTPUTDIR) +ABS_OUTPUTDIR:=$(call AltCheckValue,ABS_OUTPUTDIR) +# Make doubly sure this is a full path +ifeq ($(call AbsPwdPathCheck,$(ABS_OUTPUTDIR)), ) + ifdef ALT_OUTPUTDIR + _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)', was ALT_OUTPUTDIR '$(ALT_OUTPUTDIR)' an absolute path?") + else + _outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)'") + endif +endif +_dir1:=$(call FullPath,$(ABS_OUTPUTDIR)) +_dir2:=$(call FullPath,$(OUTPUTDIR)) +ifneq ($(_dir1),$(_dir2)) + _outputdir_error:=$(error "ERROR: ABS_OUTPUTDIR '$(ABS_OUTPUTDIR)' is not the same directory as OUTPUTDIR '$(OUTPUTDIR)', '$(_dir1)'!='$(_dir2)'") +endif # Bin directory # NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64 @@ -469,15 +503,30 @@ endif endif +# Utilities ant and findbugs +ifeq ($(ANT_HOME),) + ANT_HOME := $(call DirExists,/usr/share/ant,$(JDK_DEVTOOLS_DIR)/share/ant/latest,) +endif +ifeq ($(ANT_HOME),) + ANT = ant +else + ANT = $(ANT_HOME)/bin/ant +endif +ifeq ($(FINDBUGS_HOME),) + FINDBUGS_HOME := $(call DirExists,/usr/share/findbugs,$(JDK_DEVTOOLS_DIR)/share/findbugs/latest,) +endif +ifeq ($(FINDBUGS_HOME),) + FINDBUGS = findbugs +else + FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs +endif + ifdef ALT_COPYRIGHT_YEAR COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR) else COPYRIGHT_YEAR = $(shell $(DATE) '+%Y') endif -# Absolute path to output directory -ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR)) - # Get shared compiler settings include $(JDK_MAKE_SHARED_DIR)/Compiler.gmk diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/shared/Platform.gmk --- a/jdk/make/common/shared/Platform.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/shared/Platform.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -93,20 +93,18 @@ # Normal boot jdk is previous release, but a hard requirement is a 1.5 boot REQUIRED_BOOT_VER = 1.5 -#This is specific to OpenJDK build -ifdef OPENJDK - REQUIRED_FREETYPE_VERSION=2.3.0 -endif +# If we are using freetype, this is the required version +REQUIRED_FREETYPE_VERSION=2.3.0 # # Prune out all known SCM (Source Code Management) directories # so they will not be included when copying directory trees # or packaging up .jar files, etc. This applies to all workspaces. # -SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files +SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files .hgignore .hgtags # When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune: -SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files" -SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files \) -prune +SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags" +SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags \) -prune # Don't define this unless it's not defined ifndef VARIANT @@ -272,7 +270,7 @@ REQUIRED_ALSA_VERSION = ^((0[.]9[.][1-9])|(1[.]0[.][0-9]))[0-9]* endif # How much RAM does this machine have: - MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2) + MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' ) endif # Windows with and without CYGWIN will be slightly different @@ -376,45 +374,35 @@ REQUIRED_DXSDK_VER = 0x0700 OS_VENDOR = Microsoft # How much RAM does this machine have: - MB_OF_MEMORY := $(shell \ - if [ -f "C:/cygwin/bin/free.exe" ] ; then \ - ( C:/cygwin/bin/bash.exe -c "C:/cygwin/bin/free.exe -m" ) | \ - grep Mem: | \ - sed -e 's@\ \ *@ @g' | cut -d' ' -f2 ; \ - else \ - echo "512"; \ - fi) -endif - -# Machines with 512Mb or less of real memory are considered low memory -# build machines and adjustments will be made to prevent excessing -# system swapping during the build. -# If we don't know, assume 512. Subtract 128 from MB for VM MAX. -# Don't set VM max over 1024-128=896. -ifneq ($(MB_OF_MEMORY),) - LOW_MEMORY_MACHINE := $(shell \ - if [ $(MB_OF_MEMORY) -le 512 ] ; then \ - echo "true"; \ - else \ - echo "false"; \ - fi) - MAX_VM_MEMORY := $(shell \ - if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ - expr $(MB_OF_MEMORY) '-' 128 ; \ - else \ - echo "896"; \ - fi) - MIN_VM_MEMORY := $(shell \ - if [ $(MAX_VM_MEMORY) -le 128 ] ; then \ - expr $(MAX_VM_MEMORY) '-' 8 ; \ - else \ - echo "128"; \ - fi) -else - MB_OF_MEMORY := unknown - LOW_MEMORY_MACHINE := true - MAX_VM_MEMORY := 384 - MIN_VM_MEMORY := 128 + ifeq ($(USING_CYGWIN),true) + # CYGWIN has the 'free' utility + _MB_OF_MEMORY := \ + $(shell free -m | grep Mem: | awk '{print $$2;}' ) + else + # Windows 2000 has the mem utility, but two memory areas + # extended memory is what is beyond 1024M + _B_OF_EXT_MEMORY := \ + $(shell mem 2> $(DEV_NULL) | grep 'total contiguous extended memory' | awk '{print $$1;}') + ifeq ($(_B_OF_EXT_MEMORY),) + _B_OF_MEMORY := \ + $(shell mem 2> $(DEV_NULL) | grep 'total conventional memory' | awk '{print $$1;}') + else + _B_OF_MEMORY := \ + $(shell expr 1048576 '+' $(_B_OF_EXT_MEMORY) 2> $(DEV_NULL)) + endif + ifeq ($(_B_OF_MEMORY),) + # Windows 2003 has the systeminfo utility use it if mem doesn't work + _MB_OF_MEMORY := \ + $(shell systeminfo 2> $(DEV_NULL) | grep 'Total Physical Memory:' | awk '{print $$4;}' | sed -e 's@,@@') + else + _MB_OF_MEMORY := $(shell expr $(_B_OF_MEMORY) '/' 1024 2> $(DEV_NULL)) + endif + endif + ifeq ($(shell expr $(_MB_OF_MEMORY) '+' 0 2> $(DEV_NULL)), $(_MB_OF_MEMORY)) + MB_OF_MEMORY := $(_MB_OF_MEMORY) + else + MB_OF_MEMORY := 512 + endif endif REQUIRED_ZIP_VER = 2.2 @@ -454,6 +442,37 @@ ARCH_VM_SUBDIR=jre/lib/$(LIBARCH) endif +# Machines with 512Mb or less of real memory are considered low memory +# build machines and adjustments will be made to prevent excessing +# system swapping during the build. +# If we don't know, assume 512. Subtract 128 from MB for VM MAX. +# Don't set VM max over 1024-128=896. +ifneq ($(MB_OF_MEMORY),) + LOW_MEMORY_MACHINE := $(shell \ + if [ $(MB_OF_MEMORY) -le 512 ] ; then \ + echo "true"; \ + else \ + echo "false"; \ + fi) + MAX_VM_MEMORY := $(shell \ + if [ $(MB_OF_MEMORY) -le 1024 ] ; then \ + expr $(MB_OF_MEMORY) '-' 128 2> $(DEV_NULL) ; \ + else \ + echo "896"; \ + fi) + MIN_VM_MEMORY := $(shell \ + if [ $(MAX_VM_MEMORY) -le 128 ] ; then \ + expr $(MAX_VM_MEMORY) '-' 8 2> $(DEV_NULL) ; \ + else \ + echo "128"; \ + fi) +else + MB_OF_MEMORY := unknown + LOW_MEMORY_MACHINE := true + MAX_VM_MEMORY := 384 + MIN_VM_MEMORY := 128 +endif + # If blanks in the username, use the first 4 words and pack them together _USER1:=$(subst ', ,$(_USER)) _USER2:=$(subst ", ,$(_USER1)) diff -r 510a9a867e27 -r 898f519b6138 jdk/make/common/shared/Sanity.gmk --- a/jdk/make/common/shared/Sanity.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/common/shared/Sanity.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -105,13 +105,21 @@ UNZIP_VER :=$(call GetVersion,"$(_UNZIP_VER)") BOOT_VER :=$(call GetVersion,"$(_BOOT_VER)") -REQUIRED_ANT_VER := 1.6.3 -_ANT_VER :=$(shell $(ANT) -version 2>&1 ) -ANT_VER :=$(call GetVersion,"$(_ANT_VER)") +REQUIRED_ANT_VER := 1.6.3 +ifeq ($(ANT_HOME),) + _ANT_VER:=$(shell JAVACMD="$(BOOTDIR)/bin/java" $(ANT) -version 2>&1 ) +else + _ANT_VER:=$(shell JAVACMD="$(BOOTDIR)/bin/java" ANT_HOME="$(ANT_HOME)" $(ANT) -version 2>&1 ) +endif +ANT_VER:=$(call GetVersion,"$(_ANT_VER)") -REQUIRED_FINDBUGS_VER := 1.1 -_FINDBUGS_VER :=$(shell $(FINDBUGS) -version 2>&1 ) -FINDBUGS_VER :=$(call GetVersion,"$(_FINDBUGS_VER)") +REQUIRED_FINDBUGS_VER := 1.2 +ifeq ($(FINDBUGS_HOME),) + _FINDBUGS_VER:=$(shell $(FINDBUGS) -javahome "$(BOOTDIR)" -textui -version 2>&1 ) +else + _FINDBUGS_VER:=$(shell FINDBUGS_HOME="$(FINDBUGS_HOME)" $(FINDBUGS) -javahome "$(BOOTDIR)" -textui -version 2>&1 ) +endif +FINDBUGS_VER:=$(call GetVersion,"$(_FINDBUGS_VER)") ifdef ALT_BINDIR ALT_BINDIR_VERSION := $(shell $(ALT_BINDIR)/java$(EXE_SUFFIX) -version 2>&1 | $(NAWK) -F'"' '{ print $$2 }') @@ -1564,31 +1572,31 @@ endif -###################################################### -# SECURITY_BASELINE_142 test -###################################################### -security_baseline_142: -ifeq ($(PLATFORM), windows) - @if [ -z "$(SECURITY_BASELINE_142)" ]; then \ - $(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \ - " Setting it to the default value of 1.4.2_10.\n" \ - " It is recommended to set SECURITY_BASELINE_142.\n" \ - "" >> $(WARNING_FILE) ; \ - fi -endif - -###################################################### -# SECURITY_BASELINE_150 test -###################################################### -security_baseline_150: -ifeq ($(PLATFORM), windows) - @if [ -z "$(SECURITY_BASELINE_150)" ]; then \ - $(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \ - " Setting it to the default value of 1.5.0_07.\n" \ - " It is recommended to set SECURITY_BASELINE_150.\n" \ - "" >> $(WARNING_FILE) ; \ - fi -endif +###################################################### +# SECURITY_BASELINE_142 test +###################################################### +security_baseline_142: +ifeq ($(PLATFORM), windows) + @if [ -z "$(SECURITY_BASELINE_142)" ]; then \ + $(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \ + " Setting it to the default value of 1.4.2_10.\n" \ + " It is recommended to set SECURITY_BASELINE_142.\n" \ + "" >> $(WARNING_FILE) ; \ + fi +endif + +###################################################### +# SECURITY_BASELINE_150 test +###################################################### +security_baseline_150: +ifeq ($(PLATFORM), windows) + @if [ -z "$(SECURITY_BASELINE_150)" ]; then \ + $(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \ + " Setting it to the default value of 1.5.0_07.\n" \ + " It is recommended to set SECURITY_BASELINE_150.\n" \ + "" >> $(WARNING_FILE) ; \ + fi +endif ###################################################### diff -r 510a9a867e27 -r 898f519b6138 jdk/make/docs/CORE_PKGS.gmk --- a/jdk/make/docs/CORE_PKGS.gmk Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/docs/CORE_PKGS.gmk Wed Jul 05 16:34:23 2017 +0200 @@ -49,8 +49,8 @@ # ACTIVE_JSR_PKGS are packages that are part of an active JSR process-- # one that is doing its own review. These packages are not included when # creating diff pages for the platform's JCP process. -# -# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs) +# +# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs) # Note: # This is a list of regular expressions. So foo.* matches "foo" and "foo.bar". # @@ -72,13 +72,13 @@ # CORE_PKGS is the list of packages that form the # Java API Specification. # -### ***IMPORTANT NOTE*** -### There is also a "REGEXP" variable in the docs/makefile that -### determines which table the packages go in on the main page. -### Currently, there is only table ("Platform Packages") and -### everything goes in it, so REGEXP is "*". But if that policy -### changes, packages added will need to be reflected in that -### list of wildcard expressions, as well. +### ***IMPORTANT NOTE*** +### There is also a "REGEXP" variable in the docs/makefile that +### determines which table the packages go in on the main page. +### Currently, there is only table ("Platform Packages") and +### everything goes in it, so REGEXP is "*". But if that policy +### changes, packages added will need to be reflected in that +### list of wildcard expressions, as well. ### CORE_PKGS = \ java.applet \ diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/java/mapfile-vers --- a/jdk/make/java/java/mapfile-vers Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/java/mapfile-vers Wed Jul 05 16:34:23 2017 +0200 @@ -85,7 +85,6 @@ Java_java_io_FileOutputStream_close0; Java_java_io_FileOutputStream_initIDs; Java_java_io_FileOutputStream_open; - Java_java_io_FileOutputStream_openAppend; Java_java_io_FileOutputStream_write; Java_java_io_FileOutputStream_writeBytes; Java_java_io_FileSystem_getFileSystem; diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/jli/Makefile --- a/jdk/make/java/jli/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/jli/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -107,6 +107,7 @@ ifeq ($(PLATFORM), windows) EXTRA_LIBS = advapi32.lib \ + comctl32.lib \ user32.lib JAVALIB = diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/main/java/Makefile --- a/jdk/make/java/main/java/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/main/java/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -43,7 +43,7 @@ # Override the default version info with our own resource file (see 5106536) ifeq ($(PLATFORM), windows) -LDLIBS_COMMON += user32.lib +LDLIBS_COMMON += user32.lib comctl32.lib ifdef OPENJDK RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons" else diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/main/javaw/Makefile --- a/jdk/make/java/main/javaw/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/main/javaw/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -46,7 +46,7 @@ include $(BUILDDIR)/common/Defs.gmk OTHER_CPPFLAGS += -DJAVAW -LDLIBS_COMMON += user32.lib +LDLIBS_COMMON += user32.lib comctl32.lib # Override the default version info with our own resource file (see 5106536) ifeq ($(PLATFORM), windows) diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/nio/Makefile --- a/jdk/make/java/nio/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/nio/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -191,7 +191,7 @@ GEN_BUFFER_SH = genBuffer.sh -GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK=$(NAWK) SED=$(SED) \ +GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK=$(NAWK) SED=$(SED) SH=$(SH) \ $(SH) $(GEN_BUFFER_SH) # Public abstract buffer classes @@ -582,7 +582,7 @@ GEN_CODER_SH = genCoder.sh -GEN_CODER_CMD = SPP="$(SPP_CMD)" SED=$(SED) NAWK=$(NAWK) $(SH) $(GEN_CODER_SH) +GEN_CODER_CMD = SPP="$(SPP_CMD)" SED=$(SED) NAWK=$(NAWK) SH=$(SH) $(SH) $(GEN_CODER_SH) $(CS_GEN)/CharsetDecoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH) $(prep-target) @@ -602,7 +602,7 @@ GEN_EX_SH = genExceptions.sh -GEN_EX_CMD = NAWK=$(NAWK) $(SHELL) $(GEN_EX_SH) +GEN_EX_CMD = NAWK=$(NAWK) SH=$(SH) $(SH) $(GEN_EX_SH) $(CH_GEN)/%Exception.java: genExceptions.sh $(CH_SRC)/exceptions $(prep-target) @@ -635,8 +635,8 @@ $(HASHER_JARFILE) $(SCS_SRC)/standard-charsets $(prep-target) @$(RM) $@.temp - NAWK=$(NAWK) TEMPDIR=$(TEMPDIR) \ + NAWK=$(NAWK) TEMPDIR=$(TEMPDIR) SH=$(SH) \ HASHER="$(BOOT_JAVA_CMD) -jar $(HASHER_JARFILE)" \ - $(SHELL) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN) + $(SH) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN) .PHONY: sources diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/nio/genCharsetProvider.sh --- a/jdk/make/java/nio/genCharsetProvider.sh Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/nio/genCharsetProvider.sh Wed Jul 05 16:34:23 2017 +0200 @@ -48,7 +48,7 @@ # Header # -$SHELL addNotices.sh "$COPYRIGHT_YEARS" > $OUT +$SH ./addNotices.sh "$COPYRIGHT_YEARS" > $OUT cat <<__END__ >>$OUT diff -r 510a9a867e27 -r 898f519b6138 jdk/make/java/nio/genExceptions.sh --- a/jdk/make/java/nio/genExceptions.sh Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/java/nio/genExceptions.sh Wed Jul 05 16:34:23 2017 +0200 @@ -41,7 +41,7 @@ echo '-->' $DST/$ID.java out=$DST/${ID}.java - $SHELL addNotices.sh "$COPYRIGHT_YEARS" > $out + $SH ./addNotices.sh "$COPYRIGHT_YEARS" > $out cat >>$out <<__END__ diff -r 510a9a867e27 -r 898f519b6138 jdk/make/sun/splashscreen/Makefile --- a/jdk/make/sun/splashscreen/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/sun/splashscreen/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -85,3 +85,13 @@ CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 +ifeq ($(PLATFORM), linux) + ifeq ($(ARCH_DATA_MODEL), 64) + # 64-bit gcc has problems compiling MMX instructions. + # Google it for more details. Possibly the newer versions of + # the PNG-library and/or the new compiler will not need this + # option in the future. + CPPFLAGS += -DPNG_NO_MMX_CODE + endif +endif + diff -r 510a9a867e27 -r 898f519b6138 jdk/make/sun/xawt/Makefile --- a/jdk/make/sun/xawt/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/sun/xawt/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2002-2008 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -246,7 +246,7 @@ @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \ $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \ $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \ - fi + fi $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES) $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \ @@ -256,10 +256,11 @@ $(MKDIR) -p $(TEMPDIR) $(TOUCH) $(TEMPDIR)/.gen.wrappers -generated.clean: +generated.clean: $(RM) -r $(WRAPPER_GENERATOR_TEMPDIR) $(RM) -r $(WRAPPER_GENERATOR_DIR) $(RM) -r $(GEN_DIR)/*.java + $(RM) -r $(TEMPDIR)/.gen_icons ifdef OPENJDK ICONS_PATH_PREFIX=$(PLATFORM_SRC) diff -r 510a9a867e27 -r 898f519b6138 jdk/make/tools/freetypecheck/Makefile --- a/jdk/make/tools/freetypecheck/Makefile Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/tools/freetypecheck/Makefile Wed Jul 05 16:34:23 2017 +0200 @@ -38,7 +38,14 @@ all: $(FT_TEST_PATH) -FT_OPTIONS = -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2 +# Start with CFLAGS (which gets us the required -xarch setting on solaris) +ifeq ($(PLATFORM), windows) + FT_OPTIONS = +else + FT_OPTIONS = $(CFLAGS) +endif + +FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2 FT_OPTIONS += $(XARCH) #add runtime library search path diff -r 510a9a867e27 -r 898f519b6138 jdk/make/tools/freetypecheck/freetypecheck.c --- a/jdk/make/tools/freetypecheck/freetypecheck.c Tue Mar 04 10:58:04 2008 -0800 +++ b/jdk/make/tools/freetypecheck/freetypecheck.c Wed Jul 05 16:34:23 2017 +0200 @@ -26,13 +26,16 @@ /* Test program for freetype sanity check. Prints "Failed" messages to STDOUT if check fails. */ +#include- The source code for the - OpenJDK is - delivered in 3 sibling directories: + The source code for the OpenJDK is delivered in a set of + directories: hotspot, langtools, corba, jaxws, jaxp, - jdk and + jdk. The hotspot directory contains the source code and make - files for - building the - OpenJDK - Hotspot Virtual Machine. - The jdk - directory contains the source code and make files for - building the - OpenJDK - runtime libraries, tools and demos. - The top level Makefile is used to build the complete OpenJDK - release including building the hotspot - VM, staging the VM binaries, and building the - OpenJDK - runtime libraries, - tools and demos. + files for building the OpenJDK Hotspot Virtual Machine. + The langtools directory contains the source code and make + files for building the OpenJDK javac and language tools. + The corba directory contains the source code and make + files for building the OpenJDK Corba files. + The jaxws directory contains the source code and make + files for building the OpenJDK JAXWS files. + The jaxp directory contains the source code and make + files for building the OpenJDK JAXP files. + The jdk directory contains the source code and make files for + building the OpenJDK runtime libraries and misc files. + The top level Makefile + is used to build the entire OpenJDK.
List
of the stack frames.
*/
- List getStack() throws IncompatibleThreadStateException {
+ List
+ * The MouseWheelEvent
class includes methods for
+ * getting the number of "clicks" by which the mouse wheel is rotated.
+ * The {@link #getWheelRotation} method returns the integer number
+ * of "clicks" corresponding to the number of notches by which the wheel was
+ * rotated. In addition to this method, the MouseWheelEvent
+ * class provides the {@link #getPreciseWheelRotation} method which returns
+ * a double number of "clicks" in case a partial rotation occurred.
+ * The {@link #getPreciseWheelRotation} method is useful if a mouse supports
+ * a high-resolution wheel, such as a freely rotating wheel with no
+ * notches. Applications can benefit by using this method to process
+ * mouse wheel events more precisely, and thus, making visual perception
+ * smoother.
*
* @author Brent Christian
* @see MouseWheelListener
@@ -131,6 +144,13 @@
*/
int wheelRotation;
+ /**
+ * Indicates how far the mouse wheel was rotated.
+ *
+ * @see #getPreciseWheelRotation
+ */
+ double preciseWheelRotation;
+
/*
* serialVersionUID
*/
@@ -165,8 +185,8 @@
* WHEEL_BLOCK_SCROLL
* @param scrollAmount for scrollType WHEEL_UNIT_SCROLL
,
* the number of units to be scrolled
- * @param wheelRotation the amount that the mouse wheel was rotated (the
- * number of "clicks")
+ * @param wheelRotation the integer number of "clicks" by which the mouse
+ * wheel was rotated
*
* @throws IllegalArgumentException if source
is null
* @see MouseEvent#MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
@@ -211,8 +231,8 @@
* WHEEL_BLOCK_SCROLL
* @param scrollAmount for scrollType WHEEL_UNIT_SCROLL
,
* the number of units to be scrolled
- * @param wheelRotation the amount that the mouse wheel was rotated (the
- * number of "clicks")
+ * @param wheelRotation the integer number of "clicks" by which the mouse
+ * wheel was rotated
*
* @throws IllegalArgumentException if source
is null
* @see MouseEvent#MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
@@ -223,12 +243,68 @@
int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger,
int scrollType, int scrollAmount, int wheelRotation) {
+ this(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger,
+ scrollType, scrollAmount, wheelRotation, wheelRotation);
+
+ }
+
+
+ /**
+ * Constructs a MouseWheelEvent
object with the specified
+ * source component, type, modifiers, coordinates, absolute coordinates,
+ * scroll type, scroll amount, and wheel rotation.
+ *
Note that passing in an invalid id
parameter results
+ * in unspecified behavior. This method throws an
+ * IllegalArgumentException
if source
equals
+ * null
.
+ *
Even if inconsistent values for relative and absolute coordinates
+ * are passed to the constructor, a
* This constructor does not throw an exception if
@@ -100,8 +96,8 @@
}
/**
- * Creates an output file stream to write to the file with the specified
- *
@@ -223,7 +214,7 @@
* is thrown.
*
* This constructor does not throw an exception if MouseWheelEvent
instance
+ * is still created and no exception is thrown.
+ *
+ * @param source the Component
that originated the event
+ * @param id the integer value that identifies the event
+ * @param when a long value that gives the time when the event occurred
+ * @param modifiers the modifier keys down during event
+ * (shift, ctrl, alt, meta)
+ * @param x the horizontal x
coordinate for the
+ * mouse location
+ * @param y the vertical y
coordinate for the
+ * mouse location
+ * @param xAbs the absolute horizontal x
coordinate for
+ * the mouse location
+ * @param yAbs the absolute vertical y
coordinate for
+ * the mouse location
+ * @param clickCount the number of mouse clicks associated with the event
+ * @param popupTrigger a boolean value, true
if this event is a trigger
+ * for a popup-menu
+ * @param scrollType the type of scrolling which should take place in
+ * response to this event; valid values are
+ * WHEEL_UNIT_SCROLL
and
+ * WHEEL_BLOCK_SCROLL
+ * @param scrollAmount for scrollType WHEEL_UNIT_SCROLL
,
+ * the number of units to be scrolled
+ * @param wheelRotation the integer number of "clicks" by which the mouse wheel
+ * was rotated
+ * @param preciseWheelRotation the double number of "clicks" by which the mouse wheel
+ * was rotated
+ *
+ * @throws IllegalArgumentException if source
is null
+ * @see MouseEvent#MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
+ * @see MouseEvent#MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)
+ * @since 1.7
+ */
+ public MouseWheelEvent (Component source, int id, long when, int modifiers,
+ int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger,
+ int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation) {
+
super(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount,
popupTrigger, MouseEvent.NOBUTTON);
this.scrollType = scrollType;
this.scrollAmount = scrollAmount;
this.wheelRotation = wheelRotation;
+ this.preciseWheelRotation = preciseWheelRotation;
+
}
/**
@@ -267,17 +343,35 @@
}
/**
- * Returns the number of "clicks" the mouse wheel was rotated.
+ * Returns the number of "clicks" the mouse wheel was rotated, as an integer.
+ * A partial rotation may occur if the mouse supports a high-resolution wheel.
+ * In this case, the method returns zero until a full "click" has been accumulated.
*
* @return negative values if the mouse wheel was rotated up/away from
* the user, and positive values if the mouse wheel was rotated down/
* towards the user
+ * @see #getPreciseWheelRotation
*/
public int getWheelRotation() {
return wheelRotation;
}
/**
+ * Returns the number of "clicks" the mouse wheel was rotated, as a double.
+ * A partial rotation may occur if the mouse supports a high-resolution wheel.
+ * In this case, the return value will include a fractional "click".
+ *
+ * @return negative values if the mouse wheel was rotated up or away from
+ * the user, and positive values if the mouse wheel was rotated down or
+ * towards the user
+ * @see #getWheelRotation
+ * @since 1.7
+ */
+ public double getPreciseWheelRotation() {
+ return preciseWheelRotation;
+ }
+
+ /**
* This is a convenience method to aid in the implementation of
* the common-case MouseWheelListener - to scroll a ScrollPane or
* JScrollPane by an amount which conforms to the platform settings.
@@ -348,6 +442,6 @@
}
return super.paramString()+",scrollType="+scrollTypeStr+
",scrollAmount="+getScrollAmount()+",wheelRotation="+
- getWheelRotation();
+ getWheelRotation()+",preciseWheelRotation="+getPreciseWheelRotation();
}
}
diff -r 510a9a867e27 -r 898f519b6138 jdk/src/share/classes/java/io/FileInputStream.java
--- a/jdk/src/share/classes/java/io/FileInputStream.java Tue Mar 04 10:58:04 2008 -0800
+++ b/jdk/src/share/classes/java/io/FileInputStream.java Wed Jul 05 16:34:23 2017 +0200
@@ -48,15 +48,15 @@
class FileInputStream extends InputStream
{
/* File Descriptor - handle to the open file */
- private FileDescriptor fd;
+ private final FileDescriptor fd;
private FileChannel channel = null;
- private Object closeLock = new Object();
+ private final Object closeLock = new Object();
private volatile boolean closed = false;
- private static ThreadLocalfdObj
- * is {link java.io.FileDescriptor#valid() invalid}.
+ * is {@link java.io.FileDescriptor#valid() invalid}.
* However, if the methods are invoked on the resulting stream to attempt
* I/O on the stream, an IOException
is thrown.
*
@@ -389,7 +389,7 @@
* @see java.io.FileInputStream#close()
*/
protected void finalize() throws IOException {
- if ((fd != null) && (fd != fd.in)) {
+ if ((fd != null) && (fd != FileDescriptor.in)) {
/*
* Finalizer should not release the FileDescriptor if another
diff -r 510a9a867e27 -r 898f519b6138 jdk/src/share/classes/java/io/FileOutputStream.java
--- a/jdk/src/share/classes/java/io/FileOutputStream.java Tue Mar 04 10:58:04 2008 -0800
+++ b/jdk/src/share/classes/java/io/FileOutputStream.java Wed Jul 05 16:34:23 2017 +0200
@@ -52,20 +52,16 @@
class FileOutputStream extends OutputStream
{
/**
- * The system dependent file descriptor. The value is
- * 1 more than actual file descriptor. This means that
- * the default value 0 indicates that the file is not open.
+ * The system dependent file descriptor.
*/
- private FileDescriptor fd;
+ private final FileDescriptor fd;
private FileChannel channel= null;
- private boolean append = false;
-
- private Object closeLock = new Object();
+ private final Object closeLock = new Object();
private volatile boolean closed = false;
- private static ThreadLocalFileDescriptor
object is
* created to represent this file connection.
* name
. If the second argument is true
, then
+ * Creates a file output stream to write to the file with the specified
+ * name. If the second argument is true
, then
* bytes will be written to the end of the file rather than the beginning.
* A new FileDescriptor
object is created to represent this
* file connection.
@@ -202,16 +198,11 @@
}
fd = new FileDescriptor();
fd.incrementAndGetUseCount();
- this.append = append;
- if (append) {
- openAppend(name);
- } else {
- open(name);
- }
+ open(name, append);
}
/**
- * Creates an output file stream to write to the specified file
+ * Creates a file output stream to write to the specified file
* descriptor, which represents an existing connection to an actual
* file in the file system.
* fdObj
- * is {link java.io.FileDescriptor#valid() invalid}.
+ * is {@link java.io.FileDescriptor#valid() invalid}.
* However, if the methods are invoked on the resulting stream to attempt
* I/O on the stream, an IOException
is thrown.
*
@@ -252,16 +243,12 @@
}
/**
- * Opens a file, with the specified name, for writing.
+ * Opens a file, with the specified name, for overwriting or appending.
* @param name name of file to be opened
+ * @param append whether the file is to be opened in append mode
*/
- private native void open(String name) throws FileNotFoundException;
-
- /**
- * Opens a file, with the specified name, for appending.
- * @param name name of file to be opened
- */
- private native void openAppend(String name) throws FileNotFoundException;
+ private native void open(String name, boolean append)
+ throws FileNotFoundException;
/**
* Writes the specified byte to this file output stream. Implements
@@ -385,7 +372,7 @@
public FileChannel getChannel() {
synchronized (this) {
if (channel == null) {
- channel = FileChannelImpl.open(fd, false, true, this, append);
+ channel = FileChannelImpl.open(fd, false, true, this);
/*
* Increment fd's use count. Invoking the channel's close()
@@ -408,7 +395,7 @@
*/
protected void finalize() throws IOException {
if (fd != null) {
- if (fd == fd.out || fd == fd.err) {
+ if (fd == FileDescriptor.out || fd == FileDescriptor.err) {
flush();
} else {
diff -r 510a9a867e27 -r 898f519b6138 jdk/src/share/classes/java/io/ObjectInputStream.java
--- a/jdk/src/share/classes/java/io/ObjectInputStream.java Tue Mar 04 10:58:04 2008 -0800
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java Wed Jul 05 16:34:23 2017 +0200
@@ -212,7 +212,8 @@
private static final Object unsharedMarker = new Object();
/** table mapping primitive type names to corresponding class objects */
- private static final HashMap primClasses = new HashMap(8, 1.0F);
+ private static final HashMap