--- a/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
0d625373c69e2ad6f546fd88ab50c6c9aad01271 jdk8-b70
a41ada2ed4ef735449531c6ebe6cec593d890a1c jdk8-b71
6725b3961f987cf40f446d1c11cd324a3bec545f jdk8-b72
+fe94b40ffd9390f6cffcdf51c0389b0e6dde0c13 jdk8-b73
--- a/.hgtags-top-repo Fri Jan 18 14:15:51 2013 +0100
+++ b/.hgtags-top-repo Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
105a25ffa4a4f0af70188d4371b4a0385009b7ce jdk8-b70
51ad2a34342055333eb5f36e2fb514b027895708 jdk8-b71
c1be681d80a1f1c848dc671d664fccb19e046a12 jdk8-b72
+93b9664f97eeb6f89397a8842318ebacaac9feb9 jdk8-b73
--- a/Makefile Fri Jan 18 14:15:51 2013 +0100
+++ b/Makefile Fri Jan 18 19:13:41 2013 +0100
@@ -26,6 +26,11 @@
# If NEWBUILD is defined, use the new build-infra Makefiles and configure.
# See NewMakefile.gmk for more information.
+# If not specified, select what the default build is
+ifndef NEWBUILD
+ NEWBUILD=true
+endif
+
ifeq ($(NEWBUILD),true)
# The new top level Makefile
--- a/NewMakefile.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/NewMakefile.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -23,273 +23,109 @@
# questions.
#
-# Utilities used in this Makefile
-BASENAME=basename
-CAT=cat
-CD=cd
-CMP=cmp
-CP=cp
-ECHO=echo
-MKDIR=mkdir
-PRINTF=printf
-PWD=pwd
-TAR=tar
-ifeq ($(PLATFORM),windows)
- ZIP=zip
-else
- # store symbolic links as the link
- ZIP=zip -y
-endif
-# Insure we have a path that looks like it came from pwd
-# (This is mostly for Windows sake and drive letters)
-define UnixPath # path
-$(shell (cd "$1" && $(PWD)))
-endef
-
-# Current root directory
-CURRENT_DIRECTORY := $(shell $(PWD))
-
-# Build directory root
-BUILD_DIR_ROOT = $(CURRENT_DIRECTORY)/build
-
-# All configured Makefiles to run
-ALL_MAKEFILES = $(wildcard $(BUILD_DIR_ROOT)/*-*/Makefile)
-
-# All bundles to create
-ALL_IMAGE_DIRS = $(wildcard $(BUILD_DIR_ROOT)/*-*/images/*-image)
+# This must be the first rule
+default:
-# Build all the standard 'all', 'images', and 'clean' targets
-all images clean: checks
- @if [ "$(ALL_MAKEFILES)" = "" ] ; then \
- $(ECHO) "ERROR: No configurations to build"; exit 1; \
- fi
- @for bdir in $(dir $(ALL_MAKEFILES)) ; do \
- $(ECHO) "$(CD) $${bdir} && $(MAKE) $@" ; \
- $(CD) $${bdir} && $(MAKE) $@ ; \
- done
-
-# TBD: Deploy input
-$(BUILD_DIR_ROOT)/.deploy_input:
- @if [ "$(ALL_MAKEFILES)" = "" ] ; then \
- $(ECHO) "ERROR: No configurations to build"; exit 1; \
- fi
- @for bdir in $(dir $(ALL_MAKEFILES)) ; do \
- if [ deploy/make/Makefile ] ; then \
- echo "Attempting deploy build." ; \
- ( \
- $(RM) -r $${bdir}/deploy_input ; \
- $(MKDIR) -p $${bdir}/deploy_input ; \
- ( $(CD) $${bdir}/images && $(TAR) -cf - j2sdk-image j2re-image ) \
- | ( $(CD) $${bdir}/deploy_input && $(TAR) -xf - ) ; \
- ) ; \
- fi; \
- done
- touch $@
-
-# TBD: Deploy images
-deploy: $(BUILD_DIR_ROOT)/.deploy_input
- @if [ "$(ALL_MAKEFILES)" = "" ] ; then \
- $(ECHO) "ERROR: No configurations to build"; exit 1; \
- fi
- @for bdir in $(dir $(ALL_MAKEFILES)) ; do \
- if [ deploy/make/Makefile ] ; then \
- echo "Attempting deploy build." ; \
- ( \
- $(CD) deploy/make && \
- $(MAKE) \
- ABS_OUTPUTDIR=$${bdir}/deploy_input \
- OUTPUTDIR=$${bdir}/deploy_input \
- ) ; \
- fi; \
- done
-
-# TBD: Install bundles
-install:
+# Inclusion of this pseudo-target will cause make to execute this file
+# serially, regardless of -j. Recursively called makefiles will not be
+# affected, however. This is required for correct dependency management.
+.NOTPARALLEL:
-# Bundle creation
-bundles:
- @if [ "$(ALL_IMAGE_DIRS)" = "" ] ; then \
- $(ECHO) "ERROR: No images to bundle"; exit 1; \
- fi
- @for i in $(ALL_IMAGE_DIRS) ; do \
- $(MKDIR) -p $${i}/../../bundles && \
- $(RM) $${i}/../../bundles/`$(BASENAME) $${i}`.zip && \
- $(ECHO) "$(CD) $${i} && $(ZIP) -q -r ../../bundles/`$(BASENAME) $${i}`.zip ." && \
- $(CD) $${i} && $(ZIP) -q -r ../../bundles/`$(BASENAME) $${i}`.zip . ; \
- done
-
-# Clobber all the built files
-clobber::
- $(RM) -r $(BUILD_DIR_ROOT)
-
-# Make various checks to insure the build will be successful
-# Possibilities:
-# * Check that if any closed repo is provided, they all must be.
-# * Check that all open repos exist, at least until we are ready for some
-# kind of partial build.
-checks:
- @$(ECHO) "No checks yet"
-
-# Keep track of user targets
-USER_TARGETS += all deploy install images clean clobber checks
-
-###########################################################################
-# To help in adoption of the new configure&&make build process, a bridge
-# build will use the old settings to run configure and do the build.
-
-# Build with the configure bridge
-bridgeBuild: bridge2configure images
-
-# Bridge from old Makefile ALT settings to configure options
-bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts
- bash ./configure $(strip $(shell $(CAT) $<))
-
-# Create a file with configure options created from old Makefile mechanisms.
-$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest
- $(RM) $@
- $(CP) $< $@
+# The shell code below will be executed on /usr/ccs/bin/make on Solaris, but not in GNU make.
+# /usr/ccs/bin/make lacks basically every other flow control mechanism.
+TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
-# Use this file to only change when obvious things have changed
-$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
- $(RM) $@.tmp
- $(MKDIR) -p $(BUILD_DIR_ROOT)
- @$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
-ifdef ARCH_DATA_MODEL
- @$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
-endif
-ifdef ALT_PARALLEL_COMPILE_JOBS
- @$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
-endif
-ifdef ALT_BOOTDIR
- @$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
-endif
-ifdef ALT_CUPS_HEADERS_PATH
- @$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
-endif
-ifdef ALT_FREETYPE_HEADERS_PATH
- @$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
-endif
- @if [ -f $@ ] ; then \
- if ! $(CMP) $@ $@.tmp > /dev/null ; then \
- $(CP) $@.tmp $@ ; \
- fi ; \
- else \
- $(CP) $@.tmp $@ ; \
- fi
- $(RM) $@.tmp
-
-# Clobber all the built files
-clobber:: bridge2clobber
-bridge2clobber::
- $(RM) $(BUILD_DIR_ROOT)/.bridge2*
- $(RM) $(BUILD_DIR_ROOT)/.deploy_input
-
-# Keep track of phony targets
-PHONY_LIST += bridge2configure bridgeBuild bridge2clobber
-
-###########################################################################
-# Sanity checks (history target)
-#
-
-sanity: checks
-
-# Keep track of user targets
-USER_TARGETS += sanity
-
-###########################################################################
-# Javadocs
-#
-
-javadocs:
- cd common/makefiles && $(MAKE) -f MakefileJavadoc.gmk
-
-# Keep track of user targets
-USER_TARGETS += javadocs
-
-###########################################################################
-# JPRT targets
-
-ifndef JPRT_ARCHIVE_BUNDLE
- JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
+# Assume we have GNU make, but check version.
+ifeq (,$(findstring 3.81,$(MAKE_VERSION)))
+ ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
+ $(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
+ endif
endif
-jprt_build_product: DEBUG_LEVEL=release
-jprt_build_product: BUILD_DIRNAME=*-release
-jprt_build_product: jprt_build_generic
+# Locate this Makefile
+ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
+ makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
+else
+ makefile_path:=$(lastword $(MAKEFILE_LIST))
+endif
+root_dir:=$(dir $(makefile_path))
-jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
-jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
-jprt_build_fastdebug: jprt_build_generic
+# ... and then we can include our helper functions
+include $(root_dir)/common/makefiles/MakeHelpers.gmk
-jprt_build_debug: DEBUG_LEVEL=slowdebug
-jprt_build_debug: BUILD_DIRNAME=*-debug
-jprt_build_debug: jprt_build_generic
-
-jprt_build_generic: $(JPRT_ARCHIVE_BUNDLE)
+$(eval $(call ParseLogLevel))
+$(eval $(call ParseConfAndSpec))
-$(JPRT_ARCHIVE_BUNDLE): bridgeBuild bundles
- $(MKDIR) -p $(@D)
- $(RM) $@
- $(CP) $(BUILD_DIR_ROOT)/$(BUILD_DIRNAME)/bundles/j2sdk-image.zip $@
+# Now determine if we have zero, one or several configurations to build.
+ifeq ($(SPEC),)
+ # Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
+else
+ ifeq ($(words $(SPEC)),1)
+ # We are building a single configuration. This is the normal case. Execute the Main.gmk file.
+ include $(root_dir)/common/makefiles/Main.gmk
+ else
+ # We are building multiple configurations.
+ # First, find out the valid targets
+ # Run the makefile with an arbitraty SPEC using -p -q (quiet dry-run and dump rules) to find
+ # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
+ all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
+ $(MAKE) -p -q -f common/makefiles SPEC=$(firstword $(SPEC)) | \
+ grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
-# Keep track of phony targets
-PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
- jprt_build_generic
+$(all_phony_targets):
+ @$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) $(VERBOSE) VERBOSE=$(VERBOSE) $@) &&) true
+
+ endif
+endif
-###########################################################################
-# Help target
+# Include this after a potential spec file has been included so that the bundles target
+# has access to the spec variables.
+include $(root_dir)/common/makefiles/Jprt.gmk
-HELP_FORMAT=%12s%s\n
+# Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
+# If you addd more global targets, please update the variable global_targets in MakeHelpers.
help:
- @$(PRINTF) "# JDK Makefile\n"
- @$(PRINTF) "#\n"
- @$(PRINTF) "# Usage: make [Target]\n"
- @$(PRINTF) "#\n"
- @$(PRINTF) "# $(HELP_FORMAT)" "Target " "Description"
- @$(PRINTF) "# $(HELP_FORMAT)" "------ " "-----------"
- @for i in $(USER_TARGETS) ; do \
- $(MAKE) help_$${i} ; \
- done
- @$(PRINTF) "#\n"
+ $(info )
+ $(info OpenJDK Makefile help)
+ $(info =====================)
+ $(info )
+ $(info Common make targets)
+ $(info . make [default] # Compile all product in langtools, hotspot, jaxp, jaxws,)
+ $(info . # corba and jdk)
+ $(info . make all # Compile everything, all repos and images)
+ $(info . make images # Create complete j2sdk and j2re images)
+ $(info . make overlay-images # Create limited images for sparc 64 bit platforms)
+ $(info . make bootcycle-images # Build images twice, second time with newly build JDK)
+ $(info . make install # Install the generated images locally)
+ $(info . make clean # Remove all files generated by make, but not those)
+ $(info . # generated by configure)
+ $(info . make dist-clean # Remove all files, including configuration)
+ $(info . make help # Give some help on using make)
+ $(info . make test # Run tests, default is all tests (see TEST below))
+ $(info )
+ $(info Targets for specific components)
+ $(info (Component is any of langtools, corba, jaxp, jaxws, hotspot, jdk, images or overlay-images))
+ $(info . make <component> # Build <component> and everything it depends on. )
+ $(info . make <component>-only # Build <component> only, without dependencies. This)
+ $(info . # is faster but can result in incorrect build results!)
+ $(info . make clean-<component> # Remove files generated by make for <component>)
+ $(info )
+ $(info Useful make variables)
+ $(info . make CONF= # Build all configurations (note, assignment is empty))
+ $(info . make CONF=<substring> # Build the configuration(s) with a name matching)
+ $(info . # <substring>)
+ $(info )
+ $(info . make LOG=<loglevel> # Change the log level from warn to <loglevel>)
+ $(info . # Available log levels are:)
+ $(info . # 'warn' (default), 'info', 'debug' and 'trace')
+ $(info . # To see executed command lines, use LOG=debug)
+ $(info )
+ $(info . make JOBS=<n> # Run <n> parallel make jobs)
+ $(info . # Note that -jN does not work as expected!)
+ $(info )
+ $(info . make test TEST=<test> # Only run the given test or tests, e.g.)
+ $(info . # make test TEST="jdk_lang jdk_net")
+ $(info )
-help_all:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Build the entire jdk but not the images"
-help_images:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Create the jdk images for the builds"
-help_deploy:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Create the jdk deploy images from the jdk images"
-help_install:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Create the jdk install bundles from the deploy images"
-help_clean:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Clean and prepare for a fresh build from scratch"
-help_clobber:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Clean and also purge any hidden derived data"
-help_checks:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Perform various checks to make sure we can build"
-help_sanity:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Same as 'make checks'"
-help_javadocs:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Build the javadocs"
-help_help:
- @$(PRINTF) "# $(HELP_FORMAT)" "$(subst help_,,$@) - " \
- "Print out the help messages"
-
-# Keep track of user targets
-USER_TARGETS += help
-
-###########################################################################
-# Phony targets
-.PHONY: $(PHONY_LIST) $(USER_TARGETS)
-
-# Force target
-FRC:
+.PHONY: help
--- a/common/autoconf/Makefile.in Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/Makefile.in Fri Jan 18 19:13:41 2013 +0100
@@ -24,4 +24,4 @@
# This Makefile was generated by configure @DATE_WHEN_CONFIGURED@
# GENERATED FILE, DO NOT EDIT
SPEC:=@OUTPUT_ROOT@/spec.gmk
-include @SRC_ROOT@/common/makefiles/Makefile
+include @SRC_ROOT@/NewMakefile.gmk
--- a/common/autoconf/autogen.sh Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/autogen.sh Fri Jan 18 19:13:41 2013 +0100
@@ -26,9 +26,11 @@
# Create a timestamp as seconds since epoch
if test "x`uname -s`" = "xSunOS"; then
- # date +%s is not available on Solaris, use this workaround
- # from http://solarisjedi.blogspot.co.uk/2006/06/solaris-date-command-and-epoch-time.html
- TIMESTAMP=`/usr/bin/truss /usr/bin/date 2>&1 | nawk -F= '/^time\(\)/ {gsub(/ /,"",$2);print $2}'`
+ TIMESTAMP=`date +%s`
+ if test "x$TIMESTAMP" = "x%s"; then
+ # date +%s not available on this Solaris, use workaround from nawk(1):
+ TIMESTAMP=`nawk 'BEGIN{print srand()}'`
+ fi
else
TIMESTAMP=`date +%s`
fi
--- a/common/autoconf/basics.m4 Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/basics.m4 Fri Jan 18 19:13:41 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, 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
@@ -234,7 +234,9 @@
BASIC_REQUIRE_PROG(CAT, cat)
BASIC_REQUIRE_PROG(CHMOD, chmod)
BASIC_REQUIRE_PROG(CMP, cmp)
+BASIC_REQUIRE_PROG(COMM, comm)
BASIC_REQUIRE_PROG(CP, cp)
+BASIC_REQUIRE_PROG(CPIO, cpio)
BASIC_REQUIRE_PROG(CUT, cut)
BASIC_REQUIRE_PROG(DATE, date)
BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
@@ -633,6 +635,18 @@
fi
])
+# Check that source files have basic read permissions set. This might
+# not be the case in cygwin in certain conditions.
+AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
+[
+ if test x"$OPENJDK_BUILD_OS" = xwindows; then
+ file_to_test="$SRC_ROOT/LICENSE"
+ if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
+ AC_MSG_ERROR([Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin.])
+ fi
+ fi
+])
+
AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
[
@@ -642,6 +656,8 @@
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
+BASIC_CHECK_SRC_PERMS
+
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
--- a/common/autoconf/basics_windows.m4 Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/basics_windows.m4 Fri Jan 18 19:13:41 2013 +0100
@@ -175,7 +175,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -191,7 +191,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
--- a/common/autoconf/build-aux/autoconf-config.guess Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/build-aux/autoconf-config.guess Fri Jan 18 19:13:41 2013 +0100
@@ -1,4 +1,29 @@
#! /bin/sh
+#
+# Copyright (c) 2012, 2013, 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.
+#
+
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
--- a/common/autoconf/build-aux/config.sub Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/build-aux/config.sub Fri Jan 18 19:13:41 2013 +0100
@@ -1,4 +1,30 @@
#! /bin/sh
+
+#
+# Copyright (c) 2012, 2013, 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.
+#
+
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
--- a/common/autoconf/build-aux/pkg.m4 Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/build-aux/pkg.m4 Fri Jan 18 19:13:41 2013 +0100
@@ -1,4 +1,30 @@
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+
+#
+# Copyright (c) 2012, 2013, 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.
+#
+
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
--- a/common/autoconf/closed.version.numbers Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#
-# Copyright (c) 2012, 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.
-#
-
-LAUNCHER_NAME=java
-PRODUCT_NAME="Java(TM)"
-PRODUCT_SUFFIX="SE Runtime Environment"
-JDK_RC_PLATFORM_NAME="Platform SE"
-COMPANY_NAME="Oracle Corporation"
-
-# Might need better names for these
-MACOSX_BUNDLE_NAME_BASE="Java SE"
-MACOSX_BUNDLE_ID_BASE="com.oracle.java"
--- a/common/autoconf/compare.sh.in Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/compare.sh.in Fri Jan 18 19:13:41 2013 +0100
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013 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
@@ -48,6 +48,7 @@
JAVAP="@FIXPATH@ @BOOT_JDK@/bin/javap"
LDD="@LDD@"
MKDIR="@MKDIR@"
+NAWK="@NAWK@"
NM="@NM@"
OBJDUMP="@OBJDUMP@"
OTOOL="@OTOOL@"
--- a/common/autoconf/configure.ac Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/configure.ac Fri Jan 18 19:13:41 2013 +0100
@@ -83,6 +83,9 @@
BASIC_SETUP_PATHS
BASIC_SETUP_LOGGING
+# Check if it's a pure open build or if custom sources are to be used.
+JDKOPT_SETUP_OPEN_OR_CUSTOM
+
# These are needed to be able to create a configuration name (and thus the output directory)
JDKOPT_SETUP_JDK_VARIANT
JDKOPT_SETUP_JVM_VARIANTS
--- a/common/autoconf/generated-configure.sh Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/generated-configure.sh Fri Jan 18 19:13:41 2013 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for OpenJDK jdk8.
+# Generated by GNU Autoconf 2.67 for OpenJDK jdk8.
#
# Report bugs to <build-dev@openjdk.java.net>.
#
@@ -91,7 +91,6 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -217,18 +216,11 @@
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -760,10 +752,7 @@
JAVA_CHECK
JAVAC_CHECK
COOKED_BUILD_NUMBER
-FULL_VERSION
-RELEASE
JDK_VERSION
-RUNTIME_NAME
COPYRIGHT_YEAR
MACOSX_BUNDLE_ID_BASE
MACOSX_BUNDLE_NAME_BASE
@@ -778,6 +767,7 @@
JDK_MICRO_VERSION
JDK_MINOR_VERSION
JDK_MAJOR_VERSION
+USER_RELEASE_SUFFIX
COMPRESS_JARS
UNLIMITED_CRYPTO
CACERTS_FILE
@@ -785,14 +775,12 @@
BUILD_HEADLESS
SUPPORT_HEADFUL
SUPPORT_HEADLESS
-SET_OPENJDK
BDEPS_FTP
BDEPS_UNZIP
OS_VERSION_MICRO
OS_VERSION_MINOR
OS_VERSION_MAJOR
PKG_CONFIG
-COMM
TIME
STAT
HG
@@ -825,6 +813,7 @@
JVM_VARIANT_SERVER
JVM_VARIANTS
JDK_VARIANT
+SET_OPENJDK
BUILD_LOG_WRAPPER
BUILD_LOG_PREVIOUS
BUILD_LOG
@@ -908,7 +897,9 @@
DIFF
DATE
CUT
+CPIO
CP
+COMM
CMP
CHMOD
CAT
@@ -963,6 +954,7 @@
with_sys_root
with_tools_dir
with_devkit
+enable_openjdk_only
with_jdk_variant
with_jvm_variants
enable_debug
@@ -972,11 +964,13 @@
with_builddeps_server
with_builddeps_dir
with_builddeps_group
-enable_openjdk_only
enable_headful
enable_hotspot_test_in_build
with_cacerts_file
enable_unlimited_crypto
+with_milestone
+with_build_number
+with_user_release_suffix
with_boot_jdk
with_boot_jdk_jvmargs
with_add_source_root
@@ -1439,7 +1433,7 @@
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
@@ -1655,10 +1649,10 @@
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-openjdk-only suppress building custom source even if present
+ [disabled]
--enable-debug set the debug level to fastdebug (shorthand for
--with-debug-level=fastdebug) [disabled]
- --enable-openjdk-only supress building closed source even if present
- [disabled]
--disable-headful disable building headful support (graphical UI
support) [enabled]
--enable-hotspot-test-in-build
@@ -1706,6 +1700,11 @@
--with-builddeps-group chgrp the downloaded build dependencies to this
group
--with-cacerts-file specify alternative cacerts file
+ --with-milestone Set milestone value for build [internal]
+ --with-build-number Set build number value for build [b00]
+ --with-user-release-suffix
+ Add a custom string to the version string if build
+ number isn't set.[username_builddateb00]
--with-boot-jdk path to Boot JDK (used to bootstrap build) [probed]
--with-boot-jdk-jvmargs specify JVM arguments to be passed to all
invocations of the Boot JDK, overriding the default
@@ -1859,7 +1858,7 @@
if $ac_init_version; then
cat <<\_ACEOF
OpenJDK configure jdk8
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
@@ -1905,7 +1904,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1943,7 +1942,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile
@@ -1981,7 +1980,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_objc_try_compile
@@ -2018,7 +2017,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -2055,7 +2054,7 @@
ac_retval=1
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_cpp
@@ -2068,10 +2067,10 @@
ac_fn_cxx_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
+ if eval "test \"\${$3+set}\"" = set; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -2138,7 +2137,7 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -2147,7 +2146,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_header_mongrel
@@ -2188,7 +2187,7 @@
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_run
@@ -2202,7 +2201,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2220,7 +2219,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_header_compile
@@ -2397,7 +2396,7 @@
rm -f conftest.val
fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_compute_int
@@ -2443,7 +2442,7 @@
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
@@ -2456,7 +2455,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2511,7 +2510,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_cxx_check_func
@@ -2524,7 +2523,7 @@
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2542,7 +2541,7 @@
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_c_check_header_compile
cat >config.log <<_ACEOF
@@ -2550,7 +2549,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by OpenJDK $as_me jdk8, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
@@ -2808,7 +2807,7 @@
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
done
@@ -2928,6 +2927,32 @@
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+
+#
+# Copyright (c) 2012, 2013, 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.
+#
+
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
@@ -2991,7 +3016,7 @@
# Include these first...
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, 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
@@ -3088,6 +3113,10 @@
# Argument 3: what to do otherwise (remote disk or failure)
+# Check that source files have basic read permissions set. This might
+# not be the case in cygwin in certain conditions.
+
+
#
@@ -3402,7 +3431,7 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, 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
@@ -3433,7 +3462,18 @@
-
+###############################################################################
+#
+# Should we build only OpenJDK even if closed sources are present?
+#
+
+
+
+
+###############################################################################
+#
+# Setup version numbers
+#
@@ -3683,7 +3723,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1355963953
+DATE_WHEN_GENERATED=1358499442
###############################################################################
#
@@ -3721,7 +3761,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BASENAME+:} false; then :
+if test "${ac_cv_path_BASENAME+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $BASENAME in
@@ -3780,7 +3820,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BASH+:} false; then :
+if test "${ac_cv_path_BASH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $BASH in
@@ -3839,7 +3879,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CAT+:} false; then :
+if test "${ac_cv_path_CAT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CAT in
@@ -3898,7 +3938,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHMOD+:} false; then :
+if test "${ac_cv_path_CHMOD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CHMOD in
@@ -3957,7 +3997,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CMP+:} false; then :
+if test "${ac_cv_path_CMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CMP in
@@ -4010,13 +4050,72 @@
+ for ac_prog in comm
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_COMM+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $COMM in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_COMM="$COMM" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_COMM="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+COMM=$ac_cv_path_COMM
+if test -n "$COMM"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMM" >&5
+$as_echo "$COMM" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$COMM" && break
+done
+
+
+ if test "x$COMM" = x; then
+ if test "xcomm" = x; then
+ PROG_NAME=comm
+ else
+ PROG_NAME=comm
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+ as_fn_error $? "Cannot continue" "$LINENO" 5
+ fi
+
+
+
for ac_prog in cp
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CP+:} false; then :
+if test "${ac_cv_path_CP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CP in
@@ -4069,13 +4168,72 @@
+ for ac_prog in cpio
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_CPIO+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $CPIO in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+CPIO=$ac_cv_path_CPIO
+if test -n "$CPIO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPIO" >&5
+$as_echo "$CPIO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CPIO" && break
+done
+
+
+ if test "x$CPIO" = x; then
+ if test "xcpio" = x; then
+ PROG_NAME=cpio
+ else
+ PROG_NAME=cpio
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
+$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
+ as_fn_error $? "Cannot continue" "$LINENO" 5
+ fi
+
+
+
for ac_prog in cut
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CUT+:} false; then :
+if test "${ac_cv_path_CUT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CUT in
@@ -4134,7 +4292,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DATE+:} false; then :
+if test "${ac_cv_path_DATE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $DATE in
@@ -4193,7 +4351,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DIFF+:} false; then :
+if test "${ac_cv_path_DIFF+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $DIFF in
@@ -4252,7 +4410,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DIRNAME+:} false; then :
+if test "${ac_cv_path_DIRNAME+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $DIRNAME in
@@ -4311,7 +4469,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ECHO+:} false; then :
+if test "${ac_cv_path_ECHO+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $ECHO in
@@ -4370,7 +4528,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_EXPR+:} false; then :
+if test "${ac_cv_path_EXPR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $EXPR in
@@ -4429,7 +4587,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FILE+:} false; then :
+if test "${ac_cv_path_FILE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $FILE in
@@ -4488,7 +4646,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FIND+:} false; then :
+if test "${ac_cv_path_FIND+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $FIND in
@@ -4547,7 +4705,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_HEAD+:} false; then :
+if test "${ac_cv_path_HEAD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $HEAD in
@@ -4606,7 +4764,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LN+:} false; then :
+if test "${ac_cv_path_LN+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $LN in
@@ -4665,7 +4823,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LS+:} false; then :
+if test "${ac_cv_path_LS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $LS in
@@ -4724,7 +4882,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MKDIR+:} false; then :
+if test "${ac_cv_path_MKDIR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $MKDIR in
@@ -4783,7 +4941,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MKTEMP+:} false; then :
+if test "${ac_cv_path_MKTEMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $MKTEMP in
@@ -4842,7 +5000,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MV+:} false; then :
+if test "${ac_cv_path_MV+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $MV in
@@ -4901,7 +5059,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PRINTF+:} false; then :
+if test "${ac_cv_path_PRINTF+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $PRINTF in
@@ -4960,7 +5118,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_THEPWDCMD+:} false; then :
+if test "${ac_cv_path_THEPWDCMD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $THEPWDCMD in
@@ -5019,7 +5177,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_RM+:} false; then :
+if test "${ac_cv_path_RM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $RM in
@@ -5078,7 +5236,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SH+:} false; then :
+if test "${ac_cv_path_SH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $SH in
@@ -5137,7 +5295,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SORT+:} false; then :
+if test "${ac_cv_path_SORT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $SORT in
@@ -5196,7 +5354,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TAIL+:} false; then :
+if test "${ac_cv_path_TAIL+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TAIL in
@@ -5255,7 +5413,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TAR+:} false; then :
+if test "${ac_cv_path_TAR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TAR in
@@ -5314,7 +5472,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TEE+:} false; then :
+if test "${ac_cv_path_TEE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TEE in
@@ -5373,7 +5531,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TOUCH+:} false; then :
+if test "${ac_cv_path_TOUCH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TOUCH in
@@ -5432,7 +5590,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TR+:} false; then :
+if test "${ac_cv_path_TR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TR in
@@ -5491,7 +5649,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_UNAME+:} false; then :
+if test "${ac_cv_path_UNAME+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $UNAME in
@@ -5550,7 +5708,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_UNIQ+:} false; then :
+if test "${ac_cv_path_UNIQ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $UNIQ in
@@ -5609,7 +5767,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WC+:} false; then :
+if test "${ac_cv_path_WC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $WC in
@@ -5668,7 +5826,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WHICH+:} false; then :
+if test "${ac_cv_path_WHICH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $WHICH in
@@ -5727,7 +5885,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XARGS+:} false; then :
+if test "${ac_cv_path_XARGS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $XARGS in
@@ -5787,7 +5945,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
+if test "${ac_cv_prog_AWK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -5837,7 +5995,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
+if test "${ac_cv_path_GREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -5912,7 +6070,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
+if test "${ac_cv_path_EGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5991,7 +6149,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
+if test "${ac_cv_path_FGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -6070,7 +6228,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
+if test "${ac_cv_path_SED+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -6156,7 +6314,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_NAWK+:} false; then :
+if test "${ac_cv_path_NAWK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $NAWK in
@@ -6216,7 +6374,7 @@
set dummy cygpath; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CYGPATH+:} false; then :
+if test "${ac_cv_path_CYGPATH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CYGPATH in
@@ -6256,7 +6414,7 @@
set dummy readlink; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_READLINK+:} false; then :
+if test "${ac_cv_path_READLINK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $READLINK in
@@ -6296,7 +6454,7 @@
set dummy df; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_DF+:} false; then :
+if test "${ac_cv_path_DF+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $DF in
@@ -6336,7 +6494,7 @@
set dummy SetFile; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SETFILE+:} false; then :
+if test "${ac_cv_path_SETFILE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $SETFILE in
@@ -6382,7 +6540,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
+if test "${ac_cv_build+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
@@ -6398,7 +6556,7 @@
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -6416,7 +6574,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
+if test "${ac_cv_host+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
@@ -6431,7 +6589,7 @@
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -6449,7 +6607,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
+if test "${ac_cv_target+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
@@ -6464,7 +6622,7 @@
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -7355,6 +7513,53 @@
+# Check if it's a pure open build or if custom sources are to be used.
+
+ # Check whether --enable-openjdk-only was given.
+if test "${enable_openjdk_only+set}" = set; then :
+ enableval=$enable_openjdk_only;
+else
+ enable_openjdk_only="no"
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for presence of closed sources" >&5
+$as_echo_n "checking for presence of closed sources... " >&6; }
+ if test -d "$SRC_ROOT/jdk/src/closed"; then
+ CLOSED_SOURCE_PRESENT=yes
+ else
+ CLOSED_SOURCE_PRESENT=no
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLOSED_SOURCE_PRESENT" >&5
+$as_echo "$CLOSED_SOURCE_PRESENT" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closed source is suppressed (openjdk-only)" >&5
+$as_echo_n "checking if closed source is suppressed (openjdk-only)... " >&6; }
+ SUPPRESS_CLOSED_SOURCE="$enable_openjdk_only"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SUPPRESS_CLOSED_SOURCE" >&5
+$as_echo "$SUPPRESS_CLOSED_SOURCE" >&6; }
+
+ if test "x$CLOSED_SOURCE_PRESENT" = xno; then
+ OPENJDK=true
+ if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No closed source present, --enable-openjdk-only makes no sense" >&5
+$as_echo "$as_me: WARNING: No closed source present, --enable-openjdk-only makes no sense" >&2;}
+ fi
+ else
+ if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then
+ OPENJDK=true
+ else
+ OPENJDK=false
+ fi
+ fi
+
+ if test "x$OPENJDK" = "xtrue"; then
+ SET_OPENJDK="OPENJDK=true"
+ fi
+
+
+
+
# These are needed to be able to create a configuration name (and thus the output directory)
###############################################################################
@@ -7584,7 +7789,7 @@
# from configure, but only server is valid anyway. Fix this
# when hotspot makefiles are rewritten.
if test "x$MACOSX_UNIVERSAL" = xtrue; then
- HOTSPOT_TARGET=universal_product
+ HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT}
fi
#####
@@ -7883,7 +8088,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PKGHANDLER+:} false; then :
+if test "${ac_cv_prog_PKGHANDLER+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PKGHANDLER"; then
@@ -7985,7 +8190,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8001,7 +8206,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8248,7 +8453,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHECK_GMAKE+:} false; then :
+if test "${ac_cv_path_CHECK_GMAKE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_GMAKE in
@@ -8342,7 +8547,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8358,7 +8563,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8602,7 +8807,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHECK_MAKE+:} false; then :
+if test "${ac_cv_path_CHECK_MAKE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_MAKE in
@@ -8696,7 +8901,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8712,7 +8917,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -8961,7 +9166,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHECK_TOOLSDIR_GMAKE+:} false; then :
+if test "${ac_cv_path_CHECK_TOOLSDIR_GMAKE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_TOOLSDIR_GMAKE in
@@ -9055,7 +9260,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -9071,7 +9276,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -9314,7 +9519,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CHECK_TOOLSDIR_MAKE+:} false; then :
+if test "${ac_cv_path_CHECK_TOOLSDIR_MAKE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CHECK_TOOLSDIR_MAKE in
@@ -9408,7 +9613,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -9424,7 +9629,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -9710,7 +9915,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_UNZIP+:} false; then :
+if test "${ac_cv_path_UNZIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $UNZIP in
@@ -9769,7 +9974,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ZIP+:} false; then :
+if test "${ac_cv_path_ZIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $ZIP in
@@ -9828,7 +10033,7 @@
set dummy ldd; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LDD+:} false; then :
+if test "${ac_cv_path_LDD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $LDD in
@@ -9874,7 +10079,7 @@
set dummy otool; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_OTOOL+:} false; then :
+if test "${ac_cv_path_OTOOL+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $OTOOL in
@@ -9919,7 +10124,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_READELF+:} false; then :
+if test "${ac_cv_path_READELF+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $READELF in
@@ -9962,7 +10167,7 @@
set dummy hg; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_HG+:} false; then :
+if test "${ac_cv_path_HG+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $HG in
@@ -10002,7 +10207,7 @@
set dummy stat; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STAT+:} false; then :
+if test "${ac_cv_path_STAT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $STAT in
@@ -10042,7 +10247,7 @@
set dummy time; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TIME+:} false; then :
+if test "${ac_cv_path_TIME+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TIME in
@@ -10087,7 +10292,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_COMM+:} false; then :
+if test "${ac_cv_path_COMM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $COMM in
@@ -10151,7 +10356,7 @@
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
@@ -10194,7 +10399,7 @@
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
@@ -10367,7 +10572,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_BDEPS_UNZIP+:} false; then :
+if test "${ac_cv_prog_BDEPS_UNZIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$BDEPS_UNZIP"; then
@@ -10413,7 +10618,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_BDEPS_FTP+:} false; then :
+if test "${ac_cv_prog_BDEPS_FTP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$BDEPS_FTP"; then
@@ -10462,54 +10667,6 @@
###############################################################################
#
-# Should we build only OpenJDK even if closed sources are present?
-#
-# Check whether --enable-openjdk-only was given.
-if test "${enable_openjdk_only+set}" = set; then :
- enableval=$enable_openjdk_only;
-else
- enable_openjdk_only="no"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for presence of closed sources" >&5
-$as_echo_n "checking for presence of closed sources... " >&6; }
-if test -d "$SRC_ROOT/jdk/src/closed"; then
- CLOSED_SOURCE_PRESENT=yes
-else
- CLOSED_SOURCE_PRESENT=no
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLOSED_SOURCE_PRESENT" >&5
-$as_echo "$CLOSED_SOURCE_PRESENT" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if closed source is supressed (openjdk-only)" >&5
-$as_echo_n "checking if closed source is supressed (openjdk-only)... " >&6; }
-SUPRESS_CLOSED_SOURCE="$enable_openjdk_only"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $SUPRESS_CLOSED_SOURCE" >&5
-$as_echo "$SUPRESS_CLOSED_SOURCE" >&6; }
-
-if test "x$CLOSED_SOURCE_PRESENT" = xno; then
- OPENJDK=true
- if test "x$SUPRESS_CLOSED_SOURCE" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No closed source present, --enable-openjdk-only makes no sense" >&5
-$as_echo "$as_me: WARNING: No closed source present, --enable-openjdk-only makes no sense" >&2;}
- fi
-else
- if test "x$SUPRESS_CLOSED_SOURCE" = "xyes"; then
- OPENJDK=true
- else
- OPENJDK=false
- fi
-fi
-
-if test "x$OPENJDK" = "xtrue"; then
- SET_OPENJDK="OPENJDK=true"
-fi
-
-
-
-###############################################################################
-#
# Should we build a JDK/JVM with headful support (ie a graphical ui)?
# We always build headless support.
#
@@ -10608,10 +10765,56 @@
# Source the version numbers
-. $AUTOCONF_DIR/version.numbers
-if test "x$OPENJDK" = "xfalse"; then
- . $AUTOCONF_DIR/closed.version.numbers
-fi
+. $AUTOCONF_DIR/version-numbers
+
+# Get the settings from parameters
+
+# Check whether --with-milestone was given.
+if test "${with_milestone+set}" = set; then :
+ withval=$with_milestone;
+fi
+
+if test "x$with_milestone" = xyes; then
+ as_fn_error $? "Milestone must have a value" "$LINENO" 5
+elif test "x$with_milestone" != x; then
+ MILESTONE="$with_milestone"
+else
+ MILESTONE=internal
+fi
+
+
+# Check whether --with-build-number was given.
+if test "${with_build_number+set}" = set; then :
+ withval=$with_build_number;
+fi
+
+if test "x$with_build_number" = xyes; then
+ as_fn_error $? "Build number must have a value" "$LINENO" 5
+elif test "x$with_build_number" != x; then
+ JDK_BUILD_NUMBER="$with_build_number"
+fi
+if test "x$JDK_BUILD_NUMBER" = x; then
+ JDK_BUILD_NUMBER=b00
+fi
+
+
+# Check whether --with-user-release-suffix was given.
+if test "${with_user_release_suffix+set}" = set; then :
+ withval=$with_user_release_suffix;
+fi
+
+if test "x$with_user_release_suffix" = xyes; then
+ as_fn_error $? "Release suffix must have a value" "$LINENO" 5
+elif test "x$with_user_release_suffix" != x; then
+ USER_RELEASE_SUFFIX="$with_user_release_suffix"
+else
+ BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
+ # Avoid [:alnum:] since it depends on the locale.
+ CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'`
+ USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+fi
+
+
# Now set the JDK version, milestone, build number etc.
@@ -10630,33 +10833,12 @@
COPYRIGHT_YEAR=`date +'%Y'`
-RUNTIME_NAME="$PRODUCT_NAME $PRODUCT_SUFFIX"
-
-
if test "x$JDK_UPDATE_VERSION" != x; then
- JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
-else
- JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
-fi
-
-
-if test "x$MILESTONE" != x; then
- RELEASE="${JDK_VERSION}-${MILESTONE}${BUILD_VARIANT_RELEASE}"
-else
- RELEASE="${JDK_VERSION}${BUILD_VARIANT_RELEASE}"
-fi
-
-
-if test "x$JDK_BUILD_NUMBER" != x; then
- FULL_VERSION="${RELEASE}-${JDK_BUILD_NUMBER}"
-else
- JDK_BUILD_NUMBER=b00
- BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
- # Avoid [:alnum:] since it depends on the locale.
- CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'`
- USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FULL_VERSION="${RELEASE}-${USER_RELEASE_SUFFIX}-${JDK_BUILD_NUMBER}"
-fi
+ JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
+else
+ JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
+fi
+
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
@@ -11702,7 +11884,7 @@
set dummy javac; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_JAVAC_CHECK+:} false; then :
+if test "${ac_cv_path_JAVAC_CHECK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $JAVAC_CHECK in
@@ -11742,7 +11924,7 @@
set dummy java; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_JAVA_CHECK+:} false; then :
+if test "${ac_cv_path_JAVA_CHECK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $JAVA_CHECK in
@@ -15801,7 +15983,7 @@
set dummy link; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CYGWIN_LINK+:} false; then :
+if test "${ac_cv_path_CYGWIN_LINK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CYGWIN_LINK in
@@ -16248,7 +16430,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -16264,7 +16446,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -16790,7 +16972,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CC+:} false; then :
+if test "${ac_cv_path_BUILD_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_CC in
@@ -16848,7 +17030,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -16864,7 +17046,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -17101,7 +17283,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CXX+:} false; then :
+if test "${ac_cv_path_BUILD_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_CXX in
@@ -17159,7 +17341,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -17175,7 +17357,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -17410,7 +17592,7 @@
set dummy ld; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_LD+:} false; then :
+if test "${ac_cv_path_BUILD_LD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $BUILD_LD in
@@ -17465,7 +17647,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -17481,7 +17663,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -17922,7 +18104,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TOOLS_DIR_CC+:} false; then :
+if test "${ac_cv_path_TOOLS_DIR_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TOOLS_DIR_CC in
@@ -17974,7 +18156,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_POTENTIAL_CC+:} false; then :
+if test "${ac_cv_path_POTENTIAL_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $POTENTIAL_CC in
@@ -18063,7 +18245,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -18079,7 +18261,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -18387,7 +18569,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PROPER_COMPILER_CC+:} false; then :
+if test "${ac_cv_prog_PROPER_COMPILER_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PROPER_COMPILER_CC"; then
@@ -18431,7 +18613,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+:} false; then :
+if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_PROPER_COMPILER_CC"; then
@@ -18499,7 +18681,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -18515,7 +18697,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -18881,7 +19063,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
+if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -18925,7 +19107,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -18978,7 +19160,7 @@
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -19093,7 +19275,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -19136,7 +19318,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -19195,7 +19377,7 @@
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
fi
fi
@@ -19206,7 +19388,7 @@
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
+if test "${ac_cv_objext+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -19247,7 +19429,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -19257,7 +19439,7 @@
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -19294,7 +19476,7 @@
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
+if test "${ac_cv_prog_cc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -19372,7 +19554,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -19491,7 +19673,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TOOLS_DIR_CXX+:} false; then :
+if test "${ac_cv_path_TOOLS_DIR_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $TOOLS_DIR_CXX in
@@ -19543,7 +19725,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_POTENTIAL_CXX+:} false; then :
+if test "${ac_cv_path_POTENTIAL_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $POTENTIAL_CXX in
@@ -19632,7 +19814,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -19648,7 +19830,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -19956,7 +20138,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PROPER_COMPILER_CXX+:} false; then :
+if test "${ac_cv_prog_PROPER_COMPILER_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$PROPER_COMPILER_CXX"; then
@@ -20000,7 +20182,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+:} false; then :
+if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_PROPER_COMPILER_CXX"; then
@@ -20068,7 +20250,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -20084,7 +20266,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -20454,7 +20636,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
+if test "${ac_cv_prog_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
@@ -20498,7 +20680,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
@@ -20576,7 +20758,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if ${ac_cv_cxx_compiler_gnu+:} false; then :
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20613,7 +20795,7 @@
ac_save_CXXFLAGS=$CXXFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -20711,7 +20893,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJC+:} false; then :
+if test "${ac_cv_prog_OBJC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJC"; then
@@ -20755,7 +20937,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJC+:} false; then :
+if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJC"; then
@@ -20831,7 +21013,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5
$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; }
-if ${ac_cv_objc_compiler_gnu+:} false; then :
+if test "${ac_cv_objc_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -20868,7 +21050,7 @@
ac_save_OBJCFLAGS=$OBJCFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5
$as_echo_n "checking whether $OBJC accepts -g... " >&6; }
-if ${ac_cv_prog_objc_g+:} false; then :
+if test "${ac_cv_prog_objc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_objc_werror_flag=$ac_objc_werror_flag
@@ -20969,7 +21151,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -20985,7 +21167,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -21244,7 +21426,7 @@
set dummy ${ac_tool_prefix}ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
+if test "${ac_cv_prog_AR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
@@ -21284,7 +21466,7 @@
set dummy ar; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
@@ -21350,7 +21532,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -21366,7 +21548,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -21626,7 +21808,7 @@
set dummy link; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_WINLD+:} false; then :
+if test "${ac_cv_prog_WINLD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$WINLD"; then
@@ -21697,7 +21879,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -21713,7 +21895,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -21965,7 +22147,7 @@
set dummy mt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MT+:} false; then :
+if test "${ac_cv_prog_MT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$MT"; then
@@ -22034,7 +22216,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22050,7 +22232,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22286,7 +22468,7 @@
set dummy rc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RC+:} false; then :
+if test "${ac_cv_prog_RC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$RC"; then
@@ -22355,7 +22537,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22371,7 +22553,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22677,7 +22859,7 @@
set dummy lib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_WINAR+:} false; then :
+if test "${ac_cv_prog_WINAR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$WINAR"; then
@@ -22729,7 +22911,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22745,7 +22927,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -22983,7 +23165,7 @@
set dummy dumpbin; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$DUMPBIN"; then
@@ -23035,7 +23217,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -23051,7 +23233,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -23302,7 +23484,7 @@
CPP=
fi
if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
+ if test "${ac_cv_prog_CPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -23418,7 +23600,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
ac_ext=cpp
@@ -23446,7 +23628,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -23462,7 +23644,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -23702,7 +23884,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
- if ${ac_cv_prog_CXXCPP+:} false; then :
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
@@ -23818,7 +24000,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
ac_ext=cpp
@@ -23846,7 +24028,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -23862,7 +24044,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24120,7 +24302,7 @@
set dummy as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AS+:} false; then :
+if test "${ac_cv_path_AS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $AS in
@@ -24175,7 +24357,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24191,7 +24373,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24434,7 +24616,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_NM+:} false; then :
+if test "${ac_cv_path_NM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $NM in
@@ -24492,7 +24674,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24508,7 +24690,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24743,7 +24925,7 @@
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STRIP+:} false; then :
+if test "${ac_cv_path_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $STRIP in
@@ -24798,7 +24980,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -24814,7 +24996,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25049,7 +25231,7 @@
set dummy mcs; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MCS+:} false; then :
+if test "${ac_cv_path_MCS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $MCS in
@@ -25104,7 +25286,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25120,7 +25302,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25357,7 +25539,7 @@
set dummy ${ac_tool_prefix}nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NM+:} false; then :
+if test "${ac_cv_prog_NM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
@@ -25397,7 +25579,7 @@
set dummy nm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NM+:} false; then :
+if test "${ac_cv_prog_ac_ct_NM+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_NM"; then
@@ -25463,7 +25645,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25479,7 +25661,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25715,7 +25897,7 @@
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
+if test "${ac_cv_prog_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
@@ -25755,7 +25937,7 @@
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
@@ -25821,7 +26003,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -25837,7 +26019,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26080,7 +26262,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJCOPY+:} false; then :
+if test "${ac_cv_prog_OBJCOPY+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJCOPY"; then
@@ -26124,7 +26306,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJCOPY+:} false; then :
+if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJCOPY"; then
@@ -26194,7 +26376,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26210,7 +26392,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26451,7 +26633,7 @@
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$OBJDUMP"; then
@@ -26495,7 +26677,7 @@
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_OBJDUMP"; then
@@ -26565,7 +26747,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26581,7 +26763,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26819,7 +27001,7 @@
set dummy lipo; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LIPO+:} false; then :
+if test "${ac_cv_path_LIPO+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $LIPO in
@@ -26874,7 +27056,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -26890,7 +27072,7 @@
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
@@ -27134,7 +27316,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
+if test "${ac_cv_header_stdc+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -27310,7 +27492,7 @@
for ac_header in stdio.h
do :
ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdio_h" = xyes; then :
+if test "x$ac_cv_header_stdio_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STDIO_H 1
_ACEOF
@@ -27339,7 +27521,7 @@
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5
$as_echo_n "checking size of int *... " >&6; }
-if ${ac_cv_sizeof_int_p+:} false; then :
+if test "${ac_cv_sizeof_int_p+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p" "$ac_includes_default"; then :
@@ -27349,7 +27531,7 @@
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int *)
-See \`config.log' for more details" "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5 ; }
else
ac_cv_sizeof_int_p=0
fi
@@ -27396,7 +27578,7 @@
#
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
+if test "${ac_cv_c_bigendian+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
@@ -28396,8 +28578,8 @@
have_x=disabled
else
case $x_includes,$x_libraries in #(
- *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
- *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
+ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+ *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# One or both of the vars are not set, and there is no cached value.
@@ -28674,7 +28856,7 @@
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28708,14 +28890,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28749,7 +28931,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
fi
@@ -28768,14 +28950,14 @@
# The functions gethostbyname, getservbyname, and inet_addr are
# in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
ac_fn_cxx_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = xyes; then :
+if test "x$ac_cv_func_gethostbyname" = x""yes; then :
fi
if test $ac_cv_func_gethostbyname = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28809,14 +28991,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
fi
if test $ac_cv_lib_nsl_gethostbyname = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28850,7 +29032,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
fi
@@ -28865,14 +29047,14 @@
# must be given before -lnsl if both are needed. We assume that
# if connect needs -lnsl, so does gethostbyname.
ac_fn_cxx_check_func "$LINENO" "connect" "ac_cv_func_connect"
-if test "x$ac_cv_func_connect" = xyes; then :
+if test "x$ac_cv_func_connect" = x""yes; then :
fi
if test $ac_cv_func_connect = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_connect+:} false; then :
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28906,7 +29088,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = xyes; then :
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
fi
@@ -28914,14 +29096,14 @@
# Guillermo Gomez says -lposix is necessary on A/UX.
ac_fn_cxx_check_func "$LINENO" "remove" "ac_cv_func_remove"
-if test "x$ac_cv_func_remove" = xyes; then :
+if test "x$ac_cv_func_remove" = x""yes; then :
fi
if test $ac_cv_func_remove = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
$as_echo_n "checking for remove in -lposix... " >&6; }
-if ${ac_cv_lib_posix_remove+:} false; then :
+if test "${ac_cv_lib_posix_remove+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -28955,7 +29137,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
$as_echo "$ac_cv_lib_posix_remove" >&6; }
-if test "x$ac_cv_lib_posix_remove" = xyes; then :
+if test "x$ac_cv_lib_posix_remove" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
fi
@@ -28963,14 +29145,14 @@
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
ac_fn_cxx_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
-if test "x$ac_cv_func_shmat" = xyes; then :
+if test "x$ac_cv_func_shmat" = x""yes; then :
fi
if test $ac_cv_func_shmat = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
$as_echo_n "checking for shmat in -lipc... " >&6; }
-if ${ac_cv_lib_ipc_shmat+:} false; then :
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -29004,7 +29186,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
fi
@@ -29022,7 +29204,7 @@
# John Interrante, Karl Berry
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -29056,7 +29238,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
fi
@@ -30063,7 +30245,7 @@
LDFLAGS="$FREETYPE2_LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5
$as_echo_n "checking for FT_Init_FreeType in -lfreetype... " >&6; }
-if ${ac_cv_lib_freetype_FT_Init_FreeType+:} false; then :
+if test "${ac_cv_lib_freetype_FT_Init_FreeType+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30097,7 +30279,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_freetype_FT_Init_FreeType" >&5
$as_echo "$ac_cv_lib_freetype_FT_Init_FreeType" >&6; }
-if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = xyes; then :
+if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = x""yes; then :
FREETYPE2_FOUND=true
else
as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5
@@ -30385,7 +30567,7 @@
for ac_header in alsa/asoundlib.h
do :
ac_fn_cxx_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_alsa_asoundlib_h" = xyes; then :
+if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_ALSA_ASOUNDLIB_H 1
_ACEOF
@@ -30444,7 +30626,7 @@
USE_EXTERNAL_LIBJPEG=true
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5
$as_echo_n "checking for main in -ljpeg... " >&6; }
-if ${ac_cv_lib_jpeg_main+:} false; then :
+if test "${ac_cv_lib_jpeg_main+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30472,7 +30654,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5
$as_echo "$ac_cv_lib_jpeg_main" >&6; }
-if test "x$ac_cv_lib_jpeg_main" = xyes; then :
+if test "x$ac_cv_lib_jpeg_main" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBJPEG 1
_ACEOF
@@ -30496,7 +30678,7 @@
USE_EXTERNAL_LIBJPEG=true
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgif" >&5
$as_echo_n "checking for main in -lgif... " >&6; }
-if ${ac_cv_lib_gif_main+:} false; then :
+if test "${ac_cv_lib_gif_main+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30524,7 +30706,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_main" >&5
$as_echo "$ac_cv_lib_gif_main" >&6; }
-if test "x$ac_cv_lib_gif_main" = xyes; then :
+if test "x$ac_cv_lib_gif_main" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBGIF 1
_ACEOF
@@ -30554,7 +30736,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5
$as_echo_n "checking for compress in -lz... " >&6; }
-if ${ac_cv_lib_z_compress+:} false; then :
+if test "${ac_cv_lib_z_compress+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30588,7 +30770,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5
$as_echo "$ac_cv_lib_z_compress" >&6; }
-if test "x$ac_cv_lib_z_compress" = xyes; then :
+if test "x$ac_cv_lib_z_compress" = x""yes; then :
ZLIB_FOUND=yes
else
ZLIB_FOUND=no
@@ -30681,7 +30863,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
$as_echo_n "checking for cos in -lm... " >&6; }
-if ${ac_cv_lib_m_cos+:} false; then :
+if test "${ac_cv_lib_m_cos+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30715,7 +30897,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = xyes; then :
+if test "x$ac_cv_lib_m_cos" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBM 1
_ACEOF
@@ -30739,7 +30921,7 @@
LIBS=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -30773,7 +30955,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDL 1
_ACEOF
@@ -31010,7 +31192,7 @@
# The name of the Service Agent jar.
SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
+ SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
fi
@@ -31417,7 +31599,7 @@
set dummy ccache; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CCACHE+:} false; then :
+if test "${ac_cv_path_CCACHE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $CCACHE in
@@ -31546,6 +31728,14 @@
# Check for some common pitfalls
+ if test x"$OPENJDK_BUILD_OS" = xwindows; then
+ file_to_test="$SRC_ROOT/LICENSE"
+ if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
+ as_fn_error $? "Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin." "$LINENO" 5
+ fi
+ fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if build directory is on local disk" >&5
$as_echo_n "checking if build directory is on local disk... " >&6; }
@@ -31576,6 +31766,8 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OUTPUT_DIR_IS_LOCAL" >&5
$as_echo "$OUTPUT_DIR_IS_LOCAL" >&6; }
+
+
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
@@ -31668,21 +31860,10 @@
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
+ test "x$cache_file" != "x/dev/null" &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
+ cat confcache >$cache_file
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -31714,7 +31895,7 @@
-: "${CONFIG_STATUS=./config.status}"
+: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -31815,7 +31996,6 @@
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -32123,7 +32303,7 @@
# values after options handling.
ac_log="
This file was extended by OpenJDK $as_me jdk8, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -32186,7 +32366,7 @@
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
OpenJDK config.status jdk8
-configured by $0, generated by GNU Autoconf 2.68,
+configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -32315,7 +32495,7 @@
"$OUTPUT_ROOT/spec.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" ;;
"$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
esac
done
@@ -32337,10 +32517,9 @@
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp= ac_tmp=
+ tmp=
trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -32348,13 +32527,12 @@
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
+ test -n "$tmp" && test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -32376,7 +32554,7 @@
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
@@ -32404,7 +32582,7 @@
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -32452,7 +32630,7 @@
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
@@ -32484,7 +32662,7 @@
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
@@ -32518,7 +32696,7 @@
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+cat >"$tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -32530,8 +32708,8 @@
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
@@ -32632,7 +32810,7 @@
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -32651,7 +32829,7 @@
for ac_f
do
case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
+ -) ac_f="$tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
@@ -32660,7 +32838,7 @@
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -32686,8 +32864,8 @@
esac
case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -32812,22 +32990,21 @@
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
$ac_datarootdir_hack
"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
- rm -f "$ac_tmp/stdin"
+ rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
@@ -32838,20 +33015,20 @@
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
+ mv "$tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
--- a/common/autoconf/jdk-options.m4 Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/jdk-options.m4 Fri Jan 18 19:13:41 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, 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
@@ -235,7 +235,7 @@
# from configure, but only server is valid anyway. Fix this
# when hotspot makefiles are rewritten.
if test "x$MACOSX_UNIVERSAL" = xtrue; then
- HOTSPOT_TARGET=universal_product
+ HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT}
fi
#####
@@ -247,46 +247,50 @@
AC_SUBST(BUILD_VARIANT_RELEASE)
])
-AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
-[
###############################################################################
#
# Should we build only OpenJDK even if closed sources are present?
#
-AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
- [supress building closed source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
+AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
+[
+ AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
+ [suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
-AC_MSG_CHECKING([for presence of closed sources])
-if test -d "$SRC_ROOT/jdk/src/closed"; then
+ AC_MSG_CHECKING([for presence of closed sources])
+ if test -d "$SRC_ROOT/jdk/src/closed"; then
CLOSED_SOURCE_PRESENT=yes
-else
+ else
CLOSED_SOURCE_PRESENT=no
-fi
-AC_MSG_RESULT([$CLOSED_SOURCE_PRESENT])
+ fi
+ AC_MSG_RESULT([$CLOSED_SOURCE_PRESENT])
-AC_MSG_CHECKING([if closed source is supressed (openjdk-only)])
-SUPRESS_CLOSED_SOURCE="$enable_openjdk_only"
-AC_MSG_RESULT([$SUPRESS_CLOSED_SOURCE])
+ AC_MSG_CHECKING([if closed source is suppressed (openjdk-only)])
+ SUPPRESS_CLOSED_SOURCE="$enable_openjdk_only"
+ AC_MSG_RESULT([$SUPPRESS_CLOSED_SOURCE])
-if test "x$CLOSED_SOURCE_PRESENT" = xno; then
- OPENJDK=true
- if test "x$SUPRESS_CLOSED_SOURCE" = "xyes"; then
- AC_MSG_WARN([No closed source present, --enable-openjdk-only makes no sense])
- fi
-else
- if test "x$SUPRESS_CLOSED_SOURCE" = "xyes"; then
+ if test "x$CLOSED_SOURCE_PRESENT" = xno; then
OPENJDK=true
+ if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then
+ AC_MSG_WARN([No closed source present, --enable-openjdk-only makes no sense])
+ fi
else
- OPENJDK=false
+ if test "x$SUPPRESS_CLOSED_SOURCE" = "xyes"; then
+ OPENJDK=true
+ else
+ OPENJDK=false
+ fi
fi
-fi
-if test "x$OPENJDK" = "xtrue"; then
+ if test "x$OPENJDK" = "xtrue"; then
SET_OPENJDK="OPENJDK=true"
-fi
+ fi
-AC_SUBST(SET_OPENJDK)
+ AC_SUBST(SET_OPENJDK)
+])
+
+AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
+[
###############################################################################
#
@@ -369,13 +373,51 @@
AC_SUBST(COMPRESS_JARS)
])
+###############################################################################
+#
+# Setup version numbers
+#
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
[
# Source the version numbers
-. $AUTOCONF_DIR/version.numbers
-if test "x$OPENJDK" = "xfalse"; then
- . $AUTOCONF_DIR/closed.version.numbers
+. $AUTOCONF_DIR/version-numbers
+
+# Get the settings from parameters
+AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone],
+ [Set milestone value for build @<:@internal@:>@])])
+if test "x$with_milestone" = xyes; then
+ AC_MSG_ERROR([Milestone must have a value])
+elif test "x$with_milestone" != x; then
+ MILESTONE="$with_milestone"
+else
+ MILESTONE=internal
fi
+
+AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number],
+ [Set build number value for build @<:@b00@:>@])])
+if test "x$with_build_number" = xyes; then
+ AC_MSG_ERROR([Build number must have a value])
+elif test "x$with_build_number" != x; then
+ JDK_BUILD_NUMBER="$with_build_number"
+fi
+if test "x$JDK_BUILD_NUMBER" = x; then
+ JDK_BUILD_NUMBER=b00
+fi
+
+AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
+ [Add a custom string to the version string if build number isn't set.@<:@username_builddateb00@:>@])])
+if test "x$with_user_release_suffix" = xyes; then
+ AC_MSG_ERROR([Release suffix must have a value])
+elif test "x$with_user_release_suffix" != x; then
+ USER_RELEASE_SUFFIX="$with_user_release_suffix"
+else
+ BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
+ # Avoid [:alnum:] since it depends on the locale.
+ CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'`
+ USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+fi
+AC_SUBST(USER_RELEASE_SUFFIX)
+
# Now set the JDK version, milestone, build number etc.
AC_SUBST(JDK_MAJOR_VERSION)
AC_SUBST(JDK_MINOR_VERSION)
@@ -394,34 +436,13 @@
COPYRIGHT_YEAR=`date +'%Y'`
AC_SUBST(COPYRIGHT_YEAR)
-RUNTIME_NAME="$PRODUCT_NAME $PRODUCT_SUFFIX"
-AC_SUBST(RUNTIME_NAME)
-
if test "x$JDK_UPDATE_VERSION" != x; then
- JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
+ JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
else
- JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
+ JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
fi
AC_SUBST(JDK_VERSION)
-if test "x$MILESTONE" != x; then
- RELEASE="${JDK_VERSION}-${MILESTONE}${BUILD_VARIANT_RELEASE}"
-else
- RELEASE="${JDK_VERSION}${BUILD_VARIANT_RELEASE}"
-fi
-AC_SUBST(RELEASE)
-
-if test "x$JDK_BUILD_NUMBER" != x; then
- FULL_VERSION="${RELEASE}-${JDK_BUILD_NUMBER}"
-else
- JDK_BUILD_NUMBER=b00
- BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
- # Avoid [:alnum:] since it depends on the locale.
- CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'`
- USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FULL_VERSION="${RELEASE}-${USER_RELEASE_SUFFIX}-${JDK_BUILD_NUMBER}"
-fi
-AC_SUBST(FULL_VERSION)
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
AC_SUBST(COOKED_BUILD_NUMBER)
])
@@ -434,7 +455,7 @@
# The name of the Service Agent jar.
SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
+ SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
fi
AC_SUBST(SALIB_NAME)
--- a/common/autoconf/spec.gmk.in Fri Jan 18 14:15:51 2013 +0100
+++ b/common/autoconf/spec.gmk.in Fri Jan 18 19:13:41 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, 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
@@ -163,11 +163,22 @@
# Different version strings generated from the above information.
JDK_VERSION:=@JDK_VERSION@
-RUNTIME_NAME:=@RUNTIME_NAME@
-FULL_VERSION:=@FULL_VERSION@
-JRE_RELEASE_VERSION:=@FULL_VERSION@
-RELEASE:=@RELEASE@
+RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX)
COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
+# These variables need to be generated here so that MILESTONE and
+# JDK_BUILD_NUMBER can be overridden on the make command line.
+ifeq ($(MILESTONE),)
+ RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
+else
+ RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
+endif
+ifeq ($(JDK_BUILD_NUMBER),b00)
+ USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
+ FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
+else
+ FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
+endif
+JRE_RELEASE_VERSION:=$(FULL_VERSION)
# How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL:=@DEBUG_LEVEL@
@@ -220,6 +231,7 @@
HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot
JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk
IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images
+JCE_OUTPUTDIR=$(BUILD_OUTPUT)/jce-release
LANGTOOLS_DIST=$(LANGTOOLS_OUTPUTDIR)/dist
CORBA_DIST=$(CORBA_OUTPUTDIR)/dist
@@ -420,6 +432,8 @@
NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii
+JARSIGNER=@FIXPATH@ $(BOOT_JDK)/bin/jarsigner
+
# Base flags for RC
# Guarding this against resetting value. Legacy make files include spec multiple
# times.
@@ -440,10 +454,13 @@
# CD is going away, but remains to cater for legacy makefiles.
CD:=cd
CHMOD:=@CHMOD@
+COMM:=@COMM@
CP:=@CP@
+CPIO:=@CPIO@
CUT:=@CUT@
DATE:=@DATE@
DIFF:=@DIFF@
+DIRNAME:=@DIRNAME@
FIND:=@FIND@
FIND_DELETE:=@FIND_DELETE@
ECHO:=@ECHO@
@@ -468,6 +485,7 @@
TIME:=@TIME@
TR:=@TR@
TOUCH:=@TOUCH@
+UNIQ:=@UNIQ@
WC:=@WC@
XARGS:=@XARGS@
ZIPEXE:=@ZIP@
@@ -600,5 +618,21 @@
OS_VERSION_MINOR:=@OS_VERSION_MINOR@
OS_VERSION_MICRO:=@OS_VERSION_MICRO@
+# Images directory definitions
+JDK_IMAGE_SUBDIR:=j2sdk-image
+JRE_IMAGE_SUBDIR:=j2re-image
+JDK_OVERLAY_IMAGE_SUBDIR:=j2sdk-overlay-image
+JRE_OVERLAY_IMAGE_SUBDIR:=j2re-overlay-image
+JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
+JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
+JDK_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR)
+JRE_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR)
+
+# Macosx bundles directory definitions
+JDK_BUNDLE_SUBDIR:=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
+JRE_BUNDLE_SUBDIR:=j2re-bundle/jre$(JDK_VERSION).jre/Contents
+JDK_BUNDLE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
+JRE_BUNDLE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
+
# Include the custom-spec.gmk file if it exists
-include $(dir @SPEC@)/custom-spec.gmk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/autoconf/version-numbers Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,38 @@
+#
+# Copyright (c) 2011, 2013, 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_MAJOR_VERSION=1
+JDK_MINOR_VERSION=8
+JDK_MICRO_VERSION=0
+JDK_UPDATE_VERSION=
+LAUNCHER_NAME=openjdk
+PRODUCT_NAME=OpenJDK
+PRODUCT_SUFFIX="Runtime Environment"
+JDK_RC_PLATFORM_NAME=Platform
+COMPANY_NAME=N/A
+
+# Might need better names for these
+MACOSX_BUNDLE_NAME_BASE="OpenJDK"
+MACOSX_BUNDLE_ID_BASE="net.java.openjdk"
--- a/common/autoconf/version.numbers Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# Copyright (c) 2011, 2012, 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_MAJOR_VERSION=1
-JDK_MINOR_VERSION=8
-JDK_MICRO_VERSION=0
-JDK_UPDATE_VERSION=
-JDK_BUILD_NUMBER=
-MILESTONE=internal
-LAUNCHER_NAME=openjdk
-PRODUCT_NAME=OpenJDK
-PRODUCT_SUFFIX="Runtime Environment"
-JDK_RC_PLATFORM_NAME=Platform
-COMPANY_NAME=N/A
-
-# Might need better names for these
-MACOSX_BUNDLE_NAME_BASE="OpenJDK"
-MACOSX_BUNDLE_ID_BASE="net.java.openjdk"
--- a/common/bin/compare.sh Fri Jan 18 14:15:51 2013 +0100
+++ b/common/bin/compare.sh Fri Jan 18 19:13:41 2013 +0100
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013 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
@@ -98,24 +98,30 @@
if test "x$SUFFIX" = "xclass"; then
# To improve performance when large diffs are found, do a rough filtering of classes
# elibeble for these exceptions
- if $GREP -R -e '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}' -e thePoint -e aPoint -e setItemsPtr ${THIS_FILE} > /dev/null; then
+ if $GREP -R -e '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}' \
+ -e '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' \
+ -e thePoint -e aPoint -e setItemsPtr ${THIS_FILE} > /dev/null; then
$JAVAP -c -constants -l -p ${OTHER_FILE} > ${OTHER_FILE}.javap
$JAVAP -c -constants -l -p ${THIS_FILE} > ${THIS_FILE}.javap
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
$GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
+ -e '/[0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\}/d' \
-e '/[<>].*Point Lcom\/apple\/jobjc\/foundation\/NSPoint;/d' \
-e '/[<>].*public com\.apple\.jobjc\.Pointer<com\.apple\.jobjc\..*itemsPtr();/d' \
-e '/[<>].*public void setItemsPtr(com\.apple\.jobjc\.Pointer<com\.apple\.jobjc\..*);/d')
fi
fi
if test "x$SUFFIX" = "xproperties"; then
- $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
- | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \
- | $SED -e '/^#/d' -e '/^$/d' \
- -e :a -e '/\\$/N; s/\\\n//; ta' \
- -e 's/^[ \t]*//;s/[ \t]*$//' \
- -e 's/\\=/=/' | LANG=C $SORT > $OTHER_FILE.cleaned
+ # Run through nawk to add possibly missing newline at end of file.
+ $CAT $OTHER_FILE | $NAWK '{ print }' > $OTHER_FILE.cleaned
+# Disable this exception since we aren't changing the properties cleaning method yet.
+# $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
+# | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \
+# | $SED -e '/^#/d' -e '/^$/d' \
+# -e :a -e '/\\$/N; s/\\\n//; ta' \
+# -e 's/^[ \t]*//;s/[ \t]*$//' \
+# -e 's/\\=/=/' | LANG=C $SORT > $OTHER_FILE.cleaned
TMP=$(LANG=C $DIFF $OTHER_FILE.cleaned $THIS_FILE)
fi
if test -n "$TMP"; then
@@ -305,14 +311,17 @@
THIS_FILE=$WORK_DIR/$f.this
$MKDIR -p $(dirname $OTHER_FILE)
$MKDIR -p $(dirname $THIS_FILE)
+ #Note that | doesn't work on mac sed.
$CAT $OTHER_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
- -e 's/\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\), [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* \(AM\|PM\) [A-Z][A-Z]*/(removed)/' \
+ -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \
+ -e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
> $OTHER_FILE
$CAT $THIS_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\1(removed)\2/' \
- -e 's/\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\), [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* \(AM\|PM\) [A-Z][A-Z]*/(removed)/' \
+ -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \
+ -e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \
-e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \
> $THIS_FILE
else
@@ -370,14 +379,14 @@
(cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP)
# Find all archives inside and unzip them as well to compare the contents rather than
- # the archives.
- EXCEPTIONS=""
- for pack in $($FIND $THIS_UNZIPDIR -name "*.pack" -o -name "*.pack.gz"); do
+ # the archives. pie.jar.pack.gz i app3.war is corrupt, skip it.
+ EXCEPTIONS="pie.jar.pack.gz"
+ for pack in $($FIND $THIS_UNZIPDIR \( -name "*.pack" -o -name "*.pack.gz" \) -a ! -name pie.jar.pack.gz); do
($UNPACK200 $pack $pack.jar)
# Filter out the unzipped archives from the diff below.
EXCEPTIONS="$EXCEPTIONS $pack $pack.jar"
done
- for pack in $($FIND $OTHER_UNZIPDIR -name "*.pack" -o -name "*.pack.gz"); do
+ for pack in $($FIND $OTHER_UNZIPDIR \( -name "*.pack" -o -name "*.pack.gz" \) -a ! -name pie.jar.pack.gz); do
($UNPACK200 $pack $pack.jar)
EXCEPTIONS="$EXCEPTIONS $pack $pack.jar"
done
@@ -1073,7 +1082,11 @@
# Figure out the layout of the this build. Which kinds of images have been produced
-if [ -d "$THIS/deploy/j2sdk-image" ]; then
+if [ -d "$THIS/install/j2sdk-image" ]; then
+ THIS_J2SDK="$THIS/install/j2sdk-image"
+ THIS_J2RE="$THIS/install/j2re-image"
+ echo "Comparing install images"
+elif [ -d "$THIS/deploy/j2sdk-image" ]; then
THIS_J2SDK="$THIS/deploy/j2sdk-image"
THIS_J2RE="$THIS/deploy/j2re-image"
echo "Comparing deploy images"
@@ -1081,9 +1094,16 @@
THIS_J2SDK="$THIS/images/j2sdk-image"
THIS_J2RE="$THIS/images/j2re-image"
fi
+
if [ -d "$THIS/images/j2sdk-overlay-image" ]; then
- THIS_J2SDK_OVERLAY="$THIS/images/j2sdk-overlay-image"
- THIS_J2RE_OVERLAY="$THIS/images/j2re-overlay-image"
+ if [ -d "$THIS/install/j2sdk-image" ]; then
+ # If there is an install image, prefer that, it's also overlay
+ THIS_J2SDK_OVERLAY="$THIS/install/j2sdk-image"
+ THIS_J2RE_OVERLAY="$THIS/install/j2re-image"
+ else
+ THIS_J2SDK_OVERLAY="$THIS/images/j2sdk-overlay-image"
+ THIS_J2RE_OVERLAY="$THIS/images/j2re-overlay-image"
+ fi
fi
if [ -d "$THIS/images/j2sdk-bundle" ]; then
@@ -1100,7 +1120,9 @@
OTHER_J2SDK_OVERLAY="$OTHER/j2sdk-image"
OTHER_J2RE_OVERLAY="$OTHER/j2re-image"
fi
-
+elif [ -d "$OTHER/images/j2sdk-image" ]; then
+ OTHER_J2SDK="$OTHER/images/j2sdk-image"
+ OTHER_J2RE="$OTHER/images/j2re-image"
fi
if [ -d "$OTHER/j2sdk-bundle" ]; then
@@ -1144,6 +1166,26 @@
echo "WARNING! Other build doesn't contain docs, skipping doc compare."
fi
+if [ -d "$OTHER/images" ]; then
+ OTHER_SEC_DIR="$OTHER/images"
+else
+ OTHER_SEC_DIR="$OTHER/tmp"
+fi
+OTHER_SEC_BIN="$OTHER_SEC_DIR/sec-bin.zip"
+THIS_SEC_DIR="$THIS/images"
+THIS_SEC_BIN="$THIS_SEC_DIR/sec-bin.zip"
+if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
+ if [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
+ JGSS_WINDOWS_BIN="jgss-windows-x64-bin.zip"
+ else
+ JGSS_WINDOWS_BIN="jgss-windows-i586-bin.zip"
+ fi
+ OTHER_SEC_WINDOWS_BIN="$OTHER_SEC_DIR/sec-windows-bin.zip"
+ OTHER_JGSS_WINDOWS_BIN="$OTHER_SEC_DIR/$JGSS_WINDOWS_BIN"
+ THIS_SEC_WINDOWS_BIN="$THIS_SEC_DIR/sec-windows-bin.zip"
+ THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN"
+fi
+
##########################################################################################
# Do the work
@@ -1260,6 +1302,24 @@
if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
compare_all_zip_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
fi
+ if [ -n "$THIS_SEC_BIN" ] && [ -n "$OTHER_SEC_BIN" ]; then
+ if [ -n "$(echo $THIS_SEC_BIN | $FILTER)" ]; then
+ echo "sec-bin.zip..."
+ compare_zip_file $THIS_SEC_DIR $OTHER_SEC_DIR $COMPARE_ROOT/sec-bin sec-bin.zip
+ fi
+ fi
+ if [ -n "$THIS_SEC_WINDOWS_BIN" ] && [ -n "$OTHER_SEC_WINDOWS_BIN" ]; then
+ if [ -n "$(echo $THIS_SEC_WINDOWS_BIN | $FILTER)" ]; then
+ echo "sec-windows-bin.zip..."
+ compare_zip_file $THIS_SEC_DIR $OTHER_SEC_DIR $COMPARE_ROOT/sec-bin sec-windows-bin.zip
+ fi
+ fi
+ if [ -n "$THIS_JGSS_WINDOWS_BIN" ] && [ -n "$OTHER_JGSS_WINDOWS_BIN" ]; then
+ if [ -n "$(echo $THIS_JGSS_WINDOWS_BIN | $FILTER)" ]; then
+ echo "$JGSS_WINDOWS_BIN..."
+ compare_zip_file $THIS_SEC_DIR $OTHER_SEC_DIR $COMPARE_ROOT/sec-bin $JGSS_WINDOWS_BIN
+ fi
+ fi
fi
if [ "$CMP_JARS" = "true" ]; then
--- a/common/bin/compare_exceptions.sh.incl Fri Jan 18 14:15:51 2013 +0100
+++ b/common/bin/compare_exceptions.sh.incl Fri Jan 18 19:13:41 2013 +0100
@@ -813,6 +813,10 @@
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
+ACCEPTED_JARZIP_CONTENTS="
+/bin/w2k_lsa_auth.dll
+"
+
# Probably should add all libs here
ACCEPTED_SMALL_SIZE_DIFF="
./demo/jvmti/gctest/lib/gctest.dll
@@ -821,6 +825,7 @@
./jre/bin/attach.dll
./jre/bin/java_crw_demo.dll
./jre/bin/jsoundds.dll
+./jre/bin/server/jvm.dll
./bin/appletviewer.exe
./bin/extcheck.exe
./bin/idlj.exe
--- a/common/makefiles/IdlCompilation.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/IdlCompilation.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -87,7 +87,7 @@
$1_SRC := $$(abspath $$($1_SRC))
$1_BIN := $$(abspath $$($1_BIN))
# Find all existing java files and existing class files.
-$$(shell $(MKDIR) -p $$($1_SRC) $$($1_BIN))
+$$(eval $$(call MakeDir,$$($1_BIN)))
$1_SRCS := $$(shell find $$($1_SRC) -name "*.idl")
$1_BINS := $$(shell find $$($1_BIN) -name "*.java")
# Prepend the source/bin path to the filter expressions.
--- a/common/makefiles/JavaCompilation.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/JavaCompilation.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -111,9 +111,9 @@
ifeq ($$(word 20,$$($1_GREP_INCLUDE_PATTERNS)),)
$1_GREP_INCLUDES:=| $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS))
else
- $$(shell $(MKDIR) -p $$($1_BIN) && $(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include)
- $$(eval $$(call ListPathsSafelyNow,$1_GREP_INCLUDE_PATTERNS,\n, \
- >> $$($1_BIN)/_the.$$($1_JARNAME)_include))
+ $1_GREP_INCLUDE_OUTPUT:=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include && \
+ $$(strip $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS,\n, \
+ >> $$($1_BIN)/_the.$$($1_JARNAME)_include))
$1_GREP_INCLUDES:=| $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include
endif
endif
@@ -124,9 +124,9 @@
ifeq ($$(word 20,$$($1_GREP_EXCLUDE_PATTERNS)),)
$1_GREP_EXCLUDES:=| $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS))
else
- $$(shell $(MKDIR) -p $$($1_BIN) && $(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude)
- $$(eval $$(call ListPathsSafelyNow,$1_GREP_EXCLUDE_PATTERNS,\n, \
- >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude))
+ $1_GREP_EXCLUDE_OUTPUT=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude && \
+ $$(strip $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS,\n, \
+ >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude))
$1_GREP_EXCLUDES:=| $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude
endif
endif
@@ -137,19 +137,25 @@
else
$1_JARINDEX = true
endif
- # When this macro is run in the same makefile as the java compilation, dependencies are transfered
- # in make variables. When the macro is run in a different makefile than the java compilation, the
- # dependencies need to be found in the filesystem.
+ # When this macro is run in the same makefile as the java compilation, dependencies are
+ # transfered in make variables. When the macro is run in a different makefile than the
+ # java compilation, the dependencies need to be found in the filesystem.
ifneq (,$2)
$1_DEPS:=$2
else
+ $1_DEPS:=$$(filter $$(addprefix %,$$($1_FIND_PATTERNS)),\
+ $$(call CacheFind $$($1_SRCS)))
+ ifneq (,$$($1_GREP_INCLUDE_PATTERNS))
+ $1_DEPS:=$$(filter $$(addsuffix %,$$($1_GREP_INCLUDE_PATTERNS)),$$($1_DEPS))
+ endif
+ ifneq (,$$($1_GREP_EXCLUDE_PATTERNS))
+ $1_DEPS:=$$(filter-out $$(addsuffix %,$$($1_GREP_EXCLUDE_PATTERNS)),$$($1_DEPS))
+ endif
# The subst of \ is needed because $ has to be escaped with \ in EXTRA_FILES for the command
# lines, but not here for use in make dependencies.
- $1_DEPS:=$$(shell $(FIND) $$($1_SRCS) -type f -a \( $$($1_FIND_PATTERNS) \) \
- $$($1_GREP_INCLUDES) $$($1_GREP_EXCLUDES)) \
- $$(subst \,,$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,$$($1_EXTRA_FILES))))
+ $1_DEPS+=$$(subst \,,$$(foreach src,$$($1_SRCS),$$(addprefix $$(src)/,$$($1_EXTRA_FILES))))
ifeq (,$$($1_SKIP_METAINF))
- $1_DEPS+=$$(shell $(FIND) $$(addsuffix /META-INF,$$($1_SRCS)) -type f 2> /dev/null)
+ $1_DEPS+=$$(call CacheFind $$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
endif
endif
@@ -210,6 +216,8 @@
# Here is the rule that creates/updates the jar file.
$$($1_JAR) : $$($1_DEPS)
$(MKDIR) -p $$($1_BIN)
+ $$($1_GREP_INCLUDE_OUTPUT)
+ $$($1_GREP_EXCLUDE_OUTPUT)
$$(if $$($1_MANIFEST),\
$(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \
-e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE) \
@@ -242,14 +250,14 @@
define SetupZipArchive
# param 1 is for example ZIP_MYSOURCE
# param 2,3,4,5,6,7,8,9 are named args.
- # SRC,ZIP,INCLUDES,EXCLUDES,EXCLUDE_FILES,SUFFIXES,EXTRA_DEPS
+ # SRC,ZIP,INCLUDES,INCLUDE_FILES,EXCLUDES,EXCLUDE_FILES,SUFFIXES,EXTRA_DEPS
$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
$(call LogSetupMacroEntry,SetupZipArchive($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupZipArchive, please update JavaCompilation.gmk))
# Find all files in the source tree.
- $1_SUFFIX_FILTER := $$(patsubst %,-o -name $(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES))
- $1_ALL_SRCS := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i -type f -a ! -name "_the.*" \( -name FALSE_DUMMY $$($1_SUFFIX_FILTER) \) ))
+ $1_ALL_SRCS := $$(call not-containing,_the.,\
+ $$(filter $$(addprefix %,$$($1_SUFFIXES)),$$(call CacheFind $$($1_SRC))))
ifneq ($$($1_INCLUDES),)
$1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
@@ -259,6 +267,12 @@
else
$1_ZIP_INCLUDES := $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_INCLUDES)))
endif
+ endif
+ ifneq ($$($1_INCLUDE_FILES),)
+ $1_SRC_INCLUDES += $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
+ $1_ZIP_INCLUDES += $$(addprefix -i$(SPACE),$$($1_INCLUDE_FILES))
+ endif
+ ifneq ($$($1_SRC_INCLUDES),)
$1_ALL_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_SRCS))
endif
ifneq ($$($1_EXCLUDES),)
@@ -376,7 +390,7 @@
$$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory $$d)))
$$(eval $$(call MakeDir,$$($1_BIN)))
# Find all files in the source trees.
- $1_ALL_SRCS := $$(filter-out $(OVR_SRCS),$$(shell $(FIND) $$($1_SRC) -type f))
+ $1_ALL_SRCS += $$(filter-out $(OVR_SRCS),$$(call CacheFind,$$($1_SRC)))
# Extract the java files.
ifneq ($$($1_EXCLUDE_FILES),)
$1_EXCLUDE_FILES_PATTERN:=$$(addprefix %,$$($1_EXCLUDE_FILES))
@@ -408,8 +422,6 @@
# Find all files to be copied from source to bin.
ifneq (,$$($1_COPY))
- # Rewrite list of patterns into a find statement.
- $1_COPY_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_COPY))
# Search for all files to be copied.
$1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS))
# Copy these explicitly
@@ -436,8 +448,6 @@
# Find all property files to be copied and cleaned from source to bin.
ifneq (,$$($1_CLEAN))
- # Rewrite list of patterns into a find statement.
- $1_CLEAN_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_CLEAN))
# Search for all files to be copied.
$1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS))
# Copy and clean must also respect filters.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/common/makefiles/Jprt.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,209 @@
+#
+# Copyright (c) 2012, 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.
+#
+
+# This file is included by the root NewerMakefile and contains targets
+# and utilities needed by JPRT.
+
+# Utilities used in this Makefile. Most of this makefile executes without
+# the context of a spec file from configure.
+CAT=cat
+CMP=cmp
+CP=cp
+ECHO=echo
+MKDIR=mkdir
+PRINTF=printf
+PWD=pwd
+# Insure we have a path that looks like it came from pwd
+# (This is mostly for Windows sake and drive letters)
+define UnixPath # path
+$(shell (cd "$1" && $(PWD)))
+endef
+
+BUILD_DIR_ROOT:=$(root_dir)/build
+
+ifdef OPENJDK
+ OPEN_BUILD=true
+else
+ OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \
+ $(wildcard $(root_dir)/jdk/make/closed), \
+ $(wildcard $(root_dir)/jdk/test/closed), \
+ $(wildcard $(root_dir)/hotspot/src/closed), \
+ $(wildcard $(root_dir)/hotspot/make/closed), \
+ $(wildcard $(root_dir)/hotspot/test/closed)), \
+ false,true)
+endif
+
+HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false)
+
+###########################################################################
+# To help in adoption of the new configure&&make build process, a bridge
+# build will use the old settings to run configure and do the build.
+
+# Build with the configure bridge. After running configure, restart make
+# to parse the new spec file.
+BRIDGE_TARGETS := all
+bridgeBuild: bridge2configure
+ @cd $(root_dir) && $(MAKE) -f NewMakefile.gmk $(BRIDGE_TARGETS)
+
+# Bridge from old Makefile ALT settings to configure options
+bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts
+ bash ./configure $(strip $(shell $(CAT) $<))
+
+# Create a file with configure options created from old Makefile mechanisms.
+$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest
+ $(RM) $@
+ $(CP) $< $@
+
+# Use this file to only change when obvious things have changed
+$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
+ $(RM) $@.tmp
+ $(MKDIR) -p $(BUILD_DIR_ROOT)
+ @$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
+ifdef ARCH_DATA_MODEL
+ @$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
+endif
+ifeq ($(ARCH_DATA_MODEL),32)
+ @$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
+endif
+ifdef ALT_PARALLEL_COMPILE_JOBS
+ @$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
+endif
+ifdef ALT_BOOTDIR
+ @$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
+endif
+ifdef ALT_CUPS_HEADERS_PATH
+ @$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
+endif
+ifdef ALT_FREETYPE_HEADERS_PATH
+ @$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
+endif
+ifeq ($(HOTSPOT_AVAILABLE),false)
+ ifdef ALT_JDK_IMPORT_PATH
+ @$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
+ endif
+endif
+ifeq ($(OPEN_BUILD),true)
+ @$(ECHO) " --enable-openjdk-only " >> $@.tmp
+else
+ # Todo: move to closed?
+ ifdef ALT_MOZILLA_HEADERS_PATH
+ @$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
+ endif
+ ifdef ALT_JUNIT_DIR
+ @$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
+ endif
+ ifdef ANT_HOME
+ @$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
+ endif
+ ifdef ALT_JAVAFX_ZIP_DIR
+ @$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
+ endif
+ ifdef ALT_WIXDIR
+ @$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
+ endif
+ ifdef ALT_CCSS_SIGNING_DIR
+ @$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
+ endif
+ ifdef ALT_SLASH_JAVA
+ @$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
+ endif
+ ifdef ALT_SPARKLE_FRAMEWORK_DIR
+ @$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
+ endif
+endif
+ @if [ -f $@ ] ; then \
+ if ! $(CMP) $@ $@.tmp > /dev/null ; then \
+ $(CP) $@.tmp $@ ; \
+ fi ; \
+ else \
+ $(CP) $@.tmp $@ ; \
+ fi
+ $(RM) $@.tmp
+
+PHONY_LIST += bridge2configure bridgeBuild
+
+###########################################################################
+# JPRT targets
+
+ifndef JPRT_ARCHIVE_BUNDLE
+ JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
+endif
+ifndef JPRT_ARCHIVE_INSTALL_BUNDLE
+ JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
+endif
+
+# These targets execute in a SPEC free context, before calling bridgeBuild
+# to generate the SPEC.
+jprt_build_product: DEBUG_LEVEL=release
+jprt_build_product: BUILD_DIRNAME=*-release
+jprt_build_product: jprt_build_generic
+
+jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
+jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
+jprt_build_fastdebug: jprt_build_generic
+
+jprt_build_debug: DEBUG_LEVEL=slowdebug
+jprt_build_debug: BUILD_DIRNAME=*-debug
+jprt_build_debug: jprt_build_generic
+
+jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle
+jprt_build_generic: bridgeBuild
+
+# This target must be called in the context of a SPEC file
+jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
+ @$(call CheckIfMakeAtEnd)
+
+# This target must be called in the context of a SPEC file
+$(JPRT_ARCHIVE_BUNDLE): bundles
+ $(MKDIR) -p $(@D)
+ $(RM) $@
+ $(CP) $(BUILD_OUTPUT)/bundles/j2sdk-image.zip $@
+
+# This target must be called in the context of a SPEC file
+bundles: all
+ @$(call TargetEnter)
+ $(MKDIR) -p $(BUILD_OUTPUT)/bundles
+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
+ $(CD) $(JDK_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
+ $(CD) $(JRE_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
+else
+ $(CD) $(JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
+ $(CD) $(JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
+ if [ -d $(BUILD_OUTPUT)/install/bundles ] ; then \
+ $(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
+ fi
+endif
+ @$(call TargetExit)
+
+# Keep track of phony targets
+PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
+ jprt_build_generic bundles jprt_bundle
+
+###########################################################################
+# Phony targets
+.PHONY: $(PHONY_LIST)
+
+# Force target
+FRC:
--- a/common/makefiles/Main.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/Main.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -65,7 +65,15 @@
### Main targets
-all: jdk
+default: jdk
+ @$(call CheckIfMakeAtEnd)
+
+all: images docs
+ @$(call CheckIfMakeAtEnd)
+
+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
+ all: overlay-images
+endif
start-make:
@$(call AtMakeStart)
@@ -126,12 +134,6 @@
@($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk overlay-images)
@$(call TargetExit)
-bundles: images bundles-only
-bundles-only: start-make
- @$(call TargetEnter)
- @($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk bundles)
- @$(call TargetExit)
-
install: images install-only
install-only: start-make
@$(call TargetEnter)
@@ -144,6 +146,12 @@
@($(CD) $(SRC_ROOT)/common/makefiles/javadoc && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs)
@$(call TargetExit)
+sign-jars: jdk sign-jars-only
+sign-jars-only: start-make
+ @$(call TargetEnter)
+ @($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk sign-jars)
+ @$(call TargetExit)
+
bootcycle-images:
@$(ECHO) Boot cycle build step 1: Building the JDK image normally
@($(CD) $(SRC_ROOT)/common/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) SPEC=$(SPEC) images)
--- a/common/makefiles/MakeBase.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/MakeBase.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -391,4 +391,46 @@
endef
endif
+# Convenience functions for working around make's limitations with $(filter ).
+containing = $(foreach v,$2,$(if $(findstring $1,$v),$v))
+not-containing = $(foreach v,$2,$(if $(findstring $1,$v),,$v))
+
+################################################################################
+# In Cygwin, finds are very costly, both because of expensive forks and because
+# of bad file system caching. Find is used extensively in $(shell) commands to
+# find source files. This makes rerunning make with no or few changes rather
+# expensive. To speed this up, these two macros are used to cache the results
+# of simple find commands for reuse.
+#
+# Runs a find and stores both the directories where it was run and the results.
+# This macro can be called multiple times to add to the cache. Only finds files
+# with no filters.
+#
+# Needs to be called with $(eval )
+#
+# Param 1 - Dir to find in
+ifeq ($(OPENJDK_BUILD_OS),windows)
+define FillCacheFind
+ FIND_CACHE_DIR += $1
+ FIND_CACHE := $$(sort $$(FIND_CACHE) $$(shell $(FIND) $1 -type f -o -type l))
+endef
+else
+define FillCacheFind
+endef
+endif
+
+# Mimics find by looking in the cache if all of the directories have been cached.
+# Otherwise reverts to shell find. This is safe to call on all platforms, even if
+# cache is deactivated.
+#
+# The extra - is needed when FIND_CACHE_DIR is empty but should be harmless.
+# Param 1 - Dirs to find in
+define CacheFind
+ $(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1),\
+ $(shell $(FIND) $1 -type f -o -type l),\
+ $(filter $(addsuffix %,$1),$(FIND_CACHE)))
+endef
+
+################################################################################
+
endif # _MAKEBASE_GMK
--- a/common/makefiles/MakeHelpers.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/MakeHelpers.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -50,7 +50,7 @@
# Global targets are possible to run either with or without a SPEC. The prototypical
# global target is "help".
-global_targets=help configure
+global_targets=help jprt% bridgeBuild
##############################
# Functions
@@ -112,7 +112,7 @@
# Do not indent this function, this will add whitespace at the start which the caller won't handle
define GetRealTarget
-$(strip $(if $(MAKECMDGOALS),$(MAKECMDGOALS),all))
+$(strip $(if $(MAKECMDGOALS),$(MAKECMDGOALS),default))
endef
# Do not indent this function, this will add whitespace at the start which the caller won't handle
@@ -126,10 +126,7 @@
# Check if the current target is the last goal
$(if $(filter $@,$(call LastGoal)),$(call AtMakeEnd))
# If the target is 'foo-only', check if our goal was stated as 'foo'
- $(if $(filter $(patsubst %-only,%,$@),$(call LastGoal)),$(call AtMakeEnd))
- # If no goal is given, 'all' is default, but the last target executed for all is 'jdk-only'. Check for that, too.
- # At most one of the tests can be true.
- $(if $(subst all,,$(call LastGoal)),,$(if $(filter $@,jdk-only),$(call AtMakeEnd)))
+ $(if $(filter $@,$(call LastGoal)-only),$(call AtMakeEnd))
endef
# Hook to be called when starting to execute a top-level target
--- a/common/makefiles/Makefile Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/Makefile Fri Jan 18 19:13:41 2013 +0100
@@ -23,109 +23,4 @@
# questions.
#
-# This must be the first rule
-all:
-
-# Inclusion of this pseudo-target will cause make to execute this file
-# serially, regardless of -j. Recursively called makefiles will not be
-# affected, however. This is required for correct dependency management.
-.NOTPARALLEL:
-
-# The shell code below will be executed on /usr/ccs/bin/make on Solaris, but not in GNU make.
-# /usr/ccs/bin/make lacks basically every other flow control mechanism.
-TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
-
-# Assume we have GNU make, but check version.
-ifeq (,$(findstring 3.81,$(MAKE_VERSION)))
- ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
- $(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
- endif
-endif
-
-# Locate this Makefile
-ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
- makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
-else
- makefile_path:=$(lastword $(MAKEFILE_LIST))
-endif
-root_dir:=$(patsubst %/common/makefiles/Makefile,%,$(makefile_path))
-
-# ... and then we can include our helper functions
-include $(dir $(makefile_path))/MakeHelpers.gmk
-
-$(eval $(call ParseLogLevel))
-$(eval $(call ParseConfAndSpec))
-
-# Now determine if we have zero, one or several configurations to build.
-ifeq ($(SPEC),)
- # Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
-else
- ifeq ($(words $(SPEC)),1)
- # We are building a single configuration. This is the normal case. Execute the Main.gmk file.
- include $(dir $(makefile_path))/Main.gmk
- else
- # We are building multiple configurations.
- # First, find out the valid targets
- # Run the makefile with an arbitraty SPEC using -p -q (quiet dry-run and dump rules) to find
- # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
- all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
- $(MAKE) -p -q -f $(makefile_path) SPEC=$(firstword $(SPEC)) | \
- grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
-
-$(all_phony_targets):
- @$(foreach spec,$(SPEC),($(MAKE) -f $(makefile_path) SPEC=$(spec) $(VERBOSE) VERBOSE=$(VERBOSE) $@) &&) true
-
- endif
-endif
-
-# Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
-# If you addd more global targets, please update the variable global_targets in MakeHelpers.
-
-help:
- $(info )
- $(info OpenJDK Makefile help)
- $(info =====================)
- $(info )
- $(info Common make targets)
- $(info . make [all] # Compile all code but do not create images)
- $(info . make images # Create complete j2sdk and j2re images)
- $(info . make overlay-images # Create limited images for sparc 64 bit platforms)
- $(info . make bootcycle-images # Build images twice, second time with newly build JDK)
- $(info . make install # Install the generated images locally)
- $(info . make clean # Remove all files generated by make, but not those)
- $(info . # generated by configure)
- $(info . make dist-clean # Remove all files, including configuration)
- $(info . make help # Give some help on using make)
- $(info . make test # Run tests, default is all tests (see TEST below))
- $(info )
- $(info Targets for specific components)
- $(info (Component is any of langtools, corba, jaxp, jaxws, hotspot, jdk, images or overlay-images))
- $(info . make <component> # Build <component> and everything it depends on. )
- $(info . make <component>-only # Build <component> only, without dependencies. This)
- $(info . # is faster but can result in incorrect build results!)
- $(info . make clean-<component> # Remove files generated by make for <component>)
- $(info )
- $(info Useful make variables)
- $(info . make CONF= # Build all configurations (note, assignment is empty))
- $(info . make CONF=<substring> # Build the configuration(s) with a name matching)
- $(info . # <substring>)
- $(info )
- $(info . make LOG=<loglevel> # Change the log level from warn to <loglevel>)
- $(info . # Available log levels are:)
- $(info . # 'warn' (default), 'info', 'debug' and 'trace')
- $(info . # To see executed command lines, use LOG=debug)
- $(info )
- $(info . make JOBS=<n> # Run <n> parallel make jobs)
- $(info . # Note that -jN does not work as expected!)
- $(info )
- $(info . make test TEST=<test> # Only run the given test or tests, e.g.)
- $(info . # make test TEST="jdk_lang jdk_net")
- $(info )
-
-configure:
- @$(SHELL) $(root_dir)/configure $(CONFIGURE_ARGS)
- @echo ====================================================
- @echo "Note: This is a non-recommended way of running configure."
- @echo "Instead, run 'sh configure' in the top-level directory"
-
-.PHONY: help configure
+include ../../NewMakefile.gmk
--- a/common/makefiles/NativeCompilation.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/NativeCompilation.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -236,7 +236,7 @@
$$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
# Find all files in the source trees. Sort to remove duplicates.
- $1_ALL_SRCS := $$(sort $$(shell $(FIND) $$($1_SRC) -type f))
+ $1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
# Extract the C/C++ files.
$1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
$1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
--- a/common/makefiles/javadoc/Javadoc.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/common/makefiles/javadoc/Javadoc.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -32,8 +32,6 @@
# Definitions for $(DOCSDIR), $(MKDIR), $(BINDIR), etc.
#
-CLASSPATH_SEPARATOR = :
-
DOCSDIR=$(OUTPUT_ROOT)/docs
TEMPDIR=$(OUTPUT_ROOT)/docstemp
@@ -137,7 +135,7 @@
# List of all possible directories for javadoc to look for sources
# NOTE: Quotes are required around sourcepath argument only on Windows.
# Otherwise, you get "No packages or classes specified." due
-# to $(CLASSPATH_SEPARATOR) being interpreted as an end of
+# to $(PATH_SEP) being interpreted as an end of
# command (newline or shell ; character)
ALL_SOURCE_DIRS = $(JDK_SHARE_CLASSES) \
$(JDK_IMPSRC) \
@@ -154,7 +152,7 @@
EMPTY:=
SPACE:= $(EMPTY) $(EMPTY)
RELEASEDOCS_SOURCEPATH = \
- $(subst $(SPACE),$(CLASSPATH_SEPARATOR),$(strip $(ALL_SOURCE_DIRS)))
+ $(subst $(SPACE),$(PATH_SEP),$(strip $(ALL_SOURCE_DIRS)))
define prep-target
$(MKDIR) -p $(@D)
--- a/common/src/fixpath.c Fri Jan 18 14:15:51 2013 +0100
+++ b/common/src/fixpath.c Fri Jan 18 19:13:41 2013 +0100
@@ -29,6 +29,29 @@
#include <string.h>
#include <malloc.h>
+void report_error()
+{
+ LPVOID lpMsgBuf;
+ DWORD dw = GetLastError();
+
+ FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dw,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &lpMsgBuf,
+ 0,
+ NULL);
+
+ fprintf(stderr,
+ "Could not start process! Failed with error %d: %s\n",
+ dw, lpMsgBuf);
+
+ LocalFree(lpMsgBuf);
+}
+
/*
* Test if pos points to /cygdrive/_/ where _ can
* be any character.
@@ -256,7 +279,7 @@
DWORD exitCode;
if (argc<3 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) {
- fprintf(stderr, "Usage: fixpath -c|m<path@path@...> /cygdrive/c/WINDOWS/notepad.exe /cygdrive/c/x/test.txt");
+ fprintf(stderr, "Usage: fixpath -c|m<path@path@...> /cygdrive/c/WINDOWS/notepad.exe /cygdrive/c/x/test.txt\n");
exit(0);
}
@@ -308,11 +331,10 @@
0,
&si,
&pi);
- if(!rc)
- {
- //Could not start process;
- fprintf(stderr, "Could not start process!\n");
- exit(-1);
+ if(!rc) {
+ // Could not start process for some reason. Try to report why:
+ report_error();
+ exit(rc);
}
WaitForSingleObject(pi.hProcess,INFINITE);
--- a/corba/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/corba/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
603cceb495c8133d47b26a7502d51c7d8a67d76b jdk8-b70
8171d23e914d758836527b80b06debcfdb718f2d jdk8-b71
cb40427f47145b01b7e53c3e02b38ff7625efbda jdk8-b72
+191afde59e7be0e1a1d76d06f2a32ff17444f0ec jdk8-b73
--- a/hotspot/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/hotspot/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -307,3 +307,5 @@
0847210f85480bf3848dc90bc2ab23c0a4791b55 jdk8-b71
d5cb5830f570d1304ea4b196dde672a291b55f29 jdk8-b72
1e129851479e4f5df439109fca2c7be1f1613522 hs25-b15
+11619f33cd683c2f1d6ef72f1c6ff3dacf5a9f1c jdk8-b73
+70c89bd6b895a10d25ca70e08093c09ff2005fda hs25-b16
--- a/hotspot/make/hotspot_version Fri Jan 18 14:15:51 2013 +0100
+++ b/hotspot/make/hotspot_version Fri Jan 18 19:13:41 2013 +0100
@@ -35,7 +35,7 @@
HS_MAJOR_VER=25
HS_MINOR_VER=0
-HS_BUILD_NUMBER=16
+HS_BUILD_NUMBER=17
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
--- a/jaxp/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/jaxp/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
6ec9edffc286c9c9ac96c9cd2050b01cb5d514a8 jdk8-b70
499be952a291cec1dc774a84a238941d6faf772d jdk8-b71
bdf2af722a6b54fca47d8c51d17a1b8f41dd7a3e jdk8-b72
+84946404d1e1de003ed2bf218ef8d48906a90e37 jdk8-b73
--- a/jaxp/makefiles/BuildJaxp.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jaxp/makefiles/BuildJaxp.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, 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
@@ -47,11 +47,23 @@
$(eval $(call SetupJavaCompilation,BUILD_JAXP,\
SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
SRC:=$(JAXP_TOPDIR)/src,\
- CLEAN:=.properties,\
BIN:=$(JAXP_OUTPUTDIR)/classes,\
SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip))
-$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\
+# Imitate the property cleaning mechanism in the old build. This will likely be replaced
+# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
+# for now, even though it actually breaks properties containing # in the value.
+# Using nawk to avoid solaris sed.
+$(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties
+ $(MKDIR) -p $(@D)
+ $(RM) $@ $@.tmp
+ $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
+ $(MV) $@.tmp $@
+
+SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties")
+TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%,$(JAXP_OUTPUTDIR)/classes/%,$(SRC_PROP_FILES))
+
+$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP) $(TARGET_PROP_FILES),\
SRCS:=$(JAXP_OUTPUTDIR)/classes,\
SUFFIXES:=.class .properties,\
JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar))
--- a/jaxws/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/jaxws/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
3b1c2733d47ee9f8c530925df4041c59f9ee5a31 jdk8-b70
f577a39c9fb3d5820248c13c2cc74a192a9313e0 jdk8-b71
d9707230294d54e695e745a90de6112909100f12 jdk8-b72
+c606f644a5d9118c14b5822738bf23c300f14f24 jdk8-b73
--- a/jaxws/makefiles/BuildJaxws.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jaxws/makefiles/BuildJaxws.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, 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
@@ -48,14 +48,12 @@
$(eval $(call SetupJavaCompilation,BUILD_JAF,\
SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes,\
- CLEAN:=.properties,\
COPY:="dummy",\
BIN:=$(JAXWS_OUTPUTDIR)/jaf_classes))
$(eval $(call SetupJavaCompilation,BUILD_JAXWS,\
SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
SRC:=$(JAXWS_TOPDIR)/src/share/jaxws_classes,\
- CLEAN:=.properties,\
BIN:=$(JAXWS_OUTPUTDIR)/jaxws_classes,\
COPY:=.xsd,\
COPY_FILES:=$(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
@@ -76,7 +74,31 @@
BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
-$(eval $(call SetupArchive,ARCHIVE_JAXWS,$(BUILD_JAXWS) $(BUILD_JAF),\
+# Imitate the property cleaning mechanism in the old build. This will likely be replaced
+# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
+# for now, even though it actually breaks properties containing # in the value.
+# Using nawk to avoid solaris sed.
+$(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties
+ $(MKDIR) -p $(@D)
+ $(RM) $@ $@.tmp
+ $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
+ $(MV) $@.tmp $@
+
+JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties")
+TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%,\
+ $(JAXWS_OUTPUTDIR)/jaxws_classes/%,$(JAXWS_SRC_PROP_FILES))
+
+$(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties
+ $(MKDIR) -p $(@D)
+ $(RM) $@ $@.tmp
+ $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
+ $(MV) $@.tmp $@
+
+JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties")
+TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%,\
+ $(JAXWS_OUTPUTDIR)/jaf_classes/%,$(JAF_SRC_PROP_FILES))
+
+$(eval $(call SetupArchive,ARCHIVE_JAXWS,$(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES),\
SRCS:=$(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes,\
SUFFIXES:=.class .properties .xsd .java \
com.sun.mirror.apt.AnnotationProcessorFactory \
--- a/jdk/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
a996b57e554198f4592a5f3c30f2f9f4075e545d jdk8-b70
2a5af0f766d0acd68a81fb08fe11fd66795f86af jdk8-b71
32a57e645e012a1f0665c075969ca598e0dbb948 jdk8-b72
+733885f57e14cc27f5a5ff0dffe641d2fa3c704a jdk8-b73
--- a/jdk/make/common/shared/Defs-windows.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/make/common/shared/Defs-windows.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -549,7 +549,10 @@
_WSCRIPT2 :=$(DEVTOOLS_PATH)wscript.exe
WSCRIPT :=$(call FileExists,$(_WSCRIPT1),$(_WSCRIPT2))
endif
+# If CONFIGURE_BUILD is defined, checks were already done by configure.
+ifndef CONFIGURE_BUILD
WSCRIPT:=$(call AltCheckSpaces,WSCRIPT)
+endif #! CONFIGURE_BUILD
# batch mode no modal dialogs on errors, please.
WSCRIPT += -B
@@ -562,7 +565,10 @@
_CSCRIPT2 :=$(DEVTOOLS_PATH)cscript.exe
CSCRIPT :=$(call FileExists,$(_CSCRIPT1),$(_CSCRIPT2))
endif
+# If CONFIGURE_BUILD is defined, checks were already done by configure.
+ifndef CONFIGURE_BUILD
CSCRIPT:=$(call AltCheckSpaces,CSCRIPT)
+endif #! CONFIGURE_BUILD
# CABARC: path to cabarc.exe (used in creating install bundles)
ifdef ALT_CABARC
@@ -584,7 +590,10 @@
_MSICERT2 :=$(DEVTOOLS_PATH)msicert.exe
MSICERT :=$(call FileExists,$(_MSICERT1),$(_MSICERT2))
endif
+# If CONFIGURE_BUILD is defined, checks were already done by configure.
+ifndef CONFIGURE_BUILD
MSICERT:=$(call AltCheckSpaces,MSICERT)
+endif #! CONFIGURE_BUILD
# Import JDK images allow for partial builds, components not built are
# imported (or copied from) these import areas when needed.
--- a/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -124,10 +124,10 @@
$(BEANSRCDIR)/%BeanInfo.java: $(FAKESRC)/$(SWINGPKG)/%.java
@$(ECHO) $< >> $(TEMPDIR)/.beans.list
-$(BEANSRCDIR)/SwingBeanInfoBase.java: $(DOCLETSRC)/beaninfo/SwingBeanInfoBase.java
+$(BEANSRCDIR)/SwingBeanInfoBase.java: $(DOCLETSRC)/javax/swing/SwingBeanInfoBase.java
$(CP) $< $@
-$(BEANSRCDIR)/BeanInfoUtils.java: $(DOCLETSRC)/beaninfo/BeanInfoUtils.java
+$(BEANSRCDIR)/BeanInfoUtils.java: $(DOCLETSRC)/sun/swing/BeanInfoUtils.java
$(CP) $< $@
#
--- a/jdk/make/tools/swing-beans/beaninfo/BeanInfoUtils.java Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/*
- * Copyright (c) 1998, 2004, 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.
- */
-
-package sun.swing;
-
-import java.beans.*;
-import java.lang.reflect.Method;
-
-public class BeanInfoUtils
-{
- /* The values of these createPropertyDescriptor() and
- * createBeanDescriptor() keywords are the names of the
- * properties they're used to set.
- */
- public static final String BOUND = "bound";
- public static final String CONSTRAINED = "constrained";
- public static final String PROPERTYEDITORCLASS = "propertyEditorClass";
- public static final String READMETHOD = "readMethod";
- public static final String WRITEMETHOD = "writeMethod";
- public static final String DISPLAYNAME = "displayName";
- public static final String EXPERT = "expert";
- public static final String HIDDEN = "hidden";
- public static final String PREFERRED = "preferred";
- public static final String SHORTDESCRIPTION = "shortDescription";
- public static final String CUSTOMIZERCLASS = "customizerClass";
-
- static private void initFeatureDescriptor(FeatureDescriptor fd, String key, Object value)
- {
- if (DISPLAYNAME.equals(key)) {
- fd.setDisplayName((String)value);
- }
-
- if (EXPERT.equals(key)) {
- fd.setExpert(((Boolean)value).booleanValue());
- }
-
- if (HIDDEN.equals(key)) {
- fd.setHidden(((Boolean)value).booleanValue());
- }
-
- if (PREFERRED.equals(key)) {
- fd.setPreferred(((Boolean)value).booleanValue());
- }
-
- else if (SHORTDESCRIPTION.equals(key)) {
- fd.setShortDescription((String)value);
- }
-
- /* Otherwise assume that we have an arbitrary FeatureDescriptor
- * "attribute".
- */
- else {
- fd.setValue(key, value);
- }
- }
-
- /**
- * Create a beans PropertyDescriptor given an of keyword/value
- * arguments. The following sample call shows all of the supported
- * keywords:
- *<pre>
- * createPropertyDescriptor("contentPane", new Object[] {
- * BOUND, Boolean.TRUE,
- * CONSTRAINED, Boolean.TRUE,
- * PROPERTYEDITORCLASS, package.MyEditor.class,
- * READMETHOD, "getContentPane",
- * WRITEMETHOD, "setContentPane",
- * DISPLAYNAME, "contentPane",
- * EXPERT, Boolean.FALSE,
- * HIDDEN, Boolean.FALSE,
- * PREFERRED, Boolean.TRUE,
- * SHORTDESCRIPTION, "A top level window with a window manager border",
- * "random attribute","random object value"
- * }
- * );
- * </pre>
- * The keywords correspond to <code>java.beans.PropertyDescriptor</code> and
- * <code>java.beans.FeatureDescriptor</code> properties, e.g. providing a value
- * for displayName is comparable to <code>FeatureDescriptor.setDisplayName()</code>.
- * Using createPropertyDescriptor instead of the PropertyDescriptor
- * constructor and set methods is preferrable in that it regularizes
- * the code in a <code>java.beans.BeanInfo.getPropertyDescriptors()</code>
- * method implementation. One can use <code>createPropertyDescriptor</code>
- * to set <code>FeatureDescriptor</code> attributes, as in "random attribute"
- * "random object value".
- * <p>
- * All properties should provide a reasonable value for the
- * <code>SHORTDESCRIPTION</code> keyword and should set <code>BOUND</code>
- * to <code>Boolean.TRUE</code> if neccessary. The remaining keywords
- * are optional. There's no need to provide values for keywords like
- * READMETHOD if the correct value can be computed, i.e. if the properties
- * get/is method follows the standard beans pattern.
- * <p>
- * The PREFERRED keyword is not supported by the JDK1.1 java.beans package.
- * It's still worth setting it to true for properties that are most
- * likely to be interested to the average developer, e.g. AbstractButton.title
- * is a preferred property, AbstractButton.focusPainted is not.
- *
- * @see java.beans#BeanInfo
- * @see java.beans#PropertyDescriptor
- * @see java.beans#FeatureDescriptor
- */
- public static PropertyDescriptor createPropertyDescriptor(Class cls, String name, Object[] args)
- {
- PropertyDescriptor pd = null;
- try {
- pd = new PropertyDescriptor(name, cls);
- } catch (IntrospectionException e) {
- // Try creating a read-only property, in case setter isn't defined.
- try {
- pd = createReadOnlyPropertyDescriptor(name, cls);
- } catch (IntrospectionException ie) {
- throwError(ie, "Can't create PropertyDescriptor for " + name + " ");
- }
- }
-
- for(int i = 0; i < args.length; i += 2) {
- String key = (String)args[i];
- Object value = args[i + 1];
-
- if (BOUND.equals(key)) {
- pd.setBound(((Boolean)value).booleanValue());
- }
-
- else if (CONSTRAINED.equals(key)) {
- pd.setConstrained(((Boolean)value).booleanValue());
- }
-
- else if (PROPERTYEDITORCLASS.equals(key)) {
- pd.setPropertyEditorClass((Class)value);
- }
-
- else if (READMETHOD.equals(key)) {
- String methodName = (String)value;
- Method method;
- try {
- method = cls.getMethod(methodName, new Class[0]);
- pd.setReadMethod(method);
- }
- catch(Exception e) {
- throwError(e, cls + " no such method as \"" + methodName + "\"");
- }
- }
-
- else if (WRITEMETHOD.equals(key)) {
- String methodName = (String)value;
- Method method;
- try {
- Class type = pd.getPropertyType();
- method = cls.getMethod(methodName, new Class[]{type});
- pd.setWriteMethod(method);
- }
- catch(Exception e) {
- throwError(e, cls + " no such method as \"" + methodName + "\"");
- }
- }
-
- else {
- initFeatureDescriptor(pd, key, value);
- }
- }
-
- return pd;
- }
-
-
- /**
- * Create a BeanDescriptor object given an of keyword/value
- * arguments. The following sample call shows all of the supported
- * keywords:
- *<pre>
- * createBeanDescriptor(JWindow..class, new Object[] {
- * CUSTOMIZERCLASS, package.MyCustomizer.class,
- * DISPLAYNAME, "JFrame",
- * EXPERT, Boolean.FALSE,
- * HIDDEN, Boolean.FALSE,
- * PREFERRED, Boolean.TRUE,
- * SHORTDESCRIPTION, "A top level window with a window manager border",
- * "random attribute","random object value"
- * }
- * );
- * </pre>
- * The keywords correspond to <code>java.beans.BeanDescriptor</code> and
- * <code>java.beans.FeatureDescriptor</code> properties, e.g. providing a value
- * for displayName is comparable to <code>FeatureDescriptor.setDisplayName()</code>.
- * Using createBeanDescriptor instead of the BeanDescriptor
- * constructor and set methods is preferrable in that it regularizes
- * the code in a <code>java.beans.BeanInfo.getBeanDescriptor()</code>
- * method implementation. One can use <code>createBeanDescriptor</code>
- * to set <code>FeatureDescriptor</code> attributes, as in "random attribute"
- * "random object value".
- *
- * @see java.beans#BeanInfo
- * @see java.beans#PropertyDescriptor
- */
- public static BeanDescriptor createBeanDescriptor(Class cls, Object[] args)
- {
- Class customizerClass = null;
-
- /* For reasons I don't understand, customizerClass is a
- * readOnly property. So we have to find it and pass it
- * to the constructor here.
- */
- for(int i = 0; i < args.length; i += 2) {
- if (CUSTOMIZERCLASS.equals((String)args[i])) {
- customizerClass = (Class)args[i + 1];
- break;
- }
- }
-
- BeanDescriptor bd = new BeanDescriptor(cls, customizerClass);
-
- for(int i = 0; i < args.length; i += 2) {
- String key = (String)args[i];
- Object value = args[i + 1];
- initFeatureDescriptor(bd, key, value);
- }
-
- return bd;
- }
-
- static private PropertyDescriptor createReadOnlyPropertyDescriptor(
- String name, Class cls) throws IntrospectionException {
-
- Method readMethod = null;
- String base = capitalize(name);
- Class[] parameters = new Class[0];
-
- // Is it a boolean?
- try {
- readMethod = cls.getMethod("is" + base, parameters);
- } catch (Exception ex) {}
- if (readMethod == null) {
- try {
- // Try normal accessor pattern.
- readMethod = cls.getMethod("get" + base, parameters);
- } catch (Exception ex2) {}
- }
- if (readMethod != null) {
- return new PropertyDescriptor(name, readMethod, null);
- }
-
- try {
- // Try indexed accessor pattern.
- parameters = new Class[1];
- parameters[0] = int.class;
- readMethod = cls.getMethod("get" + base, parameters);
- } catch (NoSuchMethodException nsme) {
- throw new IntrospectionException(
- "cannot find accessor method for " + name + " property.");
- }
- return new IndexedPropertyDescriptor(name, null, null, readMethod, null);
- }
-
- // Modified methods from java.beans.Introspector
- private static String capitalize(String s) {
- if (s.length() == 0) {
- return s;
- }
- char chars[] = s.toCharArray();
- chars[0] = Character.toUpperCase(chars[0]);
- return new String(chars);
- }
-
- /**
- * Fatal errors are handled by calling this method.
- */
- public static void throwError(Exception e, String s) {
- throw new Error(e.toString() + " " + s);
- }
-}
--- a/jdk/make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2004, 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.
- */
-
-package javax.swing;
-
-import java.beans.*;
-import java.lang.reflect.*;
-import java.awt.Image;
-
-/**
- * The superclass for all Swing BeanInfo classes. It provides
- * default implementations of <code>getIcon</code> and
- * <code>getDefaultPropertyIndex</code> as well as utility
- * methods, like createPropertyDescriptor, for writing BeanInfo
- * implementations. This classes is intended to be used along
- * with <code>GenSwingBeanInfo</code> a BeanInfo class code generator.
- *
- * @see GenSwingBeanInfo
- * @author Hans Muller
- */
-public class SwingBeanInfoBase extends SimpleBeanInfo
-{
- /**
- * The default index is always 0. In other words the first property
- * listed in the getPropertyDescriptors() method is the one
- * to show a (JFC builder) user in a situation where just a single
- * property will be shown.
- */
- public int getDefaultPropertyIndex() {
- return 0;
- }
-
- /**
- * Returns a generic Swing icon, all icon "kinds" are supported.
- * Subclasses should defer to this method when they don't have
- * a particular beans icon kind.
- */
- public Image getIcon(int kind) {
- // PENDING(hmuller) need generic swing icon images.
- return null;
- }
-
- /**
- * Returns the BeanInfo for the superclass of our bean, so that
- * its PropertyDescriptors will be included.
- */
- public BeanInfo[] getAdditionalBeanInfo() {
- Class superClass = getBeanDescriptor().getBeanClass().getSuperclass();
- BeanInfo superBeanInfo = null;
- try {
- superBeanInfo = Introspector.getBeanInfo(superClass);
- } catch (IntrospectionException ie) {}
- if (superBeanInfo != null) {
- BeanInfo[] ret = new BeanInfo[1];
- ret[0] = superBeanInfo;
- return ret;
- }
- return null;
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 1997, 2004, 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.
+ */
+
+package javax.swing;
+
+import java.beans.*;
+import java.lang.reflect.*;
+import java.awt.Image;
+
+/**
+ * The superclass for all Swing BeanInfo classes. It provides
+ * default implementations of <code>getIcon</code> and
+ * <code>getDefaultPropertyIndex</code> as well as utility
+ * methods, like createPropertyDescriptor, for writing BeanInfo
+ * implementations. This classes is intended to be used along
+ * with <code>GenSwingBeanInfo</code> a BeanInfo class code generator.
+ *
+ * @see GenSwingBeanInfo
+ * @author Hans Muller
+ */
+public class SwingBeanInfoBase extends SimpleBeanInfo
+{
+ /**
+ * The default index is always 0. In other words the first property
+ * listed in the getPropertyDescriptors() method is the one
+ * to show a (JFC builder) user in a situation where just a single
+ * property will be shown.
+ */
+ public int getDefaultPropertyIndex() {
+ return 0;
+ }
+
+ /**
+ * Returns a generic Swing icon, all icon "kinds" are supported.
+ * Subclasses should defer to this method when they don't have
+ * a particular beans icon kind.
+ */
+ public Image getIcon(int kind) {
+ // PENDING(hmuller) need generic swing icon images.
+ return null;
+ }
+
+ /**
+ * Returns the BeanInfo for the superclass of our bean, so that
+ * its PropertyDescriptors will be included.
+ */
+ public BeanInfo[] getAdditionalBeanInfo() {
+ Class superClass = getBeanDescriptor().getBeanClass().getSuperclass();
+ BeanInfo superBeanInfo = null;
+ try {
+ superBeanInfo = Introspector.getBeanInfo(superClass);
+ } catch (IntrospectionException ie) {}
+ if (superBeanInfo != null) {
+ BeanInfo[] ret = new BeanInfo[1];
+ ret[0] = superBeanInfo;
+ return ret;
+ }
+ return null;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/swing-beans/sun/swing/BeanInfoUtils.java Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,293 @@
+/*
+ * Copyright (c) 1998, 2004, 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.
+ */
+
+package sun.swing;
+
+import java.beans.*;
+import java.lang.reflect.Method;
+
+public class BeanInfoUtils
+{
+ /* The values of these createPropertyDescriptor() and
+ * createBeanDescriptor() keywords are the names of the
+ * properties they're used to set.
+ */
+ public static final String BOUND = "bound";
+ public static final String CONSTRAINED = "constrained";
+ public static final String PROPERTYEDITORCLASS = "propertyEditorClass";
+ public static final String READMETHOD = "readMethod";
+ public static final String WRITEMETHOD = "writeMethod";
+ public static final String DISPLAYNAME = "displayName";
+ public static final String EXPERT = "expert";
+ public static final String HIDDEN = "hidden";
+ public static final String PREFERRED = "preferred";
+ public static final String SHORTDESCRIPTION = "shortDescription";
+ public static final String CUSTOMIZERCLASS = "customizerClass";
+
+ static private void initFeatureDescriptor(FeatureDescriptor fd, String key, Object value)
+ {
+ if (DISPLAYNAME.equals(key)) {
+ fd.setDisplayName((String)value);
+ }
+
+ if (EXPERT.equals(key)) {
+ fd.setExpert(((Boolean)value).booleanValue());
+ }
+
+ if (HIDDEN.equals(key)) {
+ fd.setHidden(((Boolean)value).booleanValue());
+ }
+
+ if (PREFERRED.equals(key)) {
+ fd.setPreferred(((Boolean)value).booleanValue());
+ }
+
+ else if (SHORTDESCRIPTION.equals(key)) {
+ fd.setShortDescription((String)value);
+ }
+
+ /* Otherwise assume that we have an arbitrary FeatureDescriptor
+ * "attribute".
+ */
+ else {
+ fd.setValue(key, value);
+ }
+ }
+
+ /**
+ * Create a beans PropertyDescriptor given an of keyword/value
+ * arguments. The following sample call shows all of the supported
+ * keywords:
+ *<pre>
+ * createPropertyDescriptor("contentPane", new Object[] {
+ * BOUND, Boolean.TRUE,
+ * CONSTRAINED, Boolean.TRUE,
+ * PROPERTYEDITORCLASS, package.MyEditor.class,
+ * READMETHOD, "getContentPane",
+ * WRITEMETHOD, "setContentPane",
+ * DISPLAYNAME, "contentPane",
+ * EXPERT, Boolean.FALSE,
+ * HIDDEN, Boolean.FALSE,
+ * PREFERRED, Boolean.TRUE,
+ * SHORTDESCRIPTION, "A top level window with a window manager border",
+ * "random attribute","random object value"
+ * }
+ * );
+ * </pre>
+ * The keywords correspond to <code>java.beans.PropertyDescriptor</code> and
+ * <code>java.beans.FeatureDescriptor</code> properties, e.g. providing a value
+ * for displayName is comparable to <code>FeatureDescriptor.setDisplayName()</code>.
+ * Using createPropertyDescriptor instead of the PropertyDescriptor
+ * constructor and set methods is preferrable in that it regularizes
+ * the code in a <code>java.beans.BeanInfo.getPropertyDescriptors()</code>
+ * method implementation. One can use <code>createPropertyDescriptor</code>
+ * to set <code>FeatureDescriptor</code> attributes, as in "random attribute"
+ * "random object value".
+ * <p>
+ * All properties should provide a reasonable value for the
+ * <code>SHORTDESCRIPTION</code> keyword and should set <code>BOUND</code>
+ * to <code>Boolean.TRUE</code> if neccessary. The remaining keywords
+ * are optional. There's no need to provide values for keywords like
+ * READMETHOD if the correct value can be computed, i.e. if the properties
+ * get/is method follows the standard beans pattern.
+ * <p>
+ * The PREFERRED keyword is not supported by the JDK1.1 java.beans package.
+ * It's still worth setting it to true for properties that are most
+ * likely to be interested to the average developer, e.g. AbstractButton.title
+ * is a preferred property, AbstractButton.focusPainted is not.
+ *
+ * @see java.beans#BeanInfo
+ * @see java.beans#PropertyDescriptor
+ * @see java.beans#FeatureDescriptor
+ */
+ public static PropertyDescriptor createPropertyDescriptor(Class cls, String name, Object[] args)
+ {
+ PropertyDescriptor pd = null;
+ try {
+ pd = new PropertyDescriptor(name, cls);
+ } catch (IntrospectionException e) {
+ // Try creating a read-only property, in case setter isn't defined.
+ try {
+ pd = createReadOnlyPropertyDescriptor(name, cls);
+ } catch (IntrospectionException ie) {
+ throwError(ie, "Can't create PropertyDescriptor for " + name + " ");
+ }
+ }
+
+ for(int i = 0; i < args.length; i += 2) {
+ String key = (String)args[i];
+ Object value = args[i + 1];
+
+ if (BOUND.equals(key)) {
+ pd.setBound(((Boolean)value).booleanValue());
+ }
+
+ else if (CONSTRAINED.equals(key)) {
+ pd.setConstrained(((Boolean)value).booleanValue());
+ }
+
+ else if (PROPERTYEDITORCLASS.equals(key)) {
+ pd.setPropertyEditorClass((Class)value);
+ }
+
+ else if (READMETHOD.equals(key)) {
+ String methodName = (String)value;
+ Method method;
+ try {
+ method = cls.getMethod(methodName, new Class[0]);
+ pd.setReadMethod(method);
+ }
+ catch(Exception e) {
+ throwError(e, cls + " no such method as \"" + methodName + "\"");
+ }
+ }
+
+ else if (WRITEMETHOD.equals(key)) {
+ String methodName = (String)value;
+ Method method;
+ try {
+ Class type = pd.getPropertyType();
+ method = cls.getMethod(methodName, new Class[]{type});
+ pd.setWriteMethod(method);
+ }
+ catch(Exception e) {
+ throwError(e, cls + " no such method as \"" + methodName + "\"");
+ }
+ }
+
+ else {
+ initFeatureDescriptor(pd, key, value);
+ }
+ }
+
+ return pd;
+ }
+
+
+ /**
+ * Create a BeanDescriptor object given an of keyword/value
+ * arguments. The following sample call shows all of the supported
+ * keywords:
+ *<pre>
+ * createBeanDescriptor(JWindow..class, new Object[] {
+ * CUSTOMIZERCLASS, package.MyCustomizer.class,
+ * DISPLAYNAME, "JFrame",
+ * EXPERT, Boolean.FALSE,
+ * HIDDEN, Boolean.FALSE,
+ * PREFERRED, Boolean.TRUE,
+ * SHORTDESCRIPTION, "A top level window with a window manager border",
+ * "random attribute","random object value"
+ * }
+ * );
+ * </pre>
+ * The keywords correspond to <code>java.beans.BeanDescriptor</code> and
+ * <code>java.beans.FeatureDescriptor</code> properties, e.g. providing a value
+ * for displayName is comparable to <code>FeatureDescriptor.setDisplayName()</code>.
+ * Using createBeanDescriptor instead of the BeanDescriptor
+ * constructor and set methods is preferrable in that it regularizes
+ * the code in a <code>java.beans.BeanInfo.getBeanDescriptor()</code>
+ * method implementation. One can use <code>createBeanDescriptor</code>
+ * to set <code>FeatureDescriptor</code> attributes, as in "random attribute"
+ * "random object value".
+ *
+ * @see java.beans#BeanInfo
+ * @see java.beans#PropertyDescriptor
+ */
+ public static BeanDescriptor createBeanDescriptor(Class cls, Object[] args)
+ {
+ Class customizerClass = null;
+
+ /* For reasons I don't understand, customizerClass is a
+ * readOnly property. So we have to find it and pass it
+ * to the constructor here.
+ */
+ for(int i = 0; i < args.length; i += 2) {
+ if (CUSTOMIZERCLASS.equals((String)args[i])) {
+ customizerClass = (Class)args[i + 1];
+ break;
+ }
+ }
+
+ BeanDescriptor bd = new BeanDescriptor(cls, customizerClass);
+
+ for(int i = 0; i < args.length; i += 2) {
+ String key = (String)args[i];
+ Object value = args[i + 1];
+ initFeatureDescriptor(bd, key, value);
+ }
+
+ return bd;
+ }
+
+ static private PropertyDescriptor createReadOnlyPropertyDescriptor(
+ String name, Class cls) throws IntrospectionException {
+
+ Method readMethod = null;
+ String base = capitalize(name);
+ Class[] parameters = new Class[0];
+
+ // Is it a boolean?
+ try {
+ readMethod = cls.getMethod("is" + base, parameters);
+ } catch (Exception ex) {}
+ if (readMethod == null) {
+ try {
+ // Try normal accessor pattern.
+ readMethod = cls.getMethod("get" + base, parameters);
+ } catch (Exception ex2) {}
+ }
+ if (readMethod != null) {
+ return new PropertyDescriptor(name, readMethod, null);
+ }
+
+ try {
+ // Try indexed accessor pattern.
+ parameters = new Class[1];
+ parameters[0] = int.class;
+ readMethod = cls.getMethod("get" + base, parameters);
+ } catch (NoSuchMethodException nsme) {
+ throw new IntrospectionException(
+ "cannot find accessor method for " + name + " property.");
+ }
+ return new IndexedPropertyDescriptor(name, null, null, readMethod, null);
+ }
+
+ // Modified methods from java.beans.Introspector
+ private static String capitalize(String s) {
+ if (s.length() == 0) {
+ return s;
+ }
+ char chars[] = s.toCharArray();
+ chars[0] = Character.toUpperCase(chars[0]);
+ return new String(chars);
+ }
+
+ /**
+ * Fatal errors are handled by calling this method.
+ */
+ public static void throwError(Exception e, String s) {
+ throw new Error(e.toString() + " " + s);
+ }
+}
--- a/jdk/makefiles/BuildJdk.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/BuildJdk.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -39,10 +39,7 @@
# Setup the java compilers for the JDK build.
include Setup.gmk
-# Setup the build tools.
-include Tools.gmk
-
-import: $(BUILD_TOOLS) import-only
+import: import-only
import-only:
# Import (corba jaxp jaxws langtools hotspot)
+$(MAKE) -f Import.gmk
@@ -91,17 +88,19 @@
# into packages, or installed.
images:
+$(MAKE) -f CreateJars.gmk
- +$(MAKE) -f Images.gmk
+ +$(MAKE) -f Images.gmk
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+ +$(MAKE) -f Bundles.gmk
+endif
overlay-images:
+$(MAKE) -f CompileLaunchers.gmk OVERLAY_IMAGES=true
+$(MAKE) -f Images.gmk overlay-images
-# Create platform specific image layouts
-bundles:
- +$(MAKE) -f Bundles.gmk
+sign-jars:
+ +$(MAKE) -f SignJars.gmk
-BINARIES:=$(notdir $(wildcard $(IMAGES_OUTPUTDIR)/j2sdk-image/bin/*))
+BINARIES:=$(notdir $(wildcard $(JDK_IMAGE_DIR)/bin/*))
INSTALLDIR:=openjdk-$(RELEASE)
# Install the jdk image, in a very crude way. Not taking into
@@ -111,7 +110,7 @@
echo and creating $(words $(BINARIES)) links from $(INSTALL_PREFIX)/bin into the jdk.
$(MKDIR) -p $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
$(RM) -r $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/*
- $(CP) -rp $(IMAGES_OUTPUTDIR)/j2sdk-image/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
+ $(CP) -rp $(JDK_IMAGE_DIR)/* $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)
$(MKDIR) -p $(INSTALL_PREFIX)/bin
$(RM) $(addprefix $(INSTALL_PREFIX)/bin/,$(BINARIES))
$(foreach b,$(BINARIES),$(LN) -s $(INSTALL_PREFIX)/jvm/$(INSTALLDIR)/bin/$b $(INSTALL_PREFIX)/bin/$b &&) true
--- a/jdk/makefiles/Bundles.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/Bundles.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -33,9 +33,7 @@
bundles: jre-bundle jdk-bundle
-
-JDK_BUNDLE_DIR := $(IMAGES_OUTPUTDIR)/j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
-JRE_BUNDLE_DIR := $(IMAGES_OUTPUTDIR)/j2re-bundle/jre$(JDK_VERSION).jre/Contents
+# JDK_BUNDLE_DIR and JRE_BUNDLE_DIR are defined in SPEC.
MACOSX_SRC := $(JDK_TOPDIR)/src/macosx
@@ -70,30 +68,31 @@
endif
-JDK_FILE_LIST := $(shell $(FIND) $(IMAGES_OUTPUTDIR)/j2sdk-image ! -type d)
-JRE_FILE_LIST := $(shell $(FIND) $(IMAGES_OUTPUTDIR)/j2re-image ! -type d)
+JDK_FILE_LIST := $(shell $(FIND) $(JDK_IMAGE_DIR))
+JRE_FILE_LIST := $(shell $(FIND) $(JRE_IMAGE_DIR))
-JDK_TARGET_LIST := $(subst $(IMAGES_OUTPUTDIR)/j2sdk-image,$(JDK_BUNDLE_DIR)/Home,$(JDK_FILE_LIST))
-JRE_TARGET_LIST := $(subst $(IMAGES_OUTPUTDIR)/j2re-image,$(JRE_BUNDLE_DIR)/Home,$(JRE_FILE_LIST))
+JDK_TARGET_LIST := $(subst $(JDK_IMAGE_DIR)/,$(JDK_BUNDLE_DIR)/Home/,$(JDK_FILE_LIST))
+JRE_TARGET_LIST := $(subst $(JRE_IMAGE_DIR)/,$(JRE_BUNDLE_DIR)/Home/,$(JRE_FILE_LIST))
# The old builds implementation of this did not preserve symlinks so
# make sure they are followed and the contents copied instead.
-# To fix this, just replace copy with install-file macro.
-$(JDK_BUNDLE_DIR)/Home/%: $(IMAGES_OUTPUTDIR)/j2sdk-image/%
+# To fix this, remove -L
+# Copy empty directories (jre/lib/applet).
+$(JDK_BUNDLE_DIR)/Home/%: $(JDK_IMAGE_DIR)/%
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
- $(CP) -f -R -L '$<' '$@'
+ if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -L '$<' '$@'; fi
-$(JRE_BUNDLE_DIR)/Home/%: $(IMAGES_OUTPUTDIR)/j2re-image/%
+$(JRE_BUNDLE_DIR)/Home/%: $(JRE_IMAGE_DIR)/%
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
- $(CP) -f -R -L '$<' '$@'
+ if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -L '$<' '$@'; fi
$(JDK_BUNDLE_DIR)/MacOS/libjli.dylib:
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
$(RM) $@
- $(LN) -s ../Home/lib/jli/libjli.dylib $@
+ $(LN) -s ../Home/jre/lib/jli/libjli.dylib $@
$(JRE_BUNDLE_DIR)/MacOS/libjli.dylib:
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
--- a/jdk/makefiles/CompileDemos.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CompileDemos.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -33,6 +33,9 @@
# Setup the java compilers for the JDK build.
include Setup.gmk
+# Prepare the find cache. Only used if running on windows.
+$(eval $(call FillCacheFind,$(JDK_TOPDIR)/src))
+
# Append demo goals to this variable.
BUILD_DEMOS=
@@ -185,7 +188,7 @@
BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%,\
$(JDK_OUTPUTDIR)/demo/nbproject/%,\
- $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/demo/nbproject/ -type f))
+ $(call CacheFind,$(JDK_TOPDIR)/src/closed/share/demo/nbproject))
$(JDK_OUTPUTDIR)/demo/nbproject/% : $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
$(MKDIR) -p $(@D)
$(CP) $< $@
@@ -317,7 +320,7 @@
# The jpda demo (com/sun/tools/example) is oddly enough stored in src/share/classes.
# At least, we do not need to compile the jpda demo, just jar/zip up the sources.
-JPDA_SOURCES:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes/com/sun/tools/example -type f)
+JPDA_SOURCES:=$(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/tools/example)
# The number of files are few enough so that we can use echo safely below to list them.
JPDA_FILES:=$(subst $(JDK_TOPDIR)/src/share/classes/,,$(JPDA_SOURCES))
@@ -363,7 +366,7 @@
# The netbeans project files are copied into the demo directory.
BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%,\
$(JDK_OUTPUTDIR)/demo/nbproject/%,\
- $(shell $(FIND) $(JDK_TOPDIR)/src/share/demo/nbproject/ -type f))
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/demo/nbproject))
$(JDK_OUTPUTDIR)/demo/nbproject/% : $(JDK_TOPDIR)/src/share/demo/nbproject/%
$(MKDIR) -p $(@D)
@@ -439,7 +442,7 @@
##################################################################################################
ifndef OPENJDK
- DB_DEMO_ZIPFILE := $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*demo*.zip")
+ DB_DEMO_ZIPFILE := $(wildcard $(JDK_TOPDIR)/src/closed/share/db/*demo*.zip)
$(JDK_OUTPUTDIR)/demo/_the.db.unzipped: $(DB_DEMO_ZIPFILE)
$(MKDIR) -p $(@D)
--- a/jdk/makefiles/CompileJavaClasses.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CompileJavaClasses.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -42,8 +42,7 @@
com/sun/tools/example/trace\
com/sun/tools/example/debug/bdi\
com/sun/tools/example/debug/event\
- com/sun/tools/example/debug/gui \
- com/oracle/security
+ com/sun/tools/example/debug/gui
ifdef OPENJDK
EXCLUDES+= sun/dc \
@@ -86,6 +85,8 @@
sun/nio/ch/SolarisEventPort.java \
sun/tools/attach/SolarisAttachProvider.java \
sun/tools/attach/SolarisVirtualMachine.java
+
+ EXCLUDES += com/oracle/security
endif
# In the old build, this isn't excluded on macosx, even though it probably
@@ -227,14 +228,20 @@
sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
endif
-# Exclude nimbus files from rt.jar
+# These files do not appear in the build result of the old build. This
+# is because they are generated sources, but the AUTO_JAVA_FILES won't
+# pick them up since they aren't generated when the source dirs are
+# searched and they aren't referenced by any other classes so they won't
+# be picked up by implicit compilation. On a rebuild, they are picked up
+# and compiled. Exclude them here to produce the same rt.jar as the old
+# build does when building just once.
EXFILES+=javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
- javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
- javax/swing/plaf/nimbus/ScrollBarPainter.java \
- javax/swing/plaf/nimbus/SliderPainter.java \
- javax/swing/plaf/nimbus/SpinnerPainter.java \
- javax/swing/plaf/nimbus/SplitPanePainter.java \
- javax/swing/plaf/nimbus/TabbedPanePainter.java
+ javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
+ javax/swing/plaf/nimbus/ScrollBarPainter.java \
+ javax/swing/plaf/nimbus/SliderPainter.java \
+ javax/swing/plaf/nimbus/SpinnerPainter.java \
+ javax/swing/plaf/nimbus/SplitPanePainter.java \
+ javax/swing/plaf/nimbus/TabbedPanePainter.java
# Acquire a list of files that should be copied straight over to the classes.
include CopyIntoClasses.gmk
@@ -285,6 +292,7 @@
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
$(MACOSX_SRC_DIRS) \
$(JDK_OUTPUTDIR)/gensrc \
+ $(JDK_OUTPUTDIR)/gensrc_no_srczip \
$(CLOSED_SRC_DIRS),\
INCLUDES:=$(JDK_USER_DEFINED_FILTER),\
EXCLUDES:=$(EXCLUDES),\
@@ -295,35 +303,6 @@
HEADERS:=$(JDK_OUTPUTDIR)/gensrc_headers))
##########################################################################################
-# Special handling of header file generation for classes in the jigsaw base module which
-# currently can't add the annotaion GenerateNativeHeaders. For these specific classes the
-# java file and the class have the same names which enables shortcutting the dependencies.
-
-JDK_BASE_HEADER_CLASSES:=java.lang.Integer \
- java.lang.Long \
- java.net.SocketOptions \
- sun.nio.ch.IOStatus \
- java.io.FileSystem
-
-JDK_BASE_HEADER_JAVA_FILES:=$(patsubst %,$(JDK_TOPDIR)/src/share/classes/%.java,\
- $(subst .,/,$(JDK_BASE_HEADER_CLASSES)))
-
-ifeq ($(OPENJDK_TARGET_OS),windows)
- JDK_BASE_HEADER_CLASSES_WINDOWS:=sun.nio.ch.PollArrayWrapper
- JDK_BASE_HEADER_CLASSES+=$(JDK_BASE_HEADER_CLASSES_WINDOWS)
- JDK_BASE_HEADER_JAVA_FILES+=$(patsubst %,$(JDK_TOPDIR)/src/windows/classes/%.java,\
- $(subst .,/,$(JDK_BASE_HEADER_CLASSES_WINDOWS)))
-endif
-
-# Set prereqs to the java files since make doesn't know about the class files. Add BUILD_JDK
-# as an order only dependency to avoid race with the java compilation.
-$(JDK_OUTPUTDIR)/gensrc_headers/_the.jdk.base.headers: $(JDK_BASE_HEADER_JAVA_FILES) | $(BUILD_JDK)
- $(ECHO) Generating headers for jdk base classes
- $(JAVAH) -bootclasspath $(JDK_OUTPUTDIR)/classes -d $(JDK_OUTPUTDIR)/gensrc_headers \
- $(JDK_BASE_HEADER_CLASSES)
- $(TOUCH) $@
-
-##########################################################################################
ifndef OPENJDK
@@ -387,7 +366,6 @@
# copy with -a to preserve timestamps so dependencies down the line aren't messed up
all: $(BUILD_JDK) $(BUILD_ALTCLASSES) $(BUILD_JOBJC) $(BUILD_JOBJC_HEADERS) $(COPY_EXTRA) \
- $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \
- $(JDK_OUTPUTDIR)/gensrc_headers/_the.jdk.base.headers
+ $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin
.PHONY: all
--- a/jdk/makefiles/CompileLaunchers.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CompileLaunchers.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -32,6 +32,9 @@
# Setup the java compilers for the JDK build.
include Setup.gmk
+# Prepare the find cache. Only used on windows.
+$(eval $(call FillCacheFind,$(JDK_TOPDIR)/src/share/bin))
+
# Build tools
include Tools.gmk
--- a/jdk/makefiles/CompileNativeLibraries.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CompileNativeLibraries.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -35,6 +35,9 @@
# Copy files (can now depend on $(COPY_FILES))
include CopyFiles.gmk
+# Prepare the find cache. Only used if running on windows.
+$(eval $(call FillCacheFind,$(JDK_TOPDIR)/src))
+
# Build tools
include Tools.gmk
@@ -2607,7 +2610,6 @@
LIBRARY:=sunmscapi,\
OUTPUT_DIR:=$(INSTALL_LIBRARIES_HERE),\
SRC:=$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi,\
- INCLUDE_FILES:=security.cpp, \
LANG:=C++,\
OPTIMIZATION:=LOW, \
CFLAGS:=$(CFLAGS_JDKLIB) \
--- a/jdk/makefiles/CopyFiles.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CopyFiles.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -317,7 +317,7 @@
$(MKDIR) -p $(@D)
$(RM) $(JVMCFG)
$(PRINTF) "-client KNOWN\n">$(JVMCFG)
- $(PRINTF) "-server IGNORE\n">>$(JVMCFG)
+ $(PRINTF) "-server ALIASED_TO -client\n">>$(JVMCFG)
$(PRINTF) "-hotspot ALIASED_TO -client\n">>$(JVMCFG)
$(PRINTF) "-classic WARN\n">>$(JVMCFG)
$(PRINTF) "-native ERROR\n">>$(JVMCFG)
--- a/jdk/makefiles/CopyIntoClasses.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CopyIntoClasses.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -169,7 +169,7 @@
# are uncommented and the configuration file is stored in the output META-INF directory.
# Make sure the output directory is created.
-$(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services)
+$(eval $(call MakeDir,$(JDK_OUTPUTDIR)/classes/META-INF/services))
# Find all META-INF/services/* files
ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF)
ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes -type d -a -name META-INF)
--- a/jdk/makefiles/CreateJars.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/CreateJars.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -30,6 +30,9 @@
default: all
+# Prepare the find cache. Only used if running on windows.
+$(eval $(call FillCacheFind,$(JDK_OUTPUTDIR)/classes))
+
include Tools.gmk
#
@@ -126,81 +129,22 @@
# Exclude list for rt.jar and resources.jar
RT_JAR_EXCLUDES := \
+ com/oracle/security \
+ com/sun/codemodel \
+ com/sun/crypto/provider \
+ com/sun/istack/internal/tools \
+ com/sun/jarsigner \
com/sun/javadoc \
com/sun/jdi \
- com/sun/jarsigner \
+ com/sun/net/ssl/internal/ssl \
com/sun/source \
- com/sun/istack/internal/tools \
- META-INF/services/com.sun.jdi.connect.Connector \
- META-INF/services/com.sun.jdi.connect.spi.TransportService \
- META-INF/services/com.sun.tools.xjc.Plugin \
com/sun/tools \
- sun/jvmstat \
- sun/nio/cs/ext \
- sun/awt/HKSCS.class \
- sun/awt/motif/X11GB2312\$$$$Decoder.class \
- sun/awt/motif/X11GB2312\$$$$Encoder.class \
- sun/awt/motif/X11GB2312.class \
- sun/awt/motif/X11GBK\$$$$Encoder.class \
- sun/awt/motif/X11GBK.class \
- sun/awt/motif/X11KSC5601\$$$$Decoder.class \
- sun/awt/motif/X11KSC5601\$$$$Encoder.class \
- sun/awt/motif/X11KSC5601.class \
- META-INF/services/java.nio.charset.spi.CharsetProvider \
- sun/rmi/rmic \
- sun/tools/asm \
- sun/tools/java \
- sun/tools/javac \
- com/sun/tools/classfile \
- com/sun/tools/javap \
- sun/tools/jcmd \
- sun/tools/jconsole \
- sun/tools/jps \
- sun/tools/jstat \
- sun/tools/jstatd \
- sun/tools/native2ascii \
- sun/tools/serialver \
- sun/tools/tree \
- sun/tools/util \
- sun/security/tools/jarsigner \
- sun/security/provider/Sun.class \
- sun/security/rsa/SunRsaSign.class \
- sun/security/ssl \
- sun/security/ec/ECDHKeyAgreement.class \
- sun/security/ec/ECDSASignature\$$$$Raw.class \
- sun/security/ec/ECDSASignature\$$$$SHA1.class \
- sun/security/ec/ECDSASignature\$$$$SHA224.class \
- sun/security/ec/ECDSASignature\$$$$SHA256.class \
- sun/security/ec/ECDSASignature\$$$$SHA384.class \
- sun/security/ec/ECDSASignature\$$$$SHA512.class \
- sun/security/ec/ECDSASignature.class \
- sun/security/ec/ECKeyFactory.class \
- sun/security/ec/ECKeyPairGenerator.class \
- sun/security/ec/SunEC\$$$$1.class \
- sun/security/ec/SunEC.class \
- sun/security/ec/SunECEntries.class \
- sun/security/mscapi \
- sun/security/pkcs11 \
- com/sun/net/ssl/internal/ssl \
- javax/crypto \
- sun/security/internal \
- com/sun/crypto/provider \
- META-INF/services/com.sun.tools.attach.spi.AttachProvider \
- com/sun/tools/attach \
- org/relaxng/datatype \
- com/sun/codemodel \
com/sun/xml/internal/dtdparser \
com/sun/xml/internal/rngom \
com/sun/xml/internal/xsom \
- com/sun/tools/script/shell \
- sun/tools/attach \
- sun/tools/jstack \
- sun/tools/jinfo \
- sun/tools/jmap \
- sun/net/spi/nameservice/dns \
- META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \
+ javax/crypto \
+ javax/swing/AbstractButtonBeanInfo.class \
javax/swing/beaninfo \
- javax/swing/AbstractButtonBeanInfo.class \
javax/swing/BoxBeanInfo.class \
javax/swing/JAppletBeanInfo.class \
javax/swing/JButtonBeanInfo.class \
@@ -246,11 +190,67 @@
javax/swing/JWindowBeanInfo.class \
javax/swing/SwingBeanInfoBase.class \
javax/swing/text/JTextComponentBeanInfo.class \
+ META-INF/services/com.sun.jdi.connect.Connector \
+ META-INF/services/com.sun.jdi.connect.spi.TransportService \
+ META-INF/services/com.sun.tools.attach.spi.AttachProvider \
+ META-INF/services/com.sun.tools.xjc.Plugin \
+ META-INF/services/java.nio.charset.spi.CharsetProvider \
+ META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor \
+ org/relaxng/datatype \
+ sun/awt/HKSCS.class \
+ sun/awt/motif/X11GB2312.class \
+ sun/awt/motif/X11GB2312\$$$$Decoder.class \
+ sun/awt/motif/X11GB2312\$$$$Encoder.class \
+ sun/awt/motif/X11GBK.class \
+ sun/awt/motif/X11GBK\$$$$Encoder.class \
+ sun/awt/motif/X11KSC5601.class \
+ sun/awt/motif/X11KSC5601\$$$$Decoder.class \
+ sun/awt/motif/X11KSC5601\$$$$Encoder.class \
+ sun/jvmstat \
+ sun/net/spi/nameservice/dns \
+ sun/nio/cs/ext \
+ sun/rmi/rmic \
+ sun/security/ec/ECDHKeyAgreement.class \
+ sun/security/ec/ECDSASignature.class \
+ sun/security/ec/ECDSASignature\$$$$Raw.class \
+ sun/security/ec/ECDSASignature\$$$$SHA1.class \
+ sun/security/ec/ECDSASignature\$$$$SHA224.class \
+ sun/security/ec/ECDSASignature\$$$$SHA256.class \
+ sun/security/ec/ECDSASignature\$$$$SHA384.class \
+ sun/security/ec/ECDSASignature\$$$$SHA512.class \
+ sun/security/ec/ECKeyFactory.class \
+ sun/security/ec/ECKeyPairGenerator.class \
+ sun/security/ec/SunEC\$$$$1.class \
+ sun/security/ec/SunEC.class \
+ sun/security/ec/SunECEntries.class \
+ sun/security/internal \
+ sun/security/mscapi \
+ sun/security/pkcs11 \
+ sun/security/provider/Sun.class \
+ sun/security/rsa/SunRsaSign.class \
+ sun/security/ssl \
+ sun/security/tools/jarsigner \
sun/swing/BeanInfoUtils.class \
- $(LOCALEDATA_INCLUDES) \
sun/text/resources/cldr \
+ sun/tools/asm \
+ sun/tools/attach \
+ sun/tools/java \
+ sun/tools/javac \
+ sun/tools/jcmd \
+ sun/tools/jconsole \
+ sun/tools/jinfo \
+ sun/tools/jmap \
+ sun/tools/jps \
+ sun/tools/jstack \
+ sun/tools/jstat \
+ sun/tools/jstatd \
+ sun/tools/native2ascii \
+ sun/tools/serialver \
+ sun/tools/tree \
+ sun/tools/util \
+ sun/util/cldr/CLDRLocaleDataMetaInfo.class \
sun/util/resources/cldr \
- sun/util/cldr/CLDRLocaleDataMetaInfo.class
+ $(LOCALEDATA_INCLUDES)
# These files should never be put into rt.jar
# but due to a misstake...some are put there if embedded
@@ -275,8 +275,8 @@
endif
# Find all files in the classes dir to use as dependencies. This could be more fine granular.
-ALL_FILES_IN_CLASSES := $(shell $(FIND) $(JDK_OUTPUTDIR)/classes -type f \
- | $(GREP) -v -e '/_the\.*' -e '^_the\.*' -e 'javac_state')
+ALL_FILES_IN_CLASSES := $(call not-containing,_the.,$(filter-out %javac_state,\
+ $(call CacheFind,$(JDK_OUTPUTDIR)/classes)))
RT_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib/_the.rt.jar_manifest
RESOURCE_JAR_MANIFEST_FILE := $(IMAGES_OUTPUTDIR)/lib/_the.resources.jar_manifest
@@ -437,60 +437,61 @@
$(MV) $@.tmp $@
##########################################################################################
+# For all security jars, always build the jar, but for closed, install the prebuilt signed
+# version instead of the newly built jar. For open, signing is not needed. See SignJars.gmk
+# for more information.
SUNPKCS11_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunpkcs11.jar
+SUNPKCS11_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunpkcs11.jar
+
+$(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes, \
+ SUFFIXES:=.class,\
+ INCLUDES:=sun/security/pkcs11,\
+ JAR:=$(SUNPKCS11_JAR_UNSIGNED), \
+ MANIFEST:=$(JCE_MANIFEST), \
+ SKIP_METAINF := true))
+
+$(SUNPKCS11_JAR_UNSIGNED): $(JCE_MANIFEST)
ifndef OPENJDK
-
SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar
-
$(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_SRC)
@$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunPKCS11 provider..."
$(install-file)
-
else
-
- $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR,,\
- SRCS:=$(JDK_OUTPUTDIR)/classes, \
- SUFFIXES:=.class,\
- INCLUDES:=sun/security/pkcs11,\
- JAR:=$(SUNPKCS11_JAR_DST), \
- MANIFEST:=$(JCE_MANIFEST), \
- SKIP_METAINF := true))
-
- $(SUNPKCS11_JAR_DST): $(JCE_MANIFEST)
-
+ $(SUNPKCS11_JAR_DST) : $(SUNPKCS11_JAR_UNSIGNED)
+ $(install-file)
endif
-JARS += $(SUNPKCS11_JAR_DST)
+JARS += $(SUNPKCS11_JAR_DST) $(SUNPKCS11_JAR_UNSIGNED)
##########################################################################################
SUNEC_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunec.jar
+SUNEC_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunec.jar
+
+$(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes, \
+ SUFFIXES:=.class,\
+ INCLUDES:=sun/security/ec,\
+ JAR:=$(SUNEC_JAR_UNSIGNED), \
+ MANIFEST:=$(JCE_MANIFEST), \
+ SKIP_METAINF := true))
+
+$(SUNEC_JAR_UNSIGNED): $(JCE_MANIFEST)
ifndef OPENJDK
-
SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar
-
$(SUNEC_JAR_DST) : $(SUNEC_JAR_SRC)
@$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunEC provider..."
$(install-file)
-
else
-
- $(eval $(call SetupArchive,BUILD_SUNEC_JAR,,\
- SRCS:=$(JDK_OUTPUTDIR)/classes, \
- SUFFIXES:=.class,\
- INCLUDES:=sun/security/ec,\
- JAR:=$(SUNEC_JAR_DST), \
- MANIFEST:=$(JCE_MANIFEST), \
- SKIP_METAINF := true))
-
- $(SUNEC_JAR_DST): $(JCE_MANIFEST)
-
+ $(SUNEC_JAR_DST) : $(SUNEC_JAR_UNSIGNED)
+ $(install-file)
endif
-JARS += $(SUNEC_JAR_DST)
+JARS += $(SUNEC_JAR_DST) $(SUNEC_JAR_UNSIGNED)
##########################################################################################
@@ -508,162 +509,166 @@
##########################################################################################
SUNJCE_PROVIDER_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunjce_provider.jar
-
-ifndef OPENJDK
- SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar
+SUNJCE_PROVIDER_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunjce_provider.jar
- $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC)
- @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..."
- $(install-file)
-
-else
-
- $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\
+$(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR,,\
SRCS:=$(JDK_OUTPUTDIR)/classes, \
SUFFIXES:=.class,\
INCLUDES:= com/sun/crypto/provider,\
- JAR:=$(SUNJCE_PROVIDER_JAR_DST), \
+ JAR:=$(SUNJCE_PROVIDER_JAR_UNSIGNED), \
MANIFEST:=$(JCE_MANIFEST), \
SKIP_METAINF := true))
- $(SUNJCE_PROVIDER_JAR_DST): $(JCE_MANIFEST)
+$(SUNJCE_PROVIDER_JAR_UNSIGNED): $(JCE_MANIFEST)
+ifndef OPENJDK
+ SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar
+ $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_SRC)
+ @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunJCE provider..."
+ $(install-file)
+else
+ $(SUNJCE_PROVIDER_JAR_DST) : $(SUNJCE_PROVIDER_JAR_UNSIGNED)
+ $(install-file)
endif
-JARS += $(SUNJCE_PROVIDER_JAR_DST)
+JARS += $(SUNJCE_PROVIDER_JAR_DST) $(SUNJCE_PROVIDER_JAR_UNSIGNED)
+
+##########################################################################################
JCE_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/jce.jar
+JCE_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/jce.jar
+
+$(eval $(call SetupArchive,BUILD_JCE_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes, \
+ SUFFIXES:=.class,\
+ INCLUDES:= javax/crypto sun/security/internal,\
+ JAR:=$(JCE_JAR_UNSIGNED), \
+ MANIFEST:=$(JCE_MANIFEST), \
+ SKIP_METAINF := true))
+
+$(JCE_JAR_UNSIGNED): $(JCE_MANIFEST)
ifndef OPENJDK
-
JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar
-
$(JCE_JAR_DST) : $(JCE_JAR_SRC)
@$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt jce.jar..."
$(install-file)
-
else
-
- $(eval $(call SetupArchive,BUILD_JCE_JAR,,\
- SRCS:=$(JDK_OUTPUTDIR)/classes, \
- SUFFIXES:=.class,\
- INCLUDES:= javax/crypto sun/security/internal,\
- JAR:=$(JCE_JAR_DST), \
- MANIFEST:=$(JCE_MANIFEST), \
- SKIP_METAINF := true))
-
- $(JCE_JAR_DST): $(JCE_MANIFEST)
-
+ $(JCE_JAR_DST) : $(JCE_JAR_UNSIGNED)
+ $(install-file)
endif
-JARS += $(JCE_JAR_DST)
+JARS += $(JCE_JAR_DST) $(JCE_JAR_UNSIGNED)
##########################################################################################
US_EXPORT_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/US_export_policy.jar
+US_EXPORT_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/US_export_policy.jar
+
+#
+# TODO fix so that SetupArchive does not write files into SRCS
+# then we don't need this extra copying
+#
+# NOTE: We currently do not place restrictions on our limited export
+# policy. This was not a typo.
+#
+US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
+US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp
+
+$(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/%
+ $(install-file)
+
+US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy
+
+$(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\
+ SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \
+ SUFFIXES:= .policy,\
+ JAR:=$(US_EXPORT_POLICY_JAR_UNSIGNED), \
+ EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \
+ SKIP_METAINF := true))
ifndef OPENJDK
-
-
$(US_EXPORT_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar
$(ECHO) $(LOG_INFO) Copying $(@F)
$(install-file)
-
else
-
- #
- # TODO fix so that SetupArchive does not write files into SRCS
- # then we don't need this extra copying
- #
- # NOTE: We currently do not place restrictions on our limited export
- # policy. This was not a typo.
- #
- US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
- US_EXPORT_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/US_export_policy_jar.tmp
-
- $(US_EXPORT_POLICY_JAR_TMP)/% : $(US_EXPORT_POLICY_JAR_SRC_DIR)/%
+ $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNSIGNED)
$(install-file)
-
- US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy
-
- $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR,$(US_EXPORT_POLICY_JAR_DEPS),\
- SRCS:=$(US_EXPORT_POLICY_JAR_TMP), \
- SUFFIXES:= .policy,\
- JAR:=$(US_EXPORT_POLICY_JAR_DST), \
- EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \
- SKIP_METAINF := true))
-
endif
-JARS += $(US_EXPORT_POLICY_JAR_DST)
+JARS += $(US_EXPORT_POLICY_JAR_DST) $(US_EXPORT_POLICY_JAR_UNSIGNED)
##########################################################################################
LOCAL_POLICY_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/security/local_policy.jar
+LOCAL_POLICY_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/local_policy.jar
+
+#
+# TODO fix so that SetupArchive does not write files into SRCS
+# then we don't need this extra copying
+#
+LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp
+
+ifeq ($(UNLIMITED_CRYPTO), true)
+ LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
+ LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy
+ LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited
+else
+ LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited
+ LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \
+ $(LOCAL_POLICY_JAR_TMP)/default_local.policy
+ LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited
+endif
+
+$(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/%
+ $(install-file)
+
+$(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\
+ SRCS:=$(LOCAL_POLICY_JAR_TMP),\
+ SUFFIXES:= .policy,\
+ JAR:=$(LOCAL_POLICY_JAR_UNSIGNED), \
+ EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \
+ SKIP_METAINF := true))
ifndef OPENJDK
-
$(LOCAL_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar
$(ECHO) $(LOG_INFO) Copying $(@F)
$(install-file)
-
else
-
- #
- # TODO fix so that SetupArchive does not write files into SRCS
- # then we don't need this extra copying
- #
- LOCAL_POLICY_JAR_TMP := $(IMAGES_OUTPUTDIR)/local_policy_jar.tmp
-
- ifeq ($(UNLIMITED_CRYPTO), true)
- LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/unlimited
- LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/default_local.policy
- LOCAL_POLICY_JAR_ATTR := Crypto-Strength: unlimited
- else
- LOCAL_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/javax/crypto/policy/limited
- LOCAL_POLICY_JAR_DEPS := $(LOCAL_POLICY_JAR_TMP)/exempt_local.policy \
- $(LOCAL_POLICY_JAR_TMP)/default_local.policy
- LOCAL_POLICY_JAR_ATTR := Crypto-Strength: limited
- endif
-
- $(LOCAL_POLICY_JAR_TMP)/% : $(LOCAL_POLICY_JAR_SRC_DIR)/%
+ $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNSIGNED)
$(install-file)
-
- $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR,$(LOCAL_POLICY_JAR_DEPS),\
- SRCS:=$(LOCAL_POLICY_JAR_TMP),\
- SUFFIXES:= .policy,\
- JAR:=$(LOCAL_POLICY_JAR_DST), \
- EXTRA_MANIFEST_ATTR := $(LOCAL_POLICY_JAR_ATTR), \
- SKIP_METAINF := true))
-
endif
-JARS += $(LOCAL_POLICY_JAR_DST)
+JARS += $(LOCAL_POLICY_JAR_DST) $(LOCAL_POLICY_JAR_UNSIGNED)
##########################################################################################
ifeq ($(OPENJDK_TARGET_OS),windows)
SUNMSCAPI_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/sunmscapi.jar
-
-ifndef OPENJDK
-SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar
-
-$(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC)
- @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..."
- $(install-file)
-
-else
+SUNMSCAPI_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/sunmscapi.jar
$(eval $(call SetupArchive,BUILD_SUNMSCAPI_JAR,,\
SRCS:=$(JDK_OUTPUTDIR)/classes, \
SUFFIXES:=.class,\
INCLUDES:= sun/security/mscapi,\
- JAR:=$(SUNMSCAPI_JAR_DST), \
+ JAR:=$(SUNMSCAPI_JAR_UNSIGNED), \
+ MANIFEST:=$(JCE_MANIFEST), \
SKIP_METAINF:=true))
+
+$(SUNMSCAPI_JAR_UNSIGNED): $(JCE_MANIFEST)
+
+ifndef OPENJDK
+ SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar
+ $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_SRC)
+ @$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt SunMSCAPI provider..."
+ $(install-file)
+else
+ $(SUNMSCAPI_JAR_DST) : $(SUNMSCAPI_JAR_UNSIGNED)
+ $(install-file)
endif
-JARS += $(SUNMSCAPI_JAR_DST)
+JARS += $(SUNMSCAPI_JAR_DST) $(SUNMSCAPI_JAR_UNSIGNED)
endif
@@ -673,13 +678,24 @@
ifndef OPENJDK
UCRYPTO_JAR_DST := $(IMAGES_OUTPUTDIR)/lib/ext/ucrypto.jar
+UCRYPTO_JAR_UNSIGNED := $(IMAGES_OUTPUTDIR)/unsigned/ucrypto.jar
UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar
+$(eval $(call SetupArchive,BUILD_UCRYPTO_JAR,,\
+ SRCS:=$(JDK_OUTPUTDIR)/classes, \
+ SUFFIXES:=.class,\
+ INCLUDES:=com/oracle/security/ucrypto,\
+ JAR:=$(UCRYPTO_JAR_UNSIGNED), \
+ MANIFEST:=$(JCE_MANIFEST), \
+ SKIP_METAINF:=true))
+
+$(UCRYPTO_JAR_UNSIGNED): $(JCE_MANIFEST)
+
$(UCRYPTO_JAR_DST) : $(UCRYPTO_JAR_SRC)
@$(ECHO) $(LOG_INFO) "\n>>>Installing prebuilt OracleUcrypto provider..."
$(install-file)
-JARS += $(UCRYPTO_JAR_DST)
+JARS += $(UCRYPTO_JAR_DST) $(UCRYPTO_JAR_UNSIGNED)
endif
endif
@@ -707,57 +723,57 @@
##########################################################################################
TOOLS_JAR_INCLUDES := \
- sun/tools/asm \
- sun/tools/jar \
- sun/tools/java \
- sun/tools/javac \
- sun/tools/jcmd \
- sun/tools/jps \
- sun/tools/jstat \
- sun/tools/jstatd \
- sun/tools/native2ascii \
- sun/tools/serialver \
- sun/tools/tree \
- sun/tools/util \
- sun/security/tools/jarsigner \
- sun/rmi/rmic \
- sun/applet \
- sun/jvmstat \
+ com/sun/codemodel \
+ com/sun/istack/internal/tools \
+ com/sun/jarsigner \
com/sun/javadoc \
com/sun/jdi \
- com/sun/jarsigner \
com/sun/source \
+ com/sun/tools/attach \
com/sun/tools/classfile \
+ com/sun/tools/corba \
com/sun/tools/doclets \
com/sun/tools/doclint \
com/sun/tools/example/debug/expr \
com/sun/tools/example/debug/tty \
com/sun/tools/extcheck \
com/sun/tools/hat \
+ com/sun/tools/internal/jxc \
+ com/sun/tools/internal/jxc/ap \
+ com/sun/tools/internal/ws \
+ com/sun/tools/internal/ws/wscompile/plugin/at_generated \
+ com/sun/tools/internal/xjc \
com/sun/tools/javac \
com/sun/tools/javadoc \
com/sun/tools/javah \
com/sun/tools/javap \
com/sun/tools/jdeps \
- com/sun/tools/corba \
- com/sun/tools/internal/xjc \
- com/sun/tools/internal/ws \
- com/sun/istack/internal/tools \
- com/sun/tools/internal/jxc/ap \
- com/sun/tools/internal/ws/wscompile/plugin/at_generated \
- com/sun/codemodel \
- com/sun/tools/internal/jxc \
+ com/sun/tools/jdi \
+ com/sun/tools/script/shell \
+ com/sun/xml/internal/dtdparser \
com/sun/xml/internal/rngom \
com/sun/xml/internal/xsom \
org/relaxng/datatype \
- com/sun/xml/internal/dtdparser \
- com/sun/tools/jdi \
- com/sun/tools/script/shell \
- com/sun/tools/attach \
+ sun/applet \
+ sun/jvmstat \
+ sun/rmi/rmic \
+ sun/security/tools/jarsigner \
+ sun/tools/asm \
sun/tools/attach \
- sun/tools/jstack \
+ sun/tools/jar \
+ sun/tools/java \
+ sun/tools/javac \
+ sun/tools/jcmd \
sun/tools/jinfo \
- sun/tools/jmap
+ sun/tools/jmap \
+ sun/tools/jps \
+ sun/tools/jstack \
+ sun/tools/jstat \
+ sun/tools/jstatd \
+ sun/tools/native2ascii \
+ sun/tools/serialver \
+ sun/tools/tree \
+ sun/tools/util
# The sjavac tools is not ready for public consumption.
TOOLS_JAR_EXCLUDES=com/sun/tools/sjavac
@@ -821,7 +837,7 @@
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS)
$(TOUCH) $@
-$(shell $(MKDIR) -p $(IMAGES_OUTPUTDIR)/symbols)
+$(eval $(call MakeDir,$(IMAGES_OUTPUTDIR)/symbols))
$(eval $(call SetupArchive,BUILD_CT_SYM,$(IMAGES_OUTPUTDIR)/symbols/_the.symbols,\
SRCS:=$(IMAGES_OUTPUTDIR)/symbols,\
INCLUDES:=META-INF/sym,\
@@ -833,6 +849,19 @@
##########################################################################################
SRC_ZIP_INCLUDES = \
+ com/sun/corba \
+ com/sun/image/codec/jpeg \
+ com/sun/imageio \
+ com/sun/java_cup \
+ com/sun/javadoc \
+ com/sun/java/swing \
+ com/sun/jlex \
+ com/sun/jmx \
+ com/sun/naming \
+ com/sun/org/apache \
+ com/sun/security/auth \
+ com/sun/security/jgss \
+ com/sun/source \
java/applet \
java/awt \
java/beans \
@@ -846,34 +875,21 @@
java/sql \
java/text \
java/util \
- com/sun/corba \
- com/sun/image/codec/jpeg \
- com/sun/imageio \
- com/sun/java/swing \
- com/sun/javadoc \
- com/sun/jmx \
- com/sun/source \
- com/sun/naming \
- com/sun/security/auth \
- com/sun/security/jgss \
javax/accessibility \
javax/annotation \
- javax/script \
javax/imageio \
javax/lang \
javax/management \
javax/naming \
javax/print \
javax/rmi \
+ javax/script \
javax/security \
javax/sound \
javax/sql \
javax/swing \
javax/tools \
javax/xml \
- com/sun/org/apache \
- com/sun/java_cup \
- com/sun/jlex \
org/ietf \
org/omg \
org/w3c/dom \
@@ -966,6 +982,62 @@
JARS += $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar
##########################################################################################
+#
+# sec-bin.zip is used by builds where the corresponding sources are not available
+#
+$(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP,\
+ SRC:=$(JDK_OUTPUTDIR),\
+ INCLUDES:=classes/javax/net \
+ classes/javax/security/cert \
+ classes/com/sun/net/ssl \
+ classes/com/sun/security/cert \
+ classes/sun/net/www/protocol/https \
+ classes/sun/security/pkcs12 \
+ classes/sun/security/ssl \
+ classes/sun/security/krb5 \
+ classes/sun/security/krb5/internal \
+ classes/sun/security/krb5/internal/ccache \
+ classes/sun/security/krb5/internal/crypto \
+ classes/sun/security/krb5/internal/ktab \
+ classes/sun/security/krb5/internal/rcache \
+ classes/sun/security/krb5/internal/util,\
+ INCLUDE_FILES:=classes/sun/security/jgss/spi/GSSContextSpi.class,\
+ EXCLUDES:=classes/sun/security/krb5/internal/tools,\
+ ZIP:=$(IMAGES_OUTPUTDIR)/sec-bin.zip))
+
+JARS += $(IMAGES_OUTPUTDIR)/sec-bin.zip
+
+##########################################################################################
+#
+# Windows specific binary security packages.
+#
+ifeq ($(OPENJDK_TARGET_OS),windows)
+ # sec-windows-bin.zip is used by builds where the corresponding sources are not available
+ $(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP,\
+ SRC:=$(JDK_OUTPUTDIR),\
+ INCLUDES:=classes/sun/security/krb5/internal/tools,\
+ ZIP:=$(IMAGES_OUTPUTDIR)/sec-windows-bin.zip))
+
+ JARS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip
+
+ # JGSS files contain the native Kerberos library
+ ifeq ($(OPENJDK_TARGET_CPU),x86_64)
+ JGSS_ZIP_NAME=jgss-windows-x64-bin.zip
+ else
+ JGSS_ZIP_NAME=jgss-windows-i586-bin.zip
+ endif
+
+ $(eval $(call SetupZipArchive,BUILD_JGSS_BIN_ZIP,\
+ SRC:=$(JDK_OUTPUTDIR),\
+ INCLUDE_FILES:=bin/w2k_lsa_auth.dll \
+ bin/w2k_lsa_auth.map \
+ bin/w2k_lsa_auth.pdb,\
+ ZIP:=$(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME)))
+
+ JARS += $(IMAGES_OUTPUTDIR)/$(JGSS_ZIP_NAME)
+endif
+
+##########################################################################################
-include $(CUSTOM_MAKE_DIR)/CreateJars.gmk
--- a/jdk/makefiles/GensrcProperties.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/GensrcProperties.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -23,6 +23,9 @@
# questions.
#
+# Prepare the find cache. This is only used on windows.
+$(eval $(call FillCacheFind,$(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/windows/classes))
+
# All .properties files to be compiled are appended to this variable.
ALL_COMPILED_PROPSOURCES:=
# All generated .java files from compilation are appended to this variable.
@@ -117,44 +120,54 @@
#com/apple/laf/resources
ifeq ($(OPENJDK_TARGET_OS),macosx)
$(eval $(call add_properties_to_compile,COM_APPLE_LAF,\
- $(shell find $(JDK_TOPDIR)/src/macosx/classes/com/apple/laf/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/macosx/classes/com/apple/laf/resources)),\
+ ListResourceBundle))
endif
#com/sun/accessibility/internal/resources
$(eval $(call add_properties_to_compile,COM_SUN_ACCESSIBILITY,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_ACCESSIBILITY_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/accessibility/internal/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/imageio/plugins/common
$(eval $(call add_properties_to_clean,COM_SUN_IMAGEIO,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/imageio -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/imageio))))
#com/sun/java/swing/plaf/gtk/resources
ifneq ($(OPENJDK_TARGET_OS), windows)
# Only compile GTK resource bundles on Solaris/Linux
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_GTK_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/gtk/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
endif
#com/sun/java/swing/plaf/motif/resources
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_MOTIF,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_MOTIF_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/motif/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/java/swing/plaf/windows/resources
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_WINDOWS,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_WINDOWS_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/java/swing/plaf/windows/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/java/util/jar/pack
$(eval $(call add_properties_to_clean,JNDI_COSNAMING,\
$(JDK_TOPDIR)/src/share/classes/com/sun/java/util/jar/pack/intrinsic.properties))
@@ -169,138 +182,171 @@
#FIXME: The "xmlsecurity*.properties" pattern is not ideal; we might want to find
#a better way to select the properties files that are needed.
$(eval $(call add_properties_to_clean,XML_SECURITY,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/org/apache/xml/internal/security/resource -name "xmlsecurity*.properties")))
+ $(filter $(JDK_TOPDIR)/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity%.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/org/apache/xml/internal/security/resource))))
#com/sun/rowset
$(eval $(call add_properties_to_clean,COM_SUN_ROWSET,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/rowset -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/rowset))))
$(eval $(call add_properties_to_clean,COM_SUN_ROWSET_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/rowset -name "*zh_TW.properties"),\
+ $(filter %zh_TW.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/rowset)),\
%zh_TW,%zh_HK))
#com/sun/servicetag/resources
#com/sun/swing/internal/plaf/basic/resources
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_BASIC,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_BASIC_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/basic/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/swing/internal/plaf/metal/resources
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_METAL,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_METAL_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,$(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/metal/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/swing/internal/plaf/synth/resources
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_SYNTH,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,COM_SUN_SWING_PLAF_SYNTH_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/swing/internal/plaf/synth/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#com/sun/tools/jdi/resources
$(eval $(call add_properties_to_compile,COM_SUN_TOOLS_JDI,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/com/sun/tools/jdi/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/com/sun/tools/jdi/resources)),\
+ ListResourceBundle))
#com/sun/tools/script/shell
#java/util
#javax/sql/rowset
$(eval $(call add_properties_to_clean,JAVAX_SQL_ROWSET,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/javax/sql/rowset -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/javax/sql/rowset))))
#sun/awt/resources
$(eval $(call add_properties_to_compile,SUN_AWT,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/awt/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/awt/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_AWT_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/awt/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/awt/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#sun/awt/windows/
ifeq ($(OPENJDK_TARGET_OS),windows)
$(eval $(call add_properties_to_compile,SUN_AWT,\
- $(shell find $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows -name "awtLocalization*.properties"),\
- ListResourceBundle))
+ $(filter $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows/awtLocalization%.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/windows/classes/sun/awt/windows)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_AWT_HK,\
- $(shell find $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows -name "awtLocalization*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows/awtLocalization%.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/windows/classes/sun/awt/windows)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
endif
#sun/launcher/resources
$(eval $(call add_properties_to_compile,SUN_LAUNCHER,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/launcher/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/launcher/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_LAUNCHER_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/launcher/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/launcher/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#sun/management/resources
$(eval $(call add_properties_to_compile,SUN_MANAGEMENT,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/management/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/management/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_MANAGEMENT_KH,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/management/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/management/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#sun/print
#sun/print/resources
$(eval $(call add_properties_to_compile,SUN_PRINT,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/print/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/print/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_PRINT_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/print/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/print/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#sun/rmi/registry/resources
$(eval $(call add_properties_to_clean,SUN_RMI_REGISTRY,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources))))
$(eval $(call add_properties_to_clean,SUN_RMI_REGISTRY_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources -name "*zh_TW.properties"),\
+ $(filter %zh_TW.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/registry/resources)),\
%zh_TW,%zh_HK))
#sun/rmi/rmic/resources
$(eval $(call add_properties_to_clean,SUN_RMI_RMIC,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/rmi/rmic/resources -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/rmic/resources))))
#sun/rmi/server/resources
$(eval $(call add_properties_to_clean,SUN_RMI_SERVER,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources))))
$(eval $(call add_properties_to_clean,SUN_RMI_SERVER_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources -name "*zh_TW.properties"),\
+ $(filter %zh_TW.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/rmi/server/resources)),\
%zh_TW,%zh_HK))
# sun/tools/jar/resources
$(eval $(call add_properties_to_compile,SUN_TOOLS_JAR,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_TOOLS_JAR_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jar/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
#sun/tools/javac/resources
# It's unclear if the other localized property files here are supposed to be copied or not
# but the old build system didn't copy them.
$(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/javac/resources -name "javac.properties")))
+ $(filter %javac.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/javac/resources))))
#sun/tools/jconsole/resources
$(eval $(call add_properties_to_clean,SUN_TOOLS_JCONSOLE,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/resources -name "*.properties")))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/jconsole/resources))))
#sun/tools/serialver
$(eval $(call add_properties_to_clean,SUN_TOOLS_SERIALVER,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/tools/serialver -name "*.properties"),,,resources))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/tools/serialver)),,,resources))
#sun/util/logging/resources
$(eval $(call add_properties_to_compile,SUN_UTIL_LOGGING,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources -name "*.properties"),\
- ListResourceBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources)),\
+ ListResourceBundle))
$(eval $(call add_properties_to_compile,SUN_UTIL_LOGGING_HK,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources -name "*.properties"),\
- ListResourceBundle,%zh_TW,%zh_HK))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/logging/resources)),\
+ ListResourceBundle,%zh_TW,%zh_HK))
# sun/util/resources
$(eval $(call add_properties_to_compile,SUN_UTIL,\
- $(shell find $(JDK_TOPDIR)/src/share/classes/sun/util/resources -name "*.properties"),\
- sun.util.resources.LocaleNamesBundle))
+ $(filter %.properties,\
+ $(call CacheFind,$(JDK_TOPDIR)/src/share/classes/sun/util/resources)),\
+ sun.util.resources.LocaleNamesBundle))
# Now setup the rule for the generation of the resource bundles.
$(JDK_OUTPUTDIR)/gensrc/_the.compiled_properties : $(ALL_COMPILED_PROPSOURCES) $(BUILD_TOOLS)
--- a/jdk/makefiles/GensrcSwing.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/GensrcSwing.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -45,7 +45,6 @@
# Generate beaninfo java files
#
-BEAN_GENSRC_DIR = $(JDK_OUTPUTDIR)/gensrc/javax/swing/beaninfo
DOCLETSRC_DIR = $(JDK_TOPDIR)/make/tools/swing-beans
# javax.swing package
@@ -69,25 +68,31 @@
# Dummy variable so far, in the old build system it was false by default
SWINGBEAN_DEBUG_FLAG = false
# GenDocletBeanInfo is compiled in Tools.gmk and picks up from $(JDK_OUTPUTDIR)/btclasses
-$(JDK_OUTPUTDIR)/gensrc/_the.generated_beaninfo: $(BEANS_SRC) $(BEAN_GENSRC_DIR)/SwingBeanInfoBase.java $(BEAN_GENSRC_DIR)/BeanInfoUtils.java $(BUILD_TOOLS)
+$(JDK_OUTPUTDIR)/gensrc_no_srczip/_the.generated_beaninfo: $(BEANS_SRC) $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing/SwingBeanInfoBase.java $(JDK_OUTPUTDIR)/gensrc/sun/swing/BeanInfoUtils.java $(BUILD_TOOLS)
$(ECHO) Generating beaninfo
- $(JAVA) -Djava.awt.headless=true -jar $(JAVADOC_JARS) -doclet GenDocletBeanInfo -x $(SWINGBEAN_DEBUG_FLAG) -d $(BEAN_GENSRC_DIR) -t $(DOCLETSRC_DIR)/SwingBeanInfo.template -docletpath $(JDK_OUTPUTDIR)/btclasses \
+ $(MKDIR) -p $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing
+ $(JAVA) -Djava.awt.headless=true -jar $(JAVADOC_JARS) -doclet GenDocletBeanInfo \
+ -x $(SWINGBEAN_DEBUG_FLAG) -d $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing \
+ -t $(DOCLETSRC_DIR)/SwingBeanInfo.template -docletpath $(JDK_OUTPUTDIR)/btclasses \
-XDignore.symbol.file=true \
-classpath $(JDK_OUTPUTDIR)/btclasses $(BEANS_SRC) $(LOG_INFO)
+# Move the JTextComponent into its proper package directory.
+ $(MKDIR) -p $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing/text
+ $(MV) $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing/JTextComponentBeanInfo.java $(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing/text/JTextComponentBeanInfo.java
$(TOUCH) $@
# This file is the part of dt.jar
-# For some reason it is under $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo
+# For some reason it is under $(JDK_TOPDIR)/make/tools/swing-beans/javax/swing
# Should it be moved under $(JDK_TOPDIR)/src/share/classes/javax/swing instead?
-$(BEAN_GENSRC_DIR)/SwingBeanInfoBase.java: $(DOCLETSRC_DIR)/beaninfo/SwingBeanInfoBase.java
+$(JDK_OUTPUTDIR)/gensrc_no_srczip/javax/swing/SwingBeanInfoBase.java: $(DOCLETSRC_DIR)/javax/swing/SwingBeanInfoBase.java
$(MKDIR) -p $(@D)
$(CP) $< $@
# This file is the part of dt.jar
-# For some reason it is under $(JDK_TOPDIR)/make/tools/swing-beans/beaninfo
+# For some reason it is under $(JDK_TOPDIR)/make/tools/swing-beans/sun/swing
# Should it be moved under $(JDK_TOPDIR)/src/share/classes/sun/swing instead?
-$(BEAN_GENSRC_DIR)/BeanInfoUtils.java: $(DOCLETSRC_DIR)/beaninfo/BeanInfoUtils.java
+$(JDK_OUTPUTDIR)/gensrc/sun/swing/BeanInfoUtils.java: $(DOCLETSRC_DIR)/sun/swing/BeanInfoUtils.java
$(MKDIR) -p $(@D)
$(CP) $< $@
-GENSRC_SWING_BEANINFO = $(JDK_OUTPUTDIR)/gensrc/_the.generated_beaninfo
+GENSRC_SWING_BEANINFO = $(JDK_OUTPUTDIR)/gensrc_no_srczip/_the.generated_beaninfo
--- a/jdk/makefiles/GensrcX11Wrappers.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/GensrcX11Wrappers.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -23,84 +23,95 @@
# questions.
#
+# This file is responsible for extracting the x11 native struct offsets to
+# the xawt Java library. The tool needs to be run on the os/arch that
+# will host the final jvm, thus the tool cannot be used when cross compiling.
-# This file is responsible for extracting the x11 native struct offsets to
-# the xawt Java library. This is done by compiling and running a native
-# binary, which dumps output to a text file. The offsets differ on 32 and 64
-# bit systems, so care must be taken here.
+# To enable cross compiling, the two versions of the generated offset file,
+# sizes.32 and sizes.64 are committed into the source code repository.
+# These are the ones used.
-# Note: Some of the more complex logic here is most likely not needed anymore.
+# However when not cross compiling, the offset generator tool is built and
+# run, to verify that it still generates the same sizes.32 and sizes.64.
GENSRC_X11WRAPPERS :=
+# Put temporary c-code and executable to calculate offsets here.
+# Also put verification offset file here as well.
GENSRC_X11WRAPPERS_TMP := $(JDK_OUTPUTDIR)/gensrc_x11wrappers
-GENSRC_X11WRAPPERS_DST := $(JDK_OUTPUTDIR)/gensrc
+# Put the generated Java classes used to interface X11 from awt here.
+GENSRC_X11WRAPPERS_DST := $(JDK_OUTPUTDIR)/gensrc/sun/awt/X11
-GENSRC_SIZER_SRC := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
+# The pre-calculated offset file are stored here:
+GENSRC_SIZER_DIR := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
-# Normal case is to generate version according to target bits
-GENSRC_SIZES := sizes.$(OPENJDK_TARGET_CPU_BITS)
-
+# Normal case is to generate only according to target bits
+GENSRC_X11_VERSION := $(OPENJDK_TARGET_CPU_BITS)
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
-ifneq ($(OPENJDK_TARGET_OS), linux)
-# On all 64-bit systems except Linux, generate both 32 and 64 bit versions
-GENSRC_SIZES := sizes.32 sizes.64
-endif
+ ifneq ($(OPENJDK_TARGET_OS), linux)
+ # On all 64-bit systems except Linux, generate both 32 and 64 bit versions
+ GENSRC_X11_VERSION := 32 64
+ endif
else
-ifeq ($(OPENJDK_TARGET_OS), solaris)
-# As a special case, solaris 32-bit also generates the 64-bit version
-GENSRC_SIZES := sizes.32 sizes.64
-endif
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+ # As a special case, solaris 32-bit also generates the 64-bit version
+ GENSRC_X11_VERSION := 32 64
+ endif
endif
-##########################################################################################
+GENSRC_X11_SIZES_USED := $(addprefix $(GENSRC_X11WRAPPERS_TMP)/sizes.,$(GENSRC_X11_VERSION))
+
+# Copy only the sizes.* files that are actually needed. WrapperGenerator picks up any it finds from the
+# file prefix it is given so those not needed need to be hidden.
+$(GENSRC_X11WRAPPERS_TMP)/sizes.%: $(GENSRC_SIZER_DIR)/sizes.%
+ $(MKDIR) -p $(@D)
+ $(RM) '$@'
+ $(SORT) $< > $@
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c : $(GENSRC_SIZER_SRC)/xlibtypes.txt
+# Run the tool on the offset files copied from the source repository to generate several Java classes
+# used in awt.
+$(JDK_OUTPUTDIR)/gensrc/_the.generated.x11 : $(GENSRC_X11_SIZES_USED) $(BUILD_TOOLS)
+ $(MKDIR) -p $(GENSRC_X11WRAPPERS_DST)
+ $(TOOL_WRAPPERGENERATOR) $(GENSRC_X11WRAPPERS_DST) $(GENSRC_SIZER_DIR)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizes
+ $(TOUCH) $@
+
+GENSRC_X11WRAPPERS += $(JDK_OUTPUTDIR)/gensrc/_the.generated.x11
+
+ifneq ($(COMPILE_TYPE),cross)
+ # This is not a cross compile, regenerate the offset file, so that we
+ # can compare it with the version in the source code repository.
+
+ # Generate the C code for the program that will output the offset file.
+ $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c : $(GENSRC_SIZER_DIR)/xlibtypes.txt $(BUILD_TOOLS)
$(ECHO) "Generating X11 wrapper ($*-bit version)"
$(MKDIR) -p $(@D)
- $(RM) $@
- $(TOOL_WRAPPERGENERATOR) $(@D) $< "sizer" $*
+ $(TOOL_WRAPPERGENERATOR) $(@D) $(GENSRC_SIZER_DIR)/xlibtypes.txt "sizer" $*
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.c
+ # Compile the C code into an executable.
+ $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe : $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c
$(MKDIR) -p $(@D)
- $(RM) $@ $@.tmp
- (cd $(@D) && $(BUILD_CC) -m$* -o $@.tmp $< \
+ (cd $(@D) && $(CC) -m$* -o $@ $< \
$(X_CFLAGS) \
$(X_LIBS) \
-I$(JDK_OUTPUTDIR)/include \
-I$(JDK_TOPDIR)/src/share/javavm/export \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/javavm/export \
- -I$(JDK_TOPDIR)//src/share/native/common \
+ -I$(JDK_TOPDIR)/src/share/native/common \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
-I$(JDK_TOPDIR)/src/solaris/native/sun/awt \
-I$(JDK_TOPDIR)/src/share/native/sun/awt/debug \
-I$(JDK_TOPDIR)/src/share/native/sun/awt/image/cvutils -lc)
- $(MV) $@.tmp $@
+
+ .PRECIOUS: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c
-# Run the generated sizer binary to create the sizes text file
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.% : $(GENSRC_X11WRAPPERS_TMP)/sizer/sizer.%.exe
+ # Run the executable create the offset file and check that it is identical
+ # to the offset file in the source code repository.
+ $(GENSRC_X11WRAPPERS_TMP)/sizes.%.verification : $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe
$(MKDIR) -p $(@D)
- $(RM) $@ $@.tmp
- $< > $@.tmp
- $(MV) $@.tmp $@
+ $(GENSRC_X11WRAPPERS_TMP)/sizer.$*.exe | $(SORT) > $@.tmp
+ $(ECHO) Verifying $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp to $(GENSRC_X11WRAPPERS_TMP)/sizes.$*
+ $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp $(GENSRC_X11WRAPPERS_TMP)/sizes.$*
+ mv $@.tmp $@
-ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-x86)
- # On solaris-x86 we also need to create the 64-bit version, but we can't run a 64-bit binary
- # As a workaround, copy this from a pre-generated file.
-$(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 : $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386
- $(MKDIR) -p $(@D)
- $(RM) $@
- $(CP) $< $@
+ GENSRC_X11WRAPPERS += $(GENSRC_X11WRAPPERS_TMP)/sizes.$(OPENJDK_TARGET_CPU_BITS).verification
endif
-$(GENSRC_X11WRAPPERS_DST)/_the.generated.x11 : $(foreach S,$(GENSRC_SIZES),$(GENSRC_X11WRAPPERS_TMP)/sizer/$(S))
- $(RM) $@
- $(MKDIR) -p $(@D)/sun/awt/X11
- $(TOOL_WRAPPERGENERATOR) $(@D)/sun/awt/X11 $(GENSRC_SIZER_SRC)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes
-ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-x86_64)
- # On solaris-x86_64, as a safety measure, compare the generated file with the checked-in version
- $(ECHO) COMPARING $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 and $(GENSRC_SIZER_SRC)/sizes.64-solaris-i386
- $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizer/sizes.64 $(GENSRC_SIZER_SRC)/sizes.64-solaris-i386
-endif
- $(TOUCH) $@
-
-GENSRC_X11WRAPPERS += $(GENSRC_X11WRAPPERS_DST)/_the.generated.x11
--- a/jdk/makefiles/Images.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/Images.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -30,6 +30,15 @@
default: images
+# Prepare the find cache. Only used if running on windows.
+$(eval $(call FillCacheFind,\
+ $(wildcard $(JDK_OUTPUTDIR)/bin \
+ $(JDK_OUTPUTDIR)/lib \
+ $(IMAGES_OUTPUTDIR)/lib \
+ $(JDK_OUTPUTDIR)/include \
+ $(JDK_OUTPUTDIR)/sample \
+ $(JDK_OUTPUTDIR)/demo)))
+
include Tools.gmk
# Note: This double-colon rule is intentional, to support
@@ -68,12 +77,6 @@
$4 += $2/$$($2_$3_FILE)
endef
-JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2sdk-image
-JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2re-image
-
-JDK_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2sdk-overlay-image
-JRE_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2re-overlay-image
-
################################################################################
#
# JRE and JDK build rules
@@ -133,7 +136,7 @@
$(SALIB_NAME)
# Find all files in bin dir
-ALL_BIN_LIST := $(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f)
+ALL_BIN_LIST := $(call CacheFind,$(JDK_OUTPUTDIR)/bin)
# Prevent sjavac from entering the images.
ALL_BIN_LIST := $(filter-out %/sjavac,$(ALL_BIN_LIST))
@@ -145,7 +148,7 @@
else
# On windows, the libraries are in the bin dir, only filter out debuginfo files
# for executables. "java" is both a library and executable.
- ALL_BIN_EXEC_FILES := $(filter-out java.exe,$(notdir $(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f -name "*.exe")))
+ ALL_BIN_EXEC_FILES := $(filter-out java.exe,$(notdir $(filter %.exe,$(ALL_BIN_LIST))))
ALL_BIN_DEBUG_FILTER := $(addprefix %,$(patsubst %.exe,%.debuginfo,$(ALL_BIN_EXEC_FILES)) \
$(patsubst %.exe,%.diz,$(ALL_BIN_EXEC_FILES))) %.pdb
ALL_BIN_LIST := $(filter-out $(ALL_BIN_DEBUG_FILTER),$(ALL_BIN_LIST))
@@ -213,13 +216,13 @@
# Find all files to copy from $(JDK_OUTPUTDIR)/lib
# Jar files are not expected to be here
-ALL_JDKOUT_LIB_LIST := $(shell $(FIND) $(JDK_OUTPUTDIR)/lib \( -type f -o -type l \) -a ! \
- \( -name "_the*" -o -name "javac_state " -o -name "*.jar" \) )
+ALL_JDKOUT_LIB_LIST := $(call not-containing,_the.,$(filter-out %.jar,\
+ $(call CacheFind,$(JDK_OUTPUTDIR)/lib)))
# Find all files to copy from $(IMAGES_OUTPUTDIR)/lib
# This is were the jar files are and might not exist if building overlay-images
ifneq ($(wildcard $(IMAGES_OUTPUTDIR)/lib),)
- ALL_IMAGES_LIB_LIST := $(shell $(FIND) $(IMAGES_OUTPUTDIR)/lib \( -type f -o -type l \) -a ! \
- \( -name "_the*" -o -name "javac_state " \) )
+ ALL_IMAGES_LIB_LIST := $(call not-containing,_the.,\
+ $(call CacheFind,$(IMAGES_OUTPUTDIR)/lib))
endif
# Filter files to copy for each destination
@@ -494,13 +497,13 @@
JDK_OVERLAY_DEMO_TARGETS += $$($1_TARGET)
endef
-JDK_OVERLAY_DEMO_SOURCES := $(shell $(FIND) $(JDK_OUTPUTDIR)/demo -name "*$(SHARED_LIBRARY_SUFFIX)")
+JDK_OVERLAY_DEMO_SOURCES := $(filter %$(SHARED_LIBRARY_SUFFIX),$(call CacheFind,$(JDK_OUTPUTDIR)/demo))
$(foreach lib,$(JDK_OVERLAY_DEMO_SOURCES),$(eval $(call CreateOverlayDemoRule,$(lib))))
################################################################################
# /sample dir
-$(foreach f,$(shell $(FIND) $(JDK_OUTPUTDIR)/sample -type f),\
+$(foreach f,$(call CacheFind,$(JDK_OUTPUTDIR)/sample),\
$(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_IMAGE_DIR),$f,JDK_SAMPLE_TARGETS)))
################################################################################
@@ -519,7 +522,7 @@
$(install-file)
JDK_DB_TARGETS := $(patsubst $(JDK_TOPDIR)/src/closed/share/db/%,$(IMAGES_OUTPUTDIR)/_unzip/%.unzipped,\
- $(shell $(FIND) $(JDK_TOPDIR)/src/closed/share/db -name "*.zip" ! -name "*demo*")) \
+ $(call not-containing,demo,$(wildcard $(JDK_TOPDIR)/src/closed/share/db/*.zip))) \
$(JDK_IMAGE_DIR)/db/README-JDK.html
endif
@@ -527,7 +530,7 @@
################################################################################
# /include dir
-$(foreach f,$(shell $(FIND) $(JDK_OUTPUTDIR)/include -type f),\
+$(foreach f,$(call CacheFind,$(JDK_OUTPUTDIR)/include),\
$(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_IMAGE_DIR),$f,JDK_INCLUDE_TARGETS)))
################################################################################
@@ -626,8 +629,7 @@
ifneq ($(POST_STRIP_CMD),)
ifeq ($(OPENJDK_TARGET_OS), windows)
- EXEC_LIST_BIN:=$(shell $(FIND) $(JDK_OUTPUTDIR)/bin -type f -name \*.exe \
- -o -name \*.dll | $(EGREP) -v -i "$(MSVCR_DLL)")
+ EXEC_LIST_BIN:=$(filter-out %$(notdir $(MSVCR_DLL)),$(filter %.exe %.dll,$(ALL_BIN_LIST)))
else
# Find all executables in JDK_OUTPUTDIR since they exist when this makefile is parsed
EXEC_LIST_BIN:=$(shell $(FILE) `$(FIND) $(JDK_OUTPUTDIR)/bin -type f -name \*$(EXE_SUFFIX)` \
--- a/jdk/makefiles/Import.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/Import.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -170,18 +170,11 @@
$(INSTALL_LIBRARIES_HERE)/server/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
$(MKDIR) -p $(@D)
$(RM) $@
-ifeq (REALLY_WEIRD,1)
- $(LN) -s ../$(@F) $@
-else
-#
-# TODO: Check if this is what they really want...a zip containing a symlink
-#
$(RM) $@.tmp $(basename $@).debuginfo
$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
- $(ZIP) -q -y $@.tmp $(basename $@).debuginfo
+ $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
$(RM) $(basename $@).debuginfo
$(MV) $@.tmp $@
-endif
$(INSTALL_LIBRARIES_HERE)/client/%$(SHARED_LIBRARY_SUFFIX) : $(INSTALL_LIBRARIES_HERE)/%$(SHARED_LIBRARY_SUFFIX)
$(MKDIR) -p $(@D)
@@ -196,18 +189,11 @@
$(INSTALL_LIBRARIES_HERE)/client/%.diz : $(INSTALL_LIBRARIES_HERE)/%.diz
$(MKDIR) -p $(@D)
$(RM) $@
-ifeq (REALLY_WEIRD,1)
- $(LN) -s ../$(@F) $@
-else
-#
-# TODO: Check if this is what they really want...a zip containing a symlink
-#
$(RM) $@.tmp $(basename $@).debuginfo
$(LN) -s ../$(basename $(@F)).debuginfo $(basename $@).debuginfo
- $(ZIP) -q -y $@.tmp $(basename $@).debuginfo
+ $(CD) $(@D) && $(ZIP) -q -y $@.tmp $(basename $(@F)).debuginfo
$(RM) $(basename $@).debuginfo
$(MV) $@.tmp $@
-endif
#######
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/makefiles/SignJars.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,104 @@
+#
+# Copyright (c) 2012, 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.
+#
+
+include $(SPEC)
+include MakeBase.gmk
+
+# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Oracle JDK
+# builds respectively.)
+#
+# JCE builds are very different between OpenJDK and JDK. The OpenJDK JCE
+# jar files do not require signing, but those for JDK do. If an unsigned
+# jar file is installed into JDK, things will break when the crypto
+# routines are called.
+#
+# All jars are created in CreateJars.gmk. This Makefile does the signing
+# of the jars for JDK.
+#
+# For JDK, the binaries use pre-built/pre-signed binary files stored in
+# the closed workspace that are not shipped in the OpenJDK workspaces.
+# We still build the JDK files to verify the files compile, and in
+# preparation for possible signing. Developers working on JCE in JDK
+# must sign the JCE files before testing. The JCE signing key is kept
+# separate from the JDK workspace to prevent its disclosure.
+#
+# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually
+# be built, signed, and then the resulting jar files MUST BE CHECKED
+# INTO THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT
+# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be
+# reflected in the shipped binaries. The "sign-jars" target in the top
+# level Makefile should be used to generate the required files.
+#
+
+# Default target
+all:
+
+ifndef OPENJDK
+
+README-MAKEFILE_WARNING := \
+ "\nPlease read makefiles/SignJars.gmk for further build instructions.\n"
+
+#
+# Location for JCE codesigning key.
+#
+SIGNING_KEY_DIR := /security/ws/JCE-signing/src
+SIGNING_KEYSTORE := $(SIGNING_KEY_DIR)/KeyStore.jks
+SIGNING_PASSPHRASE := $(SIGNING_KEY_DIR)/passphrase.txt
+SIGNING_ALIAS := oracle_jce_rsa
+
+#
+# Defines for signing the various jar files.
+#
+check-keystore:
+ @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \
+ $(PRINTF) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..."; \
+ $(PRINTF) $(README-MAKEFILE_WARNING); \
+ exit 2; \
+ fi
+
+$(JCE_OUTPUTDIR)/%: $(IMAGES_OUTPUTDIR)/unsigned/%
+ $(MKDIR) -p $(@D)
+ $(CP) $< $@
+ $(JARSIGNER) -keystore $(SIGNING_KEYSTORE) \
+ $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE)
+ @$(PRINTF) "\nJar codesigning finished.\n"
+
+JAR_LIST := jce.jar \
+ local_policy.jar \
+ sunec.jar \
+ sunjce_provider.jar \
+ sunpkcs11.jar \
+ US_export_policy.jar
+
+SIGNED_JARS := $(addprefix $(JCE_OUTPUTDIR)/,$(JAR_LIST))
+
+$(SIGNED_JARS): check-keystore
+
+all: $(SIGNED_JARS)
+ @$(PRINTF) "\n***The jar files built by the 'jar-sign' target must***"
+ @$(PRINTF) "\n***still be checked into the closed workspace! ***"
+ @$(PRINTF) $(README-MAKEFILE_WARNING)
+
+endif # !OPENJDK
--- a/jdk/makefiles/Tools.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/makefiles/Tools.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -23,15 +23,25 @@
# questions.
#
+# Cache all finds needed for this file. Only used on windows.
+$(eval $(call FillCacheFind,$(JDK_TOPDIR)/make/tools \
+ $(JDK_TOPDIR)/src/solaris/classes \
+ $(JDK_TOPDIR)/makefiles/sun))
+
+TOOLS_SRC:=$(JDK_TOPDIR)/make/tools/src \
+ $(JDK_TOPDIR)/makefiles/sun/awt/X11 \
+ $(JDK_TOPDIR)/makefiles/sun/osxapp \
+ $(JDK_TOPDIR)/make/tools/swing-beans
+
+ifneq ($(OPENJDK_TARGET_OS),windows)
+ TOOLS_SRC+=$(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
+endif
+
# The exception handling of swing beaninfo which have the own tool directory
ifeq (,$(BUILD_TOOLS))
$(eval $(call SetupJavaCompilation,BUILD_TOOLS,\
SETUP:=GENERATE_OLDBYTECODE,\
- SRC:=$(JDK_TOPDIR)/make/tools/src \
- $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator \
- $(JDK_TOPDIR)/makefiles/sun/awt/X11 \
- $(JDK_TOPDIR)/makefiles/sun/osxapp \
- $(JDK_TOPDIR)/make/tools/swing-beans,\
+ SRC:=$(TOOLS_SRC),\
BIN:=$(JDK_OUTPUTDIR)/btclasses))
endif
--- a/jdk/src/share/classes/java/io/FileSystem.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/java/io/FileSystem.java Fri Jan 18 19:13:41 2013 +0100
@@ -25,6 +25,7 @@
package java.io;
+import java.lang.annotation.Native;
/**
* Package-private abstract class for the local filesystem abstraction.
@@ -98,10 +99,10 @@
/* -- Attribute accessors -- */
/* Constants for simple boolean attributes */
- public static final int BA_EXISTS = 0x01;
- public static final int BA_REGULAR = 0x02;
- public static final int BA_DIRECTORY = 0x04;
- public static final int BA_HIDDEN = 0x08;
+ @Native public static final int BA_EXISTS = 0x01;
+ @Native public static final int BA_REGULAR = 0x02;
+ @Native public static final int BA_DIRECTORY = 0x04;
+ @Native public static final int BA_HIDDEN = 0x08;
/**
* Return the simple boolean attributes for the file or directory denoted
@@ -110,9 +111,9 @@
*/
public abstract int getBooleanAttributes(File f);
- public static final int ACCESS_READ = 0x04;
- public static final int ACCESS_WRITE = 0x02;
- public static final int ACCESS_EXECUTE = 0x01;
+ @Native public static final int ACCESS_READ = 0x04;
+ @Native public static final int ACCESS_WRITE = 0x02;
+ @Native public static final int ACCESS_EXECUTE = 0x01;
/**
* Check whether the file or directory denoted by the given abstract
@@ -203,9 +204,9 @@
public abstract File[] listRoots();
/* -- Disk usage -- */
- public static final int SPACE_TOTAL = 0;
- public static final int SPACE_FREE = 1;
- public static final int SPACE_USABLE = 2;
+ @Native public static final int SPACE_TOTAL = 0;
+ @Native public static final int SPACE_FREE = 1;
+ @Native public static final int SPACE_USABLE = 2;
public abstract long getSpace(File f, int t);
--- a/jdk/src/share/classes/java/lang/Integer.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/java/lang/Integer.java Fri Jan 18 19:13:41 2013 +0100
@@ -25,6 +25,7 @@
package java.lang;
+import java.lang.annotation.Native;
import java.util.Properties;
/**
@@ -54,13 +55,13 @@
* A constant holding the minimum value an {@code int} can
* have, -2<sup>31</sup>.
*/
- public static final int MIN_VALUE = 0x80000000;
+ @Native public static final int MIN_VALUE = 0x80000000;
/**
* A constant holding the maximum value an {@code int} can
* have, 2<sup>31</sup>-1.
*/
- public static final int MAX_VALUE = 0x7fffffff;
+ @Native public static final int MAX_VALUE = 0x7fffffff;
/**
* The {@code Class} instance representing the primitive type
@@ -1295,7 +1296,7 @@
*
* @since 1.5
*/
- public static final int SIZE = 32;
+ @Native public static final int SIZE = 32;
/**
* The number of bytes used to represent a {@code int} value in two's
@@ -1513,5 +1514,5 @@
}
/** use serialVersionUID from JDK 1.0.2 for interoperability */
- private static final long serialVersionUID = 1360826667806852920L;
+ @Native private static final long serialVersionUID = 1360826667806852920L;
}
--- a/jdk/src/share/classes/java/lang/Long.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/java/lang/Long.java Fri Jan 18 19:13:41 2013 +0100
@@ -25,6 +25,7 @@
package java.lang;
+import java.lang.annotation.Native;
import java.math.*;
/**
@@ -54,13 +55,13 @@
* A constant holding the minimum value a {@code long} can
* have, -2<sup>63</sup>.
*/
- public static final long MIN_VALUE = 0x8000000000000000L;
+ @Native public static final long MIN_VALUE = 0x8000000000000000L;
/**
* A constant holding the maximum value a {@code long} can
* have, 2<sup>63</sup>-1.
*/
- public static final long MAX_VALUE = 0x7fffffffffffffffL;
+ @Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
/**
* The {@code Class} instance representing the primitive type
@@ -1317,7 +1318,7 @@
*
* @since 1.5
*/
- public static final int SIZE = 64;
+ @Native public static final int SIZE = 64;
/**
* The number of bytes used to represent a {@code long} value in two's
@@ -1540,5 +1541,5 @@
}
/** use serialVersionUID from JDK 1.0.2 for interoperability */
- private static final long serialVersionUID = 4290774380558885855L;
+ @Native private static final long serialVersionUID = 4290774380558885855L;
}
--- a/jdk/src/share/classes/java/net/SocketOptions.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/java/net/SocketOptions.java Fri Jan 18 19:13:41 2013 +0100
@@ -25,6 +25,8 @@
package java.net;
+import java.lang.annotation.Native;
+
/**
* Interface of methods to get/set socket options. This interface is
* implemented by: <B>SocketImpl</B> and <B>DatagramSocketImpl</B>.
@@ -137,7 +139,7 @@
* @see Socket#getTcpNoDelay
*/
- public final static int TCP_NODELAY = 0x0001;
+ @Native public final static int TCP_NODELAY = 0x0001;
/**
* Fetch the local address binding of a socket (this option cannot
@@ -158,7 +160,7 @@
* @see DatagramSocket#getLocalAddress
*/
- public final static int SO_BINDADDR = 0x000F;
+ @Native public final static int SO_BINDADDR = 0x000F;
/** Sets SO_REUSEADDR for a socket. This is used only for MulticastSockets
* in java, and it is set by default for MulticastSockets.
@@ -166,7 +168,7 @@
* Valid for: DatagramSocketImpl
*/
- public final static int SO_REUSEADDR = 0x04;
+ @Native public final static int SO_REUSEADDR = 0x04;
/**
* Sets SO_BROADCAST for a socket. This option enables and disables
@@ -177,7 +179,7 @@
* @since 1.4
*/
- public final static int SO_BROADCAST = 0x0020;
+ @Native public final static int SO_BROADCAST = 0x0020;
/** Set which outgoing interface on which to send multicast packets.
* Useful on hosts with multiple network interfaces, where applications
@@ -189,7 +191,7 @@
* @see MulticastSocket#getInterface()
*/
- public final static int IP_MULTICAST_IF = 0x10;
+ @Native public final static int IP_MULTICAST_IF = 0x10;
/** Same as above. This option is introduced so that the behaviour
* with IP_MULTICAST_IF will be kept the same as before, while
@@ -201,7 +203,7 @@
* @see MulticastSocket#getNetworkInterface()
* @since 1.4
*/
- public final static int IP_MULTICAST_IF2 = 0x1f;
+ @Native public final static int IP_MULTICAST_IF2 = 0x1f;
/**
* This option enables or disables local loopback of multicast datagrams.
@@ -209,7 +211,7 @@
* @since 1.4
*/
- public final static int IP_MULTICAST_LOOP = 0x12;
+ @Native public final static int IP_MULTICAST_LOOP = 0x12;
/**
* This option sets the type-of-service or traffic class field
@@ -217,7 +219,7 @@
* @since 1.4
*/
- public final static int IP_TOS = 0x3;
+ @Native public final static int IP_TOS = 0x3;
/**
* Specify a linger-on-close timeout. This option disables/enables
@@ -235,7 +237,7 @@
* @see Socket#setSoLinger
* @see Socket#getSoLinger
*/
- public final static int SO_LINGER = 0x0080;
+ @Native public final static int SO_LINGER = 0x0080;
/** Set a timeout on blocking Socket operations:
* <PRE>
@@ -256,7 +258,7 @@
* @see ServerSocket#setSoTimeout
* @see DatagramSocket#setSoTimeout
*/
- public final static int SO_TIMEOUT = 0x1006;
+ @Native public final static int SO_TIMEOUT = 0x1006;
/**
* Set a hint the size of the underlying buffers used by the
@@ -273,7 +275,7 @@
* @see DatagramSocket#setSendBufferSize
* @see DatagramSocket#getSendBufferSize
*/
- public final static int SO_SNDBUF = 0x1001;
+ @Native public final static int SO_SNDBUF = 0x1001;
/**
* Set a hint the size of the underlying buffers used by the
@@ -291,7 +293,7 @@
* @see DatagramSocket#setReceiveBufferSize
* @see DatagramSocket#getReceiveBufferSize
*/
- public final static int SO_RCVBUF = 0x1002;
+ @Native public final static int SO_RCVBUF = 0x1002;
/**
* When the keepalive option is set for a TCP socket and no data
@@ -314,7 +316,7 @@
* @see Socket#setKeepAlive
* @see Socket#getKeepAlive
*/
- public final static int SO_KEEPALIVE = 0x0008;
+ @Native public final static int SO_KEEPALIVE = 0x0008;
/**
* When the OOBINLINE option is set, any TCP urgent data received on
@@ -325,5 +327,5 @@
* @see Socket#setOOBInline
* @see Socket#getOOBInline
*/
- public final static int SO_OOBINLINE = 0x1003;
+ @Native public final static int SO_OOBINLINE = 0x1003;
}
--- a/jdk/src/share/classes/sun/nio/ch/IOStatus.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/sun/nio/ch/IOStatus.java Fri Jan 18 19:13:41 2013 +0100
@@ -25,6 +25,7 @@
package sun.nio.ch;
+import java.lang.annotation.Native;
// Constants for reporting I/O status
@@ -32,12 +33,12 @@
private IOStatus() { }
- public static final int EOF = -1; // End of file
- public static final int UNAVAILABLE = -2; // Nothing available (non-blocking)
- public static final int INTERRUPTED = -3; // System call interrupted
- public static final int UNSUPPORTED = -4; // Operation not supported
- public static final int THROWN = -5; // Exception thrown in JNI code
- public static final int UNSUPPORTED_CASE = -6; // This case not supported
+ @Native public static final int EOF = -1; // End of file
+ @Native public static final int UNAVAILABLE = -2; // Nothing available (non-blocking)
+ @Native public static final int INTERRUPTED = -3; // System call interrupted
+ @Native public static final int UNSUPPORTED = -4; // Operation not supported
+ @Native public static final int THROWN = -5; // Exception thrown in JNI code
+ @Native public static final int UNSUPPORTED_CASE = -6; // This case not supported
// The following two methods are for use in try/finally blocks where a
// status value needs to be normalized before being returned to the invoker
--- a/jdk/src/share/classes/sun/util/resources/sq/LocaleNames_sq.properties Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/share/classes/sun/util/resources/sq/LocaleNames_sq.properties Fri Jan 18 19:13:41 2013 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2013, 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
@@ -38,7 +38,7 @@
# language names
# key is ISO 639 language code
-sq=shqipe
+sq=shqip
# country names
# key is ISO 3166 country code
--- a/jdk/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,499 +0,0 @@
-/*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of Oracle nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * This source code is provided to illustrate the usage of a given feature
- * or technique and has been deliberately simplified. Additional steps
- * required for a production-quality application, such as security checks,
- * input validation and proper error handling, might not be present in
- * this sample code.
- */
-
-package com.sun.inputmethods.internal.codepointim;
-
-
-import java.awt.AWTEvent;
-import java.awt.Toolkit;
-import java.awt.Rectangle;
-import java.awt.event.InputMethodEvent;
-import java.awt.event.KeyEvent;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextHitInfo;
-import java.awt.im.InputMethodHighlight;
-import java.awt.im.spi.InputMethod;
-import java.awt.im.spi.InputMethodContext;
-import java.io.IOException;
-import java.text.AttributedString;
-import java.util.Locale;
-
-
-/**
- * The Code Point Input Method is a simple input method that allows Unicode
- * characters to be entered using their code point or code unit values. See the
- * accompanying file README.txt for more information.
- *
- * @author Brian Beck
- */
-public class CodePointInputMethod implements InputMethod {
-
- private static final int UNSET = 0;
- private static final int ESCAPE = 1; // \u0000 - \uFFFF
- private static final int SPECIAL_ESCAPE = 2; // \U000000 - \U10FFFF
- private static final int SURROGATE_PAIR = 3; // \uD800\uDC00 - \uDBFF\uDFFF
- private InputMethodContext context;
- private Locale locale;
- private StringBuffer buffer;
- private int insertionPoint;
- private int format = UNSET;
-
- public CodePointInputMethod() throws IOException {
- }
-
- /**
- * This is the input method's main routine. The composed text is stored
- * in buffer.
- */
- public void dispatchEvent(AWTEvent event) {
- // This input method handles KeyEvent only.
- if (!(event instanceof KeyEvent)) {
- return;
- }
-
- KeyEvent e = (KeyEvent) event;
- int eventID = event.getID();
- boolean notInCompositionMode = buffer.length() == 0;
-
- if (eventID == KeyEvent.KEY_PRESSED) {
- // If we are not in composition mode, pass through
- if (notInCompositionMode) {
- return;
- }
-
- switch (e.getKeyCode()) {
- case KeyEvent.VK_LEFT:
- moveCaretLeft();
- break;
- case KeyEvent.VK_RIGHT:
- moveCaretRight();
- break;
- }
- } else if (eventID == KeyEvent.KEY_TYPED) {
- char c = e.getKeyChar();
-
- // If we are not in composition mode, wait a back slash
- if (notInCompositionMode) {
- // If the type character is not a back slash, pass through
- if (c != '\\') {
- return;
- }
-
- startComposition(); // Enter to composition mode
- } else {
- switch (c) {
- case ' ': // Exit from composition mode
- finishComposition();
- break;
- case '\u007f': // Delete
- deleteCharacter();
- break;
- case '\b': // BackSpace
- deletePreviousCharacter();
- break;
- case '\u001b': // Escape
- cancelComposition();
- break;
- case '\n': // Return
- case '\t': // Tab
- sendCommittedText();
- break;
- default:
- composeUnicodeEscape(c);
- break;
- }
- }
- } else { // KeyEvent.KEY_RELEASED
- // If we are not in composition mode, pass through
- if (notInCompositionMode) {
- return;
- }
- }
-
- e.consume();
- }
-
- private void composeUnicodeEscape(char c) {
- switch (buffer.length()) {
- case 1: // \\
- waitEscapeCharacter(c);
- break;
- case 2: // \\u or \\U
- case 3: // \\ux or \\Ux
- case 4: // \\uxx or \\Uxx
- waitDigit(c);
- break;
- case 5: // \\uxxx or \\Uxxx
- if (format == SPECIAL_ESCAPE) {
- waitDigit(c);
- } else {
- waitDigit2(c);
- }
- break;
- case 6: // \\uxxxx or \\Uxxxx
- if (format == SPECIAL_ESCAPE) {
- waitDigit(c);
- } else if (format == SURROGATE_PAIR) {
- waitBackSlashOrLowSurrogate(c);
- } else {
- beep();
- }
- break;
- case 7: // \\Uxxxxx
- // Only SPECIAL_ESCAPE format uses this state.
- // Since the second "\\u" of SURROGATE_PAIR format is inserted
- // automatically, users don't have to type these keys.
- waitDigit(c);
- break;
- case 8: // \\uxxxx\\u
- case 9: // \\uxxxx\\ux
- case 10: // \\uxxxx\\uxx
- case 11: // \\uxxxx\\uxxx
- if (format == SURROGATE_PAIR) {
- waitDigit(c);
- } else {
- beep();
- }
- break;
- default:
- beep();
- break;
- }
- }
-
- private void waitEscapeCharacter(char c) {
- if (c == 'u' || c == 'U') {
- buffer.append(c);
- insertionPoint++;
- sendComposedText();
- format = (c == 'u') ? ESCAPE : SPECIAL_ESCAPE;
- } else {
- if (c != '\\') {
- buffer.append(c);
- insertionPoint++;
- }
- sendCommittedText();
- }
- }
-
- private void waitDigit(char c) {
- if (Character.digit(c, 16) != -1) {
- buffer.insert(insertionPoint++, c);
- sendComposedText();
- } else {
- beep();
- }
- }
-
- private void waitDigit2(char c) {
- if (Character.digit(c, 16) != -1) {
- buffer.insert(insertionPoint++, c);
- char codePoint = (char) getCodePoint(buffer, 2, 5);
- if (Character.isHighSurrogate(codePoint)) {
- format = SURROGATE_PAIR;
- buffer.append("\\u");
- insertionPoint = 8;
- } else {
- format = ESCAPE;
- }
- sendComposedText();
- } else {
- beep();
- }
- }
-
- private void waitBackSlashOrLowSurrogate(char c) {
- if (insertionPoint == 6) {
- if (c == '\\') {
- buffer.append(c);
- buffer.append('u');
- insertionPoint = 8;
- sendComposedText();
- } else if (Character.digit(c, 16) != -1) {
- buffer.append("\\u");
- buffer.append(c);
- insertionPoint = 9;
- sendComposedText();
- } else {
- beep();
- }
- } else {
- beep();
- }
- }
-
- /**
- * Send the composed text to the client.
- */
- private void sendComposedText() {
- AttributedString as = new AttributedString(buffer.toString());
- as.addAttribute(TextAttribute.INPUT_METHOD_HIGHLIGHT,
- InputMethodHighlight.SELECTED_RAW_TEXT_HIGHLIGHT);
- context.dispatchInputMethodEvent(
- InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
- as.getIterator(), 0,
- TextHitInfo.leading(insertionPoint), null);
- }
-
- /**
- * Send the committed text to the client.
- */
- private void sendCommittedText() {
- AttributedString as = new AttributedString(buffer.toString());
- context.dispatchInputMethodEvent(
- InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
- as.getIterator(), buffer.length(),
- TextHitInfo.leading(insertionPoint), null);
-
- buffer.setLength(0);
- insertionPoint = 0;
- format = UNSET;
- }
-
- /**
- * Move the insertion point one position to the left in the composed text.
- * Do not let the caret move to the left of the "\\u" or "\\U".
- */
- private void moveCaretLeft() {
- int len = buffer.length();
- if (--insertionPoint < 2) {
- insertionPoint++;
- beep();
- } else if (format == SURROGATE_PAIR && insertionPoint == 7) {
- insertionPoint = 8;
- beep();
- }
-
- context.dispatchInputMethodEvent(
- InputMethodEvent.CARET_POSITION_CHANGED,
- null, 0,
- TextHitInfo.leading(insertionPoint), null);
- }
-
- /**
- * Move the insertion point one position to the right in the composed text.
- */
- private void moveCaretRight() {
- int len = buffer.length();
- if (++insertionPoint > len) {
- insertionPoint = len;
- beep();
- }
-
- context.dispatchInputMethodEvent(
- InputMethodEvent.CARET_POSITION_CHANGED,
- null, 0,
- TextHitInfo.leading(insertionPoint), null);
- }
-
- /**
- * Delete the character preceding the insertion point in the composed text.
- * If the insertion point is not at the end of the composed text and the
- * preceding text is "\\u" or "\\U", ring the bell.
- */
- private void deletePreviousCharacter() {
- if (insertionPoint == 2) {
- if (buffer.length() == 2) {
- cancelComposition();
- } else {
- // Do not allow deletion of the leading "\\u" or "\\U" if there
- // are other digits in the composed text.
- beep();
- }
- } else if (insertionPoint == 8) {
- if (buffer.length() == 8) {
- if (format == SURROGATE_PAIR) {
- buffer.deleteCharAt(--insertionPoint);
- }
- buffer.deleteCharAt(--insertionPoint);
- sendComposedText();
- } else {
- // Do not allow deletion of the second "\\u" if there are other
- // digits in the composed text.
- beep();
- }
- } else {
- buffer.deleteCharAt(--insertionPoint);
- if (buffer.length() == 0) {
- sendCommittedText();
- } else {
- sendComposedText();
- }
- }
- }
-
- /**
- * Delete the character following the insertion point in the composed text.
- * If the insertion point is at the end of the composed text, ring the bell.
- */
- private void deleteCharacter() {
- if (insertionPoint < buffer.length()) {
- buffer.deleteCharAt(insertionPoint);
- sendComposedText();
- } else {
- beep();
- }
- }
-
- private void startComposition() {
- buffer.append('\\');
- insertionPoint = 1;
- sendComposedText();
- }
-
- private void cancelComposition() {
- buffer.setLength(0);
- insertionPoint = 0;
- sendCommittedText();
- }
-
- private void finishComposition() {
- int len = buffer.length();
- if (len == 6 && format != SPECIAL_ESCAPE) {
- char codePoint = (char) getCodePoint(buffer, 2, 5);
- if (Character.isValidCodePoint(codePoint) && codePoint != 0xFFFF) {
- buffer.setLength(0);
- buffer.append(codePoint);
- sendCommittedText();
- return;
- }
- } else if (len == 8 && format == SPECIAL_ESCAPE) {
- int codePoint = getCodePoint(buffer, 2, 7);
- if (Character.isValidCodePoint(codePoint) && codePoint != 0xFFFF) {
- buffer.setLength(0);
- buffer.appendCodePoint(codePoint);
- sendCommittedText();
- return;
- }
- } else if (len == 12 && format == SURROGATE_PAIR) {
- char[] codePoint = {
- (char) getCodePoint(buffer, 2, 5),
- (char) getCodePoint(buffer, 8, 11)
- };
- if (Character.isHighSurrogate(codePoint[0]) && Character.
- isLowSurrogate(codePoint[1])) {
- buffer.setLength(0);
- buffer.append(codePoint);
- sendCommittedText();
- return;
- }
- }
-
- beep();
- }
-
- private int getCodePoint(StringBuffer sb, int from, int to) {
- int value = 0;
- for (int i = from; i <= to; i++) {
- value = (value << 4) + Character.digit(sb.charAt(i), 16);
- }
- return value;
- }
-
- private static void beep() {
- Toolkit.getDefaultToolkit().beep();
- }
-
- public void activate() {
- if (buffer == null) {
- buffer = new StringBuffer(12);
- insertionPoint = 0;
- }
- }
-
- public void deactivate(boolean isTemporary) {
- if (!isTemporary) {
- buffer = null;
- }
- }
-
- public void dispose() {
- }
-
- public Object getControlObject() {
- return null;
- }
-
- public void endComposition() {
- sendCommittedText();
- }
-
- public Locale getLocale() {
- return locale;
- }
-
- public void hideWindows() {
- }
-
- public boolean isCompositionEnabled() {
- // always enabled
- return true;
- }
-
- public void notifyClientWindowChange(Rectangle location) {
- }
-
- public void reconvert() {
- // not supported yet
- throw new UnsupportedOperationException();
- }
-
- public void removeNotify() {
- }
-
- public void setCharacterSubsets(Character.Subset[] subsets) {
- }
-
- public void setCompositionEnabled(boolean enable) {
- // not supported yet
- throw new UnsupportedOperationException();
- }
-
- public void setInputMethodContext(InputMethodContext context) {
- this.context = context;
- }
-
- /*
- * The Code Point Input Method supports all locales.
- */
- public boolean setLocale(Locale locale) {
- this.locale = locale;
- return true;
- }
-}
--- a/jdk/src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Fri Jan 18 14:15:51 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - Neither the name of Oracle nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * This source code is provided to illustrate the usage of a given feature
- * or technique and has been deliberately simplified. Additional steps
- * required for a production-quality application, such as security checks,
- * input validation and proper error handling, might not be present in
- * this sample code.
- */
-
-package com.sun.inputmethods.internal.codepointim;
-
-
-import java.awt.Image;
-import java.awt.im.spi.InputMethodDescriptor;
-import java.awt.im.spi.InputMethod;
-import java.util.Locale;
-
-
-/**
- * The CodePointInputMethod is a simple input method that allows Unicode
- * characters to be entered via their hexadecimal code point values.
- *
- * The class, CodePointInputMethodDescriptor, provides information about the
- * CodePointInputMethod which allows it to be selected and loaded by the
- * Input Method Framework.
- */
-public class CodePointInputMethodDescriptor implements InputMethodDescriptor {
-
- public CodePointInputMethodDescriptor() {
- }
-
- /**
- * Creates a new instance of the Code Point input method.
- *
- * @return a new instance of the Code Point input method
- * @exception Exception any exception that may occur while creating the
- * input method instance
- */
- public InputMethod createInputMethod() throws Exception {
- return new CodePointInputMethod();
- }
-
- /**
- * This input method can be used by any locale.
- */
- public Locale[] getAvailableLocales() {
- Locale[] locales = {
- new Locale("", "", ""), };
- return locales;
- }
-
- public synchronized String getInputMethodDisplayName(Locale inputLocale,
- Locale displayLanguage) {
- return "CodePoint Input Method";
- }
-
- public Image getInputMethodIcon(Locale inputLocale) {
- return null;
- }
-
- public boolean hasDynamicLocaleList() {
- return false;
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,499 @@
+/*
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+package com.sun.inputmethods.internal.codepointim;
+
+
+import java.awt.AWTEvent;
+import java.awt.Toolkit;
+import java.awt.Rectangle;
+import java.awt.event.InputMethodEvent;
+import java.awt.event.KeyEvent;
+import java.awt.font.TextAttribute;
+import java.awt.font.TextHitInfo;
+import java.awt.im.InputMethodHighlight;
+import java.awt.im.spi.InputMethod;
+import java.awt.im.spi.InputMethodContext;
+import java.io.IOException;
+import java.text.AttributedString;
+import java.util.Locale;
+
+
+/**
+ * The Code Point Input Method is a simple input method that allows Unicode
+ * characters to be entered using their code point or code unit values. See the
+ * accompanying file README.txt for more information.
+ *
+ * @author Brian Beck
+ */
+public class CodePointInputMethod implements InputMethod {
+
+ private static final int UNSET = 0;
+ private static final int ESCAPE = 1; // \u0000 - \uFFFF
+ private static final int SPECIAL_ESCAPE = 2; // \U000000 - \U10FFFF
+ private static final int SURROGATE_PAIR = 3; // \uD800\uDC00 - \uDBFF\uDFFF
+ private InputMethodContext context;
+ private Locale locale;
+ private StringBuffer buffer;
+ private int insertionPoint;
+ private int format = UNSET;
+
+ public CodePointInputMethod() throws IOException {
+ }
+
+ /**
+ * This is the input method's main routine. The composed text is stored
+ * in buffer.
+ */
+ public void dispatchEvent(AWTEvent event) {
+ // This input method handles KeyEvent only.
+ if (!(event instanceof KeyEvent)) {
+ return;
+ }
+
+ KeyEvent e = (KeyEvent) event;
+ int eventID = event.getID();
+ boolean notInCompositionMode = buffer.length() == 0;
+
+ if (eventID == KeyEvent.KEY_PRESSED) {
+ // If we are not in composition mode, pass through
+ if (notInCompositionMode) {
+ return;
+ }
+
+ switch (e.getKeyCode()) {
+ case KeyEvent.VK_LEFT:
+ moveCaretLeft();
+ break;
+ case KeyEvent.VK_RIGHT:
+ moveCaretRight();
+ break;
+ }
+ } else if (eventID == KeyEvent.KEY_TYPED) {
+ char c = e.getKeyChar();
+
+ // If we are not in composition mode, wait a back slash
+ if (notInCompositionMode) {
+ // If the type character is not a back slash, pass through
+ if (c != '\\') {
+ return;
+ }
+
+ startComposition(); // Enter to composition mode
+ } else {
+ switch (c) {
+ case ' ': // Exit from composition mode
+ finishComposition();
+ break;
+ case '\u007f': // Delete
+ deleteCharacter();
+ break;
+ case '\b': // BackSpace
+ deletePreviousCharacter();
+ break;
+ case '\u001b': // Escape
+ cancelComposition();
+ break;
+ case '\n': // Return
+ case '\t': // Tab
+ sendCommittedText();
+ break;
+ default:
+ composeUnicodeEscape(c);
+ break;
+ }
+ }
+ } else { // KeyEvent.KEY_RELEASED
+ // If we are not in composition mode, pass through
+ if (notInCompositionMode) {
+ return;
+ }
+ }
+
+ e.consume();
+ }
+
+ private void composeUnicodeEscape(char c) {
+ switch (buffer.length()) {
+ case 1: // \\
+ waitEscapeCharacter(c);
+ break;
+ case 2: // \\u or \\U
+ case 3: // \\ux or \\Ux
+ case 4: // \\uxx or \\Uxx
+ waitDigit(c);
+ break;
+ case 5: // \\uxxx or \\Uxxx
+ if (format == SPECIAL_ESCAPE) {
+ waitDigit(c);
+ } else {
+ waitDigit2(c);
+ }
+ break;
+ case 6: // \\uxxxx or \\Uxxxx
+ if (format == SPECIAL_ESCAPE) {
+ waitDigit(c);
+ } else if (format == SURROGATE_PAIR) {
+ waitBackSlashOrLowSurrogate(c);
+ } else {
+ beep();
+ }
+ break;
+ case 7: // \\Uxxxxx
+ // Only SPECIAL_ESCAPE format uses this state.
+ // Since the second "\\u" of SURROGATE_PAIR format is inserted
+ // automatically, users don't have to type these keys.
+ waitDigit(c);
+ break;
+ case 8: // \\uxxxx\\u
+ case 9: // \\uxxxx\\ux
+ case 10: // \\uxxxx\\uxx
+ case 11: // \\uxxxx\\uxxx
+ if (format == SURROGATE_PAIR) {
+ waitDigit(c);
+ } else {
+ beep();
+ }
+ break;
+ default:
+ beep();
+ break;
+ }
+ }
+
+ private void waitEscapeCharacter(char c) {
+ if (c == 'u' || c == 'U') {
+ buffer.append(c);
+ insertionPoint++;
+ sendComposedText();
+ format = (c == 'u') ? ESCAPE : SPECIAL_ESCAPE;
+ } else {
+ if (c != '\\') {
+ buffer.append(c);
+ insertionPoint++;
+ }
+ sendCommittedText();
+ }
+ }
+
+ private void waitDigit(char c) {
+ if (Character.digit(c, 16) != -1) {
+ buffer.insert(insertionPoint++, c);
+ sendComposedText();
+ } else {
+ beep();
+ }
+ }
+
+ private void waitDigit2(char c) {
+ if (Character.digit(c, 16) != -1) {
+ buffer.insert(insertionPoint++, c);
+ char codePoint = (char) getCodePoint(buffer, 2, 5);
+ if (Character.isHighSurrogate(codePoint)) {
+ format = SURROGATE_PAIR;
+ buffer.append("\\u");
+ insertionPoint = 8;
+ } else {
+ format = ESCAPE;
+ }
+ sendComposedText();
+ } else {
+ beep();
+ }
+ }
+
+ private void waitBackSlashOrLowSurrogate(char c) {
+ if (insertionPoint == 6) {
+ if (c == '\\') {
+ buffer.append(c);
+ buffer.append('u');
+ insertionPoint = 8;
+ sendComposedText();
+ } else if (Character.digit(c, 16) != -1) {
+ buffer.append("\\u");
+ buffer.append(c);
+ insertionPoint = 9;
+ sendComposedText();
+ } else {
+ beep();
+ }
+ } else {
+ beep();
+ }
+ }
+
+ /**
+ * Send the composed text to the client.
+ */
+ private void sendComposedText() {
+ AttributedString as = new AttributedString(buffer.toString());
+ as.addAttribute(TextAttribute.INPUT_METHOD_HIGHLIGHT,
+ InputMethodHighlight.SELECTED_RAW_TEXT_HIGHLIGHT);
+ context.dispatchInputMethodEvent(
+ InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
+ as.getIterator(), 0,
+ TextHitInfo.leading(insertionPoint), null);
+ }
+
+ /**
+ * Send the committed text to the client.
+ */
+ private void sendCommittedText() {
+ AttributedString as = new AttributedString(buffer.toString());
+ context.dispatchInputMethodEvent(
+ InputMethodEvent.INPUT_METHOD_TEXT_CHANGED,
+ as.getIterator(), buffer.length(),
+ TextHitInfo.leading(insertionPoint), null);
+
+ buffer.setLength(0);
+ insertionPoint = 0;
+ format = UNSET;
+ }
+
+ /**
+ * Move the insertion point one position to the left in the composed text.
+ * Do not let the caret move to the left of the "\\u" or "\\U".
+ */
+ private void moveCaretLeft() {
+ int len = buffer.length();
+ if (--insertionPoint < 2) {
+ insertionPoint++;
+ beep();
+ } else if (format == SURROGATE_PAIR && insertionPoint == 7) {
+ insertionPoint = 8;
+ beep();
+ }
+
+ context.dispatchInputMethodEvent(
+ InputMethodEvent.CARET_POSITION_CHANGED,
+ null, 0,
+ TextHitInfo.leading(insertionPoint), null);
+ }
+
+ /**
+ * Move the insertion point one position to the right in the composed text.
+ */
+ private void moveCaretRight() {
+ int len = buffer.length();
+ if (++insertionPoint > len) {
+ insertionPoint = len;
+ beep();
+ }
+
+ context.dispatchInputMethodEvent(
+ InputMethodEvent.CARET_POSITION_CHANGED,
+ null, 0,
+ TextHitInfo.leading(insertionPoint), null);
+ }
+
+ /**
+ * Delete the character preceding the insertion point in the composed text.
+ * If the insertion point is not at the end of the composed text and the
+ * preceding text is "\\u" or "\\U", ring the bell.
+ */
+ private void deletePreviousCharacter() {
+ if (insertionPoint == 2) {
+ if (buffer.length() == 2) {
+ cancelComposition();
+ } else {
+ // Do not allow deletion of the leading "\\u" or "\\U" if there
+ // are other digits in the composed text.
+ beep();
+ }
+ } else if (insertionPoint == 8) {
+ if (buffer.length() == 8) {
+ if (format == SURROGATE_PAIR) {
+ buffer.deleteCharAt(--insertionPoint);
+ }
+ buffer.deleteCharAt(--insertionPoint);
+ sendComposedText();
+ } else {
+ // Do not allow deletion of the second "\\u" if there are other
+ // digits in the composed text.
+ beep();
+ }
+ } else {
+ buffer.deleteCharAt(--insertionPoint);
+ if (buffer.length() == 0) {
+ sendCommittedText();
+ } else {
+ sendComposedText();
+ }
+ }
+ }
+
+ /**
+ * Delete the character following the insertion point in the composed text.
+ * If the insertion point is at the end of the composed text, ring the bell.
+ */
+ private void deleteCharacter() {
+ if (insertionPoint < buffer.length()) {
+ buffer.deleteCharAt(insertionPoint);
+ sendComposedText();
+ } else {
+ beep();
+ }
+ }
+
+ private void startComposition() {
+ buffer.append('\\');
+ insertionPoint = 1;
+ sendComposedText();
+ }
+
+ private void cancelComposition() {
+ buffer.setLength(0);
+ insertionPoint = 0;
+ sendCommittedText();
+ }
+
+ private void finishComposition() {
+ int len = buffer.length();
+ if (len == 6 && format != SPECIAL_ESCAPE) {
+ char codePoint = (char) getCodePoint(buffer, 2, 5);
+ if (Character.isValidCodePoint(codePoint) && codePoint != 0xFFFF) {
+ buffer.setLength(0);
+ buffer.append(codePoint);
+ sendCommittedText();
+ return;
+ }
+ } else if (len == 8 && format == SPECIAL_ESCAPE) {
+ int codePoint = getCodePoint(buffer, 2, 7);
+ if (Character.isValidCodePoint(codePoint) && codePoint != 0xFFFF) {
+ buffer.setLength(0);
+ buffer.appendCodePoint(codePoint);
+ sendCommittedText();
+ return;
+ }
+ } else if (len == 12 && format == SURROGATE_PAIR) {
+ char[] codePoint = {
+ (char) getCodePoint(buffer, 2, 5),
+ (char) getCodePoint(buffer, 8, 11)
+ };
+ if (Character.isHighSurrogate(codePoint[0]) && Character.
+ isLowSurrogate(codePoint[1])) {
+ buffer.setLength(0);
+ buffer.append(codePoint);
+ sendCommittedText();
+ return;
+ }
+ }
+
+ beep();
+ }
+
+ private int getCodePoint(StringBuffer sb, int from, int to) {
+ int value = 0;
+ for (int i = from; i <= to; i++) {
+ value = (value << 4) + Character.digit(sb.charAt(i), 16);
+ }
+ return value;
+ }
+
+ private static void beep() {
+ Toolkit.getDefaultToolkit().beep();
+ }
+
+ public void activate() {
+ if (buffer == null) {
+ buffer = new StringBuffer(12);
+ insertionPoint = 0;
+ }
+ }
+
+ public void deactivate(boolean isTemporary) {
+ if (!isTemporary) {
+ buffer = null;
+ }
+ }
+
+ public void dispose() {
+ }
+
+ public Object getControlObject() {
+ return null;
+ }
+
+ public void endComposition() {
+ sendCommittedText();
+ }
+
+ public Locale getLocale() {
+ return locale;
+ }
+
+ public void hideWindows() {
+ }
+
+ public boolean isCompositionEnabled() {
+ // always enabled
+ return true;
+ }
+
+ public void notifyClientWindowChange(Rectangle location) {
+ }
+
+ public void reconvert() {
+ // not supported yet
+ throw new UnsupportedOperationException();
+ }
+
+ public void removeNotify() {
+ }
+
+ public void setCharacterSubsets(Character.Subset[] subsets) {
+ }
+
+ public void setCompositionEnabled(boolean enable) {
+ // not supported yet
+ throw new UnsupportedOperationException();
+ }
+
+ public void setInputMethodContext(InputMethodContext context) {
+ this.context = context;
+ }
+
+ /*
+ * The Code Point Input Method supports all locales.
+ */
+ public boolean setLocale(Locale locale) {
+ this.locale = locale;
+ return true;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of Oracle nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+package com.sun.inputmethods.internal.codepointim;
+
+
+import java.awt.Image;
+import java.awt.im.spi.InputMethodDescriptor;
+import java.awt.im.spi.InputMethod;
+import java.util.Locale;
+
+
+/**
+ * The CodePointInputMethod is a simple input method that allows Unicode
+ * characters to be entered via their hexadecimal code point values.
+ *
+ * The class, CodePointInputMethodDescriptor, provides information about the
+ * CodePointInputMethod which allows it to be selected and loaded by the
+ * Input Method Framework.
+ */
+public class CodePointInputMethodDescriptor implements InputMethodDescriptor {
+
+ public CodePointInputMethodDescriptor() {
+ }
+
+ /**
+ * Creates a new instance of the Code Point input method.
+ *
+ * @return a new instance of the Code Point input method
+ * @exception Exception any exception that may occur while creating the
+ * input method instance
+ */
+ public InputMethod createInputMethod() throws Exception {
+ return new CodePointInputMethod();
+ }
+
+ /**
+ * This input method can be used by any locale.
+ */
+ public Locale[] getAvailableLocales() {
+ Locale[] locales = {
+ new Locale("", "", ""), };
+ return locales;
+ }
+
+ public synchronized String getInputMethodDisplayName(Locale inputLocale,
+ Locale displayLanguage) {
+ return "CodePoint Input Method";
+ }
+
+ public Image getInputMethodIcon(Locale inputLocale) {
+ return null;
+ }
+
+ public boolean hasDynamicLocaleList() {
+ return false;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32 Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,1016 @@
+long 4
+int 4
+short 2
+ptr 4
+Bool 4
+Atom 4
+Window 4
+XExtData.number 0
+XExtData.next 4
+XExtData.free_private 8
+XExtData.private_data 12
+XExtData 16
+XIMStringConversionCallbackStruct.position 0
+XIMStringConversionCallbackStruct.direction 4
+XIMStringConversionCallbackStruct.operation 8
+XIMStringConversionCallbackStruct.factor 10
+XIMStringConversionCallbackStruct.text 12
+XIMStringConversionCallbackStruct 16
+XkbNewKeyboardNotifyEvent.type 0
+XkbNewKeyboardNotifyEvent.serial 4
+XkbNewKeyboardNotifyEvent.send_event 8
+XkbNewKeyboardNotifyEvent.display 12
+XkbNewKeyboardNotifyEvent.time 16
+XkbNewKeyboardNotifyEvent.xkb_type 20
+XkbNewKeyboardNotifyEvent.device 24
+XkbNewKeyboardNotifyEvent.old_device 28
+XkbNewKeyboardNotifyEvent.min_key_code 32
+XkbNewKeyboardNotifyEvent.max_key_code 36
+XkbNewKeyboardNotifyEvent.old_min_key_code 40
+XkbNewKeyboardNotifyEvent.old_max_key_code 44
+XkbNewKeyboardNotifyEvent.changed 48
+XkbNewKeyboardNotifyEvent.req_major 52
+XkbNewKeyboardNotifyEvent.req_minor 53
+XkbNewKeyboardNotifyEvent 56
+XTimeCoord.time 0
+XTimeCoord.x 4
+XTimeCoord.y 6
+XTimeCoord 8
+XkbCompatMapNotifyEvent.type 0
+XkbCompatMapNotifyEvent.serial 4
+XkbCompatMapNotifyEvent.send_event 8
+XkbCompatMapNotifyEvent.display 12
+XkbCompatMapNotifyEvent.time 16
+XkbCompatMapNotifyEvent.xkb_type 20
+XkbCompatMapNotifyEvent.device 24
+XkbCompatMapNotifyEvent.changed_groups 28
+XkbCompatMapNotifyEvent.first_si 32
+XkbCompatMapNotifyEvent.num_si 36
+XkbCompatMapNotifyEvent.num_total_si 40
+XkbCompatMapNotifyEvent 44
+XIMStatusDrawCallbackStruct.type 0
+XIMStatusDrawCallbackStruct.data 4
+XIMStatusDrawCallbackStruct 8
+XKeyboardControl.key_click_percent 0
+XKeyboardControl.bell_percent 4
+XKeyboardControl.bell_pitch 8
+XKeyboardControl.bell_duration 12
+XKeyboardControl.led 16
+XKeyboardControl.led_mode 20
+XKeyboardControl.key 24
+XKeyboardControl.auto_repeat_mode 28
+XKeyboardControl 32
+XSelectionClearEvent.type 0
+XSelectionClearEvent.serial 4
+XSelectionClearEvent.send_event 8
+XSelectionClearEvent.display 12
+XSelectionClearEvent.window 16
+XSelectionClearEvent.selection 20
+XSelectionClearEvent.time 24
+XSelectionClearEvent 28
+XWindowChanges.x 0
+XWindowChanges.y 4
+XWindowChanges.width 8
+XWindowChanges.height 12
+XWindowChanges.border_width 16
+XWindowChanges.sibling 20
+XWindowChanges.stack_mode 24
+XWindowChanges 28
+XIMPreeditCaretCallbackStruct.position 0
+XIMPreeditCaretCallbackStruct.direction 4
+XIMPreeditCaretCallbackStruct.style 8
+XIMPreeditCaretCallbackStruct 12
+XOMCharSetList.charset_count 0
+XOMCharSetList.charset_list 4
+XOMCharSetList 8
+XOMFontInfo.num_font 0
+XOMFontInfo.font_struct_list 4
+XOMFontInfo.font_name_list 8
+XOMFontInfo 12
+AwtScreenData.numConfigs 0
+AwtScreenData.root 4
+AwtScreenData.whitepixel 8
+AwtScreenData.blackpixel 12
+AwtScreenData.defaultConfig 16
+AwtScreenData.configs 20
+AwtScreenData 24
+XIMHotKeyTrigger.keysym 0
+XIMHotKeyTrigger.modifier 4
+XIMHotKeyTrigger.modifier_mask 8
+XIMHotKeyTrigger 12
+XCirculateEvent.type 0
+XCirculateEvent.serial 4
+XCirculateEvent.send_event 8
+XCirculateEvent.display 12
+XCirculateEvent.event 16
+XCirculateEvent.window 20
+XCirculateEvent.place 24
+XCirculateEvent 28
+Screen.ext_data 0
+Screen.display 4
+Screen.root 8
+Screen.width 12
+Screen.height 16
+Screen.mwidth 20
+Screen.mheight 24
+Screen.ndepths 28
+Screen.depths 32
+Screen.root_depth 36
+Screen.root_visual 40
+Screen.default_gc 44
+Screen.cmap 48
+Screen.white_pixel 52
+Screen.black_pixel 56
+Screen.max_maps 60
+Screen.min_maps 64
+Screen.backing_store 68
+Screen.save_unders 72
+Screen.root_input_mask 76
+Screen 80
+XMapRequestEvent.type 0
+XMapRequestEvent.serial 4
+XMapRequestEvent.send_event 8
+XMapRequestEvent.display 12
+XMapRequestEvent.parent 16
+XMapRequestEvent.window 20
+XMapRequestEvent 24
+XIMText.length 0
+XIMText.feedback 4
+XIMText.encoding_is_wchar 8
+XIMText.string 12
+XIMText 16
+XGraphicsExposeEvent.type 0
+XGraphicsExposeEvent.serial 4
+XGraphicsExposeEvent.send_event 8
+XGraphicsExposeEvent.display 12
+XGraphicsExposeEvent.drawable 16
+XGraphicsExposeEvent.x 20
+XGraphicsExposeEvent.y 24
+XGraphicsExposeEvent.width 28
+XGraphicsExposeEvent.height 32
+XGraphicsExposeEvent.count 36
+XGraphicsExposeEvent.major_code 40
+XGraphicsExposeEvent.minor_code 44
+XGraphicsExposeEvent 48
+XEvent.type 0
+XEvent.xany 0
+XEvent.xkey 0
+XEvent.xbutton 0
+XEvent.xmotion 0
+XEvent.xcrossing 0
+XEvent.xfocus 0
+XEvent.xexpose 0
+XEvent.xgraphicsexpose 0
+XEvent.xnoexpose 0
+XEvent.xvisibility 0
+XEvent.xcreatewindow 0
+XEvent.xdestroywindow 0
+XEvent.xunmap 0
+XEvent.xmap 0
+XEvent.xmaprequest 0
+XEvent.xreparent 0
+XEvent.xconfigure 0
+XEvent.xgravity 0
+XEvent.xresizerequest 0
+XEvent.xconfigurerequest 0
+XEvent.xcirculate 0
+XEvent.xcirculaterequest 0
+XEvent.xproperty 0
+XEvent.xselectionclear 0
+XEvent.xselectionrequest 0
+XEvent.xselection 0
+XEvent.xcolormap 0
+XEvent.xclient 0
+XEvent.xmapping 0
+XEvent.xerror 0
+XEvent.xkeymap 0
+XEvent.pad 0
+XEvent 96
+XRenderDirectFormat.red 0
+XRenderDirectFormat.redMask 2
+XRenderDirectFormat.green 4
+XRenderDirectFormat.greenMask 6
+XRenderDirectFormat.blue 8
+XRenderDirectFormat.blueMask 10
+XRenderDirectFormat.alpha 12
+XRenderDirectFormat.alphaMask 14
+XRenderDirectFormat 16
+ColorData.awt_Colors 0
+ColorData.awt_numICMcolors 4
+ColorData.awt_icmLUT 8
+ColorData.awt_icmLUT2Colors 12
+ColorData.img_grays 16
+ColorData.img_clr_tbl 20
+ColorData.img_oda_red 24
+ColorData.img_oda_green 28
+ColorData.img_oda_blue 32
+ColorData.pGrayInverseLutData 36
+ColorData.screendata 40
+ColorData 44
+XFontStruct.ext_data 0
+XFontStruct.fid 4
+XFontStruct.direction 8
+XFontStruct.min_char_or_byte2 12
+XFontStruct.max_char_or_byte2 16
+XFontStruct.min_byte1 20
+XFontStruct.max_byte1 24
+XFontStruct.all_chars_exist 28
+XFontStruct.n_properties 36
+XFontStruct.properties 40
+XFontStruct.min_bounds 44
+XFontStruct.max_bounds 56
+XFontStruct.per_char 68
+XFontStruct.ascent 72
+XFontStruct.descent 76
+XFontStruct 80
+XExtCodes.extension 0
+XExtCodes.major_opcode 4
+XExtCodes.first_event 8
+XExtCodes.first_error 12
+XExtCodes 16
+XFontSetExtents.max_ink_extent 0
+XFontSetExtents.max_logical_extent 8
+XFontSetExtents 16
+XSelectionEvent.type 0
+XSelectionEvent.serial 4
+XSelectionEvent.send_event 8
+XSelectionEvent.display 12
+XSelectionEvent.requestor 16
+XSelectionEvent.selection 20
+XSelectionEvent.target 24
+XSelectionEvent.property 28
+XSelectionEvent.time 32
+XSelectionEvent 36
+XArc.x 0
+XArc.y 2
+XArc.width 4
+XArc.height 6
+XArc.angle1 8
+XArc.angle2 10
+XArc 12
+XErrorEvent.type 0
+XErrorEvent.display 4
+XErrorEvent.resourceid 8
+XErrorEvent.serial 12
+XErrorEvent.error_code 16
+XErrorEvent.request_code 17
+XErrorEvent.minor_code 18
+XErrorEvent 20
+XConfigureRequestEvent.type 0
+XConfigureRequestEvent.serial 4
+XConfigureRequestEvent.send_event 8
+XConfigureRequestEvent.display 12
+XConfigureRequestEvent.parent 16
+XConfigureRequestEvent.window 20
+XConfigureRequestEvent.x 24
+XConfigureRequestEvent.y 28
+XConfigureRequestEvent.width 32
+XConfigureRequestEvent.height 36
+XConfigureRequestEvent.border_width 40
+XConfigureRequestEvent.above 44
+XConfigureRequestEvent.detail 48
+XConfigureRequestEvent.value_mask 52
+XConfigureRequestEvent 56
+ScreenFormat.ext_data 0
+ScreenFormat.depth 4
+ScreenFormat.bits_per_pixel 8
+ScreenFormat.scanline_pad 12
+ScreenFormat 16
+XButtonEvent.type 0
+XButtonEvent.serial 4
+XButtonEvent.send_event 8
+XButtonEvent.display 12
+XButtonEvent.window 16
+XButtonEvent.root 20
+XButtonEvent.subwindow 24
+XButtonEvent.time 28
+XButtonEvent.x 32
+XButtonEvent.y 36
+XButtonEvent.x_root 40
+XButtonEvent.y_root 44
+XButtonEvent.state 48
+XButtonEvent.button 52
+XButtonEvent.same_screen 56
+XButtonEvent 60
+XFontProp.name 0
+XFontProp.card32 4
+XFontProp 8
+XIMValuesList.count_values 0
+XIMValuesList.supported_values 4
+XIMValuesList 8
+XKeymapEvent.type 0
+XKeymapEvent.serial 4
+XKeymapEvent.send_event 8
+XKeymapEvent.display 12
+XKeymapEvent.window 16
+XKeymapEvent.key_vector 20
+XKeymapEvent 52
+XTextItem16.chars 0
+XTextItem16.nchars 4
+XTextItem16.delta 8
+XTextItem16.font 12
+XTextItem16 16
+XIMPreeditDrawCallbackStruct.caret 0
+XIMPreeditDrawCallbackStruct.chg_first 4
+XIMPreeditDrawCallbackStruct.chg_length 8
+XIMPreeditDrawCallbackStruct.text 12
+XIMPreeditDrawCallbackStruct 16
+XVisualInfo.visual 0
+XVisualInfo.visualid 4
+XVisualInfo.screen 8
+XVisualInfo.depth 12
+XVisualInfo.class 16
+XVisualInfo.red_mask 20
+XVisualInfo.green_mask 24
+XVisualInfo.blue_mask 28
+XVisualInfo.colormap_size 32
+XVisualInfo.bits_per_rgb 36
+XVisualInfo 40
+XkbControlsNotifyEvent.type 0
+XkbControlsNotifyEvent.serial 4
+XkbControlsNotifyEvent.send_event 8
+XkbControlsNotifyEvent.display 12
+XkbControlsNotifyEvent.time 16
+XkbControlsNotifyEvent.xkb_type 20
+XkbControlsNotifyEvent.device 24
+XkbControlsNotifyEvent.changed_ctrls 28
+XkbControlsNotifyEvent.enabled_ctrls 32
+XkbControlsNotifyEvent.enabled_ctrl_changes 36
+XkbControlsNotifyEvent.num_groups 40
+XkbControlsNotifyEvent.keycode 44
+XkbControlsNotifyEvent.event_type 45
+XkbControlsNotifyEvent.req_major 46
+XkbControlsNotifyEvent.req_minor 47
+XkbControlsNotifyEvent 48
+PropMwmHints.flags 0
+PropMwmHints.functions 4
+PropMwmHints.decorations 8
+PropMwmHints.inputMode 12
+PropMwmHints.status 16
+PropMwmHints 20
+XClientMessageEvent.type 0
+XClientMessageEvent.serial 4
+XClientMessageEvent.send_event 8
+XClientMessageEvent.display 12
+XClientMessageEvent.window 16
+XClientMessageEvent.message_type 20
+XClientMessageEvent.format 24
+XClientMessageEvent.data 28
+XClientMessageEvent 48
+XAnyEvent.type 0
+XAnyEvent.serial 4
+XAnyEvent.send_event 8
+XAnyEvent.display 12
+XAnyEvent.window 16
+XAnyEvent 20
+XkbIndicatorNotifyEvent.type 0
+XkbIndicatorNotifyEvent.serial 4
+XkbIndicatorNotifyEvent.send_event 8
+XkbIndicatorNotifyEvent.display 12
+XkbIndicatorNotifyEvent.time 16
+XkbIndicatorNotifyEvent.xkb_type 20
+XkbIndicatorNotifyEvent.device 24
+XkbIndicatorNotifyEvent.changed 28
+XkbIndicatorNotifyEvent.state 32
+XkbIndicatorNotifyEvent 36
+XIMPreeditStateNotifyCallbackStruct.state 0
+XIMPreeditStateNotifyCallbackStruct 4
+XkbAnyEvent.type 0
+XkbAnyEvent.serial 4
+XkbAnyEvent.send_event 8
+XkbAnyEvent.display 12
+XkbAnyEvent.time 16
+XkbAnyEvent.xkb_type 20
+XkbAnyEvent.device 24
+XkbAnyEvent 28
+XMotionEvent.type 0
+XMotionEvent.serial 4
+XMotionEvent.send_event 8
+XMotionEvent.display 12
+XMotionEvent.window 16
+XMotionEvent.root 20
+XMotionEvent.subwindow 24
+XMotionEvent.time 28
+XMotionEvent.x 32
+XMotionEvent.y 36
+XMotionEvent.x_root 40
+XMotionEvent.y_root 44
+XMotionEvent.state 48
+XMotionEvent.is_hint 52
+XMotionEvent.same_screen 56
+XMotionEvent 60
+XIMHotKeyTriggers.num_hot_key 0
+XIMHotKeyTriggers.key 4
+XIMHotKeyTriggers 8
+XIMStyles.count_styles 0
+XIMStyles.supported_styles 4
+XIMStyles 8
+XkbExtensionDeviceNotifyEvent.type 0
+XkbExtensionDeviceNotifyEvent.serial 4
+XkbExtensionDeviceNotifyEvent.send_event 8
+XkbExtensionDeviceNotifyEvent.display 12
+XkbExtensionDeviceNotifyEvent.time 16
+XkbExtensionDeviceNotifyEvent.xkb_type 20
+XkbExtensionDeviceNotifyEvent.device 24
+XkbExtensionDeviceNotifyEvent.reason 28
+XkbExtensionDeviceNotifyEvent.supported 32
+XkbExtensionDeviceNotifyEvent.unsupported 36
+XkbExtensionDeviceNotifyEvent.first_btn 40
+XkbExtensionDeviceNotifyEvent.num_btns 44
+XkbExtensionDeviceNotifyEvent.leds_defined 48
+XkbExtensionDeviceNotifyEvent.led_state 52
+XkbExtensionDeviceNotifyEvent.led_class 56
+XkbExtensionDeviceNotifyEvent.led_id 60
+XkbExtensionDeviceNotifyEvent 64
+XwcTextItem.chars 0
+XwcTextItem.nchars 4
+XwcTextItem.delta 8
+XwcTextItem.font_set 12
+XwcTextItem 16
+XClassHint.res_name 0
+XClassHint.res_class 4
+XClassHint 8
+XChar2b.byte1 0
+XChar2b.byte2 1
+XChar2b 2
+XSetWindowAttributes.background_pixmap 0
+XSetWindowAttributes.background_pixel 4
+XSetWindowAttributes.border_pixmap 8
+XSetWindowAttributes.border_pixel 12
+XSetWindowAttributes.bit_gravity 16
+XSetWindowAttributes.win_gravity 20
+XSetWindowAttributes.backing_store 24
+XSetWindowAttributes.backing_planes 28
+XSetWindowAttributes.backing_pixel 32
+XSetWindowAttributes.save_under 36
+XSetWindowAttributes.event_mask 40
+XSetWindowAttributes.do_not_propagate_mask 44
+XSetWindowAttributes.override_redirect 48
+XSetWindowAttributes.colormap 52
+XSetWindowAttributes.cursor 56
+XSetWindowAttributes 60
+XRenderPictFormat.id 0
+XRenderPictFormat.type 4
+XRenderPictFormat.depth 8
+XRenderPictFormat.direct 12
+XRenderPictFormat.colormap 28
+XRenderPictFormat 32
+XReparentEvent.type 0
+XReparentEvent.serial 4
+XReparentEvent.send_event 8
+XReparentEvent.display 12
+XReparentEvent.event 16
+XReparentEvent.window 20
+XReparentEvent.parent 24
+XReparentEvent.x 28
+XReparentEvent.y 32
+XReparentEvent.override_redirect 36
+XReparentEvent 40
+XCirculateRequestEvent.type 0
+XCirculateRequestEvent.serial 4
+XCirculateRequestEvent.send_event 8
+XCirculateRequestEvent.display 12
+XCirculateRequestEvent.parent 16
+XCirculateRequestEvent.window 20
+XCirculateRequestEvent.place 24
+XCirculateRequestEvent 28
+XImage.width 0
+XImage.height 4
+XImage.xoffset 8
+XImage.format 12
+XImage.data 16
+XImage.byte_order 20
+XImage.bitmap_unit 24
+XImage.bitmap_bit_order 28
+XImage.bitmap_pad 32
+XImage.depth 36
+XImage.bytes_per_line 40
+XImage.bits_per_pixel 44
+XImage.red_mask 48
+XImage.green_mask 52
+XImage.blue_mask 56
+XImage.obdata 60
+XImage.f.create_image 64
+XImage.f.destroy_image 68
+XImage.f.get_pixel 72
+XImage.f.put_pixel 76
+XImage.f.sub_image 80
+XImage.f.add_pixel 84
+XImage 88
+XKeyEvent.type 0
+XKeyEvent.serial 4
+XKeyEvent.send_event 8
+XKeyEvent.display 12
+XKeyEvent.window 16
+XKeyEvent.root 20
+XKeyEvent.subwindow 24
+XKeyEvent.time 28
+XKeyEvent.x 32
+XKeyEvent.y 36
+XKeyEvent.x_root 40
+XKeyEvent.y_root 44
+XKeyEvent.state 48
+XKeyEvent.keycode 52
+XKeyEvent.same_screen 56
+XKeyEvent 60
+XkbActionMessageEvent.type 0
+XkbActionMessageEvent.serial 4
+XkbActionMessageEvent.send_event 8
+XkbActionMessageEvent.display 12
+XkbActionMessageEvent.time 16
+XkbActionMessageEvent.xkb_type 20
+XkbActionMessageEvent.device 24
+XkbActionMessageEvent.keycode 28
+XkbActionMessageEvent.press 32
+XkbActionMessageEvent.key_event_follows 36
+XkbActionMessageEvent.group 40
+XkbActionMessageEvent.mods 44
+XkbActionMessageEvent.message 48
+XkbActionMessageEvent 56
+XdbeSwapInfo.swap_window 0
+XdbeSwapInfo.swap_action 4
+XdbeSwapInfo 8
+XTextItem.chars 0
+XTextItem.nchars 4
+XTextItem.delta 8
+XTextItem.font 12
+XTextItem 16
+XModifierKeymap.max_keypermod 0
+XModifierKeymap.modifiermap 4
+XModifierKeymap 8
+XCharStruct.lbearing 0
+XCharStruct.rbearing 2
+XCharStruct.width 4
+XCharStruct.ascent 6
+XCharStruct.descent 8
+XCharStruct.attributes 10
+XCharStruct 12
+XGravityEvent.type 0
+XGravityEvent.serial 4
+XGravityEvent.send_event 8
+XGravityEvent.display 12
+XGravityEvent.event 16
+XGravityEvent.window 20
+XGravityEvent.x 24
+XGravityEvent.y 28
+XGravityEvent 32
+Visual.ext_data 0
+Visual.visualid 4
+Visual.class 8
+Visual.red_mask 12
+Visual.green_mask 16
+Visual.blue_mask 20
+Visual.bits_per_rgb 24
+Visual.map_entries 28
+Visual 32
+XOMOrientation.num_orientation 0
+XOMOrientation.orientation 4
+XOMOrientation 8
+XkbAccessXNotifyEvent.type 0
+XkbAccessXNotifyEvent.serial 4
+XkbAccessXNotifyEvent.send_event 8
+XkbAccessXNotifyEvent.display 12
+XkbAccessXNotifyEvent.time 16
+XkbAccessXNotifyEvent.xkb_type 20
+XkbAccessXNotifyEvent.device 24
+XkbAccessXNotifyEvent.detail 28
+XkbAccessXNotifyEvent.keycode 32
+XkbAccessXNotifyEvent.sk_delay 36
+XkbAccessXNotifyEvent.debounce_delay 40
+XkbAccessXNotifyEvent 44
+XWindowAttributes.x 0
+XWindowAttributes.y 4
+XWindowAttributes.width 8
+XWindowAttributes.height 12
+XWindowAttributes.border_width 16
+XWindowAttributes.depth 20
+XWindowAttributes.visual 24
+XWindowAttributes.root 28
+XWindowAttributes.class 32
+XWindowAttributes.bit_gravity 36
+XWindowAttributes.win_gravity 40
+XWindowAttributes.backing_store 44
+XWindowAttributes.backing_planes 48
+XWindowAttributes.backing_pixel 52
+XWindowAttributes.save_under 56
+XWindowAttributes.colormap 60
+XWindowAttributes.map_installed 64
+XWindowAttributes.map_state 68
+XWindowAttributes.all_event_masks 72
+XWindowAttributes.your_event_mask 76
+XWindowAttributes.do_not_propagate_mask 80
+XWindowAttributes.override_redirect 84
+XWindowAttributes.screen 88
+XWindowAttributes 92
+XmbTextItem.chars 0
+XmbTextItem.nchars 4
+XmbTextItem.delta 8
+XmbTextItem.font_set 12
+XmbTextItem 16
+XMappingEvent.type 0
+XMappingEvent.serial 4
+XMappingEvent.send_event 8
+XMappingEvent.display 12
+XMappingEvent.window 16
+XMappingEvent.request 20
+XMappingEvent.first_keycode 24
+XMappingEvent.count 28
+XMappingEvent 32
+XSizeHints.flags 0
+XSizeHints.x 4
+XSizeHints.y 8
+XSizeHints.width 12
+XSizeHints.height 16
+XSizeHints.min_width 20
+XSizeHints.min_height 24
+XSizeHints.max_width 28
+XSizeHints.max_height 32
+XSizeHints.width_inc 36
+XSizeHints.height_inc 40
+XSizeHints.min_aspect.x 44
+XSizeHints.min_aspect.y 48
+XSizeHints.max_aspect.x 52
+XSizeHints.max_aspect.y 56
+XSizeHints.base_width 60
+XSizeHints.base_height 64
+XSizeHints.win_gravity 68
+XSizeHints 72
+XUnmapEvent.type 0
+XUnmapEvent.serial 4
+XUnmapEvent.send_event 8
+XUnmapEvent.display 12
+XUnmapEvent.event 16
+XUnmapEvent.window 20
+XUnmapEvent.from_configure 24
+XUnmapEvent 28
+awtImageData.Depth 0
+awtImageData.wsImageFormat 4
+awtImageData.clrdata 16
+awtImageData.convert 48
+awtImageData 304
+XkbStateNotifyEvent.type 0
+XkbStateNotifyEvent.serial 4
+XkbStateNotifyEvent.send_event 8
+XkbStateNotifyEvent.display 12
+XkbStateNotifyEvent.time 16
+XkbStateNotifyEvent.xkb_type 20
+XkbStateNotifyEvent.device 24
+XkbStateNotifyEvent.changed 28
+XkbStateNotifyEvent.group 32
+XkbStateNotifyEvent.base_group 36
+XkbStateNotifyEvent.latched_group 40
+XkbStateNotifyEvent.locked_group 44
+XkbStateNotifyEvent.mods 48
+XkbStateNotifyEvent.base_mods 52
+XkbStateNotifyEvent.latched_mods 56
+XkbStateNotifyEvent.locked_mods 60
+XkbStateNotifyEvent.compat_state 64
+XkbStateNotifyEvent.grab_mods 68
+XkbStateNotifyEvent.compat_grab_mods 69
+XkbStateNotifyEvent.lookup_mods 70
+XkbStateNotifyEvent.compat_lookup_mods 71
+XkbStateNotifyEvent.ptr_buttons 72
+XkbStateNotifyEvent.keycode 76
+XkbStateNotifyEvent.event_type 77
+XkbStateNotifyEvent.req_major 78
+XkbStateNotifyEvent.req_minor 79
+XkbStateNotifyEvent 80
+XExposeEvent.type 0
+XExposeEvent.serial 4
+XExposeEvent.send_event 8
+XExposeEvent.display 12
+XExposeEvent.window 16
+XExposeEvent.x 20
+XExposeEvent.y 24
+XExposeEvent.width 28
+XExposeEvent.height 32
+XExposeEvent.count 36
+XExposeEvent 40
+XkbMapNotifyEvent.type 0
+XkbMapNotifyEvent.serial 4
+XkbMapNotifyEvent.send_event 8
+XkbMapNotifyEvent.display 12
+XkbMapNotifyEvent.time 16
+XkbMapNotifyEvent.xkb_type 20
+XkbMapNotifyEvent.device 24
+XkbMapNotifyEvent.changed 28
+XkbMapNotifyEvent.flags 32
+XkbMapNotifyEvent.first_type 36
+XkbMapNotifyEvent.num_types 40
+XkbMapNotifyEvent.min_key_code 44
+XkbMapNotifyEvent.max_key_code 45
+XkbMapNotifyEvent.first_key_sym 46
+XkbMapNotifyEvent.first_key_act 47
+XkbMapNotifyEvent.first_key_behavior 48
+XkbMapNotifyEvent.first_key_explicit 49
+XkbMapNotifyEvent.first_modmap_key 50
+XkbMapNotifyEvent.first_vmodmap_key 51
+XkbMapNotifyEvent.num_key_syms 52
+XkbMapNotifyEvent.num_key_acts 56
+XkbMapNotifyEvent.num_key_behaviors 60
+XkbMapNotifyEvent.num_key_explicit 64
+XkbMapNotifyEvent.num_modmap_keys 68
+XkbMapNotifyEvent.num_vmodmap_keys 72
+XkbMapNotifyEvent.vmods 76
+XkbMapNotifyEvent 80
+XGCValues.function 0
+XGCValues.plane_mask 4
+XGCValues.foreground 8
+XGCValues.background 12
+XGCValues.line_width 16
+XGCValues.line_style 20
+XGCValues.cap_style 24
+XGCValues.join_style 28
+XGCValues.fill_style 32
+XGCValues.fill_rule 36
+XGCValues.arc_mode 40
+XGCValues.tile 44
+XGCValues.stipple 48
+XGCValues.ts_x_origin 52
+XGCValues.ts_y_origin 56
+XGCValues.font 60
+XGCValues.subwindow_mode 64
+XGCValues.graphics_exposures 68
+XGCValues.clip_x_origin 72
+XGCValues.clip_y_origin 76
+XGCValues.clip_mask 80
+XGCValues.dash_offset 84
+XGCValues.dashes 88
+XGCValues 92
+XFocusChangeEvent.type 0
+XFocusChangeEvent.serial 4
+XFocusChangeEvent.send_event 8
+XFocusChangeEvent.display 12
+XFocusChangeEvent.window 16
+XFocusChangeEvent.mode 20
+XFocusChangeEvent.detail 24
+XFocusChangeEvent 28
+XPixmapFormatValues.depth 0
+XPixmapFormatValues.bits_per_pixel 4
+XPixmapFormatValues.scanline_pad 8
+XPixmapFormatValues 12
+XMapEvent.type 0
+XMapEvent.serial 4
+XMapEvent.send_event 8
+XMapEvent.display 12
+XMapEvent.event 16
+XMapEvent.window 20
+XMapEvent.override_redirect 24
+XMapEvent 28
+XkbBellNotifyEvent.type 0
+XkbBellNotifyEvent.serial 4
+XkbBellNotifyEvent.send_event 8
+XkbBellNotifyEvent.display 12
+XkbBellNotifyEvent.time 16
+XkbBellNotifyEvent.xkb_type 20
+XkbBellNotifyEvent.device 24
+XkbBellNotifyEvent.percent 28
+XkbBellNotifyEvent.pitch 32
+XkbBellNotifyEvent.duration 36
+XkbBellNotifyEvent.bell_class 40
+XkbBellNotifyEvent.bell_id 44
+XkbBellNotifyEvent.name 48
+XkbBellNotifyEvent.window 52
+XkbBellNotifyEvent.event_only 56
+XkbBellNotifyEvent 60
+XIMStringConversionText.length 0
+XIMStringConversionText.feedback 4
+XIMStringConversionText.encoding_is_wchar 8
+XIMStringConversionText.string 12
+XIMStringConversionText 16
+XKeyboardState.key_click_percent 0
+XKeyboardState.bell_percent 4
+XKeyboardState.bell_pitch 8
+XKeyboardState.bell_duration 12
+XKeyboardState.led_mask 16
+XKeyboardState.global_auto_repeat 20
+XKeyboardState.auto_repeats 24
+XKeyboardState 56
+XkbEvent.type 0
+XkbEvent.any 0
+XkbEvent.new_kbd 0
+XkbEvent.map 0
+XkbEvent.state 0
+XkbEvent.ctrls 0
+XkbEvent.indicators 0
+XkbEvent.names 0
+XkbEvent.compat 0
+XkbEvent.bell 0
+XkbEvent.message 0
+XkbEvent.accessx 0
+XkbEvent.device 0
+XkbEvent.core 0
+XkbEvent 96
+XPoint.x 0
+XPoint.y 2
+XPoint 4
+XSegment.x1 0
+XSegment.y1 2
+XSegment.x2 4
+XSegment.y2 6
+XSegment 8
+XIconSize.min_width 0
+XIconSize.min_height 4
+XIconSize.max_width 8
+XIconSize.max_height 12
+XIconSize.width_inc 16
+XIconSize.height_inc 20
+XIconSize 24
+XIMCallback.client_data 0
+XIMCallback.callback 4
+XIMCallback 8
+XConfigureEvent.type 0
+XConfigureEvent.serial 4
+XConfigureEvent.send_event 8
+XConfigureEvent.display 12
+XConfigureEvent.event 16
+XConfigureEvent.window 20
+XConfigureEvent.x 24
+XConfigureEvent.y 28
+XConfigureEvent.width 32
+XConfigureEvent.height 36
+XConfigureEvent.border_width 40
+XConfigureEvent.above 44
+XConfigureEvent.override_redirect 48
+XConfigureEvent 52
+XRectangle.x 0
+XRectangle.y 2
+XRectangle.width 4
+XRectangle.height 6
+XRectangle 8
+XkbNamesNotifyEvent.type 0
+XkbNamesNotifyEvent.serial 4
+XkbNamesNotifyEvent.send_event 8
+XkbNamesNotifyEvent.display 12
+XkbNamesNotifyEvent.time 16
+XkbNamesNotifyEvent.xkb_type 20
+XkbNamesNotifyEvent.device 24
+XkbNamesNotifyEvent.changed 28
+XkbNamesNotifyEvent.first_type 32
+XkbNamesNotifyEvent.num_types 36
+XkbNamesNotifyEvent.first_lvl 40
+XkbNamesNotifyEvent.num_lvls 44
+XkbNamesNotifyEvent.num_aliases 48
+XkbNamesNotifyEvent.num_radio_groups 52
+XkbNamesNotifyEvent.changed_vmods 56
+XkbNamesNotifyEvent.changed_groups 60
+XkbNamesNotifyEvent.changed_indicators 64
+XkbNamesNotifyEvent.first_key 68
+XkbNamesNotifyEvent.num_keys 72
+XkbNamesNotifyEvent 76
+XCreateWindowEvent.type 0
+XCreateWindowEvent.serial 4
+XCreateWindowEvent.send_event 8
+XCreateWindowEvent.display 12
+XCreateWindowEvent.parent 16
+XCreateWindowEvent.window 20
+XCreateWindowEvent.x 24
+XCreateWindowEvent.y 28
+XCreateWindowEvent.width 32
+XCreateWindowEvent.height 36
+XCreateWindowEvent.border_width 40
+XCreateWindowEvent.override_redirect 44
+XCreateWindowEvent 48
+XVisibilityEvent.type 0
+XVisibilityEvent.serial 4
+XVisibilityEvent.send_event 8
+XVisibilityEvent.display 12
+XVisibilityEvent.window 16
+XVisibilityEvent.state 20
+XVisibilityEvent 24
+XWMHints.flags 0
+XWMHints.initial_state 8
+XWMHints.icon_pixmap 12
+XWMHints.icon_window 16
+XWMHints.icon_x 20
+XWMHints.icon_y 24
+XWMHints.icon_mask 28
+XWMHints.input 4
+XWMHints.window_group 32
+XWMHints 36
+XCrossingEvent.type 0
+XCrossingEvent.serial 4
+XCrossingEvent.send_event 8
+XCrossingEvent.display 12
+XCrossingEvent.window 16
+XCrossingEvent.root 20
+XCrossingEvent.subwindow 24
+XCrossingEvent.time 28
+XCrossingEvent.x 32
+XCrossingEvent.y 36
+XCrossingEvent.x_root 40
+XCrossingEvent.y_root 44
+XCrossingEvent.mode 48
+XCrossingEvent.detail 52
+XCrossingEvent.same_screen 56
+XCrossingEvent.focus 60
+XCrossingEvent.state 64
+XCrossingEvent 68
+XSelectionRequestEvent.type 0
+XSelectionRequestEvent.serial 4
+XSelectionRequestEvent.send_event 8
+XSelectionRequestEvent.display 12
+XSelectionRequestEvent.owner 16
+XSelectionRequestEvent.requestor 20
+XSelectionRequestEvent.selection 24
+XSelectionRequestEvent.target 28
+XSelectionRequestEvent.property 32
+XSelectionRequestEvent.time 36
+XSelectionRequestEvent 40
+XNoExposeEvent.type 0
+XNoExposeEvent.serial 4
+XNoExposeEvent.send_event 8
+XNoExposeEvent.display 12
+XNoExposeEvent.drawable 16
+XNoExposeEvent.major_code 20
+XNoExposeEvent.minor_code 24
+XNoExposeEvent 28
+XHostAddress.family 0
+XHostAddress.length 4
+XHostAddress.address 8
+XHostAddress 12
+XColormapEvent.type 0
+XColormapEvent.serial 4
+XColormapEvent.send_event 8
+XColormapEvent.display 12
+XColormapEvent.window 16
+XColormapEvent.colormap 20
+XColormapEvent.new 24
+XColormapEvent.state 28
+XColormapEvent 32
+ColorEntry.r 0
+ColorEntry.g 1
+ColorEntry.b 2
+ColorEntry.flags 3
+ColorEntry 4
+XResizeRequestEvent.type 0
+XResizeRequestEvent.serial 4
+XResizeRequestEvent.send_event 8
+XResizeRequestEvent.display 12
+XResizeRequestEvent.window 16
+XResizeRequestEvent.width 20
+XResizeRequestEvent.height 24
+XResizeRequestEvent 28
+Depth.depth 0
+Depth.nvisuals 4
+Depth.visuals 8
+Depth 12
+XPropertyEvent.type 0
+XPropertyEvent.serial 4
+XPropertyEvent.send_event 8
+XPropertyEvent.display 12
+XPropertyEvent.window 16
+XPropertyEvent.atom 20
+XPropertyEvent.time 24
+XPropertyEvent.state 28
+XPropertyEvent 32
+XDestroyWindowEvent.type 0
+XDestroyWindowEvent.serial 4
+XDestroyWindowEvent.send_event 8
+XDestroyWindowEvent.display 12
+XDestroyWindowEvent.event 16
+XDestroyWindowEvent.window 20
+XDestroyWindowEvent 24
+XStandardColormap.colormap 0
+XStandardColormap.red_max 4
+XStandardColormap.red_mult 8
+XStandardColormap.green_max 12
+XStandardColormap.green_mult 16
+XStandardColormap.blue_max 20
+XStandardColormap.blue_mult 24
+XStandardColormap.base_pixel 28
+XStandardColormap.visualid 32
+XStandardColormap.killid 36
+XStandardColormap 40
+XComposeStatus.compose_ptr 0
+XComposeStatus.chars_matched 4
+XComposeStatus 8
+AwtGraphicsConfigData.awt_depth 0
+AwtGraphicsConfigData.awt_cmap 4
+AwtGraphicsConfigData.awt_visInfo 8
+AwtGraphicsConfigData.awt_num_colors 48
+AwtGraphicsConfigData.awtImage 52
+AwtGraphicsConfigData.AwtColorMatch 56
+AwtGraphicsConfigData.monoImage 60
+AwtGraphicsConfigData.monoPixmap 64
+AwtGraphicsConfigData.monoPixmapWidth 68
+AwtGraphicsConfigData.monoPixmapHeight 72
+AwtGraphicsConfigData.monoPixmapGC 76
+AwtGraphicsConfigData.pixelStride 80
+AwtGraphicsConfigData.color_data 84
+AwtGraphicsConfigData.glxInfo 88
+AwtGraphicsConfigData.isTranslucencySupported 92
+AwtGraphicsConfigData.renderPictFormat 96
+AwtGraphicsConfigData 128
+XColor.pixel 0
+XColor.red 4
+XColor.green 6
+XColor.blue 8
+XColor.flags 10
+XColor.pad 11
+XColor 12
+XTextProperty.value 0
+XTextProperty.encoding 4
+XTextProperty.format 8
+XTextProperty.nitems 12
+XTextProperty 16
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64 Fri Jan 18 19:13:41 2013 +0100
@@ -0,0 +1,1016 @@
+long 8
+int 4
+short 2
+ptr 8
+Bool 4
+Atom 8
+Window 8
+XExtData.number 0
+XExtData.next 8
+XExtData.free_private 16
+XExtData.private_data 24
+XExtData 32
+XIMStringConversionCallbackStruct.position 0
+XIMStringConversionCallbackStruct.direction 4
+XIMStringConversionCallbackStruct.operation 8
+XIMStringConversionCallbackStruct.factor 10
+XIMStringConversionCallbackStruct.text 16
+XIMStringConversionCallbackStruct 24
+XkbNewKeyboardNotifyEvent.type 0
+XkbNewKeyboardNotifyEvent.serial 8
+XkbNewKeyboardNotifyEvent.send_event 16
+XkbNewKeyboardNotifyEvent.display 24
+XkbNewKeyboardNotifyEvent.time 32
+XkbNewKeyboardNotifyEvent.xkb_type 40
+XkbNewKeyboardNotifyEvent.device 44
+XkbNewKeyboardNotifyEvent.old_device 48
+XkbNewKeyboardNotifyEvent.min_key_code 52
+XkbNewKeyboardNotifyEvent.max_key_code 56
+XkbNewKeyboardNotifyEvent.old_min_key_code 60
+XkbNewKeyboardNotifyEvent.old_max_key_code 64
+XkbNewKeyboardNotifyEvent.changed 68
+XkbNewKeyboardNotifyEvent.req_major 72
+XkbNewKeyboardNotifyEvent.req_minor 73
+XkbNewKeyboardNotifyEvent 80
+XTimeCoord.time 0
+XTimeCoord.x 8
+XTimeCoord.y 10
+XTimeCoord 16
+XkbCompatMapNotifyEvent.type 0
+XkbCompatMapNotifyEvent.serial 8
+XkbCompatMapNotifyEvent.send_event 16
+XkbCompatMapNotifyEvent.display 24
+XkbCompatMapNotifyEvent.time 32
+XkbCompatMapNotifyEvent.xkb_type 40
+XkbCompatMapNotifyEvent.device 44
+XkbCompatMapNotifyEvent.changed_groups 48
+XkbCompatMapNotifyEvent.first_si 52
+XkbCompatMapNotifyEvent.num_si 56
+XkbCompatMapNotifyEvent.num_total_si 60
+XkbCompatMapNotifyEvent 64
+XIMStatusDrawCallbackStruct.type 0
+XIMStatusDrawCallbackStruct.data 8
+XIMStatusDrawCallbackStruct 16
+XKeyboardControl.key_click_percent 0
+XKeyboardControl.bell_percent 4
+XKeyboardControl.bell_pitch 8
+XKeyboardControl.bell_duration 12
+XKeyboardControl.led 16
+XKeyboardControl.led_mode 20
+XKeyboardControl.key 24
+XKeyboardControl.auto_repeat_mode 28
+XKeyboardControl 32
+XSelectionClearEvent.type 0
+XSelectionClearEvent.serial 8
+XSelectionClearEvent.send_event 16
+XSelectionClearEvent.display 24
+XSelectionClearEvent.window 32
+XSelectionClearEvent.selection 40
+XSelectionClearEvent.time 48
+XSelectionClearEvent 56
+XWindowChanges.x 0
+XWindowChanges.y 4
+XWindowChanges.width 8
+XWindowChanges.height 12
+XWindowChanges.border_width 16
+XWindowChanges.sibling 24
+XWindowChanges.stack_mode 32
+XWindowChanges 40
+XIMPreeditCaretCallbackStruct.position 0
+XIMPreeditCaretCallbackStruct.direction 4
+XIMPreeditCaretCallbackStruct.style 8
+XIMPreeditCaretCallbackStruct 12
+XOMCharSetList.charset_count 0
+XOMCharSetList.charset_list 8
+XOMCharSetList 16
+XOMFontInfo.num_font 0
+XOMFontInfo.font_struct_list 8
+XOMFontInfo.font_name_list 16
+XOMFontInfo 24
+AwtScreenData.numConfigs 0
+AwtScreenData.root 8
+AwtScreenData.whitepixel 16
+AwtScreenData.blackpixel 24
+AwtScreenData.defaultConfig 32
+AwtScreenData.configs 40
+AwtScreenData 48
+XIMHotKeyTrigger.keysym 0
+XIMHotKeyTrigger.modifier 8
+XIMHotKeyTrigger.modifier_mask 12
+XIMHotKeyTrigger 16
+XCirculateEvent.type 0
+XCirculateEvent.serial 8
+XCirculateEvent.send_event 16
+XCirculateEvent.display 24
+XCirculateEvent.event 32
+XCirculateEvent.window 40
+XCirculateEvent.place 48
+XCirculateEvent 56
+Screen.ext_data 0
+Screen.display 8
+Screen.root 16
+Screen.width 24
+Screen.height 28
+Screen.mwidth 32
+Screen.mheight 36
+Screen.ndepths 40
+Screen.depths 48
+Screen.root_depth 56
+Screen.root_visual 64
+Screen.default_gc 72
+Screen.cmap 80
+Screen.white_pixel 88
+Screen.black_pixel 96
+Screen.max_maps 104
+Screen.min_maps 108
+Screen.backing_store 112
+Screen.save_unders 116
+Screen.root_input_mask 120
+Screen 128
+XMapRequestEvent.type 0
+XMapRequestEvent.serial 8
+XMapRequestEvent.send_event 16
+XMapRequestEvent.display 24
+XMapRequestEvent.parent 32
+XMapRequestEvent.window 40
+XMapRequestEvent 48
+XIMText.length 0
+XIMText.feedback 8
+XIMText.encoding_is_wchar 16
+XIMText.string 24
+XIMText 32
+XGraphicsExposeEvent.type 0
+XGraphicsExposeEvent.serial 8
+XGraphicsExposeEvent.send_event 16
+XGraphicsExposeEvent.display 24
+XGraphicsExposeEvent.drawable 32
+XGraphicsExposeEvent.x 40
+XGraphicsExposeEvent.y 44
+XGraphicsExposeEvent.width 48
+XGraphicsExposeEvent.height 52
+XGraphicsExposeEvent.count 56
+XGraphicsExposeEvent.major_code 60
+XGraphicsExposeEvent.minor_code 64
+XGraphicsExposeEvent 72
+XEvent.type 0
+XEvent.xany 0
+XEvent.xkey 0
+XEvent.xbutton 0
+XEvent.xmotion 0
+XEvent.xcrossing 0
+XEvent.xfocus 0
+XEvent.xexpose 0
+XEvent.xgraphicsexpose 0
+XEvent.xnoexpose 0
+XEvent.xvisibility 0
+XEvent.xcreatewindow 0
+XEvent.xdestroywindow 0
+XEvent.xunmap 0
+XEvent.xmap 0
+XEvent.xmaprequest 0
+XEvent.xreparent 0
+XEvent.xconfigure 0
+XEvent.xgravity 0
+XEvent.xresizerequest 0
+XEvent.xconfigurerequest 0
+XEvent.xcirculate 0
+XEvent.xcirculaterequest 0
+XEvent.xproperty 0
+XEvent.xselectionclear 0
+XEvent.xselectionrequest 0
+XEvent.xselection 0
+XEvent.xcolormap 0
+XEvent.xclient 0
+XEvent.xmapping 0
+XEvent.xerror 0
+XEvent.xkeymap 0
+XEvent.pad 0
+XEvent 192
+XRenderDirectFormat.red 0
+XRenderDirectFormat.redMask 2
+XRenderDirectFormat.green 4
+XRenderDirectFormat.greenMask 6
+XRenderDirectFormat.blue 8
+XRenderDirectFormat.blueMask 10
+XRenderDirectFormat.alpha 12
+XRenderDirectFormat.alphaMask 14
+XRenderDirectFormat 16
+ColorData.awt_Colors 0
+ColorData.awt_numICMcolors 8
+ColorData.awt_icmLUT 16
+ColorData.awt_icmLUT2Colors 24
+ColorData.img_grays 32
+ColorData.img_clr_tbl 40
+ColorData.img_oda_red 48
+ColorData.img_oda_green 56
+ColorData.img_oda_blue 64
+ColorData.pGrayInverseLutData 72
+ColorData.screendata 80
+ColorData 88
+XFontStruct.ext_data 0
+XFontStruct.fid 8
+XFontStruct.direction 16
+XFontStruct.min_char_or_byte2 20
+XFontStruct.max_char_or_byte2 24
+XFontStruct.min_byte1 28
+XFontStruct.max_byte1 32
+XFontStruct.all_chars_exist 36
+XFontStruct.n_properties 44
+XFontStruct.properties 48
+XFontStruct.min_bounds 56
+XFontStruct.max_bounds 68
+XFontStruct.per_char 80
+XFontStruct.ascent 88
+XFontStruct.descent 92
+XFontStruct 96
+XExtCodes.extension 0
+XExtCodes.major_opcode 4
+XExtCodes.first_event 8
+XExtCodes.first_error 12
+XExtCodes 16
+XFontSetExtents.max_ink_extent 0
+XFontSetExtents.max_logical_extent 8
+XFontSetExtents 16
+XSelectionEvent.type 0
+XSelectionEvent.serial 8
+XSelectionEvent.send_event 16
+XSelectionEvent.display 24
+XSelectionEvent.requestor 32
+XSelectionEvent.selection 40
+XSelectionEvent.target 48
+XSelectionEvent.property 56
+XSelectionEvent.time 64
+XSelectionEvent 72
+XArc.x 0
+XArc.y 2
+XArc.width 4
+XArc.height 6
+XArc.angle1 8
+XArc.angle2 10
+XArc 12
+XErrorEvent.type 0
+XErrorEvent.display 8
+XErrorEvent.resourceid 16
+XErrorEvent.serial 24
+XErrorEvent.error_code 32
+XErrorEvent.request_code 33
+XErrorEvent.minor_code 34
+XErrorEvent 40
+XConfigureRequestEvent.type 0
+XConfigureRequestEvent.serial 8
+XConfigureRequestEvent.send_event 16
+XConfigureRequestEvent.display 24
+XConfigureRequestEvent.parent 32
+XConfigureRequestEvent.window 40
+XConfigureRequestEvent.x 48
+XConfigureRequestEvent.y 52
+XConfigureRequestEvent.width 56
+XConfigureRequestEvent.height 60
+XConfigureRequestEvent.border_width 64
+XConfigureRequestEvent.above 72
+XConfigureRequestEvent.detail 80
+XConfigureRequestEvent.value_mask 88
+XConfigureRequestEvent 96
+ScreenFormat.ext_data 0
+ScreenFormat.depth 8
+ScreenFormat.bits_per_pixel 12
+ScreenFormat.scanline_pad 16
+ScreenFormat 24
+XButtonEvent.type 0
+XButtonEvent.serial 8
+XButtonEvent.send_event 16
+XButtonEvent.display 24
+XButtonEvent.window 32
+XButtonEvent.root 40
+XButtonEvent.subwindow 48
+XButtonEvent.time 56
+XButtonEvent.x 64
+XButtonEvent.y 68
+XButtonEvent.x_root 72
+XButtonEvent.y_root 76
+XButtonEvent.state 80
+XButtonEvent.button 84
+XButtonEvent.same_screen 88
+XButtonEvent 96
+XFontProp.name 0
+XFontProp.card32 8
+XFontProp 16
+XIMValuesList.count_values 0
+XIMValuesList.supported_values 8
+XIMValuesList 16
+XKeymapEvent.type 0
+XKeymapEvent.serial 8
+XKeymapEvent.send_event 16
+XKeymapEvent.display 24
+XKeymapEvent.window 32
+XKeymapEvent.key_vector 40
+XKeymapEvent 72
+XTextItem16.chars 0
+XTextItem16.nchars 8
+XTextItem16.delta 12
+XTextItem16.font 16
+XTextItem16 24
+XIMPreeditDrawCallbackStruct.caret 0
+XIMPreeditDrawCallbackStruct.chg_first 4
+XIMPreeditDrawCallbackStruct.chg_length 8
+XIMPreeditDrawCallbackStruct.text 16
+XIMPreeditDrawCallbackStruct 24
+XVisualInfo.visual 0
+XVisualInfo.visualid 8
+XVisualInfo.screen 16
+XVisualInfo.depth 20
+XVisualInfo.class 24
+XVisualInfo.red_mask 32
+XVisualInfo.green_mask 40
+XVisualInfo.blue_mask 48
+XVisualInfo.colormap_size 56
+XVisualInfo.bits_per_rgb 60
+XVisualInfo 64
+XkbControlsNotifyEvent.type 0
+XkbControlsNotifyEvent.serial 8
+XkbControlsNotifyEvent.send_event 16
+XkbControlsNotifyEvent.display 24
+XkbControlsNotifyEvent.time 32
+XkbControlsNotifyEvent.xkb_type 40
+XkbControlsNotifyEvent.device 44
+XkbControlsNotifyEvent.changed_ctrls 48
+XkbControlsNotifyEvent.enabled_ctrls 52
+XkbControlsNotifyEvent.enabled_ctrl_changes 56
+XkbControlsNotifyEvent.num_groups 60
+XkbControlsNotifyEvent.keycode 64
+XkbControlsNotifyEvent.event_type 65
+XkbControlsNotifyEvent.req_major 66
+XkbControlsNotifyEvent.req_minor 67
+XkbControlsNotifyEvent 72
+PropMwmHints.flags 0
+PropMwmHints.functions 8
+PropMwmHints.decorations 16
+PropMwmHints.inputMode 24
+PropMwmHints.status 32
+PropMwmHints 40
+XClientMessageEvent.type 0
+XClientMessageEvent.serial 8
+XClientMessageEvent.send_event 16
+XClientMessageEvent.display 24
+XClientMessageEvent.window 32
+XClientMessageEvent.message_type 40
+XClientMessageEvent.format 48
+XClientMessageEvent.data 56
+XClientMessageEvent 96
+XAnyEvent.type 0
+XAnyEvent.serial 8
+XAnyEvent.send_event 16
+XAnyEvent.display 24
+XAnyEvent.window 32
+XAnyEvent 40
+XkbIndicatorNotifyEvent.type 0
+XkbIndicatorNotifyEvent.serial 8
+XkbIndicatorNotifyEvent.send_event 16
+XkbIndicatorNotifyEvent.display 24
+XkbIndicatorNotifyEvent.time 32
+XkbIndicatorNotifyEvent.xkb_type 40
+XkbIndicatorNotifyEvent.device 44
+XkbIndicatorNotifyEvent.changed 48
+XkbIndicatorNotifyEvent.state 52
+XkbIndicatorNotifyEvent 56
+XIMPreeditStateNotifyCallbackStruct.state 0
+XIMPreeditStateNotifyCallbackStruct 8
+XkbAnyEvent.type 0
+XkbAnyEvent.serial 8
+XkbAnyEvent.send_event 16
+XkbAnyEvent.display 24
+XkbAnyEvent.time 32
+XkbAnyEvent.xkb_type 40
+XkbAnyEvent.device 44
+XkbAnyEvent 48
+XMotionEvent.type 0
+XMotionEvent.serial 8
+XMotionEvent.send_event 16
+XMotionEvent.display 24
+XMotionEvent.window 32
+XMotionEvent.root 40
+XMotionEvent.subwindow 48
+XMotionEvent.time 56
+XMotionEvent.x 64
+XMotionEvent.y 68
+XMotionEvent.x_root 72
+XMotionEvent.y_root 76
+XMotionEvent.state 80
+XMotionEvent.is_hint 84
+XMotionEvent.same_screen 88
+XMotionEvent 96
+XIMHotKeyTriggers.num_hot_key 0
+XIMHotKeyTriggers.key 8
+XIMHotKeyTriggers 16
+XIMStyles.count_styles 0
+XIMStyles.supported_styles 8
+XIMStyles 16
+XkbExtensionDeviceNotifyEvent.type 0
+XkbExtensionDeviceNotifyEvent.serial 8
+XkbExtensionDeviceNotifyEvent.send_event 16
+XkbExtensionDeviceNotifyEvent.display 24
+XkbExtensionDeviceNotifyEvent.time 32
+XkbExtensionDeviceNotifyEvent.xkb_type 40
+XkbExtensionDeviceNotifyEvent.device 44
+XkbExtensionDeviceNotifyEvent.reason 48
+XkbExtensionDeviceNotifyEvent.supported 52
+XkbExtensionDeviceNotifyEvent.unsupported 56
+XkbExtensionDeviceNotifyEvent.first_btn 60
+XkbExtensionDeviceNotifyEvent.num_btns 64
+XkbExtensionDeviceNotifyEvent.leds_defined 68
+XkbExtensionDeviceNotifyEvent.led_state 72
+XkbExtensionDeviceNotifyEvent.led_class 76
+XkbExtensionDeviceNotifyEvent.led_id 80
+XkbExtensionDeviceNotifyEvent 88
+XwcTextItem.chars 0
+XwcTextItem.nchars 8
+XwcTextItem.delta 12
+XwcTextItem.font_set 16
+XwcTextItem 24
+XClassHint.res_name 0
+XClassHint.res_class 8
+XClassHint 16
+XChar2b.byte1 0
+XChar2b.byte2 1
+XChar2b 2
+XSetWindowAttributes.background_pixmap 0
+XSetWindowAttributes.background_pixel 8
+XSetWindowAttributes.border_pixmap 16
+XSetWindowAttributes.border_pixel 24
+XSetWindowAttributes.bit_gravity 32
+XSetWindowAttributes.win_gravity 36
+XSetWindowAttributes.backing_store 40
+XSetWindowAttributes.backing_planes 48
+XSetWindowAttributes.backing_pixel 56
+XSetWindowAttributes.save_under 64
+XSetWindowAttributes.event_mask 72
+XSetWindowAttributes.do_not_propagate_mask 80
+XSetWindowAttributes.override_redirect 88
+XSetWindowAttributes.colormap 96
+XSetWindowAttributes.cursor 104
+XSetWindowAttributes 112
+XRenderPictFormat.id 0
+XRenderPictFormat.type 8
+XRenderPictFormat.depth 12
+XRenderPictFormat.direct 16
+XRenderPictFormat.colormap 32
+XRenderPictFormat 40
+XReparentEvent.type 0
+XReparentEvent.serial 8
+XReparentEvent.send_event 16
+XReparentEvent.display 24
+XReparentEvent.event 32
+XReparentEvent.window 40
+XReparentEvent.parent 48
+XReparentEvent.x 56
+XReparentEvent.y 60
+XReparentEvent.override_redirect 64
+XReparentEvent 72
+XCirculateRequestEvent.type 0
+XCirculateRequestEvent.serial 8
+XCirculateRequestEvent.send_event 16
+XCirculateRequestEvent.display 24
+XCirculateRequestEvent.parent 32
+XCirculateRequestEvent.window 40
+XCirculateRequestEvent.place 48
+XCirculateRequestEvent 56
+XImage.width 0
+XImage.height 4
+XImage.xoffset 8
+XImage.format 12
+XImage.data 16
+XImage.byte_order 24
+XImage.bitmap_unit 28
+XImage.bitmap_bit_order 32
+XImage.bitmap_pad 36
+XImage.depth 40
+XImage.bytes_per_line 44
+XImage.bits_per_pixel 48
+XImage.red_mask 56
+XImage.green_mask 64
+XImage.blue_mask 72
+XImage.obdata 80
+XImage.f.create_image 88
+XImage.f.destroy_image 96
+XImage.f.get_pixel 104
+XImage.f.put_pixel 112
+XImage.f.sub_image 120
+XImage.f.add_pixel 128
+XImage 136
+XKeyEvent.type 0
+XKeyEvent.serial 8
+XKeyEvent.send_event 16
+XKeyEvent.display 24
+XKeyEvent.window 32
+XKeyEvent.root 40
+XKeyEvent.subwindow 48
+XKeyEvent.time 56
+XKeyEvent.x 64
+XKeyEvent.y 68
+XKeyEvent.x_root 72
+XKeyEvent.y_root 76
+XKeyEvent.state 80
+XKeyEvent.keycode 84
+XKeyEvent.same_screen 88
+XKeyEvent 96
+XkbActionMessageEvent.type 0
+XkbActionMessageEvent.serial 8
+XkbActionMessageEvent.send_event 16
+XkbActionMessageEvent.display 24
+XkbActionMessageEvent.time 32
+XkbActionMessageEvent.xkb_type 40
+XkbActionMessageEvent.device 44
+XkbActionMessageEvent.keycode 48
+XkbActionMessageEvent.press 52
+XkbActionMessageEvent.key_event_follows 56
+XkbActionMessageEvent.group 60
+XkbActionMessageEvent.mods 64
+XkbActionMessageEvent.message 68
+XkbActionMessageEvent 80
+XdbeSwapInfo.swap_window 0
+XdbeSwapInfo.swap_action 8
+XdbeSwapInfo 16
+XTextItem.chars 0
+XTextItem.nchars 8
+XTextItem.delta 12
+XTextItem.font 16
+XTextItem 24
+XModifierKeymap.max_keypermod 0
+XModifierKeymap.modifiermap 8
+XModifierKeymap 16
+XCharStruct.lbearing 0
+XCharStruct.rbearing 2
+XCharStruct.width 4
+XCharStruct.ascent 6
+XCharStruct.descent 8
+XCharStruct.attributes 10
+XCharStruct 12
+XGravityEvent.type 0
+XGravityEvent.serial 8
+XGravityEvent.send_event 16
+XGravityEvent.display 24
+XGravityEvent.event 32
+XGravityEvent.window 40
+XGravityEvent.x 48
+XGravityEvent.y 52
+XGravityEvent 56
+Visual.ext_data 0
+Visual.visualid 8
+Visual.class 16
+Visual.red_mask 24
+Visual.green_mask 32
+Visual.blue_mask 40
+Visual.bits_per_rgb 48
+Visual.map_entries 52
+Visual 56
+XOMOrientation.num_orientation 0
+XOMOrientation.orientation 8
+XOMOrientation 16
+XkbAccessXNotifyEvent.type 0
+XkbAccessXNotifyEvent.serial 8
+XkbAccessXNotifyEvent.send_event 16
+XkbAccessXNotifyEvent.display 24
+XkbAccessXNotifyEvent.time 32
+XkbAccessXNotifyEvent.xkb_type 40
+XkbAccessXNotifyEvent.device 44
+XkbAccessXNotifyEvent.detail 48
+XkbAccessXNotifyEvent.keycode 52
+XkbAccessXNotifyEvent.sk_delay 56
+XkbAccessXNotifyEvent.debounce_delay 60
+XkbAccessXNotifyEvent 64
+XWindowAttributes.x 0
+XWindowAttributes.y 4
+XWindowAttributes.width 8
+XWindowAttributes.height 12
+XWindowAttributes.border_width 16
+XWindowAttributes.depth 20
+XWindowAttributes.visual 24
+XWindowAttributes.root 32
+XWindowAttributes.class 40
+XWindowAttributes.bit_gravity 44
+XWindowAttributes.win_gravity 48
+XWindowAttributes.backing_store 52
+XWindowAttributes.backing_planes 56
+XWindowAttributes.backing_pixel 64
+XWindowAttributes.save_under 72
+XWindowAttributes.colormap 80
+XWindowAttributes.map_installed 88
+XWindowAttributes.map_state 92
+XWindowAttributes.all_event_masks 96
+XWindowAttributes.your_event_mask 104
+XWindowAttributes.do_not_propagate_mask 112
+XWindowAttributes.override_redirect 120
+XWindowAttributes.screen 128
+XWindowAttributes 136
+XmbTextItem.chars 0
+XmbTextItem.nchars 8
+XmbTextItem.delta 12
+XmbTextItem.font_set 16
+XmbTextItem 24
+XMappingEvent.type 0
+XMappingEvent.serial 8
+XMappingEvent.send_event 16
+XMappingEvent.display 24
+XMappingEvent.window 32
+XMappingEvent.request 40
+XMappingEvent.first_keycode 44
+XMappingEvent.count 48
+XMappingEvent 56
+XSizeHints.flags 0
+XSizeHints.x 8
+XSizeHints.y 12
+XSizeHints.width 16
+XSizeHints.height 20
+XSizeHints.min_width 24
+XSizeHints.min_height 28
+XSizeHints.max_width 32
+XSizeHints.max_height 36
+XSizeHints.width_inc 40
+XSizeHints.height_inc 44
+XSizeHints.min_aspect.x 48
+XSizeHints.min_aspect.y 52
+XSizeHints.max_aspect.x 56
+XSizeHints.max_aspect.y 60
+XSizeHints.base_width 64
+XSizeHints.base_height 68
+XSizeHints.win_gravity 72
+XSizeHints 80
+XUnmapEvent.type 0
+XUnmapEvent.serial 8
+XUnmapEvent.send_event 16
+XUnmapEvent.display 24
+XUnmapEvent.event 32
+XUnmapEvent.window 40
+XUnmapEvent.from_configure 48
+XUnmapEvent 56
+awtImageData.Depth 0
+awtImageData.wsImageFormat 4
+awtImageData.clrdata 16
+awtImageData.convert 48
+awtImageData 560
+XkbStateNotifyEvent.type 0
+XkbStateNotifyEvent.serial 8
+XkbStateNotifyEvent.send_event 16
+XkbStateNotifyEvent.display 24
+XkbStateNotifyEvent.time 32
+XkbStateNotifyEvent.xkb_type 40
+XkbStateNotifyEvent.device 44
+XkbStateNotifyEvent.changed 48
+XkbStateNotifyEvent.group 52
+XkbStateNotifyEvent.base_group 56
+XkbStateNotifyEvent.latched_group 60
+XkbStateNotifyEvent.locked_group 64
+XkbStateNotifyEvent.mods 68
+XkbStateNotifyEvent.base_mods 72
+XkbStateNotifyEvent.latched_mods 76
+XkbStateNotifyEvent.locked_mods 80
+XkbStateNotifyEvent.compat_state 84
+XkbStateNotifyEvent.grab_mods 88
+XkbStateNotifyEvent.compat_grab_mods 89
+XkbStateNotifyEvent.lookup_mods 90
+XkbStateNotifyEvent.compat_lookup_mods 91
+XkbStateNotifyEvent.ptr_buttons 92
+XkbStateNotifyEvent.keycode 96
+XkbStateNotifyEvent.event_type 97
+XkbStateNotifyEvent.req_major 98
+XkbStateNotifyEvent.req_minor 99
+XkbStateNotifyEvent 104
+XExposeEvent.type 0
+XExposeEvent.serial 8
+XExposeEvent.send_event 16
+XExposeEvent.display 24
+XExposeEvent.window 32
+XExposeEvent.x 40
+XExposeEvent.y 44
+XExposeEvent.width 48
+XExposeEvent.height 52
+XExposeEvent.count 56
+XExposeEvent 64
+XkbMapNotifyEvent.type 0
+XkbMapNotifyEvent.serial 8
+XkbMapNotifyEvent.send_event 16
+XkbMapNotifyEvent.display 24
+XkbMapNotifyEvent.time 32
+XkbMapNotifyEvent.xkb_type 40
+XkbMapNotifyEvent.device 44
+XkbMapNotifyEvent.changed 48
+XkbMapNotifyEvent.flags 52
+XkbMapNotifyEvent.first_type 56
+XkbMapNotifyEvent.num_types 60
+XkbMapNotifyEvent.min_key_code 64
+XkbMapNotifyEvent.max_key_code 65
+XkbMapNotifyEvent.first_key_sym 66
+XkbMapNotifyEvent.first_key_act 67
+XkbMapNotifyEvent.first_key_behavior 68
+XkbMapNotifyEvent.first_key_explicit 69
+XkbMapNotifyEvent.first_modmap_key 70
+XkbMapNotifyEvent.first_vmodmap_key 71
+XkbMapNotifyEvent.num_key_syms 72
+XkbMapNotifyEvent.num_key_acts 76
+XkbMapNotifyEvent.num_key_behaviors 80
+XkbMapNotifyEvent.num_key_explicit 84
+XkbMapNotifyEvent.num_modmap_keys 88
+XkbMapNotifyEvent.num_vmodmap_keys 92
+XkbMapNotifyEvent.vmods 96
+XkbMapNotifyEvent 104
+XGCValues.function 0
+XGCValues.plane_mask 8
+XGCValues.foreground 16
+XGCValues.background 24
+XGCValues.line_width 32
+XGCValues.line_style 36
+XGCValues.cap_style 40
+XGCValues.join_style 44
+XGCValues.fill_style 48
+XGCValues.fill_rule 52
+XGCValues.arc_mode 56
+XGCValues.tile 64
+XGCValues.stipple 72
+XGCValues.ts_x_origin 80
+XGCValues.ts_y_origin 84
+XGCValues.font 88
+XGCValues.subwindow_mode 96
+XGCValues.graphics_exposures 100
+XGCValues.clip_x_origin 104
+XGCValues.clip_y_origin 108
+XGCValues.clip_mask 112
+XGCValues.dash_offset 120
+XGCValues.dashes 124
+XGCValues 128
+XFocusChangeEvent.type 0
+XFocusChangeEvent.serial 8
+XFocusChangeEvent.send_event 16
+XFocusChangeEvent.display 24
+XFocusChangeEvent.window 32
+XFocusChangeEvent.mode 40
+XFocusChangeEvent.detail 44
+XFocusChangeEvent 48
+XPixmapFormatValues.depth 0
+XPixmapFormatValues.bits_per_pixel 4
+XPixmapFormatValues.scanline_pad 8
+XPixmapFormatValues 12
+XMapEvent.type 0
+XMapEvent.serial 8
+XMapEvent.send_event 16
+XMapEvent.display 24
+XMapEvent.event 32
+XMapEvent.window 40
+XMapEvent.override_redirect 48
+XMapEvent 56
+XkbBellNotifyEvent.type 0
+XkbBellNotifyEvent.serial 8
+XkbBellNotifyEvent.send_event 16
+XkbBellNotifyEvent.display 24
+XkbBellNotifyEvent.time 32
+XkbBellNotifyEvent.xkb_type 40
+XkbBellNotifyEvent.device 44
+XkbBellNotifyEvent.percent 48
+XkbBellNotifyEvent.pitch 52
+XkbBellNotifyEvent.duration 56
+XkbBellNotifyEvent.bell_class 60
+XkbBellNotifyEvent.bell_id 64
+XkbBellNotifyEvent.name 72
+XkbBellNotifyEvent.window 80
+XkbBellNotifyEvent.event_only 88
+XkbBellNotifyEvent 96
+XIMStringConversionText.length 0
+XIMStringConversionText.feedback 8
+XIMStringConversionText.encoding_is_wchar 16
+XIMStringConversionText.string 24
+XIMStringConversionText 32
+XKeyboardState.key_click_percent 0
+XKeyboardState.bell_percent 4
+XKeyboardState.bell_pitch 8
+XKeyboardState.bell_duration 12
+XKeyboardState.led_mask 16
+XKeyboardState.global_auto_repeat 24
+XKeyboardState.auto_repeats 28
+XKeyboardState 64
+XkbEvent.type 0
+XkbEvent.any 0
+XkbEvent.new_kbd 0
+XkbEvent.map 0
+XkbEvent.state 0
+XkbEvent.ctrls 0
+XkbEvent.indicators 0
+XkbEvent.names 0
+XkbEvent.compat 0
+XkbEvent.bell 0
+XkbEvent.message 0
+XkbEvent.accessx 0
+XkbEvent.device 0
+XkbEvent.core 0
+XkbEvent 192
+XPoint.x 0
+XPoint.y 2
+XPoint 4
+XSegment.x1 0
+XSegment.y1 2
+XSegment.x2 4
+XSegment.y2 6
+XSegment 8
+XIconSize.min_width 0
+XIconSize.min_height 4
+XIconSize.max_width 8
+XIconSize.max_height 12
+XIconSize.width_inc 16
+XIconSize.height_inc 20
+XIconSize 24
+XIMCallback.client_data 0
+XIMCallback.callback 8
+XIMCallback 16
+XConfigureEvent.type 0
+XConfigureEvent.serial 8
+XConfigureEvent.send_event 16
+XConfigureEvent.display 24
+XConfigureEvent.event 32
+XConfigureEvent.window 40
+XConfigureEvent.x 48
+XConfigureEvent.y 52
+XConfigureEvent.width 56
+XConfigureEvent.height 60
+XConfigureEvent.border_width 64
+XConfigureEvent.above 72
+XConfigureEvent.override_redirect 80
+XConfigureEvent 88
+XRectangle.x 0
+XRectangle.y 2
+XRectangle.width 4
+XRectangle.height 6
+XRectangle 8
+XkbNamesNotifyEvent.type 0
+XkbNamesNotifyEvent.serial 8
+XkbNamesNotifyEvent.send_event 16
+XkbNamesNotifyEvent.display 24
+XkbNamesNotifyEvent.time 32
+XkbNamesNotifyEvent.xkb_type 40
+XkbNamesNotifyEvent.device 44
+XkbNamesNotifyEvent.changed 48
+XkbNamesNotifyEvent.first_type 52
+XkbNamesNotifyEvent.num_types 56
+XkbNamesNotifyEvent.first_lvl 60
+XkbNamesNotifyEvent.num_lvls 64
+XkbNamesNotifyEvent.num_aliases 68
+XkbNamesNotifyEvent.num_radio_groups 72
+XkbNamesNotifyEvent.changed_vmods 76
+XkbNamesNotifyEvent.changed_groups 80
+XkbNamesNotifyEvent.changed_indicators 84
+XkbNamesNotifyEvent.first_key 88
+XkbNamesNotifyEvent.num_keys 92
+XkbNamesNotifyEvent 96
+XCreateWindowEvent.type 0
+XCreateWindowEvent.serial 8
+XCreateWindowEvent.send_event 16
+XCreateWindowEvent.display 24
+XCreateWindowEvent.parent 32
+XCreateWindowEvent.window 40
+XCreateWindowEvent.x 48
+XCreateWindowEvent.y 52
+XCreateWindowEvent.width 56
+XCreateWindowEvent.height 60
+XCreateWindowEvent.border_width 64
+XCreateWindowEvent.override_redirect 68
+XCreateWindowEvent 72
+XVisibilityEvent.type 0
+XVisibilityEvent.serial 8
+XVisibilityEvent.send_event 16
+XVisibilityEvent.display 24
+XVisibilityEvent.window 32
+XVisibilityEvent.state 40
+XVisibilityEvent 48
+XWMHints.flags 0
+XWMHints.initial_state 12
+XWMHints.icon_pixmap 16
+XWMHints.icon_window 24
+XWMHints.icon_x 32
+XWMHints.icon_y 36
+XWMHints.icon_mask 40
+XWMHints.input 8
+XWMHints.window_group 48
+XWMHints 56
+XCrossingEvent.type 0
+XCrossingEvent.serial 8
+XCrossingEvent.send_event 16
+XCrossingEvent.display 24
+XCrossingEvent.window 32
+XCrossingEvent.root 40
+XCrossingEvent.subwindow 48
+XCrossingEvent.time 56
+XCrossingEvent.x 64
+XCrossingEvent.y 68
+XCrossingEvent.x_root 72
+XCrossingEvent.y_root 76
+XCrossingEvent.mode 80
+XCrossingEvent.detail 84
+XCrossingEvent.same_screen 88
+XCrossingEvent.focus 92
+XCrossingEvent.state 96
+XCrossingEvent 104
+XSelectionRequestEvent.type 0
+XSelectionRequestEvent.serial 8
+XSelectionRequestEvent.send_event 16
+XSelectionRequestEvent.display 24
+XSelectionRequestEvent.owner 32
+XSelectionRequestEvent.requestor 40
+XSelectionRequestEvent.selection 48
+XSelectionRequestEvent.target 56
+XSelectionRequestEvent.property 64
+XSelectionRequestEvent.time 72
+XSelectionRequestEvent 80
+XNoExposeEvent.type 0
+XNoExposeEvent.serial 8
+XNoExposeEvent.send_event 16
+XNoExposeEvent.display 24
+XNoExposeEvent.drawable 32
+XNoExposeEvent.major_code 40
+XNoExposeEvent.minor_code 44
+XNoExposeEvent 48
+XHostAddress.family 0
+XHostAddress.length 4
+XHostAddress.address 8
+XHostAddress 16
+XColormapEvent.type 0
+XColormapEvent.serial 8
+XColormapEvent.send_event 16
+XColormapEvent.display 24
+XColormapEvent.window 32
+XColormapEvent.colormap 40
+XColormapEvent.new 48
+XColormapEvent.state 52
+XColormapEvent 56
+ColorEntry.r 0
+ColorEntry.g 1
+ColorEntry.b 2
+ColorEntry.flags 3
+ColorEntry 4
+XResizeRequestEvent.type 0
+XResizeRequestEvent.serial 8
+XResizeRequestEvent.send_event 16
+XResizeRequestEvent.display 24
+XResizeRequestEvent.window 32
+XResizeRequestEvent.width 40
+XResizeRequestEvent.height 44
+XResizeRequestEvent 48
+Depth.depth 0
+Depth.nvisuals 4
+Depth.visuals 8
+Depth 16
+XPropertyEvent.type 0
+XPropertyEvent.serial 8
+XPropertyEvent.send_event 16
+XPropertyEvent.display 24
+XPropertyEvent.window 32
+XPropertyEvent.atom 40
+XPropertyEvent.time 48
+XPropertyEvent.state 56
+XPropertyEvent 64
+XDestroyWindowEvent.type 0
+XDestroyWindowEvent.serial 8
+XDestroyWindowEvent.send_event 16
+XDestroyWindowEvent.display 24
+XDestroyWindowEvent.event 32
+XDestroyWindowEvent.window 40
+XDestroyWindowEvent 48
+XStandardColormap.colormap 0
+XStandardColormap.red_max 8
+XStandardColormap.red_mult 16
+XStandardColormap.green_max 24
+XStandardColormap.green_mult 32
+XStandardColormap.blue_max 40
+XStandardColormap.blue_mult 48
+XStandardColormap.base_pixel 56
+XStandardColormap.visualid 64
+XStandardColormap.killid 72
+XStandardColormap 80
+XComposeStatus.compose_ptr 0
+XComposeStatus.chars_matched 8
+XComposeStatus 16
+AwtGraphicsConfigData.awt_depth 0
+AwtGraphicsConfigData.awt_cmap 8
+AwtGraphicsConfigData.awt_visInfo 16
+AwtGraphicsConfigData.awt_num_colors 80
+AwtGraphicsConfigData.awtImage 88
+AwtGraphicsConfigData.AwtColorMatch 96
+AwtGraphicsConfigData.monoImage 104
+AwtGraphicsConfigData.monoPixmap 112
+AwtGraphicsConfigData.monoPixmapWidth 120
+AwtGraphicsConfigData.monoPixmapHeight 124
+AwtGraphicsConfigData.monoPixmapGC 128
+AwtGraphicsConfigData.pixelStride 136
+AwtGraphicsConfigData.color_data 144
+AwtGraphicsConfigData.glxInfo 152
+AwtGraphicsConfigData.isTranslucencySupported 160
+AwtGraphicsConfigData.renderPictFormat 168
+AwtGraphicsConfigData 208
+XColor.pixel 0
+XColor.red 8
+XColor.green 10
+XColor.blue 12
+XColor.flags 14
+XColor.pad 15
+XColor 16
+XTextProperty.value 0
+XTextProperty.encoding 8
+XTextProperty.format 16
+XTextProperty.nitems 24
+XTextProperty 32
--- a/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java Fri Jan 18 19:13:41 2013 +0100
@@ -28,6 +28,8 @@
package sun.nio.ch;
+import java.lang.annotation.Native;
+
/**
* Manipulates a native array of structs corresponding to (fd, events) pairs.
*
@@ -46,19 +48,19 @@
long pollArrayAddress; // pollArrayAddress
- private static final short FD_OFFSET = 0; // fd offset in pollfd
- private static final short EVENT_OFFSET = 4; // events offset in pollfd
+ @Native private static final short FD_OFFSET = 0; // fd offset in pollfd
+ @Native private static final short EVENT_OFFSET = 4; // events offset in pollfd
static short SIZE_POLLFD = 8; // sizeof pollfd struct
// events masks
- static final short POLLIN = AbstractPollArrayWrapper.POLLIN;
- static final short POLLOUT = AbstractPollArrayWrapper.POLLOUT;
- static final short POLLERR = AbstractPollArrayWrapper.POLLERR;
- static final short POLLHUP = AbstractPollArrayWrapper.POLLHUP;
- static final short POLLNVAL = AbstractPollArrayWrapper.POLLNVAL;
- static final short POLLREMOVE = AbstractPollArrayWrapper.POLLREMOVE;
- static final short POLLCONN = 0x0002;
+ @Native static final short POLLIN = AbstractPollArrayWrapper.POLLIN;
+ @Native static final short POLLOUT = AbstractPollArrayWrapper.POLLOUT;
+ @Native static final short POLLERR = AbstractPollArrayWrapper.POLLERR;
+ @Native static final short POLLHUP = AbstractPollArrayWrapper.POLLHUP;
+ @Native static final short POLLNVAL = AbstractPollArrayWrapper.POLLNVAL;
+ @Native static final short POLLREMOVE = AbstractPollArrayWrapper.POLLREMOVE;
+ @Native static final short POLLCONN = 0x0002;
private int size; // Size of the pollArray
--- a/jdk/test/sun/text/resources/LocaleData Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/test/sun/text/resources/LocaleData Fri Jan 18 19:13:41 2013 +0100
@@ -7660,3 +7660,6 @@
# bug 7195759
CurrencyNames//ZMW=ZMW
+
+# bug 7114053
+LocaleNames/sq/sq=shqip
--- a/jdk/test/sun/text/resources/LocaleDataTest.java Fri Jan 18 14:15:51 2013 +0100
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java Fri Jan 18 19:13:41 2013 +0100
@@ -34,7 +34,7 @@
* 6509039 6609737 6610748 6645271 6507067 6873931 6450945 6645268 6646611
* 6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
* 6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
- * 7003124 7085757 7028073 7171028 7189611 8000983 7195759
+ * 7003124 7085757 7028073 7171028 7189611 8000983 7195759 7114053
* @summary Verify locale data
*
*/
--- a/langtools/.hgtags Fri Jan 18 14:15:51 2013 +0100
+++ b/langtools/.hgtags Fri Jan 18 19:13:41 2013 +0100
@@ -194,3 +194,4 @@
47f71d7c124f24c2fe2dfc49865b332345b458ed jdk8-b70
467e4d9281bcf119eaec42af1423c96bd401871c jdk8-b71
6f0986ed9b7e11d6eb06618f27e20b18f19fb797 jdk8-b72
+8d0baee36c7184d55c80354b45704c37d6b7ac79 jdk8-b73
--- a/make/install-rules.gmk Fri Jan 18 14:15:51 2013 +0100
+++ b/make/install-rules.gmk Fri Jan 18 19:13:41 2013 +0100
@@ -96,6 +96,9 @@
combo_build:
@$(ECHO) $@ installer combo build started: `$(DATE) '+%y-%m-%d %H:%M'`
$(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/wrapper/wrapper.jreboth ; $(MAKE) all
+ $(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/wrapper/wrapper.new64jre ; $(MAKE) all
+ $(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/ishield/jre ; $(MAKE) au_combo
+ $(CD) $(INSTALL_TOPDIR)/make/installer/bundles/windows/xmlinffile ; $(MAKE) all
install-clobber:
ifeq ($(BUILD_INSTALL), true)
--- a/make/jprt.properties Fri Jan 18 14:15:51 2013 +0100
+++ b/make/jprt.properties Fri Jan 18 19:13:41 2013 +0100
@@ -28,6 +28,9 @@
# Locked down to jdk8
jprt.tools.default.release=jdk8
+# Unix toolkit to use for building on windows
+jprt.windows.jdk8.build.unix.toolkit=cygwin
+
# The different build flavors we want, we override here so we just get these 2
jprt.build.flavors=product,fastdebug