7197849: Update new build-infra makefiles

Tue, 18 Sep 2012 11:29:16 -0700

author
ohair
date
Tue, 18 Sep 2012 11:29:16 -0700
changeset 478
2ba6f4da4bf3
parent 476
76844579fa4b
child 479
522dfac8ca4d

7197849: Update new build-infra makefiles
Reviewed-by: ihse, erikj, ohrstrom, tbell

.hgignore file | annotate | diff | comparison | revisions
Makefile file | annotate | diff | comparison | revisions
NewMakefile.gmk file | annotate | diff | comparison | revisions
common/autoconf/autogen.sh file | annotate | diff | comparison | revisions
common/autoconf/basics.m4 file | annotate | diff | comparison | revisions
common/autoconf/boot-jdk.m4 file | annotate | diff | comparison | revisions
common/autoconf/bootcycle-spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/build-aux/config.guess file | annotate | diff | comparison | revisions
common/autoconf/build-performance.m4 file | annotate | diff | comparison | revisions
common/autoconf/builddeps.conf.example file | annotate | diff | comparison | revisions
common/autoconf/builddeps.m4 file | annotate | diff | comparison | revisions
common/autoconf/compare.sh.in file | annotate | diff | comparison | revisions
common/autoconf/configure file | annotate | diff | comparison | revisions
common/autoconf/configure.ac file | annotate | diff | comparison | revisions
common/autoconf/generated-configure.sh file | annotate | diff | comparison | revisions
common/autoconf/hotspot-spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/jdk-options.m4 file | annotate | diff | comparison | revisions
common/autoconf/libraries.m4 file | annotate | diff | comparison | revisions
common/autoconf/platform.m4 file | annotate | diff | comparison | revisions
common/autoconf/source-dirs.m4 file | annotate | diff | comparison | revisions
common/autoconf/spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/spec.sh.in file | annotate | diff | comparison | revisions
common/autoconf/toolchain.m4 file | annotate | diff | comparison | revisions
common/bin/boot_cycle.sh file | annotate | diff | comparison | revisions
common/bin/compare-objects.sh file | annotate | diff | comparison | revisions
common/bin/test_builds.sh file | annotate | diff | comparison | revisions
common/bin/unicode2x.sed file | annotate | diff | comparison | revisions
common/makefiles/HotspotWrapper.gmk file | annotate | diff | comparison | revisions
common/makefiles/JavaCompilation.gmk file | annotate | diff | comparison | revisions
common/makefiles/MakeBase.gmk file | annotate | diff | comparison | revisions
common/makefiles/MakeHelpers.gmk file | annotate | diff | comparison | revisions
common/makefiles/Makefile file | annotate | diff | comparison | revisions
common/makefiles/NativeCompilation.gmk file | annotate | diff | comparison | revisions
common/makefiles/javadoc/CORE_PKGS.gmk file | annotate | diff | comparison | revisions
common/makefiles/javadoc/Javadoc.gmk file | annotate | diff | comparison | revisions
common/makefiles/javadoc/NON_CORE_PKGS.gmk file | annotate | diff | comparison | revisions
common/makefiles/javadoc/Notes.html file | annotate | diff | comparison | revisions
     1.1 --- a/.hgignore	Thu Sep 06 17:27:20 2012 -0700
     1.2 +++ b/.hgignore	Tue Sep 18 11:29:16 2012 -0700
     1.3 @@ -1,6 +1,7 @@
     1.4  ^build/
     1.5  ^dist/
     1.6 -/nbproject/private/
     1.7 +nbproject/private/
     1.8  ^webrev
     1.9  ^.hgtip
    1.10 +^.bridge2
    1.11  .DS_Store
     2.1 --- a/Makefile	Thu Sep 06 17:27:20 2012 -0700
     2.2 +++ b/Makefile	Tue Sep 18 11:29:16 2012 -0700
     2.3 @@ -1,5 +1,5 @@
     2.4  #
     2.5 -# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
     2.6 +# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
     2.7  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     2.8  #
     2.9  # This code is free software; you can redistribute it and/or modify it
    2.10 @@ -23,6 +23,16 @@
    2.11  # questions.
    2.12  #
    2.13  
    2.14 +# If NEWBUILD is defined, use the new build-infra Makefiles and configure.
    2.15 +#     See NewMakefile.gmk for more information.
    2.16 +
    2.17 +ifeq ($(NEWBUILD),true)
    2.18 +
    2.19 +  # The new top level Makefile
    2.20 +  include NewMakefile.gmk
    2.21 +
    2.22 +else # Original Makefile logic
    2.23 +
    2.24  BUILD_PARENT_DIRECTORY=.
    2.25  
    2.26  # Basename of any originally supplied ALT_OUTPUTDIR directory
    2.27 @@ -557,3 +567,5 @@
    2.28  # Force target
    2.29  FRC:
    2.30  
    2.31 +endif # Original Makefile logic
    2.32 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/NewMakefile.gmk	Tue Sep 18 11:29:16 2012 -0700
     3.3 @@ -0,0 +1,211 @@
     3.4 +#
     3.5 +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     3.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.7 +#
     3.8 +# This code is free software; you can redistribute it and/or modify it
     3.9 +# under the terms of the GNU General Public License version 2 only, as
    3.10 +# published by the Free Software Foundation.  Oracle designates this
    3.11 +# particular file as subject to the "Classpath" exception as provided
    3.12 +# by Oracle in the LICENSE file that accompanied this code.
    3.13 +#
    3.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
    3.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    3.16 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    3.17 +# version 2 for more details (a copy is included in the LICENSE file that
    3.18 +# accompanied this code).
    3.19 +#
    3.20 +# You should have received a copy of the GNU General Public License version
    3.21 +# 2 along with this work; if not, write to the Free Software Foundation,
    3.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    3.23 +#
    3.24 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    3.25 +# or visit www.oracle.com if you need additional information or have any
    3.26 +# questions.
    3.27 +#
    3.28 +
    3.29 +# Utilities used in this Makefile
    3.30 +BASENAME=basename
    3.31 +CAT=cat
    3.32 +CD=cd
    3.33 +CMP=cmp
    3.34 +CP=cp
    3.35 +ECHO=echo
    3.36 +MKDIR=mkdir
    3.37 +PWD=pwd
    3.38 +SH=sh
    3.39 +ifeq ($(PLATFORM),windows)
    3.40 +  ZIP=zip
    3.41 +else
    3.42 +  # store symbolic links as the link
    3.43 +  ZIP=zip -y
    3.44 +endif
    3.45 +# Insure we have a path that looks like it came from pwd
    3.46 +#   (This is mostly for Windows sake and drive letters)
    3.47 +define UnixPath # path
    3.48 +$(shell (cd "$1" && $(PWD)))
    3.49 +endef
    3.50 +
    3.51 +# Current root directory
    3.52 +CURRENT_DIRECTORY := $(shell $(PWD))
    3.53 +
    3.54 +# Build directory root
    3.55 +BUILD_DIR_ROOT = $(CURRENT_DIRECTORY)/build
    3.56 +
    3.57 +# All configured Makefiles to run
    3.58 +ALL_MAKEFILES = $(wildcard $(BUILD_DIR_ROOT)/*-*/Makefile)
    3.59 +
    3.60 +# All bundles to create
    3.61 +ALL_IMAGE_DIRS = $(wildcard $(BUILD_DIR_ROOT)/*-*/images/*-image)
    3.62 +
    3.63 +# Build all the standard 'all', 'images', and 'clean' targets
    3.64 +all images clean: checks
    3.65 +	@if [ "$(ALL_MAKEFILES)" = "" ] ; then \
    3.66 +	  $(ECHO) "ERROR: No configurations to build"; exit 1; \
    3.67 +	fi
    3.68 +	@for bdir in $(dir $(ALL_MAKEFILES)) ; do \
    3.69 +	  $(ECHO) "$(CD) $${bdir} && $(MAKE) $(EXTRA_MAKE_ARGS) $@" ; \
    3.70 +	  $(CD) $${bdir} && $(MAKE) $(EXTRA_MAKE_ARGS) $@ ; \
    3.71 +	done
    3.72 +
    3.73 +# Bundle creation
    3.74 +bundles:
    3.75 +	@if [ "$(ALL_IMAGE_DIRS)" = "" ] ; then \
    3.76 +	  $(ECHO) "ERROR: No images to bundle"; exit 1; \
    3.77 +	fi
    3.78 +	@for i in $(ALL_IMAGE_DIRS) ; do \
    3.79 +          $(MKDIR) -p $${i}/../../bundles && \
    3.80 +          $(RM) $${i}/../../bundles/`$(BASENAME) $${i}`.zip && \
    3.81 +	  $(ECHO) "$(CD) $${i} && $(ZIP) -q -r ../../bundles/`$(BASENAME) $${i}`.zip ."  && \
    3.82 +	  $(CD) $${i} && $(ZIP) -q -r ../../bundles/`$(BASENAME) $${i}`.zip . ; \
    3.83 +	done
    3.84 +
    3.85 +# Clobber all the built files
    3.86 +clobber::
    3.87 +	$(RM) -r $(BUILD_DIR_ROOT)
    3.88 +
    3.89 +# Make various checks to insure the build will be successful
    3.90 +#   Possibilities:
    3.91 +#     * Check that if any closed repo is provided, they all must be.
    3.92 +#     * Check that all open repos exist, at least until we are ready for some
    3.93 +#       kind of partial build.
    3.94 +checks:
    3.95 +	@$(ECHO) "No checks yet"
    3.96 +
    3.97 +# Keep track of phony targets
    3.98 +PHONY_LIST += all images clean clobber checks
    3.99 +
   3.100 +###########################################################################
   3.101 +# To help in adoption of the new configure&&make build process, a bridge
   3.102 +#   build will use the old settings to run configure and do the build.
   3.103 +
   3.104 +# Build with the configure bridge
   3.105 +bridgeBuild: bridge2configure images
   3.106 +
   3.107 +# Bridge from old Makefile ALT settings to configure options
   3.108 +bridge2configure: .bridge2configureOpts
   3.109 +	$(CD) common/makefiles && sh ../autoconf/configure $(strip $(shell $(CAT) $<))
   3.110 +
   3.111 +# Create a file with configure options created from old Makefile mechanisms.
   3.112 +.bridge2configureOpts: .bridge2configureOptsLatest
   3.113 +	$(RM) $@
   3.114 +	$(CP) $< $@
   3.115 +
   3.116 +# In case make was invoked from a specific path
   3.117 +_MAKE_COMMAND_PATH:=$(firstword $(MAKE))
   3.118 +ifneq ($(dir $(_MAKE_COMMAND_PATH)),./)
   3.119 +  # This could be removed someday if JPRT was fixed and we could assume that
   3.120 +  #    the path to make was always in PATH.
   3.121 +  MAKE_BINDIR:=$(call UnixPath,$(dir $(_MAKE_COMMAND_PATH)))
   3.122 +  NEWPATH:=$(MAKE_BINDIR):${PATH}
   3.123 +  PATH:=$(NEWPATH)
   3.124 +  export PATH
   3.125 +  MAKE_COMMAND=$(MAKE_BINDIR)/$(notdir $(_MAKE_COMMAND_PATH))
   3.126 +else
   3.127 +  MAKE_COMMAND=$(_MAKE_COMMAND_PATH)
   3.128 +endif
   3.129 +
   3.130 +# Use this file to only change when obvious things have changed
   3.131 +.bridge2configureOptsLatest: FRC
   3.132 +	$(RM) $@.tmp
   3.133 +	@$(ECHO) " MAKE=$(MAKE_COMMAND) " >> $@.tmp
   3.134 +	@$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
   3.135 +ifdef ARCH_DATA_MODEL
   3.136 +	@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
   3.137 +endif
   3.138 +ifdef ALT_PARALLEL_COMPILE_JOBS
   3.139 +	@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
   3.140 +endif
   3.141 +ifdef ALT_BOOTDIR
   3.142 +	@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
   3.143 +endif
   3.144 +ifdef ALT_CUPS_HEADERS_PATH
   3.145 +	@$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
   3.146 +endif
   3.147 +ifdef ALT_FREETYPE_HEADERS_PATH
   3.148 +	@$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
   3.149 +endif
   3.150 +	@if [ -f $@ ] ; then \
   3.151 +          if ! $(CMP) $@ $@.tmp > /dev/null ; then \
   3.152 +            $(CP) $@.tmp $@ ; \
   3.153 +          fi ; \
   3.154 +        else \
   3.155 +          $(CP) $@.tmp $@ ; \
   3.156 +        fi
   3.157 +	$(RM) $@.tmp
   3.158 +
   3.159 +# Clobber all the built files
   3.160 +clobber:: bridge2clobber
   3.161 +bridge2clobber::
   3.162 +	$(RM) .bridge2*
   3.163 +
   3.164 +# Keep track of phony targets
   3.165 +PHONY_LIST += bridge2configure bridgeBuild bridge2clobber
   3.166 +
   3.167 +###########################################################################
   3.168 +# Javadocs
   3.169 +#
   3.170 +
   3.171 +javadocs:
   3.172 +	cd common/makefiles && $(MAKE) -f MakefileJavadoc.gmk
   3.173 +
   3.174 +# Keep track of phony targets
   3.175 +PHONY_LIST += javadocs
   3.176 +
   3.177 +###########################################################################
   3.178 +# JPRT targets
   3.179 +
   3.180 +ifndef JPRT_ARCHIVE_BUNDLE
   3.181 +  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
   3.182 +endif
   3.183 +
   3.184 +jprt_build_product: DEBUG_LEVEL=release
   3.185 +jprt_build_product: BUILD_DIRNAME=*-release
   3.186 +jprt_build_product: jprt_build_generic
   3.187 +
   3.188 +jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
   3.189 +jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
   3.190 +jprt_build_fastdebug: jprt_build_generic
   3.191 +
   3.192 +jprt_build_debug: DEBUG_LEVEL=slowdebug
   3.193 +jprt_build_debug: BUILD_DIRNAME=*-debug
   3.194 +jprt_build_debug: jprt_build_generic
   3.195 +
   3.196 +jprt_build_generic: EXTRA_MAKE_ARGS=LOG=nofile,info
   3.197 +jprt_build_generic: $(JPRT_ARCHIVE_BUNDLE)
   3.198 +
   3.199 +$(JPRT_ARCHIVE_BUNDLE): bridgeBuild bundles
   3.200 +	$(MKDIR) -p $(@D)
   3.201 +	$(RM) $@
   3.202 +	$(CP) $(BUILD_DIR_ROOT)/$(BUILD_DIRNAME)/bundles/j2sdk-image.zip $@
   3.203 +
   3.204 +# Keep track of phony targets
   3.205 +PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
   3.206 +              jprt_build_generic
   3.207 +
   3.208 +###########################################################################
   3.209 +# Phony targets
   3.210 +.PHONY: $(PHONY_LIST)
   3.211 +
   3.212 +# Force target
   3.213 +FRC:
   3.214 +
     4.1 --- a/common/autoconf/autogen.sh	Thu Sep 06 17:27:20 2012 -0700
     4.2 +++ b/common/autoconf/autogen.sh	Tue Sep 18 11:29:16 2012 -0700
     4.3 @@ -23,18 +23,38 @@
     4.4  #
     4.5  
     4.6  script_dir=`dirname $0`
     4.7 -closed_script_dir="$script_dir/../../jdk/make/closed/autoconf"
     4.8  
     4.9  # Create a timestamp as seconds since epoch
    4.10 -TIMESTAMP=`date +%s`
    4.11 +if test "x`uname -s`" = "xSunOS"; then
    4.12 +  # date +%s is not available on Solaris, use this workaround
    4.13 +  # from http://solarisjedi.blogspot.co.uk/2006/06/solaris-date-command-and-epoch-time.html
    4.14 +  TIMESTAMP=`/usr/bin/truss /usr/bin/date 2>&1 |  nawk -F= '/^time\(\)/ {gsub(/ /,"",$2);print $2}'`
    4.15 +  # On Solaris /bin/sh doesn't support test -e but /usr/bin/test does.
    4.16 +  TEST=`which test`
    4.17 +else
    4.18 +  TIMESTAMP=`date +%s`
    4.19 +  TEST="test"
    4.20 +fi
    4.21  
    4.22 +if $TEST "$CUSTOM_CONFIG_DIR" = ""; then
    4.23 +  custom_script_dir="$script_dir/../../jdk/make/closed/autoconf"
    4.24 +else
    4.25 +  custom_script_dir=$CUSTOM_CONFIG_DIR
    4.26 +fi
    4.27 +
    4.28 +custom_hook=$custom_script_dir/custom-hook.m4
    4.29 +
    4.30 +echo Generating generated-configure.sh
    4.31  cat $script_dir/configure.ac  | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | autoconf -W all -I$script_dir - > $script_dir/generated-configure.sh
    4.32  rm -rf autom4te.cache
    4.33  
    4.34 -if test -e $closed_script_dir/closed-hook.m4; then
    4.35 -  # We have closed sources available; also generate configure script
    4.36 -  # with closed hooks compiled in.
    4.37 +if $TEST -e $custom_hook; then
    4.38 +  echo Generating custom generated-configure.sh
    4.39 +  # We have custom sources available; also generate configure script
    4.40 +  # with custom hooks compiled in.
    4.41    cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
    4.42 -    sed -e "s|AC_DEFUN_ONCE(\[CLOSED_HOOK\])|m4_include([$closed_script_dir/closed-hook.m4])|" | autoconf -W all -I$script_dir - > $closed_script_dir/generated-configure.sh
    4.43 +    sed -e "s|AC_DEFUN_ONCE(\[CUSTOM_HOOK\])|m4_include([$custom_hook])|" | autoconf -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
    4.44    rm -rf autom4te.cache
    4.45 +else
    4.46 +  echo No custom hook found:  $custom_hook
    4.47  fi
     5.1 --- a/common/autoconf/basics.m4	Thu Sep 06 17:27:20 2012 -0700
     5.2 +++ b/common/autoconf/basics.m4	Tue Sep 18 11:29:16 2012 -0700
     5.3 @@ -34,7 +34,7 @@
     5.4      fi
     5.5  ])
     5.6  
     5.7 -AC_DEFUN([WHICHCMD],
     5.8 +AC_DEFUN([SET_FULL_PATH],
     5.9  [
    5.10      # Translate "gcc -E" into "`which gcc` -E" ie
    5.11      # extract the full path to the binary and at the
    5.12 @@ -46,7 +46,7 @@
    5.13      cdr="${tmp#* }"
    5.14      # On windows we want paths without spaces.
    5.15      if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
    5.16 -        WHICHCMD_SPACESAFE(car)
    5.17 +        SET_FULL_PATH_SPACESAFE(car)
    5.18      else
    5.19          # "which" is not portable, but is used here
    5.20          # because we know that the command exists!
    5.21 @@ -66,15 +66,19 @@
    5.22      HAS_SPACE=`echo "[$]$1" | grep " "`
    5.23      if test "x$HAS_SPACE" != x; then
    5.24          if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
    5.25 +            # First convert it to DOS-style, short mode (no spaces)
    5.26              $1=`$CYGPATH -s -m -a "[$]$1"`
    5.27 -            $1=`$CYGPATH -u "[$]$1"`            
    5.28 +            # Now it's case insensitive; let's make it lowercase to improve readability
    5.29 +            $1=`$ECHO "[$]$1" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'`
    5.30 +            # Now convert it back to Unix-stile (cygpath)
    5.31 +            $1=`$CYGPATH -u "[$]$1"`
    5.32          else
    5.33              AC_MSG_ERROR([You cannot have spaces in $2! "[$]$1"])
    5.34          fi
    5.35      fi
    5.36  ])
    5.37  
    5.38 -AC_DEFUN([WHICHCMD_SPACESAFE],
    5.39 +AC_DEFUN([SET_FULL_PATH_SPACESAFE],
    5.40  [
    5.41      # Translate long cygdrive or C:\sdfsf path
    5.42      # into a short mixed mode path that has no
    5.43 @@ -148,15 +152,16 @@
    5.44  AC_SUBST(CONFIGURE_COMMAND_LINE)
    5.45  DATE_WHEN_CONFIGURED=`LANG=C date`
    5.46  AC_SUBST(DATE_WHEN_CONFIGURED)
    5.47 +])
    5.48  
    5.49 +# Setup basic configuration paths, and platform-specific stuff related to PATHs.
    5.50 +AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
    5.51 +[
    5.52  # Locate the directory of this script.
    5.53  SCRIPT="[$]0"
    5.54 -REMOVE_SYMBOLIC_LINKS(SCRIPT)        
    5.55 +REMOVE_SYMBOLIC_LINKS(SCRIPT)
    5.56  AUTOCONF_DIR=`dirname [$]0`
    5.57 -])
    5.58  
    5.59 -AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
    5.60 -[
    5.61  # Where is the source? It is located two levels above the configure script.
    5.62  CURDIR="$PWD"
    5.63  cd "$AUTOCONF_DIR/../.."
    5.64 @@ -172,18 +177,12 @@
    5.65  
    5.66  SPACESAFE(SRC_ROOT,[the path to the source root])
    5.67  SPACESAFE(CURDIR,[the path to the current directory])
    5.68 -])
    5.69  
    5.70 -AC_DEFUN_ONCE([BASIC_SETUP_SEARCHPATH],
    5.71 -[
    5.72  if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
    5.73      # Add extra search paths on solaris for utilities like ar and as etc...
    5.74      PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
    5.75  fi
    5.76 -])
    5.77  
    5.78 -AC_DEFUN_ONCE([BASIC_SETUP_PATH_SEP],
    5.79 -[
    5.80  # For cygwin we need cygpath first, since it is used everywhere.
    5.81  AC_PATH_PROG(CYGPATH, cygpath)
    5.82  PATH_SEP=":"
    5.83 @@ -194,6 +193,36 @@
    5.84      PATH_SEP=";"
    5.85  fi
    5.86  AC_SUBST(PATH_SEP)
    5.87 +
    5.88 +# You can force the sys-root if the sys-root encoded into the cross compiler tools
    5.89 +# is not correct.
    5.90 +AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
    5.91 +  [pass this sys-root to the compilers and linker (useful if the sys-root encoded in
    5.92 +   the cross compiler tools is incorrect)])])
    5.93 +
    5.94 +if test "x$with_sys_root" != x; then
    5.95 +  SYS_ROOT=$with_sys_root
    5.96 +else
    5.97 +  SYS_ROOT=/
    5.98 +fi
    5.99 +AC_SUBST(SYS_ROOT)
   5.100 +
   5.101 +AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
   5.102 +  [search this directory for (cross-compiling) compilers and tools])], [TOOLS_DIR=$with_tools_dir])
   5.103 +
   5.104 +AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
   5.105 +  [use this directory as base for tools-dir and sys-root (for cross-compiling)])],
   5.106 +  [
   5.107 +    if test "x$with_sys_root" != x; then
   5.108 +      AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
   5.109 +    fi
   5.110 +    if test "x$with_tools_dir" != x; then
   5.111 +      AC_MSG_ERROR([Cannot specify both --with-devkit and --with-tools-dir at the same time])
   5.112 +    fi
   5.113 +    TOOLS_DIR=$with_devkit/bin
   5.114 +    SYS_ROOT=$with_devkit/$host_alias/libc
   5.115 +  ])
   5.116 +
   5.117  ])
   5.118  
   5.119  AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
   5.120 @@ -236,7 +265,13 @@
   5.121  AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
   5.122  # The spec.gmk file contains all variables for the make system.
   5.123  AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
   5.124 -# The spec.sh file contains variables for compare{images|-objects}.sh scrips.
   5.125 +# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
   5.126 +AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
   5.127 +# The bootcycle-spec.gmk file contains support for boot cycle builds.
   5.128 +AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
   5.129 +# The compare.sh is used to compare the build output to other builds.
   5.130 +AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in])
   5.131 +# Spec.sh is currently used by compare-objects.sh
   5.132  AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
   5.133  # The generated Makefile knows where the spec.gmk is and where the source is.
   5.134  # You can run make from the OUTPUT_ROOT, or from the top-level Makefile
   5.135 @@ -261,6 +296,79 @@
   5.136  
   5.137  #%%% Simple tools %%%
   5.138  
   5.139 +# Check if we have found a usable version of make
   5.140 +# $1: the path to a potential make binary (or empty)
   5.141 +# $2: the description on how we found this
   5.142 +AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
   5.143 +[
   5.144 +  MAKE_CANDIDATE="$1"
   5.145 +  DESCRIPTION="$2"
   5.146 +  if test "x$MAKE_CANDIDATE" != x; then
   5.147 +    AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
   5.148 +    SET_FULL_PATH(MAKE_CANDIDATE)
   5.149 +    MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
   5.150 +    IS_GNU_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP 'GNU Make'`
   5.151 +    if test "x$IS_GNU_MAKE" = x; then
   5.152 +      AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
   5.153 +    else
   5.154 +      IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP '3.8[[12346789]]'`
   5.155 +      if test "x$IS_MODERN_MAKE" = x; then
   5.156 +        AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
   5.157 +      else 
   5.158 +        FOUND_MAKE=$MAKE_CANDIDATE
   5.159 +      fi
   5.160 +    fi
   5.161 +  fi
   5.162 +])
   5.163 +
   5.164 +# Goes looking for a usable version of GNU make.
   5.165 +AC_DEFUN([BASIC_CHECK_GNU_MAKE],
   5.166 +[
   5.167 +  # We need to find a recent version of GNU make. Especially on Solaris, this can be tricky.
   5.168 +  if test "x$MAKE" != x; then
   5.169 +    # User has supplied a make, test it.
   5.170 +    if test ! -f "$MAKE"; then
   5.171 +      AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not found.])
   5.172 +    fi
   5.173 +    BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=])
   5.174 +    if test "x$FOUND_MAKE" = x; then
   5.175 +      AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make 3.81 or newer.])
   5.176 +    fi
   5.177 +  else
   5.178 +    # Try our hardest to locate a correct version of GNU make
   5.179 +    AC_PATH_PROGS(CHECK_GMAKE, gmake)
   5.180 +    BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
   5.181 +
   5.182 +    if test "x$FOUND_MAKE" = x; then
   5.183 +      AC_PATH_PROGS(CHECK_MAKE, make)
   5.184 +      BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
   5.185 +    fi
   5.186 +
   5.187 +    if test "x$FOUND_MAKE" = x; then
   5.188 +      if test "x$TOOLS_DIR" != x; then
   5.189 +        # We have a tools-dir, check that as well before giving up.
   5.190 +        OLD_PATH=$PATH
   5.191 +        PATH=$TOOLS_DIR:$PATH
   5.192 +        AC_PATH_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
   5.193 +        BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
   5.194 +        if test "x$FOUND_MAKE" = x; then
   5.195 +          AC_PATH_PROGS(CHECK_TOOLSDIR_MAKE, make)
   5.196 +          BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
   5.197 +        fi
   5.198 +        PATH=$OLD_PATH
   5.199 +      fi
   5.200 +    fi
   5.201 +
   5.202 +    if test "x$FOUND_MAKE" = x; then
   5.203 +      AC_MSG_ERROR([Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
   5.204 +    fi
   5.205 +  fi
   5.206 +
   5.207 +  MAKE=$FOUND_MAKE
   5.208 +  AC_SUBST(MAKE)
   5.209 +  AC_MSG_NOTICE([Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
   5.210 +])
   5.211 +
   5.212  AC_DEFUN([BASIC_CHECK_FIND_DELETE],
   5.213  [
   5.214      # Test if find supports -delete
   5.215 @@ -283,10 +391,30 @@
   5.216      rmdir $DELETEDIR
   5.217  ])
   5.218  
   5.219 +# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
   5.220 +# $1: variable to check
   5.221 +# $2: executable name to print in warning (optional)
   5.222  AC_DEFUN([CHECK_NONEMPTY],
   5.223  [
   5.224 -    # Test that variable $1 is not empty.
   5.225 -    if test "" = "[$]$1"; then AC_MSG_ERROR(Could not find translit($1,A-Z,a-z) !); fi
   5.226 +    if test "x[$]$1" = x; then
   5.227 +        if test "x$2" = x; then
   5.228 +          PROG_NAME=translit($1,A-Z,a-z)
   5.229 +        else
   5.230 +          PROG_NAME=$2
   5.231 +        fi
   5.232 +        AC_MSG_NOTICE([Could not find $PROG_NAME!])
   5.233 +        AC_MSG_ERROR([Cannot continue])
   5.234 +    fi
   5.235 +])
   5.236 +
   5.237 +# Does AC_PATH_PROG followed by CHECK_NONEMPTY.
   5.238 +# Arguments as AC_PATH_PROG:
   5.239 +# $1: variable to set
   5.240 +# $2: executable name to look for
   5.241 +AC_DEFUN([BASIC_REQUIRE_PROG],
   5.242 +[
   5.243 +    AC_PATH_PROGS($1, $2)
   5.244 +    CHECK_NONEMPTY($1, $2)
   5.245  ])
   5.246  
   5.247  AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
   5.248 @@ -295,90 +423,68 @@
   5.249  # and can be expected to be found in the default PATH. These tools are
   5.250  # used by configure. Nor are these tools expected to be found in the
   5.251  # devkit from the builddeps server either, since they are
   5.252 -# needed to download the devkit. 
   5.253 +# needed to download the devkit.
   5.254 +
   5.255 +# First are all the simple required tools.
   5.256 +BASIC_REQUIRE_PROG(BASENAME, basename)
   5.257 +BASIC_REQUIRE_PROG(CAT, cat)
   5.258 +BASIC_REQUIRE_PROG(CHMOD, chmod)
   5.259 +BASIC_REQUIRE_PROG(CMP, cmp)
   5.260 +BASIC_REQUIRE_PROG(CP, cp)
   5.261 +BASIC_REQUIRE_PROG(CPIO, cpio)
   5.262 +BASIC_REQUIRE_PROG(CUT, cut)
   5.263 +BASIC_REQUIRE_PROG(DATE, date)
   5.264 +BASIC_REQUIRE_PROG(DF, df)
   5.265 +BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
   5.266 +BASIC_REQUIRE_PROG(ECHO, echo)
   5.267 +BASIC_REQUIRE_PROG(EXPR, expr)
   5.268 +BASIC_REQUIRE_PROG(FILE, file)
   5.269 +BASIC_REQUIRE_PROG(FIND, find)
   5.270 +BASIC_REQUIRE_PROG(HEAD, head)
   5.271 +BASIC_REQUIRE_PROG(LN, ln)
   5.272 +BASIC_REQUIRE_PROG(LS, ls)
   5.273 +BASIC_REQUIRE_PROG(MKDIR, mkdir)
   5.274 +BASIC_REQUIRE_PROG(MV, mv)
   5.275 +BASIC_REQUIRE_PROG(PRINTF, printf)
   5.276 +BASIC_REQUIRE_PROG(SH, sh)
   5.277 +BASIC_REQUIRE_PROG(SORT, sort)
   5.278 +BASIC_REQUIRE_PROG(TAIL, tail)
   5.279 +BASIC_REQUIRE_PROG(TAR, tar)
   5.280 +BASIC_REQUIRE_PROG(TEE, tee)
   5.281 +BASIC_REQUIRE_PROG(TOUCH, touch)
   5.282 +BASIC_REQUIRE_PROG(TR, tr)
   5.283 +BASIC_REQUIRE_PROG(UNIQ, uniq)
   5.284 +BASIC_REQUIRE_PROG(UNZIP, unzip)
   5.285 +BASIC_REQUIRE_PROG(WC, wc)
   5.286 +BASIC_REQUIRE_PROG(XARGS, xargs)
   5.287 +BASIC_REQUIRE_PROG(ZIP, zip)
   5.288 +
   5.289 +# Then required tools that require some special treatment.
   5.290  AC_PROG_AWK
   5.291  CHECK_NONEMPTY(AWK)
   5.292 -AC_PATH_PROG(CAT, cat)
   5.293 -CHECK_NONEMPTY(CAT)
   5.294 -AC_PATH_PROG(CHMOD, chmod)
   5.295 -CHECK_NONEMPTY(CHMOD)
   5.296 -AC_PATH_PROG(CP, cp)
   5.297 -CHECK_NONEMPTY(CP)
   5.298 -AC_PATH_PROG(CPIO, cpio)
   5.299 -CHECK_NONEMPTY(CPIO)
   5.300 -AC_PATH_PROG(CUT, cut)
   5.301 -CHECK_NONEMPTY(CUT)
   5.302 -AC_PATH_PROG(DATE, date)
   5.303 -CHECK_NONEMPTY(DATE)
   5.304 -AC_PATH_PROG(DF, df)
   5.305 -CHECK_NONEMPTY(DF)
   5.306 -AC_PATH_PROG(DIFF, diff)
   5.307 -CHECK_NONEMPTY(DIFF)
   5.308 -# Warning echo is really, really unportable!!!!! Different
   5.309 -# behaviour in bash and dash and in a lot of other shells!
   5.310 -# Use printf for serious work! 
   5.311 -AC_PATH_PROG(ECHO, echo)
   5.312 -CHECK_NONEMPTY(ECHO)
   5.313 +AC_PROG_GREP
   5.314 +CHECK_NONEMPTY(GREP)
   5.315  AC_PROG_EGREP
   5.316  CHECK_NONEMPTY(EGREP)
   5.317  AC_PROG_FGREP
   5.318  CHECK_NONEMPTY(FGREP)
   5.319 +AC_PROG_SED
   5.320 +CHECK_NONEMPTY(SED)
   5.321  
   5.322 -AC_PATH_PROG(FIND, find)
   5.323 -CHECK_NONEMPTY(FIND)
   5.324 +AC_PATH_PROGS(NAWK, [nawk gawk awk])
   5.325 +CHECK_NONEMPTY(NAWK)
   5.326 +
   5.327 +BASIC_CHECK_GNU_MAKE
   5.328 +
   5.329 +BASIC_REQUIRE_PROG(RM, rm)
   5.330 +RM="$RM -f"
   5.331 +
   5.332  BASIC_CHECK_FIND_DELETE
   5.333  AC_SUBST(FIND_DELETE)
   5.334  
   5.335 -AC_PROG_GREP
   5.336 -CHECK_NONEMPTY(GREP)
   5.337 -AC_PATH_PROG(HEAD, head)
   5.338 -CHECK_NONEMPTY(HEAD)
   5.339 -AC_PATH_PROG(LN, ln)
   5.340 -CHECK_NONEMPTY(LN)
   5.341 -AC_PATH_PROG(LS, ls)
   5.342 -CHECK_NONEMPTY(LS)
   5.343 -AC_PATH_PROGS(MAKE, [gmake make])
   5.344 -CHECK_NONEMPTY(MAKE)
   5.345 -MAKE_VERSION=`$MAKE --version | head -n 1 | grep '3.8[[12346789]]'`
   5.346 -if test "x$MAKE_VERSION" = x; then
   5.347 -    AC_MSG_ERROR([You must use GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
   5.348 -fi
   5.349 -AC_PATH_PROG(MKDIR, mkdir)
   5.350 -CHECK_NONEMPTY(MKDIR)
   5.351 -AC_PATH_PROG(MV, mv)
   5.352 -CHECK_NONEMPTY(MV)
   5.353 -AC_PATH_PROGS(NAWK, [nawk gawk awk])
   5.354 -CHECK_NONEMPTY(NAWK)
   5.355 -AC_PATH_PROG(PRINTF, printf)
   5.356 -CHECK_NONEMPTY(PRINTF)
   5.357 +# Non-required basic tools
   5.358 +
   5.359  AC_PATH_PROG(THEPWDCMD, pwd)
   5.360 -AC_PATH_PROG(RM, rm)
   5.361 -CHECK_NONEMPTY(RM)
   5.362 -RM="$RM -f"
   5.363 -AC_PROG_SED
   5.364 -CHECK_NONEMPTY(SED)
   5.365 -AC_PATH_PROG(SH, sh)
   5.366 -CHECK_NONEMPTY(SH)
   5.367 -AC_PATH_PROG(SORT, sort)
   5.368 -CHECK_NONEMPTY(SORT)
   5.369 -AC_PATH_PROG(TAR, tar)
   5.370 -CHECK_NONEMPTY(TAR)
   5.371 -AC_PATH_PROG(TAIL, tail)
   5.372 -CHECK_NONEMPTY(TAIL)
   5.373 -AC_PATH_PROG(TEE, tee)
   5.374 -CHECK_NONEMPTY(TEE)
   5.375 -AC_PATH_PROG(TR, tr)
   5.376 -CHECK_NONEMPTY(TR)
   5.377 -AC_PATH_PROG(TOUCH, touch)
   5.378 -CHECK_NONEMPTY(TOUCH)
   5.379 -AC_PATH_PROG(WC, wc)
   5.380 -CHECK_NONEMPTY(WC)
   5.381 -AC_PATH_PROG(XARGS, xargs)
   5.382 -CHECK_NONEMPTY(XARGS)
   5.383 -AC_PATH_PROG(ZIP, zip)
   5.384 -CHECK_NONEMPTY(ZIP)
   5.385 -AC_PATH_PROG(UNZIP, unzip)
   5.386 -CHECK_NONEMPTY(UNZIP)
   5.387  AC_PATH_PROG(LDD, ldd)
   5.388  if test "x$LDD" = "x"; then
   5.389      # List shared lib dependencies is used for
   5.390 @@ -390,16 +496,11 @@
   5.391  if test "x$OTOOL" = "x"; then
   5.392     OTOOL="true"
   5.393  fi
   5.394 -AC_PATH_PROG(READELF, readelf)
   5.395 -AC_PATH_PROG(EXPR, expr)
   5.396 -CHECK_NONEMPTY(EXPR)
   5.397 -AC_PATH_PROG(FILE, file)
   5.398 -CHECK_NONEMPTY(FILE)
   5.399 +AC_PATH_PROGS(READELF, [readelf greadelf])
   5.400 +AC_PATH_PROGS(OBJDUMP, [objdump gobjdump])
   5.401  AC_PATH_PROG(HG, hg)
   5.402  ])
   5.403  
   5.404 -
   5.405 -
   5.406  AC_DEFUN_ONCE([BASIC_COMPILE_UNCYGDRIVE],
   5.407  [
   5.408  # When using cygwin, we need a wrapper binary that renames
   5.409 @@ -433,6 +534,8 @@
   5.410      fi
   5.411      AC_MSG_RESULT([yes])
   5.412      rm -f $OUTPUT_ROOT/uncygdrive?.??? $OUTPUT_ROOT/uncygdrive.obj
   5.413 +    # The path to uncygdrive to use should be Unix-style
   5.414 +    UNCYGDRIVE="$OUTPUT_ROOT/uncygdrive.exe"
   5.415  fi
   5.416  
   5.417  AC_SUBST(UNCYGDRIVE)
     6.1 --- a/common/autoconf/boot-jdk.m4	Thu Sep 06 17:27:20 2012 -0700
     6.2 +++ b/common/autoconf/boot-jdk.m4	Tue Sep 18 11:29:16 2012 -0700
     6.3 @@ -23,22 +23,186 @@
     6.4  # questions.
     6.5  #
     6.6  
     6.7 -# Fixes paths on windows to be mixed mode short.
     6.8 -AC_DEFUN([BOOTJDK_WIN_FIX_PATH],
     6.9 +# Execute the check given as argument, and verify the result
    6.10 +# If the Boot JDK was previously found, do nothing
    6.11 +# $1 A command line (typically autoconf macro) to execute
    6.12 +AC_DEFUN([BOOTJDK_DO_CHECK],
    6.13  [
    6.14 -    if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
    6.15 -        AC_PATH_PROG(CYGPATH, cygpath)
    6.16 -        tmp="[$]$1"
    6.17 -        # Convert to C:/ mixed style path without spaces.
    6.18 -        tmp=`$CYGPATH -s -m "$tmp"`
    6.19 -        $1="$tmp"
    6.20 +  if test "x$BOOT_JDK_FOUND" = xno; then
    6.21 +    # Now execute the test
    6.22 +    $1
    6.23 +
    6.24 +    # If previous step claimed to have found a JDK, check it to see if it seems to be valid.
    6.25 +    if test "x$BOOT_JDK_FOUND" = xmaybe; then
    6.26 +      # Do we have a bin/java?
    6.27 +      if test ! -x "$BOOT_JDK/bin/java"; then
    6.28 +        AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/java; ignoring])
    6.29 +        BOOT_JDK_FOUND=no
    6.30 +      else
    6.31 +        # Do we have a bin/javac?
    6.32 +        if test ! -x "$BOOT_JDK/bin/javac"; then
    6.33 +          AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring])
    6.34 +          AC_MSG_NOTICE([(This might be an JRE instead of an JDK)])
    6.35 +          BOOT_JDK_FOUND=no
    6.36 +        else 
    6.37 +          # Do we have an rt.jar? (On MacOSX it is called classes.jar)
    6.38 +          if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then
    6.39 +            AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring])
    6.40 +            BOOT_JDK_FOUND=no
    6.41 +          else
    6.42 +            # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
    6.43 +            BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
    6.44 +
    6.45 +            # Extra M4 quote needed to protect [] in grep expression.
    6.46 +            [FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep  '\"1\.[78]\.'`]
    6.47 +            if test "x$FOUND_VERSION_78" = x; then
    6.48 +              AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring])
    6.49 +              AC_MSG_NOTICE([(Your Boot JDK must be version 7 or 8)])
    6.50 +              BOOT_JDK_FOUND=no
    6.51 +            else
    6.52 +              # We're done! :-)
    6.53 +              BOOT_JDK_FOUND=yes
    6.54 +              SPACESAFE(BOOT_JDK,[the path to the Boot JDK])
    6.55 +              AC_MSG_CHECKING([for Boot JDK])
    6.56 +              AC_MSG_RESULT([$BOOT_JDK ($BOOT_JDK_VERSION)])
    6.57 +            fi # end check jdk version
    6.58 +          fi # end check rt.jar
    6.59 +        fi # end check javac
    6.60 +      fi # end check java
    6.61 +    fi # end check boot jdk found
    6.62 +  fi
    6.63 +])
    6.64 +
    6.65 +# Test: Is bootjdk explicitely set by command line arguments?
    6.66 +AC_DEFUN([BOOTJDK_CHECK_ARGUMENTS],
    6.67 +[
    6.68 +if test "x$with_boot_jdk" != x; then
    6.69 +    BOOT_JDK=$with_boot_jdk
    6.70 +    BOOT_JDK_FOUND=maybe
    6.71 +    AC_MSG_NOTICE([Found potential Boot JDK using configure arguments])
    6.72 +fi
    6.73 +])
    6.74 +
    6.75 +# Test: Is bootjdk available from builddeps?
    6.76 +AC_DEFUN([BOOTJDK_CHECK_BUILDDEPS],
    6.77 +[
    6.78 +    BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no])
    6.79 +])
    6.80 +
    6.81 +# Test: Is $JAVA_HOME set?
    6.82 +AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
    6.83 +[
    6.84 +    if test "x$JAVA_HOME" != x; then
    6.85 +        if test "x$OPENJDK_TARGET_OS" = xwindows; then
    6.86 +          # On Windows, JAVA_HOME is likely in DOS-style
    6.87 +          JAVA_HOME_PROCESSED="`$CYGPATH -u "$JAVA_HOME"`"
    6.88 +        else
    6.89 +          JAVA_HOME_PROCESSED="$JAVA_HOME"
    6.90 +        fi
    6.91 +        if test ! -d "$JAVA_HOME_PROCESSED"; then
    6.92 +            AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
    6.93 +        else
    6.94 +          # Aha, the user has set a JAVA_HOME
    6.95 +          # let us use that as the Boot JDK.
    6.96 +          BOOT_JDK="$JAVA_HOME_PROCESSED"
    6.97 +          BOOT_JDK_FOUND=maybe
    6.98 +          AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME])
    6.99 +        fi
   6.100      fi
   6.101  ])
   6.102  
   6.103 -AC_DEFUN([BOOTJDK_MISSING_ERROR],
   6.104 +# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
   6.105 +AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
   6.106  [
   6.107 -    AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
   6.108 -    AC_MSG_ERROR([Cannot continue])
   6.109 +    AC_PATH_PROG(JAVAC_CHECK, javac)
   6.110 +    AC_PATH_PROG(JAVA_CHECK, java)
   6.111 +    BINARY="$JAVAC_CHECK"
   6.112 +    if test "x$JAVAC_CHECK" = x; then
   6.113 +        BINARY="$JAVA_CHECK"
   6.114 +    fi
   6.115 +    if test "x$BINARY" != x; then
   6.116 +        # So there is a java(c) binary, it might be part of a JDK.
   6.117 +        # Lets find the JDK/JRE directory by following symbolic links.
   6.118 +        # Linux/GNU systems often have links from /usr/bin/java to 
   6.119 +        # /etc/alternatives/java to the real JDK binary.
   6.120 +        SET_FULL_PATH_SPACESAFE(BINARY)
   6.121 +        REMOVE_SYMBOLIC_LINKS(BINARY)
   6.122 +        BOOT_JDK=`dirname "$BINARY"`
   6.123 +        BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
   6.124 +        if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
   6.125 +            # Looks like we found ourselves an JDK
   6.126 +            BOOT_JDK_FOUND=maybe
   6.127 +            AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH])
   6.128 +        fi
   6.129 +    fi
   6.130 +])
   6.131 +
   6.132 +# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
   6.133 +AC_DEFUN([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME],
   6.134 +[
   6.135 +    if test -x /usr/libexec/java_home; then
   6.136 +        BOOT_JDK=`/usr/libexec/java_home`
   6.137 +        BOOT_JDK_FOUND=maybe
   6.138 +        AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home])
   6.139 +    fi
   6.140 +])
   6.141 +
   6.142 +# Look for a jdk in the given path. If there are multiple, try to select the newest.
   6.143 +# If found, set BOOT_JDK and BOOT_JDK_FOUND.
   6.144 +# $1 = Path to directory containing jdk installations.
   6.145 +# $2 = String to append to the found JDK directory to get the proper JDK home
   6.146 +AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY],
   6.147 +[
   6.148 +  BOOT_JDK_PREFIX="$1"
   6.149 +  BOOT_JDK_SUFFIX="$2"
   6.150 +  BEST_JDK_FOUND=`$LS "$BOOT_JDK_PREFIX" 2> /dev/null | $GREP jdk | $SORT -r | $HEAD -n 1 `
   6.151 +  if test "x$BEST_JDK_FOUND" != x; then
   6.152 +    BOOT_JDK="${BOOT_JDK_PREFIX}/${BEST_JDK_FOUND}${BOOT_JDK_SUFFIX}"
   6.153 +    if test -d "$BOOT_JDK"; then
   6.154 +      BOOT_JDK_FOUND=maybe
   6.155 +      AC_MSG_NOTICE([Found potential Boot JDK using well-known locations (in $BOOT_JDK_PREFIX)])
   6.156 +    fi
   6.157 +  fi
   6.158 +])
   6.159 +
   6.160 +# Call BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY, but use the given
   6.161 +# environmental variable as base for where to look.
   6.162 +# $1 Name of an environmal variable, assumed to point to the Program Files directory.
   6.163 +AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY],
   6.164 +[
   6.165 +  if test "x[$]$1" != x; then
   6.166 +    BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([`$CYGPATH -u "[$]$1"`/Java])
   6.167 +  fi
   6.168 +])
   6.169 +
   6.170 +# Test: Is there a JDK installed in default, well-known locations?
   6.171 +AC_DEFUN([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS],
   6.172 +[
   6.173 +  if test "x$OPENJDK_TARGET_OS" = xwindows; then
   6.174 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([ProgramW6432])])
   6.175 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([PROGRAMW6432])])
   6.176 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([PROGRAMFILES])])
   6.177 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY([ProgramFiles])])
   6.178 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/cygdrive/c/Program Files/Java])])
   6.179 +  elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
   6.180 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/Library/Java/JavaVirtualMachines],[/Contents/Home])])
   6.181 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/System/Library/Java/JavaVirtualMachines],[/Contents/Home])])
   6.182 +  fi
   6.183 +])
   6.184 +
   6.185 +# Check that a command-line tool in the Boot JDK is correct
   6.186 +# $1 = name of variable to assign
   6.187 +# $2 = name of binary
   6.188 +AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK],
   6.189 +[
   6.190 +  AC_MSG_CHECKING([for $2 in Boot JDK])
   6.191 +  $1=$BOOT_JDK/bin/$2
   6.192 +  if test ! -x [$]$1; then
   6.193 +      AC_MSG_RESULT(not found)
   6.194 +      AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk])
   6.195 +      AC_MSG_ERROR([Could not find $2 in the Boot JDK])
   6.196 +  fi
   6.197 +  AC_MSG_RESULT(ok)
   6.198  ])
   6.199  
   6.200  ###############################################################################
   6.201 @@ -51,204 +215,74 @@
   6.202  BOOT_JDK_FOUND=no
   6.203  AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
   6.204      [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
   6.205 -                    
   6.206 -if test "x$with_boot_jdk" != x; then
   6.207 -    BOOT_JDK=$with_boot_jdk
   6.208 -    BOOT_JDK_FOUND=yes
   6.209 -fi
   6.210 -if test "x$BOOT_JDK_FOUND" = xno; then
   6.211 -    BDEPS_CHECK_MODULE(BOOT_JDK, boot-jdk, xxx, [BOOT_JDK_FOUND=yes], [BOOT_JDK_FOUND=no])
   6.212 +
   6.213 +# We look for the Boot JDK through various means, going from more certain to
   6.214 +# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
   6.215 +# we detected something (if so, the path to the jdk is in BOOT_JDK). But we 
   6.216 +# must check if this is indeed valid; otherwise we'll continue looking.
   6.217 +
   6.218 +# Test: Is bootjdk explicitely set by command line arguments?
   6.219 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS])
   6.220 +if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
   6.221 +  # Having specified an argument which is incorrect will produce an instant failure;
   6.222 +  # we should not go on looking
   6.223 +  AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
   6.224  fi
   6.225  
   6.226 +# Test: Is bootjdk available from builddeps?
   6.227 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS])
   6.228 +
   6.229 +# Test: Is $JAVA_HOME set?
   6.230 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
   6.231 +
   6.232 +# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
   6.233 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME])
   6.234 +
   6.235 +# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
   6.236 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
   6.237 +
   6.238 +# Test: Is there a JDK installed in default, well-known locations?
   6.239 +BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS])
   6.240 +
   6.241 +# If we haven't found anything yet, we've truly lost. Give up.
   6.242  if test "x$BOOT_JDK_FOUND" = xno; then
   6.243 -    if test "x$JAVA_HOME" != x; then
   6.244 -        if test ! -d "$JAVA_HOME"; then
   6.245 -            AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
   6.246 -            BOOTJDK_MISSING_ERROR
   6.247 -        fi
   6.248 -        # Aha, the user has set a JAVA_HOME
   6.249 -        # let us use that as the Boot JDK.
   6.250 -        BOOT_JDK="$JAVA_HOME"
   6.251 -        BOOT_JDK_FOUND=yes
   6.252 -        # To be on the safe side, lets check that it is a JDK.
   6.253 -        if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
   6.254 -            JAVAC="$BOOT_JDK/bin/javac"
   6.255 -            JAVA="$BOOT_JDK/bin/java"
   6.256 -            BOOT_JDK_FOUND=yes
   6.257 -        else
   6.258 -            AC_MSG_NOTICE([Your JAVA_HOME points to a JRE! The build needs a JDK! Please point JAVA_HOME to a JDK. JAVA_HOME=[$]JAVA_HOME])
   6.259 -            BOOTJDK_MISSING_ERROR
   6.260 -        fi            
   6.261 +  HELP_MSG_MISSING_DEPENDENCY([openjdk])
   6.262 +  AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG])
   6.263 +  AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
   6.264 +  AC_MSG_ERROR([Cannot continue])
   6.265 +fi
   6.266 +
   6.267 +# Setup proper paths for what we found
   6.268 +BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
   6.269 +if test ! -f "$BOOT_RTJAR"; then
   6.270 +    # On MacOSX it is called classes.jar
   6.271 +    BOOT_RTJAR="$BOOT_JDK/../Classes/classes.jar"
   6.272 +    if test -f "$BOOT_RTJAR"; then
   6.273 +      # Remove the .. 
   6.274 +      BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
   6.275      fi
   6.276  fi
   6.277 -
   6.278 -if test "x$BOOT_JDK_FOUND" = xno; then
   6.279 -    AC_PATH_PROG(JAVAC_CHECK, javac)
   6.280 -    AC_PATH_PROG(JAVA_CHECK, java)
   6.281 -    BINARY="$JAVAC_CHECK"
   6.282 -    if test "x$JAVAC_CHECK" = x; then
   6.283 -        BINARY="$JAVA_CHECK"
   6.284 -    fi
   6.285 -    if test "x$BINARY" != x; then
   6.286 -        # So there is a java(c) binary, it might be part of a JDK.
   6.287 -        # Lets find the JDK/JRE directory by following symbolic links.
   6.288 -        # Linux/GNU systems often have links from /usr/bin/java to 
   6.289 -        # /etc/alternatives/java to the real JDK binary.
   6.290 -	WHICHCMD_SPACESAFE(BINARY,[path to javac])
   6.291 -        REMOVE_SYMBOLIC_LINKS(BINARY)
   6.292 -        BOOT_JDK=`dirname $BINARY`
   6.293 -        BOOT_JDK=`cd $BOOT_JDK/..; pwd`
   6.294 -        if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then
   6.295 -            JAVAC=$BOOT_JDK/bin/javac
   6.296 -            JAVA=$BOOT_JDK/bin/java
   6.297 -            BOOT_JDK_FOUND=yes
   6.298 -        fi
   6.299 -    fi
   6.300 -fi
   6.301 -
   6.302 -if test "x$BOOT_JDK_FOUND" = xno; then
   6.303 -    # Try the MacOSX way.
   6.304 -    if test -x /usr/libexec/java_home; then
   6.305 -        BOOT_JDK=`/usr/libexec/java_home`
   6.306 -        if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then
   6.307 -            JAVAC=$BOOT_JDK/bin/javac
   6.308 -            JAVA=$BOOT_JDK/bin/java
   6.309 -            BOOT_JDK_FOUND=yes
   6.310 -        fi
   6.311 -    fi
   6.312 -fi
   6.313 -
   6.314 -if test "x$BOOT_JDK_FOUND" = xno; then
   6.315 -    AC_PATH_PROG(JAVA_CHECK, java)
   6.316 -    if test "x$JAVA_CHECK" != x; then
   6.317 -        # There is a java in the path. But apparently we have not found a javac 
   6.318 -        # in the path, since that would have been tested earlier.
   6.319 -        if test "x$OPENJDK_TARGET_OS" = xwindows; then
   6.320 -            # Now if this is a windows platform. The default installation of a JDK
   6.321 -            # actually puts the JRE in the path and keeps the JDK out of the path!
   6.322 -            # Go look in the default installation location.
   6.323 -            BOOT_JDK=/cygdrive/c/Program\ Files/Java/`ls /cygdrive/c/Program\ Files/Java | grep jdk | sort -r | head --lines 1`
   6.324 -            if test -d "$BOOT_JDK"; then
   6.325 -                BOOT_JDK_FOUND=yes
   6.326 -            fi
   6.327 -        fi
   6.328 -        if test "x$BOOT_JDK_FOUND" = xno; then
   6.329 -            HELP_MSG_MISSING_DEPENDENCY([openjdk])
   6.330 -            AC_MSG_NOTICE([Found a JRE, not not a JDK! Please remove the JRE from your path and put a JDK there instead. $HELP_MSG])
   6.331 -            BOOTJDK_MISSING_ERROR
   6.332 -        fi
   6.333 -    else
   6.334 -        HELP_MSG_MISSING_DEPENDENCY([openjdk])
   6.335 -        AC_MSG_NOTICE([Could not find a JDK. $HELP_MSG])
   6.336 -        BOOTJDK_MISSING_ERROR
   6.337 -    fi
   6.338 -fi
   6.339 -
   6.340 -BOOTJDK_WIN_FIX_PATH(BOOT_JDK)
   6.341 -
   6.342 -# Now see if we can find the rt.jar, or its nearest equivalent.
   6.343 -BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
   6.344 -SPACESAFE(BOOT_RTJAR,[the path to the Boot JDK rt.jar (or nearest equivalent)])
   6.345 -
   6.346  BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
   6.347 -SPACESAFE(BOOT_TOOLSJAR,[the path to the Boot JDK tools.jar (or nearest equivalent)])
   6.348 -
   6.349 -if test ! -f $BOOT_RTJAR; then
   6.350 -    # On MacOSX it is called classes.jar
   6.351 -    BOOT_RTJAR=$BOOT_JDK/../Classes/classes.jar
   6.352 -    if test ! -f $BOOT_RTJAR; then
   6.353 -        AC_MSG_NOTICE([Cannot find the rt.jar or its equivalent!])
   6.354 -        AC_MSG_NOTICE([This typically means that configure failed to automatically find a suitable Boot JDK])
   6.355 -        BOOTJDK_MISSING_ERROR
   6.356 -    fi
   6.357 -    # Remove the .. 
   6.358 -    BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
   6.359 -    # The tools.jar is part of classes.jar
   6.360 -    BOOT_TOOLSJAR="$BOOT_RTJAR"
   6.361 -fi
   6.362 -
   6.363 -AC_SUBST(BOOT_JDK)
   6.364 +BOOT_JDK="$BOOT_JDK"
   6.365  AC_SUBST(BOOT_RTJAR)
   6.366  AC_SUBST(BOOT_TOOLSJAR)
   6.367 -AC_MSG_CHECKING([for Boot JDK])
   6.368 -AC_MSG_RESULT([$BOOT_JDK])
   6.369 -AC_MSG_CHECKING([for Boot rt.jar])
   6.370 -AC_MSG_RESULT([$BOOT_RTJAR])
   6.371 -AC_MSG_CHECKING([for Boot tools.jar])
   6.372 -AC_MSG_RESULT([$BOOT_TOOLSJAR])
   6.373 +AC_SUBST(BOOT_JDK)
   6.374  
   6.375 -# Use the java tool from the Boot JDK.
   6.376 -AC_MSG_CHECKING([for java in Boot JDK])
   6.377 -JAVA=$BOOT_JDK/bin/java
   6.378 -if test ! -x $JAVA; then
   6.379 -    AC_MSG_NOTICE([Could not find a working java])
   6.380 -    BOOTJDK_MISSING_ERROR
   6.381 -fi
   6.382 -BOOT_JDK_VERSION=`$JAVA -version 2>&1 | head -n 1`
   6.383 -AC_MSG_RESULT([yes $BOOT_JDK_VERSION])
   6.384 -AC_SUBST(JAVA)
   6.385 +# Setup tools from the Boot JDK.
   6.386 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java)
   6.387 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac)
   6.388 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah)
   6.389 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap)
   6.390 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar)
   6.391 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic)
   6.392 +BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii)
   6.393  
   6.394 -# Extra M4 quote needed to protect [] in grep expression.
   6.395 -[FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep  '\"1\.[78]\.'`]
   6.396 -if test "x$FOUND_VERSION_78" = x; then
   6.397 -    HELP_MSG_MISSING_DEPENDENCY([openjdk])
   6.398 -    AC_MSG_NOTICE([Your boot-jdk must be version 7 or 8. $HELP_MSG])
   6.399 -    BOOTJDK_MISSING_ERROR
   6.400 -fi
   6.401 +# Finally, set some other options...
   6.402  
   6.403  # When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
   6.404  BOOT_JDK_SOURCETARGET="-source 7 -target 7"
   6.405  AC_SUBST(BOOT_JDK_SOURCETARGET)
   6.406 -
   6.407 -# Use the javac tool from the Boot JDK.
   6.408 -AC_MSG_CHECKING([for javac in Boot JDK])
   6.409 -JAVAC=$BOOT_JDK/bin/javac
   6.410 -if test ! -x $JAVAC; then
   6.411 -    AC_MSG_ERROR([Could not find a working javac])
   6.412 -fi
   6.413 -AC_MSG_RESULT(yes)
   6.414 -AC_SUBST(JAVAC)
   6.415  AC_SUBST(JAVAC_FLAGS)
   6.416 -
   6.417 -# Use the javah tool from the Boot JDK.
   6.418 -AC_MSG_CHECKING([for javah in Boot JDK])
   6.419 -JAVAH=$BOOT_JDK/bin/javah
   6.420 -if test ! -x $JAVAH; then
   6.421 -    AC_MSG_NOTICE([Could not find a working javah])
   6.422 -    BOOTJDK_MISSING_ERROR
   6.423 -fi
   6.424 -AC_MSG_RESULT(yes)
   6.425 -AC_SUBST(JAVAH)
   6.426 -
   6.427 -# Use the jar tool from the Boot JDK.
   6.428 -AC_MSG_CHECKING([for jar in Boot JDK])
   6.429 -JAR=$BOOT_JDK/bin/jar
   6.430 -if test ! -x $JAR; then
   6.431 -    AC_MSG_NOTICE([Could not find a working jar])
   6.432 -    BOOTJDK_MISSING_ERROR
   6.433 -fi
   6.434 -AC_SUBST(JAR)
   6.435 -AC_MSG_RESULT(yes)
   6.436 -
   6.437 -# Use the rmic tool from the Boot JDK.
   6.438 -AC_MSG_CHECKING([for rmic in Boot JDK])
   6.439 -RMIC=$BOOT_JDK/bin/rmic
   6.440 -if test ! -x $RMIC; then
   6.441 -    AC_MSG_NOTICE([Could not find a working rmic])
   6.442 -    BOOTJDK_MISSING_ERROR
   6.443 -fi
   6.444 -AC_SUBST(RMIC)
   6.445 -AC_MSG_RESULT(yes)
   6.446 -
   6.447 -# Use the native2ascii tool from the Boot JDK.
   6.448 -AC_MSG_CHECKING([for native2ascii in Boot JDK])
   6.449 -NATIVE2ASCII=$BOOT_JDK/bin/native2ascii
   6.450 -if test ! -x $NATIVE2ASCII; then
   6.451 -    AC_MSG_NOTICE([Could not find a working native2ascii])
   6.452 -    BOOTJDK_MISSING_ERROR
   6.453 -fi
   6.454 -AC_MSG_RESULT(yes)
   6.455 -AC_SUBST(NATIVE2ASCII)
   6.456  ])
   6.457  
   6.458  AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/common/autoconf/bootcycle-spec.gmk.in	Tue Sep 18 11:29:16 2012 -0700
     7.3 @@ -0,0 +1,43 @@
     7.4 +#
     7.5 +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
     7.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     7.7 +#
     7.8 +# This code is free software; you can redistribute it and/or modify it
     7.9 +# under the terms of the GNU General Public License version 2 only, as
    7.10 +# published by the Free Software Foundation.  Oracle designates this
    7.11 +# particular file as subject to the "Classpath" exception as provided
    7.12 +# by Oracle in the LICENSE file that accompanied this code.
    7.13 +#
    7.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
    7.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    7.16 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    7.17 +# version 2 for more details (a copy is included in the LICENSE file that
    7.18 +# accompanied this code).
    7.19 +#
    7.20 +# You should have received a copy of the GNU General Public License version
    7.21 +# 2 along with this work; if not, write to the Free Software Foundation,
    7.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    7.23 +#
    7.24 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    7.25 +# or visit www.oracle.com if you need additional information or have any
    7.26 +# questions.
    7.27 +#
    7.28 +
    7.29 +# Support for building boot cycle builds
    7.30 +
    7.31 +# First include the real base spec.gmk file
    7.32 +include @SPEC@
    7.33 +
    7.34 +# Check that the user did not try to specify a different java to use for compiling.
    7.35 +ifneq ($(firstword $(SJAVAC_SERVER_JAVA)),$(firstword $(JAVA)))
    7.36 +  $(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
    7.37 +endif
    7.38 +
    7.39 +# Override specific values to do a boot cycle build
    7.40 +
    7.41 +# The bootcycle build has a different output directory
    7.42 +BUILD_OUTPUT:=@BUILD_OUTPUT@/bootcycle-build
    7.43 +
    7.44 +# Use a different Boot JDK
    7.45 +BOOT_JDK:=@BUILD_OUTPUT@/images/j2sdk-image
    7.46 +BOOT_RTJAR:=@BUILD_OUTPUT@/images/j2sdk-image/jre/lib/rt.jar
     8.1 --- a/common/autoconf/build-aux/config.guess	Thu Sep 06 17:27:20 2012 -0700
     8.2 +++ b/common/autoconf/build-aux/config.guess	Tue Sep 18 11:29:16 2012 -0700
     8.3 @@ -22,17 +22,39 @@
     8.4  # questions.
     8.5  #
     8.6  
     8.7 -# This is a wrapper for the config.guess from autoconf. The latter does not properly
     8.8 -# detect amd64 systems, since that require isainfo instead of uname. Instead of patching
     8.9 -# the autoconf system (which might easily get lost in a future update), we wrap it and
    8.10 -# fix the broken property, if needed.
    8.11 +# This is a wrapper for the config.guess from autoconf. The latter does not
    8.12 +# properly detect 64 bit systems on all platforms. Instead of patching the
    8.13 +# autoconf system (which might easily get lost in a future update), we wrap it
    8.14 +# and fix the broken property, if needed.
    8.15  
    8.16  DIR=`dirname $0`
    8.17  OUT=`. $DIR/autoconf-config.guess`
    8.18 +
    8.19 +# Test and fix solaris on x86_64
    8.20  echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
    8.21  if test $? = 0; then
    8.22 -  # isainfo -n returns either i386 or amd64 on Intel systems
    8.23 +  # isainfo -n returns either i386 or amd64
    8.24    REAL_CPU=`isainfo -n`
    8.25    OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
    8.26  fi
    8.27 +
    8.28 +# Test and fix solaris on sparcv9
    8.29 +echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null
    8.30 +if test $? = 0; then
    8.31 +  # isainfo -n returns either sparc or sparcv9
    8.32 +  REAL_CPU=`isainfo -n`
    8.33 +  OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
    8.34 +fi
    8.35 +
    8.36 +# Test and fix cygwin on x86_64
    8.37 +echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
    8.38 +if test $? = 0; then
    8.39 +  case `echo $PROCESSOR_IDENTIFIER | cut -f1 -d' '` in
    8.40 +    intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64)
    8.41 +      REAL_CPU=x86_64
    8.42 +      OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
    8.43 +      ;;
    8.44 +  esac
    8.45 +fi  
    8.46 +
    8.47  echo $OUT
     9.1 --- a/common/autoconf/build-performance.m4	Thu Sep 06 17:27:20 2012 -0700
     9.2 +++ b/common/autoconf/build-performance.m4	Tue Sep 18 11:29:16 2012 -0700
     9.3 @@ -30,27 +30,19 @@
     9.4      FOUND_CORES=no
     9.5      
     9.6      if test -f /proc/cpuinfo; then
     9.7 -        # Looks like a Linux system
     9.8 +        # Looks like a Linux (or cygwin) system
     9.9          NUM_CORES=`cat /proc/cpuinfo  | grep -c processor`
    9.10          FOUND_CORES=yes
    9.11 -    fi
    9.12 -
    9.13 -    if test -x /usr/sbin/psrinfo; then
    9.14 +    elif test -x /usr/sbin/psrinfo; then
    9.15          # Looks like a Solaris system
    9.16          NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
    9.17          FOUND_CORES=yes
    9.18 -    fi
    9.19 -
    9.20 -    if test -x /usr/sbin/system_profiler; then
    9.21 +    elif test -x /usr/sbin/system_profiler; then
    9.22          # Looks like a MacOSX system
    9.23          NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk  '{print [$]5}'`
    9.24          FOUND_CORES=yes
    9.25      fi
    9.26  
    9.27 -    if test "x$build_os" = xwindows; then
    9.28 -        NUM_CORES=4
    9.29 -    fi
    9.30 -
    9.31      # For c/c++ code we run twice as many concurrent build
    9.32      # jobs than we have cores, otherwise we will stall on io.
    9.33      CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2`
    9.34 @@ -66,31 +58,26 @@
    9.35  AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
    9.36  [
    9.37      AC_MSG_CHECKING([for memory size])
    9.38 -    # Default to 1024MB
    9.39 +    # Default to 1024 MB
    9.40      MEMORY_SIZE=1024
    9.41      FOUND_MEM=no
    9.42      
    9.43 -    if test -f /proc/cpuinfo; then
    9.44 -        # Looks like a Linux system
    9.45 +    if test -f /proc/meminfo; then
    9.46 +        # Looks like a Linux (or cygwin) system
    9.47          MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
    9.48          MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
    9.49          FOUND_MEM=yes
    9.50 -    fi
    9.51 -
    9.52 -    if test -x /usr/sbin/prtconf; then
    9.53 +    elif test -x /usr/sbin/prtconf; then
    9.54          # Looks like a Solaris system
    9.55          MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
    9.56          FOUND_MEM=yes
    9.57 -    fi
    9.58 -
    9.59 -    if test -x /usr/sbin/system_profiler; then
    9.60 +    elif test -x /usr/sbin/system_profiler; then
    9.61          # Looks like a MacOSX system
    9.62          MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk  '{print [$]2}'`
    9.63          MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
    9.64          FOUND_MEM=yes
    9.65 -    fi
    9.66 -
    9.67 -    if test "x$build_os" = xwindows; then
    9.68 +    elif test "x$build_os" = xwindows; then
    9.69 +        # Windows, but without cygwin
    9.70          MEMORY_SIZE=`systeminfo | grep 'Total Physical Memory:' | awk '{ print [$]4 }' | sed 's/,//'`
    9.71          FOUND_MEM=yes    
    9.72      fi
    9.73 @@ -98,7 +85,7 @@
    9.74      if test "x$FOUND_MEM" = xyes; then
    9.75          AC_MSG_RESULT([$MEMORY_SIZE MB])
    9.76      else
    9.77 -        AC_MSG_RESULT([could not detect memory size defaulting to 1024MB!])
    9.78 +        AC_MSG_RESULT([could not detect memory size defaulting to 1024 MB!])
    9.79      fi 
    9.80  ])
    9.81  
    9.82 @@ -240,46 +227,30 @@
    9.83  
    9.84  AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
    9.85  [
    9.86 -AC_ARG_WITH(server-java, [AS_HELP_STRING([--with-server-java],
    9.87 -	[use this java binary for running the javac background server and other long running java tasks in the build process,
    9.88 -     e.g. ---with-server-java="/opt/jrockit/bin/java -server"])])
    9.89 +AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
    9.90 +	[use this java binary for running the sjavac background server and other long running java tasks in the build process,
    9.91 +     e.g. ---with-sjavac-server-java="/opt/jrockit/bin/java -server"])])
    9.92  
    9.93 -if test "x$with_server_java" != x; then
    9.94 -    SERVER_JAVA="$with_server_java"
    9.95 -    FOUND_VERSION=`$SERVER_JAVA -version 2>&1 | grep " version \""`
    9.96 +if test "x$with_sjavac_server_java" != x; then
    9.97 +    SJAVAC_SERVER_JAVA="$with_sjavac_server_java"
    9.98 +    FOUND_VERSION=`$SJAVAC_SERVER_JAVA -version 2>&1 | grep " version \""`
    9.99      if test "x$FOUND_VERSION" = x; then
   9.100 -        AC_MSG_ERROR([Could not execute server java: $SERVER_JAVA])
   9.101 +        AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
   9.102      fi
   9.103  else
   9.104 -    SERVER_JAVA=""
   9.105 +    SJAVAC_SERVER_JAVA=""
   9.106      # Hotspot specific options.
   9.107 -    ADD_JVM_ARG_IF_OK([-XX:+UseParallelOldGC],SERVER_JAVA,[$JAVA])
   9.108 -    ADD_JVM_ARG_IF_OK([-verbosegc],SERVER_JAVA,[$JAVA])
   9.109 +    ADD_JVM_ARG_IF_OK([-verbosegc],SJAVAC_SERVER_JAVA,[$JAVA])
   9.110      # JRockit specific options.
   9.111 -    ADD_JVM_ARG_IF_OK([-Xverbose:gc],SERVER_JAVA,[$JAVA])
   9.112 -    SERVER_JAVA="$JAVA $SERVER_JAVA"
   9.113 +    ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA])
   9.114 +    SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
   9.115  fi                    
   9.116 -AC_SUBST(SERVER_JAVA)
   9.117 +AC_SUBST(SJAVAC_SERVER_JAVA)
   9.118  
   9.119 -AC_MSG_CHECKING([whether to use shared server for javac])
   9.120 -AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--enable-javac-server],
   9.121 -	[enable the shared javac server during the build process @<:@disabled@:>@])],
   9.122 -	[ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER='no'])
   9.123 -AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
   9.124 -if test "x$ENABLE_JAVAC_SERVER" = xyes; then
   9.125 -    JAVAC_USE_REMOTE=true
   9.126 -    JAVAC_SERVERS="$OUTPUT_ROOT/javacservers"
   9.127 -else
   9.128 -    JAVAC_USE_REMOTE=false
   9.129 -    JAVAC_SERVERS=
   9.130 -fi
   9.131 -AC_SUBST(JAVAC_USE_REMOTE)
   9.132 -AC_SUBST(JAVAC_SERVERS)
   9.133 -
   9.134 -AC_ARG_WITH(javac-server-cores, [AS_HELP_STRING([--with-javac-server-cores],
   9.135 -	[use at most this number of concurrent threads on the javac server @<:@probed@:>@])])
   9.136 -if test "x$with_javac_server_cores" != x; then
   9.137 -    JAVAC_SERVER_CORES="$with_javac_server_cores"
   9.138 +AC_ARG_WITH(sjavac-server-cores, [AS_HELP_STRING([--with-sjavac-server-cores],
   9.139 +	[use at most this number of concurrent threads on the sjavac server @<:@probed@:>@])])
   9.140 +if test "x$with_sjavac_server_cores" != x; then
   9.141 +    SJAVAC_SERVER_CORES="$with_sjavac_server_cores"
   9.142  else
   9.143      if test "$NUM_CORES" -gt 16; then
   9.144          # We set this arbitrary limit because we want to limit the heap
   9.145 @@ -287,86 +258,49 @@
   9.146          # In the future we will make the javac compilers in the server
   9.147          # share more and more state, thus enabling us to use more and
   9.148          # more concurrent threads in the server.
   9.149 -        JAVAC_SERVER_CORES="16"
   9.150 +        SJAVAC_SERVER_CORES="16"
   9.151      else
   9.152 -        JAVAC_SERVER_CORES="$NUM_CORES"
   9.153 +        SJAVAC_SERVER_CORES="$NUM_CORES"
   9.154      fi
   9.155  
   9.156      if test "$MEMORY_SIZE" -gt "17000"; then
   9.157          MAX_HEAP_MEM=10000
   9.158 -        ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
   9.159 -        ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SERVER_JAVA,[$SERVER_JAVA])
   9.160 -        ADD_JVM_ARG_IF_OK([-Xmn2G],SERVER_JAVA,[$SERVER_JAVA])
   9.161 +        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.162 +        ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.163      elif test "$MEMORY_SIZE" -gt "10000"; then
   9.164          MAX_HEAP_MEM=6000
   9.165 -        ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
   9.166 -        ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SERVER_JAVA,[$SERVER_JAVA])
   9.167 -        ADD_JVM_ARG_IF_OK([-Xmn1G],SERVER_JAVA,[$SERVER_JAVA])
   9.168 +        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.169 +        ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.170      elif test "$MEMORY_SIZE" -gt "5000"; then
   9.171          MAX_HEAP_MEM=3000
   9.172 -        ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA])
   9.173 -        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SERVER_JAVA,[$SERVER_JAVA])
   9.174 -        ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
   9.175 +        ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.176 +        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.177      elif test "$MEMORY_SIZE" -gt "3800"; then
   9.178          MAX_HEAP_MEM=2500
   9.179 -        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SERVER_JAVA,[$SERVER_JAVA])
   9.180 -        ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
   9.181 +        ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.182      elif test "$MEMORY_SIZE" -gt "1900"; then
   9.183          MAX_HEAP_MEM=1200
   9.184 -        ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1200M],SERVER_JAVA,[$SERVER_JAVA])
   9.185 -        ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA])
   9.186 +        ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1400M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.187      elif test "$MEMORY_SIZE" -gt "1000"; then
   9.188          MAX_HEAP_MEM=900
   9.189 -        ADD_JVM_ARG_IF_OK([-Xms400M -Xmx900M],SERVER_JAVA,[$SERVER_JAVA])
   9.190 -        ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA])
   9.191 +        ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.192      else
   9.193          MAX_HEAP_MEM=512
   9.194 -        ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SERVER_JAVA,[$SERVER_JAVA])
   9.195 -        ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA])
   9.196 +        ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.197      fi
   9.198  
   9.199 +    ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.200 +    ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.201 +    ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
   9.202 +
   9.203      MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501`
   9.204 -    if test "$JAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
   9.205 +    if test "$SJAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
   9.206          AC_MSG_CHECKING([if number of server cores must be reduced])
   9.207 -        JAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
   9.208 -        AC_MSG_RESULT([yes, to $JAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB])
   9.209 +        SJAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
   9.210 +        AC_MSG_RESULT([yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB])
   9.211      fi
   9.212  fi                    
   9.213 -AC_SUBST(JAVAC_SERVER_CORES)
   9.214 -
   9.215 -AC_MSG_CHECKING([whether to track dependencies between Java packages])
   9.216 -AC_ARG_ENABLE([javac-deps], [AS_HELP_STRING([--enable-javac-deps],
   9.217 -	[enable the dependency tracking between Java packages @<:@disabled@:>@])],
   9.218 -	[ENABLE_JAVAC_DEPS="${enableval}"], [ENABLE_JAVAC_DEPS='no'])
   9.219 -AC_MSG_RESULT([$ENABLE_JAVAC_DEPS])
   9.220 -if test "x$ENABLE_JAVAC_DEPS" = xyes; then
   9.221 -    JAVAC_USE_DEPS=true
   9.222 -else
   9.223 -    JAVAC_USE_DEPS=false
   9.224 -fi
   9.225 -AC_SUBST(JAVAC_USE_DEPS)
   9.226 -
   9.227 -AC_MSG_CHECKING([whether to use multiple cores for javac compilation])
   9.228 -AC_ARG_ENABLE([javac-multi-core], [AS_HELP_STRING([--enable-javac-multi-core],
   9.229 -	[compile Java packages concurrently @<:@disabled@:>@])],
   9.230 -	[ENABLE_JAVAC_MULTICORE="${enableval}"], [ENABLE_JAVAC_MULTICORE='no'])
   9.231 -AC_MSG_RESULT([$ENABLE_JAVAC_MULTICORE])
   9.232 -if test "x$ENABLE_JAVAC_MULTICORE" = xyes; then
   9.233 -    JAVAC_USE_MODE=MULTI_CORE_CONCURRENT
   9.234 -else
   9.235 -    JAVAC_USE_MODE=SINGLE_THREADED_BATCH
   9.236 -    if test "x$ENABLE_JAVAC_DEPS" = xyes; then
   9.237 -        AC_MSG_WARN([Dependency tracking is not supported with single threaded batch compiles of Java source roots. Please add --disable-javac-deps to your configure options.])
   9.238 -        AC_MSG_WARN([Disabling dependency tracking for you now.])
   9.239 -        JAVAC_USE_DEPS=false
   9.240 -    fi
   9.241 -    if test "x$ENABLE_JAVAC_SERVER" = xyes; then
   9.242 -        AC_MSG_WARN([The javac server will not be used since single threaded batch compiles are run within their own JVM. Please add --disable-javac-server to your configure options.])
   9.243 -        AC_MSG_WARN([Disabling javac server for you now.])
   9.244 -        JAVAC_USE_REMOTE=false
   9.245 -    fi
   9.246 -fi
   9.247 -AC_SUBST(JAVAC_USE_MODE)
   9.248 +AC_SUBST(SJAVAC_SERVER_CORES)
   9.249  
   9.250  AC_MSG_CHECKING([whether to use sjavac])
   9.251  AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
   9.252 @@ -375,4 +309,11 @@
   9.253  AC_MSG_RESULT([$ENABLE_SJAVAC])
   9.254  AC_SUBST(ENABLE_SJAVAC)
   9.255  
   9.256 +if test "x$ENABLE_SJAVAC" = xyes; then
   9.257 +    SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
   9.258 +else
   9.259 +    SJAVAC_SERVER_DIR=
   9.260 +fi
   9.261 +AC_SUBST(SJAVAC_SERVER_DIR)
   9.262 +
   9.263  ])
    10.1 --- a/common/autoconf/builddeps.conf.example	Thu Sep 06 17:27:20 2012 -0700
    10.2 +++ b/common/autoconf/builddeps.conf.example	Tue Sep 18 11:29:16 2012 -0700
    10.3 @@ -31,7 +31,7 @@
    10.4  
    10.5  # Translate a configuration triplet/quadruplet into something
    10.6  # known by this configuration file.
    10.7 -# If no rewrite was found, then rewritten_target=${OPENJDK_TARGET_SYSTEM}
    10.8 +# If no rewrite was found, then rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
    10.9  REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
   10.10  REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
   10.11   
    11.1 --- a/common/autoconf/builddeps.m4	Thu Sep 06 17:27:20 2012 -0700
    11.2 +++ b/common/autoconf/builddeps.m4	Tue Sep 18 11:29:16 2012 -0700
    11.3 @@ -52,19 +52,19 @@
    11.4          fi
    11.5          # Create build and target names that use _ instead of "-" and ".".
    11.6          # This is necessary to use them in variable names.
    11.7 -        build_var=`echo ${OPENJDK_BUILD_SYSTEM} | tr '-' '_' | tr '.' '_'`
    11.8 -        target_var=`echo ${OPENJDK_TARGET_SYSTEM} | tr '-' '_' | tr '.' '_'`
    11.9 +        build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
   11.10 +        target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
   11.11          # Extract rewrite information for build and target
   11.12          eval rewritten_build=\${REWRITE_${build_var}}
   11.13          if test "x$rewritten_build" = x; then
   11.14 -            rewritten_build=${OPENJDK_BUILD_SYSTEM}
   11.15 +            rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
   11.16              echo Build stays the same $rewritten_build
   11.17          else
   11.18              echo Rewriting build for builddeps into $rewritten_build
   11.19          fi
   11.20          eval rewritten_target=\${REWRITE_${target_var}}
   11.21          if test "x$rewritten_target" = x; then
   11.22 -            rewritten_target=${OPENJDK_TARGET_SYSTEM}
   11.23 +            rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
   11.24              echo Target stays the same $rewritten_target
   11.25          else
   11.26              echo Rewriting target for builddeps into $rewritten_target
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/common/autoconf/compare.sh.in	Tue Sep 18 11:29:16 2012 -0700
    12.3 @@ -0,0 +1,1669 @@
    12.4 +#!/bin/bash
    12.5 +#
    12.6 +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
    12.7 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12.8 +#
    12.9 +# This code is free software; you can redistribute it and/or modify it
   12.10 +# under the terms of the GNU General Public License version 2 only, as
   12.11 +# published by the Free Software Foundation.
   12.12 +#
   12.13 +# This code is distributed in the hope that it will be useful, but WITHOUT
   12.14 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   12.15 +# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   12.16 +# version 2 for more details (a copy is included in the LICENSE file that
   12.17 +# accompanied this code).
   12.18 +#
   12.19 +# You should have received a copy of the GNU General Public License version
   12.20 +# 2 along with this work; if not, write to the Free Software Foundation,
   12.21 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   12.22 +#
   12.23 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   12.24 +# or visit www.oracle.com if you need additional information or have any
   12.25 +# questions.
   12.26 +#
   12.27 +
   12.28 +# This script is processed by configure before it's usable. It is run from 
   12.29 +# the root of the build directory.
   12.30 +
   12.31 +
   12.32 +##########################################################################################
   12.33 +# Substitutions from autoconf
   12.34 +
   12.35 +LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
   12.36 +
   12.37 +OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
   12.38 +OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
   12.39 +
   12.40 +AWK="@AWK@"
   12.41 +CAT="@CAT@"
   12.42 +CMP="@CMP@"
   12.43 +CP="@CP@"
   12.44 +CUT="@CUT@"
   12.45 +DIFF="@DIFF@"
   12.46 +DUMPBIN="@UNCYGDRIVE@ @DUMPBIN@"
   12.47 +EXPR="@EXPR@"
   12.48 +FILE="@FILE@"
   12.49 +FIND="@FIND@"
   12.50 +GREP="@GREP@"
   12.51 +JAVAP="@UNCYGDRIVE@ @BOOT_JDK@/bin/javap"
   12.52 +LDD="@LDD@"
   12.53 +MKDIR="@MKDIR@"
   12.54 +NM="@NM@"
   12.55 +OBJDUMP="@OBJDUMP@"
   12.56 +OTOOL="@OTOOL@"
   12.57 +PRINTF="@PRINTF@"
   12.58 +READELF="@READELF@"
   12.59 +RM="@RM@"
   12.60 +SED="@SED@"
   12.61 +SORT="@SORT@"
   12.62 +STRIP="@POST_STRIP_CMD@"
   12.63 +TEE="@TEE@"
   12.64 +UNIQ="@UNIQ@"
   12.65 +UNZIP="@UNZIP@"
   12.66 +
   12.67 +SRC_ROOT="@SRC_ROOT@"
   12.68 +
   12.69 +if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
   12.70 +    READELF_CMD="otool -v -V -h -X -t -d"
   12.71 +elif [ -n "$READELF" ] && [ "$OPENJDK_TARGET_OS" != "windows" ]; then
   12.72 +    READELF_CMD="$READELF -a"
   12.73 +fi
   12.74 +
   12.75 +if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
   12.76 +    LDD_CMD="$OTOOL -L"
   12.77 +elif [ -n "$LDD" ]; then
   12.78 +    LDD_CMD="$LDD"
   12.79 +fi
   12.80 +
   12.81 +##########################################################################################
   12.82 +# Diff exceptions
   12.83 +
   12.84 +if [ "$OPENJDK_TARGET_OS" = "linux" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
   12.85 +STRIP_BEFORE_COMPARE="
   12.86 +./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
   12.87 +./demo/jvmti/gctest/lib/libgctest.so
   12.88 +./demo/jvmti/heapTracker/lib/libheapTracker.so
   12.89 +./demo/jvmti/heapViewer/lib/libheapViewer.so
   12.90 +./demo/jvmti/hprof/lib/libhprof.so
   12.91 +./demo/jvmti/minst/lib/libminst.so
   12.92 +./demo/jvmti/mtrace/lib/libmtrace.so
   12.93 +./demo/jvmti/versionCheck/lib/libversionCheck.so
   12.94 +./demo/jvmti/waiters/lib/libwaiters.so
   12.95 +"
   12.96 +
   12.97 +KNOWN_BIN_DIFF="
   12.98 +"
   12.99 +
  12.100 +ACCEPTED_BIN_DIFF="
  12.101 +./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  12.102 +./demo/jvmti/gctest/lib/libgctest.so
  12.103 +./demo/jvmti/heapTracker/lib/libheapTracker.so
  12.104 +./demo/jvmti/heapViewer/lib/libheapViewer.so
  12.105 +./demo/jvmti/hprof/lib/libhprof.so
  12.106 +./demo/jvmti/minst/lib/libminst.so
  12.107 +./demo/jvmti/mtrace/lib/libmtrace.so
  12.108 +./demo/jvmti/versionCheck/lib/libversionCheck.so
  12.109 +./demo/jvmti/waiters/lib/libwaiters.so
  12.110 +./jre/lib/amd64/libattach.so
  12.111 +./jre/lib/amd64/libdt_socket.so
  12.112 +./jre/lib/amd64/libhprof.so
  12.113 +./jre/lib/amd64/libinstrument.so
  12.114 +./jre/lib/amd64/libjava_crw_demo.so
  12.115 +./jre/lib/amd64/libjsdt.so
  12.116 +./jre/lib/amd64/libjsig.so
  12.117 +./jre/lib/amd64/libmanagement.so
  12.118 +./jre/lib/amd64/libnpt.so
  12.119 +./jre/lib/amd64/libsaproc.so
  12.120 +./jre/lib/amd64/libverify.so
  12.121 +./jre/lib/amd64/server/libjsig.so
  12.122 +./jre/lib/amd64/server/libjvm.so
  12.123 +./bin/appletviewer
  12.124 +./bin/extcheck
  12.125 +./bin/idlj
  12.126 +./bin/jar
  12.127 +./bin/jarsigner
  12.128 +./bin/java
  12.129 +./bin/javac
  12.130 +./bin/javadoc
  12.131 +./bin/javah
  12.132 +./bin/javap
  12.133 +./bin/jcmd
  12.134 +./bin/jconsole
  12.135 +./bin/jdb
  12.136 +./bin/jhat
  12.137 +./bin/jinfo
  12.138 +./bin/jmap
  12.139 +./bin/jps
  12.140 +./bin/jrunscript
  12.141 +./bin/jsadebugd
  12.142 +./bin/jstack
  12.143 +./bin/jstat
  12.144 +./bin/jstatd
  12.145 +./bin/keytool
  12.146 +./bin/native2ascii
  12.147 +./bin/orbd
  12.148 +./bin/pack200
  12.149 +./bin/policytool
  12.150 +./bin/rmic
  12.151 +./bin/rmid
  12.152 +./bin/rmiregistry
  12.153 +./bin/schemagen
  12.154 +./bin/serialver
  12.155 +./bin/servertool
  12.156 +./bin/tnameserv
  12.157 +./bin/wsgen
  12.158 +./bin/wsimport
  12.159 +./bin/xjc
  12.160 +./jre/bin/java
  12.161 +./jre/bin/keytool
  12.162 +./jre/bin/orbd
  12.163 +./jre/bin/pack200
  12.164 +./jre/bin/policytool
  12.165 +./jre/bin/rmid
  12.166 +./jre/bin/rmiregistry
  12.167 +./jre/bin/servertool
  12.168 +./jre/bin/tnameserv
  12.169 +"
  12.170 +
  12.171 +KNOWN_SIZE_DIFF="
  12.172 +"
  12.173 +
  12.174 +KNOWN_SYM_DIFF="
  12.175 +"
  12.176 +
  12.177 +KNOWN_ELF_DIFF="
  12.178 +./demo/jvmti/heapTracker/lib/libheapTracker.so
  12.179 +./demo/jvmti/hprof/lib/libhprof.so
  12.180 +./demo/jvmti/waiters/lib/libwaiters.so
  12.181 +"
  12.182 +fi
  12.183 +
  12.184 +if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
  12.185 +
  12.186 +STRIP_BEFORE_COMPARE="
  12.187 +./demo/jni/Poller/lib/libPoller.so
  12.188 +./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  12.189 +./demo/jvmti/gctest/lib/libgctest.so
  12.190 +./demo/jvmti/heapTracker/lib/libheapTracker.so
  12.191 +./demo/jvmti/heapViewer/lib/libheapViewer.so
  12.192 +./demo/jvmti/hprof/lib/libhprof.so
  12.193 +./demo/jvmti/minst/lib/libminst.so
  12.194 +./demo/jvmti/mtrace/lib/libmtrace.so
  12.195 +./demo/jvmti/versionCheck/lib/libversionCheck.so
  12.196 +./demo/jvmti/waiters/lib/libwaiters.so
  12.197 +./jre/lib/i386/jexec
  12.198 +"
  12.199 +
  12.200 +SORT_SYMBOLS="
  12.201 +./jre/lib/i386/client/libjvm.so
  12.202 +./jre/lib/i386/server/libjvm.so
  12.203 +"
  12.204 +
  12.205 +SKIP_BIN_DIFF="true"
  12.206 +
  12.207 +ACCEPTED_SMALL_SIZE_DIFF="
  12.208 +./demo/jni/Poller/lib/libPoller.so
  12.209 +./demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
  12.210 +./demo/jvmti/gctest/lib/libgctest.so
  12.211 +./demo/jvmti/heapTracker/lib/libheapTracker.so
  12.212 +./demo/jvmti/heapViewer/lib/libheapViewer.so
  12.213 +./demo/jvmti/hprof/lib/libhprof.so
  12.214 +./demo/jvmti/minst/lib/libminst.so
  12.215 +./demo/jvmti/mtrace/lib/libmtrace.so
  12.216 +./demo/jvmti/versionCheck/lib/libversionCheck.so
  12.217 +./demo/jvmti/waiters/lib/libwaiters.so
  12.218 +./jre/lib/i386/client/libjvm.so
  12.219 +./jre/lib/i386/jli/libjli.so
  12.220 +./jre/lib/i386/libJdbcOdbc.so
  12.221 +./jre/lib/i386/libattach.so
  12.222 +./jre/lib/i386/libawt.so
  12.223 +./jre/lib/i386/libawt_headless.so
  12.224 +./jre/lib/i386/libawt_xawt.so
  12.225 +./jre/lib/i386/libdcpr.so
  12.226 +./jre/lib/i386/libdt_socket.so
  12.227 +./jre/lib/i386/libfontmanager.so
  12.228 +./jre/lib/i386/libhprof.so
  12.229 +./jre/lib/i386/libinstrument.so
  12.230 +./jre/lib/i386/libj2gss.so
  12.231 +./jre/lib/i386/libj2pcsc.so
  12.232 +./jre/lib/i386/libj2pkcs11.so
  12.233 +./jre/lib/i386/libj2ucrypto.so
  12.234 +./jre/lib/i386/libjaas_unix.so
  12.235 +./jre/lib/i386/libjava.so
  12.236 +./jre/lib/i386/libjava_crw_demo.so
  12.237 +./jre/lib/i386/libjawt.so
  12.238 +./jre/lib/i386/libjdwp.so
  12.239 +./jre/lib/i386/libjfr.so
  12.240 +./jre/lib/i386/libjpeg.so
  12.241 +./jre/lib/i386/libjsdt.so
  12.242 +./jre/lib/i386/libjsound.so
  12.243 +./jre/lib/i386/libkcms.so
  12.244 +./jre/lib/i386/libmanagement.so
  12.245 +./jre/lib/i386/libmlib_image.so
  12.246 +./jre/lib/i386/libnet.so
  12.247 +./jre/lib/i386/libnio.so
  12.248 +./jre/lib/i386/libnpt.so
  12.249 +./jre/lib/i386/libsctp.so
  12.250 +./jre/lib/i386/libsplashscreen.so
  12.251 +./jre/lib/i386/libsunec.so
  12.252 +./jre/lib/i386/libsunwjdga.so
  12.253 +./jre/lib/i386/libt2k.so
  12.254 +./jre/lib/i386/libunpack.so
  12.255 +./jre/lib/i386/libverify.so
  12.256 +./jre/lib/i386/libzip.so
  12.257 +./jre/lib/i386/server/libjvm.so
  12.258 +./bin/appletviewer
  12.259 +./bin/extcheck
  12.260 +./bin/idlj
  12.261 +./bin/jar
  12.262 +./bin/jarsigner
  12.263 +./bin/java
  12.264 +./bin/javac
  12.265 +./bin/javadoc
  12.266 +./bin/javah
  12.267 +./bin/javap
  12.268 +./bin/jcmd
  12.269 +./bin/jconsole
  12.270 +./bin/jdb
  12.271 +./bin/jhat
  12.272 +./bin/jinfo
  12.273 +./bin/jmap
  12.274 +./bin/jps
  12.275 +./bin/jrunscript
  12.276 +./bin/jsadebugd
  12.277 +./bin/jstack
  12.278 +./bin/jstat
  12.279 +./bin/jstatd
  12.280 +./bin/keytool
  12.281 +./bin/native2ascii
  12.282 +./bin/orbd
  12.283 +./bin/pack200
  12.284 +./bin/policytool
  12.285 +./bin/rmic
  12.286 +./bin/rmid
  12.287 +./bin/rmiregistry
  12.288 +./bin/schemagen
  12.289 +./bin/serialver
  12.290 +./bin/servertool
  12.291 +./bin/tnameserv
  12.292 +./bin/unpack200
  12.293 +./bin/wsgen
  12.294 +./bin/wsimport
  12.295 +./bin/xjc
  12.296 +./jre/bin/java
  12.297 +./jre/bin/keytool
  12.298 +./jre/bin/orbd
  12.299 +./jre/bin/pack200
  12.300 +./jre/bin/policytool
  12.301 +./jre/bin/rmid
  12.302 +./jre/bin/rmiregistry
  12.303 +./jre/bin/servertool
  12.304 +./jre/bin/tnameserv
  12.305 +./jre/bin/unpack200
  12.306 +./jre/lib/i386/jexec
  12.307 +"
  12.308 +
  12.309 +SKIP_ELF_DIFF="true"
  12.310 +
  12.311 +# libjvm.so differs in the random 15 char prefix on some symbols.
  12.312 +ACCEPTED_DIS_DIFF="
  12.313 +./jre/lib/i386/client/libjvm.so
  12.314 +./jre/lib/i386/server/libjvm.so
  12.315 +"
  12.316 +
  12.317 +fi
  12.318 +
  12.319 +if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
  12.320 +
  12.321 +STRIP_BEFORE_COMPARE="
  12.322 +./demo/jni/Poller/lib/amd64/libPoller.so
  12.323 +./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
  12.324 +./demo/jvmti/gctest/lib/amd64/libgctest.so
  12.325 +./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
  12.326 +./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
  12.327 +./demo/jvmti/hprof/lib/amd64/libhprof.so
  12.328 +./demo/jvmti/minst/lib/amd64/libminst.so
  12.329 +./demo/jvmti/mtrace/lib/amd64/libmtrace.so
  12.330 +./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
  12.331 +./demo/jvmti/waiters/lib/amd64/libwaiters.so
  12.332 +"
  12.333 +
  12.334 +SORT_SYMBOLS="
  12.335 +./jre/lib/amd64/server/libjvm.so
  12.336 +"
  12.337 +
  12.338 +SKIP_BIN_DIFF="true"
  12.339 +
  12.340 +ACCEPTED_SMALL_SIZE_DIFF="
  12.341 +./demo/jni/Poller/lib/amd64/libPoller.so
  12.342 +./demo/jvmti/compiledMethodLoad/lib/amd64/libcompiledMethodLoad.so
  12.343 +./demo/jvmti/gctest/lib/amd64/libgctest.so
  12.344 +./demo/jvmti/heapTracker/lib/amd64/libheapTracker.so
  12.345 +./demo/jvmti/heapViewer/lib/amd64/libheapViewer.so
  12.346 +./demo/jvmti/hprof/lib/amd64/libhprof.so
  12.347 +./demo/jvmti/minst/lib/amd64/libminst.so
  12.348 +./demo/jvmti/mtrace/lib/amd64/libmtrace.so
  12.349 +./demo/jvmti/versionCheck/lib/amd64/libversionCheck.so
  12.350 +./demo/jvmti/waiters/lib/amd64/libwaiters.so
  12.351 +./jre/lib/amd64/jli/libjli.so
  12.352 +./jre/lib/amd64/libJdbcOdbc.so
  12.353 +./jre/lib/amd64/libattach.so
  12.354 +./jre/lib/amd64/libawt.so
  12.355 +./jre/lib/amd64/libawt_headless.so
  12.356 +./jre/lib/amd64/libawt_xawt.so
  12.357 +./jre/lib/amd64/libdcpr.so
  12.358 +./jre/lib/amd64/libdt_socket.so
  12.359 +./jre/lib/amd64/libfontmanager.so
  12.360 +./jre/lib/amd64/libhprof.so
  12.361 +./jre/lib/amd64/libinstrument.so
  12.362 +./jre/lib/amd64/libj2gss.so
  12.363 +./jre/lib/amd64/libj2pcsc.so
  12.364 +./jre/lib/amd64/libj2pkcs11.so
  12.365 +./jre/lib/amd64/libj2ucrypto.so
  12.366 +./jre/lib/amd64/libjaas_unix.so
  12.367 +./jre/lib/amd64/libjava.so
  12.368 +./jre/lib/amd64/libjava_crw_demo.so
  12.369 +./jre/lib/amd64/libjawt.so
  12.370 +./jre/lib/amd64/libjdwp.so
  12.371 +./jre/lib/amd64/libjfr.so
  12.372 +./jre/lib/amd64/libjpeg.so
  12.373 +./jre/lib/amd64/libjsdt.so
  12.374 +./jre/lib/amd64/libjsound.so
  12.375 +./jre/lib/amd64/libkcms.so
  12.376 +./jre/lib/amd64/libmanagement.so
  12.377 +./jre/lib/amd64/libmlib_image.so
  12.378 +./jre/lib/amd64/libnet.so
  12.379 +./jre/lib/amd64/libnio.so
  12.380 +./jre/lib/amd64/libnpt.so
  12.381 +./jre/lib/amd64/libsctp.so
  12.382 +./jre/lib/amd64/libsplashscreen.so
  12.383 +./jre/lib/amd64/libsunec.so
  12.384 +./jre/lib/amd64/libsunwjdga.so
  12.385 +./jre/lib/amd64/libt2k.so
  12.386 +./jre/lib/amd64/libunpack.so
  12.387 +./jre/lib/amd64/libverify.so
  12.388 +./jre/lib/amd64/libzip.so
  12.389 +./jre/lib/amd64/server/64/libjvm_db.so
  12.390 +./jre/lib/amd64/server/64/libjvm_dtrace.so
  12.391 +./bin/amd64/appletviewer
  12.392 +./bin/amd64/extcheck
  12.393 +./bin/amd64/idlj
  12.394 +./bin/amd64/jar
  12.395 +./bin/amd64/jarsigner
  12.396 +./bin/amd64/java
  12.397 +./bin/amd64/javac
  12.398 +./bin/amd64/javadoc
  12.399 +./bin/amd64/javah
  12.400 +./bin/amd64/javap
  12.401 +./bin/amd64/jcmd
  12.402 +./bin/amd64/jconsole
  12.403 +./bin/amd64/jdb
  12.404 +./bin/amd64/jhat
  12.405 +./bin/amd64/jinfo
  12.406 +./bin/amd64/jmap
  12.407 +./bin/amd64/jps
  12.408 +./bin/amd64/jrunscript
  12.409 +./bin/amd64/jsadebugd
  12.410 +./bin/amd64/jstack
  12.411 +./bin/amd64/jstat
  12.412 +./bin/amd64/jstatd
  12.413 +./bin/amd64/keytool
  12.414 +./bin/amd64/native2ascii
  12.415 +./bin/amd64/orbd
  12.416 +./bin/amd64/pack200
  12.417 +./bin/amd64/policytool
  12.418 +./bin/amd64/rmic
  12.419 +./bin/amd64/rmid
  12.420 +./bin/amd64/rmiregistry
  12.421 +./bin/amd64/schemagen
  12.422 +./bin/amd64/serialver
  12.423 +./bin/amd64/servertool
  12.424 +./bin/amd64/tnameserv
  12.425 +./bin/amd64/unpack200
  12.426 +./bin/amd64/wsgen
  12.427 +./bin/amd64/wsimport
  12.428 +./bin/amd64/xjc
  12.429 +./jre/bin/amd64/java
  12.430 +./jre/bin/amd64/keytool
  12.431 +./jre/bin/amd64/orbd
  12.432 +./jre/bin/amd64/pack200
  12.433 +./jre/bin/amd64/policytool
  12.434 +./jre/bin/amd64/rmid
  12.435 +./jre/bin/amd64/rmiregistry
  12.436 +./jre/bin/amd64/servertool
  12.437 +./jre/bin/amd64/tnameserv
  12.438 +./jre/bin/amd64/unpack200
  12.439 +./jre/lib/amd64/jexec
  12.440 +"
  12.441 +
  12.442 +SKIP_ELF_DIFF="true"
  12.443 +
  12.444 +# Can't find an explaination for the diff in libmlib_image.so.
  12.445 +KNOWN_DIS_DIFF="
  12.446 +./jre/lib/amd64/libmlib_image.so
  12.447 +"
  12.448 +# libjvm.so differs in the random 15 char prefix on some symbols.
  12.449 +ACCEPTED_DIS_DIFF="
  12.450 +./jre/lib/amd64/server/libjvm.so
  12.451 +"
  12.452 +
  12.453 +fi
  12.454 +
  12.455 +if [ "$OPENJDK_TARGET_OS" = "windows" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
  12.456 +
  12.457 +ACCEPTED_BIN_DIFF="
  12.458 +./bin/jli.dll
  12.459 +./demo/jvmti/compiledMethodLoad/lib/compiledMethodLoad.dll
  12.460 +./demo/jvmti/gctest/lib/gctest.dll
  12.461 +./demo/jvmti/heapTracker/lib/heapTracker.dll
  12.462 +./demo/jvmti/heapViewer/lib/heapViewer.dll
  12.463 +./demo/jvmti/hprof/lib/hprof.dll
  12.464 +./demo/jvmti/minst/lib/minst.dll
  12.465 +./demo/jvmti/mtrace/lib/mtrace.dll
  12.466 +./demo/jvmti/versionCheck/lib/versionCheck.dll
  12.467 +./demo/jvmti/waiters/lib/waiters.dll
  12.468 +./jre/bin/attach.dll
  12.469 +./jre/bin/awt.dll
  12.470 +./jre/bin/dcpr.dll
  12.471 +./jre/bin/dt_shmem.dll
  12.472 +./jre/bin/dt_socket.dll
  12.473 +./jre/bin/fontmanager.dll
  12.474 +./jre/bin/hprof.dll
  12.475 +./jre/bin/instrument.dll
  12.476 +./jre/bin/j2pcsc.dll
  12.477 +./jre/bin/j2pkcs11.dll
  12.478 +./jre/bin/jaas_nt.dll
  12.479 +./jre/bin/java.dll
  12.480 +./jre/bin/java_crw_demo.dll
  12.481 +./jre/bin/jawt.dll
  12.482 +./jre/bin/JdbcOdbc.dll
  12.483 +./jre/bin/jdwp.dll
  12.484 +./jre/bin/jfr.dll
  12.485 +./jre/bin/jli.dll
  12.486 +./jre/bin/jpeg.dll
  12.487 +./jre/bin/jsdt.dll
  12.488 +./jre/bin/jsound.dll
  12.489 +./jre/bin/jsoundds.dll
  12.490 +./jre/bin/kcms.dll
  12.491 +./jre/bin/management.dll
  12.492 +./jre/bin/mlib_image.dll
  12.493 +./jre/bin/net.dll
  12.494 +./jre/bin/nio.dll
  12.495 +./jre/bin/npt.dll
  12.496 +./jre/bin/sawindbg.dll
  12.497 +./jre/bin/server/jvm.dll
  12.498 +./jre/bin/splashscreen.dll
  12.499 +./jre/bin/sunec.dll
  12.500 +./jre/bin/sunmscapi.dll
  12.501 +./jre/bin/t2k.dll
  12.502 +./jre/bin/unpack.dll
  12.503 +./jre/bin/verify.dll
  12.504 +./jre/bin/w2k_lsa_auth.dll
  12.505 +./jre/bin/zip.dll
  12.506 +./bin/appletviewer.exe
  12.507 +./bin/extcheck.exe
  12.508 +./bin/idlj.exe
  12.509 +./bin/jar.exe
  12.510 +./bin/jarsigner.exe
  12.511 +./bin/java.exe
  12.512 +./bin/javac.exe
  12.513 +./bin/javadoc.exe
  12.514 +./bin/javah.exe
  12.515 +./bin/javap.exe
  12.516 +./bin/java-rmi.exe
  12.517 +./bin/javaw.exe
  12.518 +./bin/jcmd.exe
  12.519 +./bin/jconsole.exe
  12.520 +./bin/jdb.exe
  12.521 +./bin/jhat.exe
  12.522 +./bin/jinfo.exe
  12.523 +./bin/jmap.exe
  12.524 +./bin/jps.exe
  12.525 +./bin/jrunscript.exe
  12.526 +./bin/jsadebugd.exe
  12.527 +./bin/jstack.exe
  12.528 +./bin/jstat.exe
  12.529 +./bin/jstatd.exe
  12.530 +./bin/keytool.exe
  12.531 +./bin/kinit.exe
  12.532 +./bin/klist.exe
  12.533 +./bin/ktab.exe
  12.534 +./bin/native2ascii.exe
  12.535 +./bin/orbd.exe
  12.536 +./bin/pack200.exe
  12.537 +./bin/policytool.exe
  12.538 +./bin/rmic.exe
  12.539 +./bin/rmid.exe
  12.540 +./bin/rmiregistry.exe
  12.541 +./bin/schemagen.exe
  12.542 +./bin/serialver.exe
  12.543 +./bin/servertool.exe
  12.544 +./bin/tnameserv.exe
  12.545 +./bin/unpack200.exe
  12.546 +./bin/wsgen.exe
  12.547 +./bin/wsimport.exe
  12.548 +./bin/xjc.exe
  12.549 +./jre/bin/java.exe
  12.550 +./jre/bin/java-rmi.exe
  12.551 +./jre/bin/javaw.exe
  12.552 +./jre/bin/keytool.exe
  12.553 +./jre/bin/kinit.exe
  12.554 +./jre/bin/klist.exe
  12.555 +./jre/bin/ktab.exe
  12.556 +./jre/bin/orbd.exe
  12.557 +./jre/bin/pack200.exe
  12.558 +./jre/bin/policytool.exe
  12.559 +./jre/bin/rmid.exe
  12.560 +./jre/bin/rmiregistry.exe
  12.561 +./jre/bin/servertool.exe
  12.562 +./jre/bin/tnameserv.exe
  12.563 +./jre/bin/unpack200.exe
  12.564 +"
  12.565 +
  12.566 +KNOWN_SIZE_DIFF="
  12.567 +./demo/jvmti/heapTracker/lib/heapTracker.dll
  12.568 +./demo/jvmti/minst/lib/minst.dll
  12.569 +./jre/bin/awt.dll
  12.570 +./jre/bin/java_crw_demo.dll
  12.571 +./bin/java.exe
  12.572 +./bin/javaw.exe
  12.573 +./bin/unpack200.exe
  12.574 +./jre/bin/java.exe
  12.575 +./jre/bin/javaw.exe
  12.576 +./jre/bin/unpack200.exe
  12.577 +"
  12.578 +
  12.579 +KNOWN_SYM_DIFF="
  12.580 +./jre/bin/awt.dll
  12.581 +./jre/bin/java_crw_demo.dll
  12.582 +"
  12.583 +fi
  12.584 +
  12.585 +
  12.586 +
  12.587 +if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
  12.588 +ACCEPTED_JARZIP_CONTENTS="
  12.589 +/META-INF/INDEX.LIST
  12.590 +"
  12.591 +
  12.592 +KNOWN_BIN_DIFF="
  12.593 +./jre/lib/libJObjC.dylib
  12.594 +./jre/lib/libsaproc.dylib
  12.595 +./jre/lib/server/libjvm.dylib
  12.596 +"
  12.597 +
  12.598 +ACCEPTED_BIN_DIFF="
  12.599 +./bin/appletviewer
  12.600 +./bin/extcheck
  12.601 +./bin/idlj
  12.602 +./bin/jar
  12.603 +./bin/jarsigner
  12.604 +./bin/java
  12.605 +./bin/javac
  12.606 +./bin/javadoc
  12.607 +./bin/javah
  12.608 +./bin/javap
  12.609 +./bin/jcmd
  12.610 +./bin/jconsole
  12.611 +./bin/jdb
  12.612 +./bin/jhat
  12.613 +./bin/jinfo
  12.614 +./bin/jmap
  12.615 +./bin/jps
  12.616 +./bin/jrunscript
  12.617 +./bin/jsadebugd
  12.618 +./bin/jstack
  12.619 +./bin/jstat
  12.620 +./bin/jstatd
  12.621 +./bin/keytool
  12.622 +./bin/native2ascii
  12.623 +./bin/orbd
  12.624 +./bin/pack200
  12.625 +./bin/policytool
  12.626 +./bin/rmic
  12.627 +./bin/rmid
  12.628 +./bin/rmiregistry
  12.629 +./bin/schemagen
  12.630 +./bin/serialver
  12.631 +./bin/servertool
  12.632 +./bin/tnameserv
  12.633 +./bin/wsgen
  12.634 +./bin/wsimport
  12.635 +./bin/xjc
  12.636 +./jre/bin/java
  12.637 +./jre/bin/keytool
  12.638 +./jre/bin/orbd
  12.639 +./jre/bin/pack200
  12.640 +./jre/bin/policytool
  12.641 +./jre/bin/rmid
  12.642 +./jre/bin/rmiregistry
  12.643 +./jre/bin/servertool
  12.644 +./jre/bin/tnameserv
  12.645 +"
  12.646 +
  12.647 +KNOWN_SIZE_DIFF="
  12.648 +./jre/lib/libJObjC.dylib
  12.649 +./jre/lib/server/libjvm.dylib
  12.650 +"
  12.651 +
  12.652 +KNOWN_SYM_DIFF="
  12.653 +./jre/lib/libJObjC.dylib
  12.654 +./jre/lib/server/libjvm.dylib
  12.655 +"
  12.656 +
  12.657 +KNOWN_ELF_DIFF="
  12.658 +./jre/lib/libJObjC.dylib
  12.659 +./jre/lib/server/libjvm.dylib
  12.660 +"
  12.661 +
  12.662 +SKIP_DIS_DIFF="true"
  12.663 +
  12.664 +fi
  12.665 +
  12.666 +##########################################################################################
  12.667 +# Compare text files and ignore specific differences:
  12.668 +#
  12.669 +#  * Timestamps in Java sources generated by idl2java
  12.670 +#  * Sorting order and cleanup style in .properties files
  12.671 +
  12.672 +diff_text() {
  12.673 +    OTHER_FILE=$1
  12.674 +    THIS_FILE=$2
  12.675 +
  12.676 +    SUFFIX="${THIS_FILE##*.}"
  12.677 +
  12.678 +    TMP=1
  12.679 +
  12.680 +    if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then
  12.681 +        TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \
  12.682 +            $GREP '^[<>]' | \
  12.683 +            $SED -e '/[<>] Ant-Version: Apache Ant .*/d' \
  12.684 +	         -e '/[<>] Created-By: .* (Oracle Corporation).*/d')
  12.685 +    fi
  12.686 +    if test "x$SUFFIX" = "xjava"; then
  12.687 +        TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \
  12.688 +            $GREP '^[<>]' | \
  12.689 +            $SED -e '/[<>] \* from.*\.idl/d' \
  12.690 +                 -e '/[<>] \*.*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
  12.691 +                 -e '/[<>] \*.*[0-9]\{4\} [0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \
  12.692 +                 -e '/\/\/ Generated from input file.*/d' \
  12.693 +                 -e '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' \
  12.694 +                 -e '/\/\/ java GenerateCharacter.*/d')
  12.695 +    fi
  12.696 +    # Ignore date strings in class files.
  12.697 +    # On Macosx the system sources for generated java classes produce different output on 
  12.698 +    # consequtive invokations seemingly randomly.
  12.699 +    # For example a method parameter randomly named "thePoint" or "aPoint". Ignore this.
  12.700 +    if test "x$SUFFIX" = "xclass"; then
  12.701 +        $JAVAP -c -constants -l -p ${OTHER_FILE} >  ${OTHER_FILE}.javap
  12.702 +        $JAVAP -c -constants -l -p ${THIS_FILE} > ${THIS_FILE}.javap
  12.703 +        TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
  12.704 +            $GREP '^[<>]' | \
  12.705 +            $SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
  12.706 +	         -e '/[<>].*Point   Lcom\/apple\/jobjc\/foundation\/NSPoint;/d' \
  12.707 +	         -e '/[<>].*public com\.apple\.jobjc\.Pointer<com\.apple\.jobjc\..*itemsPtr();/d' \
  12.708 +	         -e '/[<>].*public void setItemsPtr(com\.apple\.jobjc\.Pointer<com\.apple\.jobjc\..*);/d')
  12.709 +    fi
  12.710 +    if test "x$SUFFIX" = "xproperties"; then
  12.711 +        $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e  's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
  12.712 +            | $SED -f "$SRC_ROOT/common/bin/unicode2x.sed" \
  12.713 +  	    | $SED -e '/^#/d' -e '/^$/d' \
  12.714 +            -e :a -e '/\\$/N; s/\\\n//; ta' \
  12.715 +  	    -e 's/^[ \t]*//;s/[ \t]*$//' \
  12.716 +	    -e 's/\\=/=/' | LANG=C $SORT > $OTHER_FILE.cleaned
  12.717 +        TMP=$(LANG=C $DIFF $OTHER_FILE.cleaned $THIS_FILE)
  12.718 +    fi
  12.719 +    if test -n "$TMP"; then
  12.720 +        echo Files $OTHER_FILE and $THIS_FILE differ
  12.721 +        return 1
  12.722 +    fi
  12.723 +
  12.724 +    return 0
  12.725 +}
  12.726 +
  12.727 +##########################################################################################
  12.728 +# Compare directory structure
  12.729 +
  12.730 +compare_dirs() {
  12.731 +    THIS_DIR=$1
  12.732 +    OTHER_DIR=$2
  12.733 +    WORK_DIR=$3
  12.734 +
  12.735 +    mkdir -p $WORK_DIR
  12.736 +
  12.737 +    (cd $OTHER_DIR && $FIND . -type d | $SORT > $WORK_DIR/other_dirs)
  12.738 +    (cd $THIS_DIR && $FIND . -type d | $SORT > $WORK_DIR/this_dirs)
  12.739 +    
  12.740 +    echo -n Directory structure...
  12.741 +    if $DIFF $WORK_DIR/other_dirs $WORK_DIR/this_dirs > /dev/null; then
  12.742 +        echo Identical!
  12.743 +    else
  12.744 +        echo Differences found.
  12.745 +        REGRESSIONS=true
  12.746 +    # Differences in directories found.
  12.747 +        ONLY_OTHER=$($DIFF $WORK_DIR/other_dirs $WORK_DIR/this_dirs | $GREP '<')
  12.748 +        if [ "$ONLY_OTHER" ]; then
  12.749 +            echo Only in $OTHER
  12.750 +            echo $ONLY_OTHER | $SED 's|< ./|\t|g' | $SED 's/ /\n/g'
  12.751 +        fi
  12.752 +    # Differences in directories found.
  12.753 +        ONLY_THIS=$($DIFF $WORK_DIR/other_dirs $WORK_DIR/this_dirs | $GREP '>')
  12.754 +        if [ "$ONLY_THIS" ]; then
  12.755 +            echo Only in $THIS
  12.756 +            echo $ONLY_THIS | $SED 's|> ./|\t|g' | $SED 's/ /\n/g'
  12.757 +        fi
  12.758 +    fi
  12.759 +}
  12.760 +
  12.761 +
  12.762 +##########################################################################################
  12.763 +# Compare file structure
  12.764 +
  12.765 +compare_files() {
  12.766 +    THIS_DIR=$1
  12.767 +    OTHER_DIR=$2
  12.768 +    WORK_DIR=$3
  12.769 +
  12.770 +    mkdir -p $WORK_DIR
  12.771 +
  12.772 +    (cd $OTHER_DIR && $FIND . -type f | $SORT > $WORK_DIR/other_files)
  12.773 +    (cd $THIS_DIR && $FIND . -type f | $SORT > $WORK_DIR/this_files)
  12.774 +    
  12.775 +    echo -n File names...
  12.776 +    if diff $WORK_DIR/other_files $WORK_DIR/this_files > /dev/null; then
  12.777 +        echo Identical!
  12.778 +    else
  12.779 +        echo Differences found.
  12.780 +        REGRESSIONS=true
  12.781 +    # Differences in directories found.
  12.782 +        ONLY_OTHER=$(diff $WORK_DIR/other_files $WORK_DIR/this_files | $GREP '<')
  12.783 +        if [ "$ONLY_OTHER" ]; then
  12.784 +            echo Only in $OTHER
  12.785 +            echo "$ONLY_OTHER" | sed 's|< ./|    |g'
  12.786 +        fi
  12.787 +    # Differences in directories found.
  12.788 +        ONLY_THIS=$(diff $WORK_DIR/other_files $WORK_DIR/this_files | $GREP '>')
  12.789 +        if [ "$ONLY_THIS" ]; then
  12.790 +            echo Only in $THIS
  12.791 +            echo "$ONLY_THIS" | sed 's|> ./|    |g'
  12.792 +        fi
  12.793 +    fi
  12.794 +}
  12.795 +
  12.796 +
  12.797 +##########################################################################################
  12.798 +# Compare permissions
  12.799 +
  12.800 +compare_permissions() {
  12.801 +    THIS_DIR=$1
  12.802 +    OTHER_DIR=$2
  12.803 +    WORK_DIR=$3
  12.804 +
  12.805 +    mkdir -p $WORK_DIR
  12.806 +
  12.807 +    echo -n Permissions...
  12.808 +    found=""
  12.809 +    for f in `cd $OTHER_DIR && $FIND . -type f`
  12.810 +    do
  12.811 +        if [ ! -f ${OTHER_DIR}/$f ]; then continue; fi
  12.812 +        if [ ! -f ${THIS_DIR}/$f ]; then continue; fi
  12.813 +        OP=`ls -l ${OTHER_DIR}/$f | awk '{printf("%.10s\n", $1);}'`
  12.814 +        TP=`ls -l ${THIS_DIR}/$f | awk '{printf("%.10s\n", $1);}'`
  12.815 +        if [ "$OP" != "$TP" ]
  12.816 +        then
  12.817 +	    if [ -z "$found" ]; then echo ; found="yes"; fi
  12.818 +	    $PRINTF "\told: ${OP} new: ${TP}\t$f\n"
  12.819 +        fi
  12.820 +    done
  12.821 +    if [ -z "$found" ]; then 
  12.822 +        echo "Identical!"
  12.823 +    else
  12.824 +        REGRESSIONS=true
  12.825 +    fi
  12.826 +}
  12.827 +
  12.828 +##########################################################################################
  12.829 +# Compare file command output
  12.830 +
  12.831 +compare_file_types() {
  12.832 +    THIS_DIR=$1
  12.833 +    OTHER_DIR=$2
  12.834 +    WORK_DIR=$3
  12.835 +
  12.836 +    $MKDIR -p $WORK_DIR
  12.837 +
  12.838 +    echo -n File types...
  12.839 +    found=""
  12.840 +    for f in `cd $OTHER_DIR && $FIND . -type f`
  12.841 +    do
  12.842 +        if [ ! -f ${OTHER_DIR}/$f ]; then continue; fi
  12.843 +        if [ ! -f ${THIS_DIR}/$f ]; then continue; fi
  12.844 +        OF=`cd ${OTHER_DIR} && $FILE $f`
  12.845 +        TF=`cd ${THIS_DIR} && $FILE $f`
  12.846 +        if [ "$f" = "./src.zip" ] || [ "$f" = "./jre/lib/JObjC.jar" ] || [ "$f" = "./lib/JObjC.jar" ]
  12.847 +        then
  12.848 +	    if [ "`echo $OF | $GREP -ic zip`" -gt 0 -a "`echo $TF | $GREP -ic zip`" -gt 0 ]
  12.849 +	    then
  12.850 +	        # the way we produces zip-files make it so that directories are stored in old file
  12.851 +	        # but not in new (only files with full-path)
  12.852 +	        # this makes file-5.09 report them as different
  12.853 +	        continue;
  12.854 +	    fi
  12.855 +        fi
  12.856 +        
  12.857 +        if [ "$OF" != "$TF" ]
  12.858 +        then
  12.859 +	    if [ -z "$found" ]; then echo ; found="yes"; fi
  12.860 +	    $PRINTF "\tother: ${OF}\n\tthis : ${TF}\n"
  12.861 +        fi
  12.862 +    done
  12.863 +    if [ -z "$found" ]; then 
  12.864 +        echo "Identical!"
  12.865 +    else
  12.866 +        REGRESSIONS=true
  12.867 +    fi
  12.868 +}
  12.869 +
  12.870 +##########################################################################################
  12.871 +# Compare the rest of the files
  12.872 +
  12.873 +compare_general_files() {
  12.874 +    THIS_DIR=$1
  12.875 +    OTHER_DIR=$2
  12.876 +    WORK_DIR=$3
  12.877 +    
  12.878 +    GENERAL_FILES=$(cd $THIS_DIR && $FIND . -type f ! -name "*.so" ! -name "*.jar" ! -name "*.zip" \
  12.879 +        ! -name "*.debuginfo" ! -name "*.dylib" ! -name "jexec" \
  12.880 +        ! -name "ct.sym" ! -name "*.diz" ! -name "*.dll" \
  12.881 +        ! -name "*.pdb" ! -name "*.exp" ! -name "*.ilk" \
  12.882 +        ! -name "*.lib" \
  12.883 +        | $GREP -v "./bin/"  | $SORT | $FILTER)
  12.884 +
  12.885 +    echo General files...
  12.886 +    for f in $GENERAL_FILES
  12.887 +    do
  12.888 +        if [ -e $OTHER_DIR/$f ]; then
  12.889 +            DIFF_OUT=$($DIFF $OTHER_DIR/$f $THIS_DIR/$f 2>&1)
  12.890 +            if [ -n "$DIFF_OUT" ]; then
  12.891 +                echo $f
  12.892 +                REGRESSIONS=true
  12.893 +                if [ "$SHOW_DIFFS" = "true" ]; then
  12.894 +                    echo "$DIFF_OUT"
  12.895 +                fi
  12.896 +            fi
  12.897 +        fi
  12.898 +    done
  12.899 +
  12.900 +
  12.901 +}
  12.902 +
  12.903 +##########################################################################################
  12.904 +# Compare zip file
  12.905 +
  12.906 +compare_zip_file() {
  12.907 +    THIS_DIR=$1
  12.908 +    OTHER_DIR=$2
  12.909 +    WORK_DIR=$3
  12.910 +    ZIP_FILE=$4
  12.911 +
  12.912 +    THIS_ZIP=$THIS_DIR/$ZIP_FILE
  12.913 +    OTHER_ZIP=$OTHER_DIR/$ZIP_FILE
  12.914 +
  12.915 +    THIS_SUFFIX="${THIS_ZIP##*.}"
  12.916 +    OTHER_SUFFIX="${OTHER_ZIP##*.}"
  12.917 +    if [ "$THIS_SUFFIX" != "$OTHER_SUFFIX" ]; then
  12.918 +        echo The files do not have the same suffix type!
  12.919 +        return 2
  12.920 +    fi
  12.921 +
  12.922 +    UNARCHIVE="$UNZIP -q"
  12.923 +
  12.924 +    TYPE="$THIS_SUFFIX"
  12.925 +
  12.926 +    if $CMP $OTHER_ZIP $THIS_ZIP > /dev/null
  12.927 +    then
  12.928 +        return 0
  12.929 +    fi
  12.930 +    # Not quite identical, the might still contain the same data.
  12.931 +    # Unpack the jar/zip files in temp dirs
  12.932 +    
  12.933 +    THIS_UNZIPDIR=$WORK_DIR/$ZIP_FILE.this
  12.934 +    OTHER_UNZIPDIR=$WORK_DIR/$ZIP_FILE.other
  12.935 +    $RM -rf $THIS_UNZIPDIR $OTHER_UNZIPDIR
  12.936 +    $MKDIR -p $THIS_UNZIPDIR
  12.937 +    $MKDIR -p $OTHER_UNZIPDIR
  12.938 +    (cd $THIS_UNZIPDIR && $UNARCHIVE $THIS_ZIP)
  12.939 +    (cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP)
  12.940 +
  12.941 +    CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
  12.942 +    LANG=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
  12.943 +
  12.944 +    ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
  12.945 +    ONLY_THIS=$($GREP "^Only in $THIS_UNZIPDIR" $CONTENTS_DIFF_FILE)
  12.946 +
  12.947 +    return_value=0
  12.948 +
  12.949 +    if [ -n "$ONLY_OTHER" ]; then
  12.950 +        echo "        Only OTHER $ZIP_FILE contains:"
  12.951 +        echo "$ONLY_OTHER" | sed "s|Only in $OTHER_UNZIPDIR|            |"g | sed 's|: |/|g'
  12.952 +        return_value=1
  12.953 +    fi
  12.954 +
  12.955 +    if [ -n "$ONLY_THIS" ]; then
  12.956 +        echo "        Only THIS $ZIP_FILE contains:"
  12.957 +        echo "$ONLY_THIS" | sed "s|Only in $THIS_UNZIPDIR|            |"g | sed 's|: |/|g'
  12.958 +        return_value=1
  12.959 +    fi
  12.960 +
  12.961 +    DIFFING_FILES=$($GREP differ $CONTENTS_DIFF_FILE | $CUT -f 2 -d ' ' | $SED "s|$OTHER_UNZIPDIR/||g")
  12.962 +
  12.963 +    $RM -f $WORK_DIR/$ZIP_FILE.diffs
  12.964 +    for file in $DIFFING_FILES; do
  12.965 +	if [[ "$ACCEPTED_JARZIP_CONTENTS" != *"$file"* ]]; then
  12.966 +            diff_text $OTHER_UNZIPDIR/$file $THIS_UNZIPDIR/$file >> $WORK_DIR/$ZIP_FILE.diffs
  12.967 +	fi
  12.968 +    done
  12.969 +
  12.970 +    if [ -s "$WORK_DIR/$ZIP_FILE.diffs" ]; then
  12.971 +        return_value=1
  12.972 +        echo "        Differing files in $ZIP_FILE"
  12.973 +        $CAT $WORK_DIR/$ZIP_FILE.diffs | $GREP differ | cut -f 2 -d ' ' | \
  12.974 +            $SED "s|$OTHER_UNZIPDIR|            |g" > $WORK_DIR/$ZIP_FILE.difflist
  12.975 +        $CAT $WORK_DIR/$ZIP_FILE.difflist
  12.976 +
  12.977 +        if [ -n "$SHOW_DIFFS" ]; then
  12.978 +            for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do
  12.979 +                if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then
  12.980 +                    LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
  12.981 +                elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then
  12.982 +                    LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
  12.983 +                else
  12.984 +                    LANG=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
  12.985 +                fi
  12.986 +            done
  12.987 +        fi
  12.988 +    fi
  12.989 +
  12.990 +    return $return_value
  12.991 +}
  12.992 +
  12.993 +
  12.994 +##########################################################################################
  12.995 +# Compare all zip files
  12.996 +
  12.997 +compare_all_zip_files() {
  12.998 +    THIS_DIR=$1
  12.999 +    OTHER_DIR=$2
 12.1000 +    WORK_DIR=$3
 12.1001 +
 12.1002 +    ZIPS=$(cd $THIS_DIR && $FIND . -type f -name "*.zip" | $SORT | $FILTER )
 12.1003 +
 12.1004 +    if [ -n "$ZIPS" ]; then
 12.1005 +        echo Zip files...
 12.1006 +
 12.1007 +        return_value=0
 12.1008 +        for f in $ZIPS; do
 12.1009 +            if [ -f "$OTHER_DIR/$f" ]; then
 12.1010 +                compare_zip_file $THIS_DIR $OTHER_DIR $WORK_DIR $f
 12.1011 +                if [ "$?" != "0" ]; then
 12.1012 +                    return_value=1
 12.1013 +                    REGRESSIONS=true
 12.1014 +                fi
 12.1015 +            fi
 12.1016 +        done
 12.1017 +    fi
 12.1018 +
 12.1019 +    return $return_value
 12.1020 +}
 12.1021 +
 12.1022 +##########################################################################################
 12.1023 +# Compare all jar files
 12.1024 +
 12.1025 +compare_all_jar_files() {
 12.1026 +    THIS_DIR=$1
 12.1027 +    OTHER_DIR=$2
 12.1028 +    WORK_DIR=$3
 12.1029 +
 12.1030 +    # TODO filter?
 12.1031 +    ZIPS=$(cd $THIS_DIR && $FIND . -type f -name "*.jar" | $SORT | $FILTER)
 12.1032 +
 12.1033 +    if [ -n "$ZIPS" ]; then
 12.1034 +        echo Jar files...
 12.1035 +
 12.1036 +        return_value=0
 12.1037 +        for f in $ZIPS; do
 12.1038 +            if [ -f "$OTHER_DIR/$f" ]; then
 12.1039 +                compare_zip_file $THIS_DIR $OTHER_DIR $WORK_DIR $f
 12.1040 +                if [ "$?" != "0" ]; then
 12.1041 +                    return_value=1
 12.1042 +                    REGRESSIONS=true
 12.1043 +                fi
 12.1044 +            fi
 12.1045 +        done
 12.1046 +    fi
 12.1047 +
 12.1048 +    return $return_value
 12.1049 +}
 12.1050 +
 12.1051 +##########################################################################################
 12.1052 +# Compare binary (executable/library) file
 12.1053 +
 12.1054 +compare_bin_file() {
 12.1055 +    THIS_DIR=$1
 12.1056 +    OTHER_DIR=$2
 12.1057 +    WORK_DIR=$3
 12.1058 +    BIN_FILE=$4
 12.1059 +
 12.1060 +    THIS_FILE=$THIS_DIR/$BIN_FILE
 12.1061 +    OTHER_FILE=$OTHER_DIR/$BIN_FILE
 12.1062 +    NAME=$(basename $BIN_FILE)
 12.1063 +    WORK_FILE_BASE=$WORK_DIR/$BIN_FILE
 12.1064 +    FILE_WORK_DIR=$(dirname $WORK_FILE_BASE)
 12.1065 +
 12.1066 +    $MKDIR -p $FILE_WORK_DIR
 12.1067 +
 12.1068 +    ORIG_THIS_FILE="$THIS_FILE"
 12.1069 +    ORIG_OTHER_FILE="$OTHER_FILE"
 12.1070 +
 12.1071 +    if [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]]; then
 12.1072 +        THIS_STRIPPED_FILE=$FILE_WORK_DIR/this/$NAME
 12.1073 +        OTHER_STRIPPED_FILE=$FILE_WORK_DIR/other/$NAME
 12.1074 +        $MKDIR -p $FILE_WORK_DIR/this $FILE_WORK_DIR/other
 12.1075 +        $CP $THIS_FILE $THIS_STRIPPED_FILE
 12.1076 +        $CP $OTHER_FILE $OTHER_STRIPPED_FILE
 12.1077 +        $STRIP $THIS_STRIPPED_FILE
 12.1078 +        $STRIP $OTHER_STRIPPED_FILE
 12.1079 +        THIS_FILE="$THIS_STRIPPED_FILE"
 12.1080 +        OTHER_FILE="$OTHER_STRIPPED_FILE"
 12.1081 +    fi
 12.1082 +
 12.1083 +    if [ -z "$SKIP_BIN_DIFF" ]; then
 12.1084 +        if cmp $OTHER_FILE $THIS_FILE > /dev/null; then
 12.1085 +        # The files were bytewise identical.
 12.1086 +            if [ -n "$VERBOSE" ]; then
 12.1087 +                echo "        :           :         :         :          : $BIN_FILE"
 12.1088 +            fi
 12.1089 +            return 0
 12.1090 +        fi
 12.1091 +        BIN_MSG=" diff "
 12.1092 +        if [[ "$ACCEPTED_BIN_DIFF" != *"$BIN_FILE"* ]]; then
 12.1093 +            DIFF_BIN=true
 12.1094 +            if [[ "$KNOWN_BIN_DIFF" != *"$BIN_FILE"* ]]; then
 12.1095 +                BIN_MSG="*$BIN_MSG*"
 12.1096 +                REGRESSIONS=true
 12.1097 +            else
 12.1098 +                BIN_MSG=" $BIN_MSG "
 12.1099 +            fi
 12.1100 +        else
 12.1101 +            BIN_MSG="($BIN_MSG)"
 12.1102 +            DIFF_BIN=
 12.1103 +        fi
 12.1104 +    fi
 12.1105 +
 12.1106 +    THIS_SIZE=$(ls -l "$THIS_FILE" | awk '{ print $5 }')
 12.1107 +    OTHER_SIZE=$(ls -l "$OTHER_FILE" | awk '{ print $5 }')
 12.1108 +    if [ $THIS_SIZE -ne $OTHER_SIZE ]; then
 12.1109 +        DIFF_SIZE_NUM=$($EXPR $THIS_SIZE - $OTHER_SIZE)
 12.1110 +        DIFF_SIZE_REL=$($EXPR $THIS_SIZE \* 100 / $OTHER_SIZE)
 12.1111 +        SIZE_MSG=$($PRINTF "%3d%% %4d" $DIFF_SIZE_REL $DIFF_SIZE_NUM)
 12.1112 +        if [[ "$ACCEPTED_SMALL_SIZE_DIFF" = *"$BIN_FILE"* ]] && [ "$DIFF_SIZE_REL" -gt 98 ] && [ "$DIFF_SIZE_REL" -lt 102 ]; then
 12.1113 +            SIZE_MSG="($SIZE_MSG)"
 12.1114 +            DIFF_SIZE=
 12.1115 +        else
 12.1116 +            if [[ "$ACCEPTED_SIZE_DIFF" != *"$BIN_FILE"* ]]; then
 12.1117 +                DIFF_SIZE=true
 12.1118 +                if [[ "$KNOWN_SIZE_DIFF" != *"$BIN_FILE"* ]]; then
 12.1119 +                    SIZE_MSG="*$SIZE_MSG*"
 12.1120 +                    REGRESSIONS=true
 12.1121 +                else
 12.1122 +                    SIZE_MSG=" $SIZE_MSG "
 12.1123 +                fi
 12.1124 +            else
 12.1125 +                SIZE_MSG="($SIZE_MSG)"
 12.1126 +                DIFF_SIZE=
 12.1127 +            fi
 12.1128 +        fi
 12.1129 +    else
 12.1130 +        SIZE_MSG="           "
 12.1131 +        DIFF_SIZE=
 12.1132 +        if [[ "$KNOWN_SIZE_DIFF $ACCEPTED_SIZE_DIFF" = *"$BIN_FILE"* ]]; then
 12.1133 +            SIZE_MSG="     !     "
 12.1134 +        fi
 12.1135 +    fi
 12.1136 +
 12.1137 +    if [[ "$SORT_SYMBOLS" = *"$BIN_FILE"* ]]; then
 12.1138 +        SYM_SORT_CMD="sort"
 12.1139 +    else
 12.1140 +        SYM_SORT_CMD="cat"
 12.1141 +    fi
 12.1142 +
 12.1143 +    # Check symbols
 12.1144 +    if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
 12.1145 +	$DUMPBIN -exports $OTHER_FILE | $GREP " = " | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
 12.1146 +	$DUMPBIN -exports $THIS_FILE  | $GREP " = " | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
 12.1147 +    elif [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
 12.1148 +        # Some symbols get seemingly random 15 character prefixes. Filter them out.
 12.1149 +        $NM -a $ORIG_OTHER_FILE | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SED 's/^\([a-zA-Z] \.\)[a-zA-Z0-9_\$]\{15,15\}\./\1./g' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
 12.1150 +	$NM -a $ORIG_THIS_FILE  | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SED 's/^\([a-zA-Z] \.\)[a-zA-Z0-9_\$]\{15,15\}\./\1./g' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
 12.1151 +    else
 12.1152 +	$NM -a $ORIG_OTHER_FILE | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
 12.1153 +	$NM -a $ORIG_THIS_FILE  | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
 12.1154 +    fi
 12.1155 +    
 12.1156 +    LANG=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
 12.1157 +    if [ -s $WORK_FILE_BASE.symbols.diff ]; then
 12.1158 +        SYM_MSG=" diff  "
 12.1159 +        if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then
 12.1160 +            DIFF_SYM=true
 12.1161 +            if [[ "$KNOWN_SYM_DIFF" != *"$BIN_FILE"* ]]; then
 12.1162 +                SYM_MSG="*$SYM_MSG*"
 12.1163 +                REGRESSIONS=true
 12.1164 +            else
 12.1165 +                SYM_MSG=" $SYM_MSG "
 12.1166 +            fi
 12.1167 +        else
 12.1168 +            SYM_MSG="($SYM_MSG)"            
 12.1169 +            DIFF_SYM=
 12.1170 +        fi
 12.1171 +    else
 12.1172 +        SYM_MSG="         "
 12.1173 +        DIFF_SYM=
 12.1174 +        if [[ "$KNOWN_SYM_DIFF $ACCEPTED_SYM_DIFF" = *"$BIN_FILE"* ]]; then
 12.1175 +            SYM_MSG="    !    "
 12.1176 +        fi
 12.1177 +    fi
 12.1178 +
 12.1179 +    # Check dependencies
 12.1180 +    if [ -n "$LDD_CMD" ];then
 12.1181 +	(cd $FILE_WORK_DIR && $CP $OTHER_FILE . && $LDD_CMD $NAME | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.other | $UNIQ > $WORK_FILE_BASE.deps.other.uniq)
 12.1182 +	(cd $FILE_WORK_DIR && $CP $THIS_FILE . && $LDD_CMD $NAME | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.this | $UNIQ > $WORK_FILE_BASE.deps.this.uniq)
 12.1183 +	(cd $FILE_WORK_DIR && $RM -f $NAME)
 12.1184 +	
 12.1185 +	LANG=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff
 12.1186 +	LANG=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq > $WORK_FILE_BASE.deps.diff.uniq
 12.1187 +	
 12.1188 +	if [ -s $WORK_FILE_BASE.deps.diff ]; then
 12.1189 +            if [ -s $WORK_FILE_BASE.deps.diff.uniq ]; then
 12.1190 +		DEP_MSG=" diff  "
 12.1191 +            else
 12.1192 +		DEP_MSG=" redun "
 12.1193 +            fi
 12.1194 +            if [[ "$ACCEPTED_DEP_DIFF" != *"$BIN_FILE"* ]]; then
 12.1195 +		DIFF_DEP=true
 12.1196 +		if [[ "$KNOWN_DEP_DIFF" != *"$BIN_FILE"* ]]; then
 12.1197 +                    DEP_MSG="*$DEP_MSG*"
 12.1198 +                    REGRESSIONS=true
 12.1199 +		else
 12.1200 +                    DEP_MSG=" $DEP_MSG "
 12.1201 +		fi
 12.1202 +            else
 12.1203 +		DEP_MSG="($DEP_MSG)"
 12.1204 +		DIFF_DEP=
 12.1205 +            fi
 12.1206 +	else
 12.1207 +	    DEP_MSG="         "
 12.1208 +	    DIFF_DEP=
 12.1209 +            if [[ "$KNOWN_DEP_DIFF $ACCEPTED_DEP_DIFF" = *"$BIN_FILE"* ]]; then
 12.1210 +                DEP_MSG="     !      "
 12.1211 +            fi
 12.1212 +	fi
 12.1213 +    fi
 12.1214 +    
 12.1215 +    # Compare readelf output
 12.1216 +    if [ -n "$READELF_CMD" ] && [ -z "$SKIP_ELF_DIFF" ]; then
 12.1217 +        $READELF_CMD $OTHER_FILE > $WORK_FILE_BASE.readelf.other 2>&1
 12.1218 +        $READELF_CMD $THIS_FILE > $WORK_FILE_BASE.readelf.this 2>&1
 12.1219 +        
 12.1220 +        LANG=C $DIFF $WORK_FILE_BASE.readelf.other $WORK_FILE_BASE.readelf.this > $WORK_FILE_BASE.readelf.diff
 12.1221 +        
 12.1222 +        if [ -s $WORK_FILE_BASE.readelf.diff ]; then
 12.1223 +            ELF_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.readelf.diff | awk '{print $5}')
 12.1224 +            ELF_MSG=$($PRINTF "%8d" $ELF_DIFF_SIZE)
 12.1225 +            if [[ "$ACCEPTED_ELF_DIFF" != *"$BIN_FILE"* ]]; then
 12.1226 +                DIFF_ELF=true
 12.1227 +                if [[ "$KNOWN_ELF_DIFF" != *"$BIN_FILE"* ]]; then
 12.1228 +                    ELF_MSG="*$ELF_MSG*"
 12.1229 +                    REGRESSIONS=true
 12.1230 +                else
 12.1231 +                    ELF_MSG=" $ELF_MSG "
 12.1232 +                fi
 12.1233 +            else
 12.1234 +                ELF_MSG="($ELF_MSG)"
 12.1235 +                DIFF_ELF=
 12.1236 +            fi
 12.1237 +        else
 12.1238 +            ELF_MSG="          "
 12.1239 +            DIFF_ELF=
 12.1240 +            if [[ "$KNOWN_DEP_DIFF $ACCEPTED_DEP_DIFF" = *"$BIN_FILE"* ]]; then
 12.1241 +                ELF_MSG="    !    "
 12.1242 +            fi
 12.1243 +        fi
 12.1244 +    fi
 12.1245 +
 12.1246 +    # Compare disassemble output
 12.1247 +    if [ -f "$OBJDUMP" ] && [ -z "$SKIP_DIS_DIFF" ]; then
 12.1248 +        $OBJDUMP -d $OTHER_FILE | $GREP -v $NAME > $WORK_FILE_BASE.dis.other 2>&1
 12.1249 +        $OBJDUMP -d $THIS_FILE  | $GREP -v $NAME > $WORK_FILE_BASE.dis.this  2>&1
 12.1250 +        
 12.1251 +        LANG=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
 12.1252 +        
 12.1253 +        if [ -s $WORK_FILE_BASE.dis.diff ]; then
 12.1254 +            DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')
 12.1255 +            DIS_MSG=$($PRINTF "%8d" $DIS_DIFF_SIZE)
 12.1256 +            if [[ "$ACCEPTED_DIS_DIFF" != *"$BIN_FILE"* ]]; then
 12.1257 +                DIFF_DIS=true
 12.1258 +                if [[ "$KNOWN_DIS_DIFF" != *"$BIN_FILE"* ]]; then
 12.1259 +                    DIS_MSG="*$DIS_MSG*"
 12.1260 +                    REGRESSIONS=true
 12.1261 +                else
 12.1262 +                    DIS_MSG=" $DIS_MSG "
 12.1263 +                fi
 12.1264 +            else
 12.1265 +                DIS_MSG="($DIS_MSG)"
 12.1266 +                DIFF_DIS=
 12.1267 +            fi
 12.1268 +        else
 12.1269 +            DIS_MSG="          "
 12.1270 +            DIFF_DIS=
 12.1271 +            if [[ "$KNOWN_DEP_DIFF $ACCEPTED_DEP_DIFF" = *"$BIN_FILE"* ]]; then
 12.1272 +                DIS_MSG="    !    "
 12.1273 +            fi
 12.1274 +        fi
 12.1275 +    fi
 12.1276 +
 12.1277 +
 12.1278 +    if [ -n "$DIFF_BIN$DIFF_SIZE$DIFF_SYM$DIFF_DEP$DIFF_ELF$DIFF_DIS" ] || [ -n "$VERBOSE" ]; then
 12.1279 +        if [ -n "$BIN_MSG" ]; then echo -n "$BIN_MSG:"; fi
 12.1280 +        if [ -n "$SIZE_MSG" ]; then echo -n "$SIZE_MSG:"; fi
 12.1281 +        if [ -n "$SYM_MSG" ]; then echo -n "$SYM_MSG:"; fi
 12.1282 +        if [ -n "$DEP_MSG" ]; then echo -n "$DEP_MSG:"; fi
 12.1283 +        if [ -n "$ELF_MSG" ]; then echo -n "$ELF_MSG:"; fi
 12.1284 +        if [ -n "$DIS_MSG" ]; then echo -n "$DIS_MSG:"; fi
 12.1285 +        echo " $BIN_FILE"
 12.1286 +        if [ "$SHOW_DIFFS" = "true" ]; then
 12.1287 +            if [ -s "$WORK_FILE_BASE.symbols.diff" ]; then
 12.1288 +                echo "Symbols diff:"
 12.1289 +                $CAT $WORK_FILE_BASE.symbols.diff
 12.1290 +            fi
 12.1291 +            if [ -s "$WORK_FILE_BASE.deps.diff" ]; then
 12.1292 +                echo "Deps diff:"
 12.1293 +                $CAT $WORK_FILE_BASE.deps.diff
 12.1294 +            fi
 12.1295 +            if [ -s "$WORK_FILE_BASE.readelf.diff" ]; then
 12.1296 +                echo "Readelf diff:"
 12.1297 +                $CAT $WORK_FILE_BASE.readelf.diff
 12.1298 +            fi
 12.1299 +            if [ -s "$WORK_FILE_BASE.dis.diff" ]; then
 12.1300 +                echo "Disassembly diff:"
 12.1301 +                $CAT $WORK_FILE_BASE.dis.diff
 12.1302 +            fi
 12.1303 +        fi
 12.1304 +        return 1
 12.1305 +    fi
 12.1306 +    return 0
 12.1307 +}
 12.1308 +
 12.1309 +##########################################################################################
 12.1310 +# Print binary diff header
 12.1311 +
 12.1312 +print_binary_diff_header() {
 12.1313 +    if [ -z "$SKIP_BIN_DIFF" ]; then echo -n " Binary :"; fi
 12.1314 +    if [ -z "$SKIP_SIZE_DIFF" ]; then echo -n "   Size    :"; fi
 12.1315 +    if [ -z "$SKIP_SYM_DIFF" ]; then echo -n " Symbols :"; fi
 12.1316 +    if [ -z "$SKIP_DEP_DIFF" ]; then echo -n "  Deps   :"; fi
 12.1317 +    if [ -z "$SKIP_ELF_DIFF" ]; then echo -n " Readelf  :"; fi
 12.1318 +    if [ -z "$SKIP_DIS_DIFF" ]; then echo -n " Disass   :"; fi
 12.1319 +    echo
 12.1320 +}
 12.1321 +
 12.1322 +##########################################################################################
 12.1323 +# Compare all libraries
 12.1324 +
 12.1325 +compare_all_libs() {
 12.1326 +    THIS_DIR=$1
 12.1327 +    OTHER_DIR=$2
 12.1328 +    WORK_DIR=$3
 12.1329 +
 12.1330 +    LIBS=$(cd $THIS_DIR && $FIND . -name 'lib*.so' -o -name '*.dylib' -o -name '*.dll' | $SORT | $FILTER)
 12.1331 +
 12.1332 +    if [ -n "$LIBS" ]; then
 12.1333 +        echo Libraries...
 12.1334 +        print_binary_diff_header
 12.1335 +        for l in $LIBS; do
 12.1336 +            if [ -f "$OTHER_DIR/$l" ]; then
 12.1337 +                compare_bin_file $THIS_DIR $OTHER_DIR $WORK_DIR $l
 12.1338 +                if [ "$?" != "0" ]; then
 12.1339 +                    return_value=1
 12.1340 +                fi
 12.1341 +            fi
 12.1342 +        done
 12.1343 +    fi
 12.1344 +
 12.1345 +    return $return_value
 12.1346 +}
 12.1347 +
 12.1348 +##########################################################################################
 12.1349 +# Compare all executables
 12.1350 +
 12.1351 +compare_all_execs() {
 12.1352 +    THIS_DIR=$1
 12.1353 +    OTHER_DIR=$2
 12.1354 +    WORK_DIR=$3
 12.1355 +
 12.1356 +    if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
 12.1357 +        EXECS=$(cd $THIS_DIR && $FIND . -type f -name '*.exe' | $SORT | $FILTER)
 12.1358 +    else
 12.1359 +        EXECS=$(cd $THIS_DIR && $FIND . -name db -prune -o -type f -perm -100 \! \( -name '*.so' -o -name '*.dylib' -o -name '*.dll' -o -name '*.cgi' \) | $SORT | $FILTER)
 12.1360 +    fi
 12.1361 +
 12.1362 +    if [ -n "$EXECS" ]; then
 12.1363 +        echo Executables...
 12.1364 +        print_binary_diff_header
 12.1365 +        for e in $EXECS; do
 12.1366 +            if [ -f "$OTHER_DIR/$e" ]; then
 12.1367 +                compare_bin_file $THIS_DIR $OTHER_DIR $WORK_DIR $e
 12.1368 +                if [ "$?" != "0" ]; then
 12.1369 +                    return_value=1
 12.1370 +                fi
 12.1371 +            fi
 12.1372 +        done
 12.1373 +    fi
 12.1374 +
 12.1375 +    return $return_value
 12.1376 +}
 12.1377 +
 12.1378 +##########################################################################################
 12.1379 +# Initiate configuration
 12.1380 +
 12.1381 +COMPARE_ROOT=/tmp/cimages.$USER
 12.1382 +$MKDIR -p $COMPARE_ROOT
 12.1383 +if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
 12.1384 +    if [ "$(uname -o)" = "Cygwin" ]; then
 12.1385 +	COMPARE_ROOT=$(cygpath -msa $COMPARE_ROOT)
 12.1386 +    fi
 12.1387 +fi
 12.1388 +
 12.1389 +THIS="$( cd "$( dirname "$0" )" && pwd )"
 12.1390 +echo "$THIS"
 12.1391 +THIS_SCRIPT="$0"
 12.1392 +
 12.1393 +if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "-?" ] || [ "$1" = "/h" ] || [ "$1" = "/?" ] || [ "$1" = "-help" ] || [ "$1" = "--help" ]; then
 12.1394 +    echo "bash ./compare.sh [OPTIONS] [FILTER]"
 12.1395 +    echo ""
 12.1396 +    echo "-all                Compare all files in all known ways"
 12.1397 +    echo "-names              Compare the file names and directory structure"
 12.1398 +    echo "-perms              Compare the permission bits on all files and directories"
 12.1399 +    echo "-types              Compare the output of the file command on all files"
 12.1400 +    echo "-general            Compare the files not convered by the specialized comparisons"
 12.1401 +    echo "-zips               Compare the contents of all zip files"
 12.1402 +    echo "-jars               Compare the contents of all jar files"
 12.1403 +    echo "-libs               Compare all native libraries"
 12.1404 +    echo "-execs              Compare all executables"
 12.1405 +    echo "-v                  Verbose output, does not hide known differences"
 12.1406 +    echo "-vv                 More verbose output, shows diff output of all comparisons"
 12.1407 +    echo "-o [OTHER]          Compare with build in other directory. Will default to the old build directory"
 12.1408 +    echo ""
 12.1409 +    echo "[FILTER]            List filenames in the image to compare, works for jars, zips, libs and execs"
 12.1410 +    echo "Example:"
 12.1411 +    echo "bash ./common/bin/compareimages.sh CodePointIM.jar"
 12.1412 +    exit 10
 12.1413 +fi
 12.1414 +
 12.1415 +CMP_NAMES=false
 12.1416 +CMP_PERMS=false
 12.1417 +CMP_TYPES=false
 12.1418 +CMP_GENERAL=false
 12.1419 +CMP_ZIPS=false
 12.1420 +CMP_JARS=false
 12.1421 +CMP_LIBS=false
 12.1422 +CMP_EXECS=false
 12.1423 +
 12.1424 +while [ -n "$1" ]; do
 12.1425 +    case "$1" in
 12.1426 +        -v)
 12.1427 +            VERBOSE=true
 12.1428 +            ;;
 12.1429 +        -vv)
 12.1430 +            VERBOSE=true
 12.1431 +            SHOW_DIFFS=true
 12.1432 +            ;;
 12.1433 +        -o)
 12.1434 +            OTHER=$2
 12.1435 +            shift
 12.1436 +            ;;
 12.1437 +        -all)
 12.1438 +            CMP_NAMES=true
 12.1439 +            if [ "$OPENJDK_TARGET_OS" != "windows" ]; then
 12.1440 +                CMP_PERMS=true
 12.1441 +            fi
 12.1442 +            CMP_TYPES=true
 12.1443 +            CMP_GENERAL=true
 12.1444 +            CMP_ZIPS=true
 12.1445 +            CMP_JARS=true
 12.1446 +            CMP_LIBS=true
 12.1447 +            CMP_EXECS=true
 12.1448 +            ;;
 12.1449 +        -names)
 12.1450 +            CMP_NAMES=true
 12.1451 +            ;;
 12.1452 +        -perms)
 12.1453 +            CMP_PERMS=true
 12.1454 +            ;;
 12.1455 +        -types)
 12.1456 +            CMP_TYPES=true
 12.1457 +            ;;
 12.1458 +        -general)
 12.1459 +            CMP_GENERAL=true
 12.1460 +            ;;
 12.1461 +        -zips)
 12.1462 +            CMP_ZIPS=true
 12.1463 +            ;;
 12.1464 +        -jars)
 12.1465 +            CMP_JARS=true
 12.1466 +            ;;
 12.1467 +        -libs)
 12.1468 +            CMP_LIBS=true
 12.1469 +            ;;
 12.1470 +        -execs)
 12.1471 +            CMP_EXECS=true
 12.1472 +            ;;
 12.1473 +        *)
 12.1474 +            CMP_NAMES=false
 12.1475 +            CMP_PERMS=false
 12.1476 +            CMP_TYPES=false
 12.1477 +            CMP_ZIPS=true
 12.1478 +            CMP_JARS=true
 12.1479 +            CMP_LIBS=true
 12.1480 +            CMP_EXECS=true
 12.1481 +            
 12.1482 +            if [ -z "$FILTER" ]; then
 12.1483 +                FILTER="$GREP"
 12.1484 +            fi
 12.1485 +            FILTER="$FILTER -e $1"
 12.1486 +            ;;
 12.1487 +    esac
 12.1488 +    shift
 12.1489 +done
 12.1490 +
 12.1491 +if [ "$CMP_NAMES" = "false" ] && [ "$CMP_TYPES" = "false" ] && [ "$CMP_PERMS" = "false" ] && [ "$CMP_GENERAL" = "false" ] && [ "$CMP_ZIPS" = "false" ] && [ "$CMP_JARS" = "false" ] && [ "$CMP_LIBS" = "false" ] && [ "$CMP_EXECS" = "false" ]; then
 12.1492 +    CMP_NAMES=true
 12.1493 +    CMP_PERMS=true
 12.1494 +    CMP_TYPES=true
 12.1495 +    CMP_GENERAL=true
 12.1496 +    CMP_ZIPS=true
 12.1497 +    CMP_JARS=true
 12.1498 +    CMP_LIBS=true
 12.1499 +    CMP_EXECS=true
 12.1500 +fi
 12.1501 +
 12.1502 +if [ -z "$FILTER" ]; then
 12.1503 +    FILTER="$CAT"
 12.1504 +fi
 12.1505 +
 12.1506 +if [ -z "$OTHER" ]; then
 12.1507 +    OTHER="$THIS/../$LEGACY_BUILD_DIR"
 12.1508 +    if [ -d "$OTHER" ]; then
 12.1509 +        OTHER="$( cd "$OTHER" && pwd )"
 12.1510 +    else
 12.1511 +        echo "Default old build directory does not exist:"
 12.1512 +        echo "$OTHER"
 12.1513 +    fi
 12.1514 +    echo "Comparing to default old build:"
 12.1515 +    echo "$OTHER"
 12.1516 +    echo
 12.1517 +else
 12.1518 +    echo "Comparing to:"
 12.1519 +    echo "$OTHER"
 12.1520 +    echo
 12.1521 +fi
 12.1522 +
 12.1523 +if [ ! -d "$OTHER" ]; then
 12.1524 +    echo "Other build directory does not exist:"
 12.1525 +    echo "$OTHER"
 12.1526 +    exit 1;
 12.1527 +fi
 12.1528 +
 12.1529 +# Figure out the layout of the new build. Which kinds of images have been produced
 12.1530 +if [ -d "$THIS/images/j2sdk-image" ]; then
 12.1531 +    THIS_J2SDK="$THIS/images/j2sdk-image"
 12.1532 +    THIS_J2RE="$THIS/images/j2re-image"
 12.1533 +fi
 12.1534 +if [ -d "$THIS/images/j2sdk-overlay-image" ]; then
 12.1535 +    THIS_J2SDK_OVERLAY="$THIS/images/j2sdk-overlay-image"
 12.1536 +    THIS_J2RE_OVERLAY="$THIS/images/j2re-overlay-image"
 12.1537 +fi
 12.1538 +
 12.1539 +# Figure out the layout of the other build (old or new, normal or overlay image)
 12.1540 +if [ -d "$OTHER/j2sdk-image" ]; then
 12.1541 +    if [ -f "$OTHER/j2sdk-image/LICENSE" ]; then
 12.1542 +        OTHER_J2SDK="$OTHER/j2sdk-image"
 12.1543 +        OTHER_J2RE="$OTHER/j2re-image"
 12.1544 +    else
 12.1545 +        OTHER_J2SDK_OVERLAY="$OTHER/j2sdk-image"
 12.1546 +        OTHER_J2RE_OVERLAY="$OTHER/j2re-image"
 12.1547 +    fi
 12.1548 +
 12.1549 +fi
 12.1550 +
 12.1551 +if [ -z "$OTHER_J2SDK" ] && [ -n "$OTHER_J2SDK_OVERLAY" ] && [ -z "$THIS_J2SDK_OVERLAY" ]; then
 12.1552 +    echo "OTHER build only has an overlay image while this build does not. Nothing to compare!"
 12.1553 +    exit 1
 12.1554 +fi
 12.1555 +
 12.1556 +
 12.1557 +##########################################################################################
 12.1558 +# Do the work
 12.1559 +
 12.1560 +if [ "$CMP_NAMES" = "true" ]; then
 12.1561 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1562 +        echo -n "J2SDK "
 12.1563 +        compare_dirs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1564 +        echo -n "J2RE  "
 12.1565 +        compare_dirs $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
 12.1566 +        
 12.1567 +        echo -n "J2SDK "
 12.1568 +        compare_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1569 +        echo -n "J2RE  "
 12.1570 +        compare_files $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
 12.1571 +    fi
 12.1572 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1573 +        echo -n "J2SDK Overlay "
 12.1574 +        compare_dirs $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1575 +        echo -n "J2RE  Overlay "
 12.1576 +        compare_dirs $THIS_J2RE_OVERLAY $OTHER_J2RE_OVERLAY $COMPARE_ROOT/j2re-overlay
 12.1577 +        
 12.1578 +        echo -n "J2SDK Overlay "
 12.1579 +        compare_files $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1580 +        echo -n "J2RE  Overlay "
 12.1581 +        compare_files $THIS_J2RE_OVERLAY $OTHER_J2RE_OVERLAY $COMPARE_ROOT/j2re-overlay
 12.1582 +    fi
 12.1583 +fi
 12.1584 +
 12.1585 +if [ "$CMP_PERMS" = "true" ]; then
 12.1586 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1587 +        echo -n "J2SDK "
 12.1588 +        compare_permissions $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1589 +        echo -n "J2RE  "
 12.1590 +        compare_permissions $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
 12.1591 +    fi
 12.1592 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1593 +        echo -n "J2SDK Overlay "
 12.1594 +        compare_permissions $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1595 +        echo -n "J2RE  Overlay "
 12.1596 +        compare_permissions $THIS_J2RE_OVERLAY $OTHER_J2RE_OVERLAY $COMPARE_ROOT/j2re-overlay
 12.1597 +    fi
 12.1598 +fi
 12.1599 +
 12.1600 +if [ "$CMP_TYPES" = "true" ]; then
 12.1601 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1602 +        echo -n "J2SDK "
 12.1603 +        compare_file_types $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1604 +        echo -n "J2RE  "
 12.1605 +        compare_file_types $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
 12.1606 +    fi
 12.1607 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1608 +        echo -n "J2SDK Overlay "
 12.1609 +        compare_file_types $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1610 +        echo -n "J2RE  Overlay "
 12.1611 +        compare_file_types $THIS_J2RE_OVERLAY $OTHER_J2RE_OVERLAY $COMPARE_ROOT/j2re-overlay
 12.1612 +    fi
 12.1613 +fi
 12.1614 +
 12.1615 +if [ "$CMP_GENERAL" = "true" ]; then
 12.1616 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1617 +        echo -n "J2SDK "
 12.1618 +        compare_general_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1619 +        echo -n "J2RE  "
 12.1620 +        compare_general_files $THIS_J2RE $OTHER_J2RE $COMPARE_ROOT/j2re
 12.1621 +    fi
 12.1622 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1623 +        echo -n "J2SDK Overlay "
 12.1624 +        compare_general_files $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1625 +        echo -n "J2RE  Overlay "
 12.1626 +        compare_general_files $THIS_J2RE_OVERLAY $OTHER_J2RE_OVERLAY $COMPARE_ROOT/j2re-overlay
 12.1627 +    fi
 12.1628 +fi
 12.1629 +
 12.1630 +if [ "$CMP_ZIPS" = "true" ]; then
 12.1631 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1632 +        compare_all_zip_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1633 +    fi
 12.1634 +fi
 12.1635 +
 12.1636 +if [ "$CMP_JARS" = "true" ]; then
 12.1637 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1638 +        compare_all_jar_files $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1639 +    fi
 12.1640 +fi
 12.1641 +
 12.1642 +if [ "$CMP_LIBS" = "true" ]; then
 12.1643 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1644 +        compare_all_libs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1645 +    fi
 12.1646 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1647 +        echo -n "Overlay "
 12.1648 +        compare_all_libs $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1649 +    fi
 12.1650 +fi
 12.1651 +
 12.1652 +if [ "$CMP_EXECS" = "true" ]; then
 12.1653 +    if [ -n "$THIS_J2SDK" ] && [ -n "$OTHER_J2SDK" ]; then
 12.1654 +        compare_all_execs $THIS_J2SDK $OTHER_J2SDK $COMPARE_ROOT/j2sdk
 12.1655 +    fi
 12.1656 +    if [ -n "$THIS_J2SDK_OVERLAY" ] && [ -n "$OTHER_J2SDK_OVERLAY" ]; then
 12.1657 +        echo -n "Overlay "
 12.1658 +        compare_all_execs $THIS_J2SDK_OVERLAY $OTHER_J2SDK_OVERLAY $COMPARE_ROOT/j2sdk-overlay
 12.1659 +    fi
 12.1660 +fi
 12.1661 +
 12.1662 +echo
 12.1663 +
 12.1664 +if [ -n "$REGRESSIONS" ]; then
 12.1665 +    echo "REGRESSIONS FOUND!"
 12.1666 +    echo
 12.1667 +    exit 1
 12.1668 +else
 12.1669 +    echo "No regressions found"
 12.1670 +    echo
 12.1671 +    exit 0
 12.1672 +fi
    13.1 --- a/common/autoconf/configure	Thu Sep 06 17:27:20 2012 -0700
    13.2 +++ b/common/autoconf/configure	Tue Sep 18 11:29:16 2012 -0700
    13.3 @@ -2,7 +2,12 @@
    13.4  
    13.5  CONFIGURE_COMMAND_LINE="$@"
    13.6  conf_script_dir=`dirname $0`
    13.7 -conf_closed_script_dir="$conf_script_dir/../../jdk/make/closed/autoconf"
    13.8 +
    13.9 +if [ "$CUSTOM_CONFIG_DIR" = "" ]; then
   13.10 +  conf_custom_script_dir="$conf_script_dir/../../jdk/make/closed/autoconf"
   13.11 +else
   13.12 +  conf_custom_script_dir=$CUSTOM_CONFIG_DIR
   13.13 +fi
   13.14  
   13.15  ###
   13.16  ### Test that the generated configure is up-to-date
   13.17 @@ -14,8 +19,12 @@
   13.18  print_error_not_up_to_date() {
   13.19    echo "Error: The configure source files is newer than the generated files."
   13.20    echo "Please run 'sh autogen.sh' to update the generated files."
   13.21 +  echo "Note that this test might trigger incorrectly sometimes due to hg timestamps".
   13.22  }
   13.23  
   13.24 +# NOTE: This test can occasionally go wrong due to the way mercurial handles
   13.25 +# timestamps. It it supposed to aid during development of build-infra, but should
   13.26 +# go away before making this the default build system.
   13.27  for file in configure.ac *.m4 ; do
   13.28    if $TEST $file -nt generated-configure.sh; then
   13.29      print_error_not_up_to_date
   13.30 @@ -23,26 +32,32 @@
   13.31    fi
   13.32  done
   13.33  
   13.34 -if $TEST -e $conf_closed_script_dir/generated-configure.sh; then
   13.35 -  # If closed source configure is available, make sure it is up-to-date as well.
   13.36 -  for file in configure.ac *.m4 $conf_closed_script_dir/*.m4; do
   13.37 -    if $TEST $file -nt $conf_closed_script_dir/generated-configure.sh; then
   13.38 +if $TEST -e $conf_custom_script_dir/generated-configure.sh; then
   13.39 +  # If custom source configure is available, make sure it is up-to-date as well.
   13.40 +  for file in configure.ac *.m4 $conf_custom_script_dir/*.m4; do
   13.41 +    if $TEST $file -nt $conf_custom_script_dir/generated-configure.sh; then
   13.42        print_error_not_up_to_date
   13.43        exit 1
   13.44      fi
   13.45    done
   13.46  
   13.47 -  # Test if open configure is newer than closed configure, if so, closed needs to
   13.48 -  # be regenerated.
   13.49 +  # Test if open configure is newer than custom configure, if so, custom needs to
   13.50 +  # be regenerated. This test is required to ensure consistency with custom source.
   13.51    conf_open_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_script_dir/generated-configure.sh  | cut -d" " -f 3`
   13.52 -  conf_closed_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_closed_script_dir/generated-configure.sh  | cut -d" " -f 3`
   13.53 -  if $TEST $conf_open_configure_timestamp -gt $conf_closed_configure_timestamp; then
   13.54 -    print_error_not_up_to_date
   13.55 +  conf_custom_configure_timestamp=`grep DATE_WHEN_GENERATED: $conf_custom_script_dir/generated-configure.sh  | cut -d" " -f 3`
   13.56 +  if $TEST $conf_open_configure_timestamp -gt $conf_custom_configure_timestamp; then
   13.57 +    echo "Error: The generated configure file contains changes not present in the custom generated file."
   13.58 +    echo "Please run 'sh autogen.sh' to update the generated files."
   13.59      exit 1
   13.60    fi
   13.61    
   13.62  fi
   13.63  
   13.64 +# Autoconf calls the configure script recursively sometimes. 
   13.65 +# Don't start logging twice in that case
   13.66 +if $TEST "x$conf_debug_configure" = xtrue; then
   13.67 +  conf_debug_configure=recursive
   13.68 +fi
   13.69  ###
   13.70  ### Process command-line arguments
   13.71  ###
   13.72 @@ -63,6 +78,12 @@
   13.73    --with-extra-cxxflags=*)
   13.74      conf_extra_cxxflags=`expr "X$conf_option" : '[^=]*=\(.*\)'`
   13.75      continue ;;
   13.76 +  --debug-configure)
   13.77 +    if $TEST "x$conf_debug_configure" != xrecursive; then
   13.78 +      conf_debug_configure=true
   13.79 +      export conf_debug_configure
   13.80 +    fi
   13.81 +    continue ;;
   13.82    *)
   13.83      conf_processed_arguments="$conf_processed_arguments $conf_option" ;;
   13.84    esac
   13.85 @@ -104,13 +125,29 @@
   13.86  ###
   13.87  ### Call the configure script
   13.88  ###
   13.89 -if $TEST -e $conf_closed_script_dir/generated-configure.sh; then
   13.90 -  # Closed source configure available; run that instead
   13.91 -  . $conf_closed_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags"
   13.92 +if $TEST -e $conf_custom_script_dir/generated-configure.sh; then
   13.93 +  # Custom source configure available; run that instead
   13.94 +  echo Running custom generated-configure.sh
   13.95 +  conf_script_to_run=$conf_custom_script_dir/generated-configure.sh
   13.96  else
   13.97 -  . $conf_script_dir/generated-configure.sh $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags"
   13.98 +  echo Running generated-configure.sh
   13.99 +  conf_script_to_run=$conf_script_dir/generated-configure.sh
  13.100 +fi  
  13.101 +
  13.102 +if $TEST "x$conf_debug_configure" != x; then
  13.103 +  # Turn on shell debug output if requested (initial or recursive)
  13.104 +  set -x
  13.105  fi
  13.106  
  13.107 +if $TEST "x$conf_debug_configure" = xtrue; then
  13.108 +  # Turn on logging, but don't turn on twice when called recursive
  13.109 +  conf_debug_logfile=./debug-configure.log
  13.110 +  (exec 3>&1 ; (. $conf_script_to_run $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags" 2>&1 1>&3 ) | tee -a $conf_debug_logfile 1>&2 ; exec 3>&-) | tee -a $conf_debug_logfile
  13.111 +else
  13.112 +  . $conf_script_to_run $conf_processed_arguments --with-extra-cflags="$conf_extra_cflags" --with-extra-cxxflags="$conf_extra_cxxflags"
  13.113 +fi
  13.114 +
  13.115 +conf_result_code=$?
  13.116  ###
  13.117  ### Post-processing
  13.118  ###
  13.119 @@ -119,3 +156,5 @@
  13.120  if $TEST -d "$OUTPUT_ROOT"; then
  13.121    mv -f config.log "$OUTPUT_ROOT" 2> /dev/null
  13.122  fi
  13.123 +
  13.124 +exit $conf_result_code
    14.1 --- a/common/autoconf/configure.ac	Thu Sep 06 17:27:20 2012 -0700
    14.2 +++ b/common/autoconf/configure.ac	Tue Sep 18 11:29:16 2012 -0700
    14.3 @@ -53,9 +53,9 @@
    14.4  m4_include([toolchain.m4])
    14.5  
    14.6  # This line needs to be here, verbatim, after all includes.
    14.7 -# It is replaced with closed functionality when building
    14.8 -# closed sources.
    14.9 -AC_DEFUN_ONCE([CLOSED_HOOK])
   14.10 +# It is replaced with custom functionality when building
   14.11 +# custom sources.
   14.12 +AC_DEFUN_ONCE([CUSTOM_HOOK])
   14.13  
   14.14  ###############################################################################
   14.15  #
   14.16 @@ -65,6 +65,12 @@
   14.17  
   14.18  # Basic initialization that must happen first of all
   14.19  BASIC_INIT
   14.20 +
   14.21 +# Now we can determine OpenJDK build and target platforms. This is required to
   14.22 +# have early on.
   14.23 +PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
   14.24 +
   14.25 +# Continue setting up basic stuff.
   14.26  BASIC_SETUP_PATHS
   14.27  BASIC_SETUP_LOGGING
   14.28  
   14.29 @@ -75,28 +81,18 @@
   14.30  # Without these, we can't properly run the rest of the configure script.
   14.31  BASIC_SETUP_TOOLS
   14.32  
   14.33 +# Check if pkg-config is available.
   14.34 +PKG_PROG_PKG_CONFIG
   14.35 +
   14.36 +# After basic tools have been setup, we can check build os specific details.
   14.37 +PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
   14.38 +
   14.39  # Setup builddeps, for automatic downloading of tools we need.
   14.40  # This is needed before we can call BDEPS_CHECK_MODULE, which is done in
   14.41  # boot-jdk setup, but we need to have basic tools setup first.
   14.42  BDEPS_CONFIGURE_BUILDDEPS
   14.43  BDEPS_SCAN_FOR_BUILDDEPS
   14.44  
   14.45 -# Check if pkg-config is available.
   14.46 -PKG_PROG_PKG_CONFIG
   14.47 -
   14.48 -###############################################################################
   14.49 -#
   14.50 -# Determine OpenJDK build and target platforms.
   14.51 -#
   14.52 -###############################################################################
   14.53 -
   14.54 -PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
   14.55 -PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
   14.56 -
   14.57 -# With knowledge of the build platform, setup more basic things.
   14.58 -BASIC_SETUP_PATH_SEP
   14.59 -BASIC_SETUP_SEARCHPATH
   14.60 -
   14.61  ###############################################################################
   14.62  #
   14.63  # Determine OpenJDK variants, options and version numbers.
   14.64 @@ -148,7 +144,7 @@
   14.65  # FIXME: Currently we must test this after paths but before flags. Fix!
   14.66  
   14.67  # And we can test some aspects on the target using configure macros.
   14.68 -PLATFORM_TEST_OPENJDK_TARGET_BITS
   14.69 +PLATFORM_SETUP_OPENJDK_TARGET_BITS
   14.70  PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
   14.71  
   14.72  # Configure flags for the tools
   14.73 @@ -213,8 +209,8 @@
   14.74  # Check for some common pitfalls
   14.75  BASIC_TEST_USABILITY_ISSUES
   14.76  
   14.77 -# At the end, call the closed hook. (Dummy macro if no closed sources available)
   14.78 -CLOSED_HOOK
   14.79 +# At the end, call the custom hook. (Dummy macro if no custom sources available)
   14.80 +CUSTOM_HOOK
   14.81  
   14.82  # We're messing a bit with internal autoconf variables to put the config.status
   14.83  # in the output directory instead of the current directory.
   14.84 @@ -222,5 +218,8 @@
   14.85  # Create the actual output files. Now the main work of configure is done.
   14.86  AC_OUTPUT
   14.87  
   14.88 +# Make the compare script executable
   14.89 +$CHMOD +x $OUTPUT_ROOT/compare.sh
   14.90 +
   14.91  # Finally output some useful information to the user
   14.92  HELP_PRINT_SUMMARY_AND_WARNINGS
    15.1 --- a/common/autoconf/generated-configure.sh	Thu Sep 06 17:27:20 2012 -0700
    15.2 +++ b/common/autoconf/generated-configure.sh	Tue Sep 18 11:29:16 2012 -0700
    15.3 @@ -597,13 +597,10 @@
    15.4  LIBOBJS
    15.5  CCACHE
    15.6  USE_PRECOMPILED_HEADER
    15.7 +SJAVAC_SERVER_DIR
    15.8  ENABLE_SJAVAC
    15.9 -JAVAC_USE_MODE
   15.10 -JAVAC_USE_DEPS
   15.11 -JAVAC_SERVER_CORES
   15.12 -JAVAC_SERVERS
   15.13 -JAVAC_USE_REMOTE
   15.14 -SERVER_JAVA
   15.15 +SJAVAC_SERVER_CORES
   15.16 +SJAVAC_SERVER_JAVA
   15.17  MEMORY_SIZE
   15.18  CONCURRENT_BUILD_JOBS
   15.19  NUM_CORES
   15.20 @@ -635,6 +632,7 @@
   15.21  ZIP_DEBUGINFO_FILES
   15.22  ENABLE_DEBUG_SYMBOLS
   15.23  UNCYGDRIVE
   15.24 +LDFLAGS_CXX_JDK
   15.25  LDFLAGS_JDKEXE_SUFFIX
   15.26  LDFLAGS_JDKLIB_SUFFIX
   15.27  LDFLAGS_JDKEXE
   15.28 @@ -644,6 +642,9 @@
   15.29  CFLAGS_JDKEXE
   15.30  CFLAGS_JDKLIB
   15.31  PACKAGE_PATH
   15.32 +LEGACY_EXTRA_LDFLAGS
   15.33 +LEGACY_EXTRA_CXXFLAGS
   15.34 +LEGACY_EXTRA_CFLAGS
   15.35  CXX_FLAG_DEPS
   15.36  C_FLAG_DEPS
   15.37  CXX_O_FLAG_NONE
   15.38 @@ -656,6 +657,7 @@
   15.39  C_O_FLAG_HIGHEST
   15.40  POST_MCS_CMD
   15.41  POST_STRIP_CMD
   15.42 +SET_EXECUTABLE_ORIGIN
   15.43  SET_SHARED_LIBRARY_ORIGIN
   15.44  CXX_FLAG_REORDER
   15.45  C_FLAG_REORDER
   15.46 @@ -669,14 +671,11 @@
   15.47  STATIC_LIBRARY
   15.48  SHARED_LIBRARY
   15.49  OBJ_SUFFIX
   15.50 -ENDIAN
   15.51 -ARCH_DATA_MODEL
   15.52 -LP64
   15.53 +LIPO
   15.54  OBJCOPY
   15.55  MCS
   15.56  STRIP
   15.57  NM
   15.58 -ASFLAGS
   15.59  AS
   15.60  CXXCPP
   15.61  CPP
   15.62 @@ -706,30 +705,18 @@
   15.63  LDFLAGS
   15.64  CFLAGS
   15.65  CC
   15.66 -HOSTLD
   15.67 -HOSTCXX
   15.68 -HOSTCC
   15.69 -DEFINE_CROSS_COMPILE_ARCH
   15.70 +BUILD_LD
   15.71 +BUILD_CXX
   15.72 +BUILD_CC
   15.73  MSVCR100DLL
   15.74  CHECK_FOR_VCINSTALLDIR
   15.75  SETUPDEVENV
   15.76 +CYGWIN_LINK
   15.77  AR_OUT_OPTION
   15.78  LD_OUT_OPTION
   15.79  EXE_OUT_OPTION
   15.80  CC_OUT_OPTION
   15.81 -SYS_ROOT
   15.82 -HOTSPOT_DIST
   15.83 -JAXWS_DIST
   15.84 -JAXP_DIST
   15.85 -CORBA_DIST
   15.86 -LANGTOOLS_DIST
   15.87 -IMAGES_OUTPUTDIR
   15.88 -JDK_OUTPUTDIR
   15.89 -HOTSPOT_OUTPUTDIR
   15.90 -JAXWS_OUTPUTDIR
   15.91 -JAXP_OUTPUTDIR
   15.92 -CORBA_OUTPUTDIR
   15.93 -LANGTOOLS_OUTPUTDIR
   15.94 +BUILD_OUTPUT
   15.95  OVERRIDE_SRC_ROOT
   15.96  ADD_SRC_ROOT
   15.97  JDK_TOPDIR
   15.98 @@ -739,17 +726,11 @@
   15.99  CORBA_TOPDIR
  15.100  LANGTOOLS_TOPDIR
  15.101  BOOT_JDK_JVMARGS
  15.102 -NATIVE2ASCII
  15.103 -RMIC
  15.104 -JAR
  15.105 -JAVAH
  15.106  JAVAC_FLAGS
  15.107 -JAVAC
  15.108  BOOT_JDK_SOURCETARGET
  15.109 -JAVA
  15.110 +BOOT_JDK
  15.111  BOOT_TOOLSJAR
  15.112  BOOT_RTJAR
  15.113 -BOOT_JDK
  15.114  JAVA_CHECK
  15.115  JAVAC_CHECK
  15.116  OUTPUT_ROOT
  15.117 @@ -777,9 +758,6 @@
  15.118  CACERTS_FILE
  15.119  TEST_IN_BUILD
  15.120  DISABLE_NIMBUS
  15.121 -GENERATE_DOCS
  15.122 -ENABLE_DOCS
  15.123 -BUILD_HEADLESS_ONLY
  15.124  BUILD_HEADLESS
  15.125  SUPPORT_HEADFUL
  15.126  SUPPORT_HEADLESS
  15.127 @@ -790,6 +768,7 @@
  15.128  FASTDEBUG
  15.129  VARIANT
  15.130  DEBUG_LEVEL
  15.131 +MACOSX_UNIVERSAL
  15.132  JVM_VARIANT_ZEROSHARK
  15.133  JVM_VARIANT_ZERO
  15.134  JVM_VARIANT_KERNEL
  15.135 @@ -797,39 +776,98 @@
  15.136  JVM_VARIANT_SERVER
  15.137  JVM_VARIANTS
  15.138  JDK_VARIANT
  15.139 -MINIMIZE_RAM_USAGE
  15.140 -JAVASE_EMBEDDED
  15.141 -PATH_SEP
  15.142 -CYGPATH
  15.143 +BDEPS_FTP
  15.144 +BDEPS_UNZIP
  15.145  OS_VERSION_MICRO
  15.146  OS_VERSION_MINOR
  15.147  OS_VERSION_MAJOR
  15.148 +PKG_CONFIG
  15.149 +HG
  15.150 +OBJDUMP
  15.151 +READELF
  15.152 +OTOOL
  15.153 +LDD
  15.154 +THEPWDCMD
  15.155 +FIND_DELETE
  15.156 +RM
  15.157 +MAKE
  15.158 +CHECK_TOOLSDIR_MAKE
  15.159 +CHECK_TOOLSDIR_GMAKE
  15.160 +CHECK_MAKE
  15.161 +CHECK_GMAKE
  15.162 +NAWK
  15.163 +SED
  15.164 +FGREP
  15.165 +EGREP
  15.166 +GREP
  15.167 +AWK
  15.168 +ZIP
  15.169 +XARGS
  15.170 +WC
  15.171 +UNZIP
  15.172 +UNIQ
  15.173 +TR
  15.174 +TOUCH
  15.175 +TEE
  15.176 +TAR
  15.177 +TAIL
  15.178 +SORT
  15.179 +SH
  15.180 +PRINTF
  15.181 +MV
  15.182 +MKDIR
  15.183 +LS
  15.184 +LN
  15.185 +HEAD
  15.186 +FIND
  15.187 +FILE
  15.188 +EXPR
  15.189 +ECHO
  15.190 +DIFF
  15.191 +DF
  15.192 +DATE
  15.193 +CUT
  15.194 +CPIO
  15.195 +CP
  15.196 +CMP
  15.197 +CHMOD
  15.198 +CAT
  15.199 +BASENAME
  15.200 +PKGHANDLER
  15.201 +BUILD_LOG_WRAPPER
  15.202 +BUILD_LOG_PREVIOUS
  15.203 +BUILD_LOG
  15.204 +SYS_ROOT
  15.205 +PATH_SEP
  15.206 +CYGPATH
  15.207 +SRC_ROOT
  15.208 +READLINK
  15.209 +DEFINE_CROSS_COMPILE_ARCH
  15.210 +LP64
  15.211 +OPENJDK_TARGET_OS_API_DIR
  15.212 +OPENJDK_TARGET_CPU_JLI_CFLAGS
  15.213 +OPENJDK_TARGET_CPU_OSARCH
  15.214 +OPENJDK_TARGET_CPU_ISADIR
  15.215 +OPENJDK_TARGET_CPU_LIBDIR
  15.216 +OPENJDK_TARGET_CPU_LEGACY_LIB
  15.217 +OPENJDK_TARGET_CPU_LEGACY
  15.218  REQUIRED_OS_VERSION
  15.219  REQUIRED_OS_NAME
  15.220 -LEGACY_OPENJDK_BUILD_CPU3
  15.221 -LEGACY_OPENJDK_BUILD_CPU2
  15.222 -LEGACY_OPENJDK_BUILD_CPU1
  15.223 +COMPILE_TYPE
  15.224  OPENJDK_BUILD_CPU_ENDIAN
  15.225  OPENJDK_BUILD_CPU_BITS
  15.226  OPENJDK_BUILD_CPU_ARCH
  15.227  OPENJDK_BUILD_CPU
  15.228 -LEGACY_OPENJDK_BUILD_OS_API
  15.229  OPENJDK_BUILD_OS_API
  15.230 -OPENJDK_BUILD_OS_FAMILY
  15.231  OPENJDK_BUILD_OS
  15.232 -LEGACY_OPENJDK_TARGET_CPU3
  15.233 -LEGACY_OPENJDK_TARGET_CPU2
  15.234 -LEGACY_OPENJDK_TARGET_CPU1
  15.235  OPENJDK_TARGET_CPU_ENDIAN
  15.236  OPENJDK_TARGET_CPU_BITS
  15.237  OPENJDK_TARGET_CPU_ARCH
  15.238  OPENJDK_TARGET_CPU
  15.239 -LEGACY_OPENJDK_TARGET_OS_API
  15.240  OPENJDK_TARGET_OS_API
  15.241 -OPENJDK_TARGET_OS_FAMILY
  15.242  OPENJDK_TARGET_OS
  15.243 -OPENJDK_BUILD_SYSTEM
  15.244 -OPENJDK_TARGET_SYSTEM
  15.245 +OPENJDK_BUILD_AUTOCONF_NAME
  15.246 +OPENJDK_TARGET_AUTOCONF_NAME
  15.247  target_os
  15.248  target_vendor
  15.249  target_cpu
  15.250 @@ -842,60 +880,9 @@
  15.251  build_vendor
  15.252  build_cpu
  15.253  build
  15.254 -PKG_CONFIG
  15.255 -BDEPS_FTP
  15.256 -BDEPS_UNZIP
  15.257 -HG
  15.258 -FILE
  15.259 -EXPR
  15.260 -READELF
  15.261 -OTOOL
  15.262 -LDD
  15.263 -UNZIP
  15.264 -ZIP
  15.265 -XARGS
  15.266 -WC
  15.267 -TOUCH
  15.268 -TR
  15.269 -TEE
  15.270 -TAIL
  15.271 -TAR
  15.272 -SORT
  15.273 -SH
  15.274 -SED
  15.275 -RM
  15.276 -THEPWDCMD
  15.277 -PRINTF
  15.278 -NAWK
  15.279 -MV
  15.280 -MKDIR
  15.281 -MAKE
  15.282 -LS
  15.283 -LN
  15.284 -HEAD
  15.285 -FIND_DELETE
  15.286 -FIND
  15.287 -FGREP
  15.288 -EGREP
  15.289 -GREP
  15.290 -ECHO
  15.291 -DIFF
  15.292 -DF
  15.293 -DATE
  15.294 -CUT
  15.295 -CPIO
  15.296 -CP
  15.297 -CHMOD
  15.298 -CAT
  15.299 -AWK
  15.300 -PKGHANDLER
  15.301 -BUILD_LOG_WRAPPER
  15.302 -BUILD_LOG_PREVIOUS
  15.303 -BUILD_LOG
  15.304 -SRC_ROOT
  15.305 -READLINK
  15.306  DATE_WHEN_CONFIGURED
  15.307  CONFIGURE_COMMAND_LINE
  15.308 +CUSTOM_MAKE_DIR
  15.309  target_alias
  15.310  host_alias
  15.311  build_alias
  15.312 @@ -937,12 +924,16 @@
  15.313  ac_subst_files=''
  15.314  ac_user_opts='
  15.315  enable_option_checking
  15.316 +with_custom_make_dir
  15.317 +with_target_bits
  15.318 +with_sys_root
  15.319 +with_tools_dir
  15.320 +with_devkit
  15.321  with_builddeps_conf
  15.322  with_builddeps_server
  15.323  with_builddeps_dir
  15.324  with_builddeps_group
  15.325  enable_list_builddeps
  15.326 -with_target_bits
  15.327  with_jdk_variant
  15.328  with_jvm_variants
  15.329  enable_debug
  15.330 @@ -950,7 +941,6 @@
  15.331  enable_openjdk_only
  15.332  enable_jigsaw
  15.333  enable_headful
  15.334 -enable_docs
  15.335  enable_nimbus
  15.336  enable_hotspot_test_in_build
  15.337  with_cacerts_file
  15.338 @@ -968,9 +958,6 @@
  15.339  with_override_hotspot
  15.340  with_override_jdk
  15.341  with_msvcr100dll
  15.342 -with_sys_root
  15.343 -with_tools_dir
  15.344 -with_devkit
  15.345  with_extra_cflags
  15.346  with_extra_cxxflags
  15.347  with_extra_ldflags
  15.348 @@ -989,11 +976,8 @@
  15.349  enable_static_link_stdc__
  15.350  with_num_cores
  15.351  with_memory_size
  15.352 -with_server_java
  15.353 -enable_javac_server
  15.354 -with_javac_server_cores
  15.355 -enable_javac_deps
  15.356 -enable_javac_multi_core
  15.357 +with_sjavac_server_java
  15.358 +with_sjavac_server_cores
  15.359  enable_sjavac
  15.360  enable_precompiled_headers
  15.361  enable_ccache
  15.362 @@ -1649,8 +1633,6 @@
  15.363    --enable-jigsaw         build Jigsaw images (not yet available) [disabled]
  15.364    --disable-headful       build headful support (graphical UI support)
  15.365                            [enabled]
  15.366 -  --enable-docs           enable generation of Javadoc documentation
  15.367 -                          [disabled]
  15.368    --disable-nimbus        disable Nimbus L&F [enabled]
  15.369    --enable-hotspot-test-in-build
  15.370                            enable running of Queens test after Hotspot build
  15.371 @@ -1666,12 +1648,6 @@
  15.372    --disable-static-link-stdc++
  15.373                            disable static linking of the C++ runtime on Linux
  15.374                            [enabled]
  15.375 -  --enable-javac-server   enable the shared javac server during the build
  15.376 -                          process [disabled]
  15.377 -  --enable-javac-deps     enable the dependency tracking between Java packages
  15.378 -                          [disabled]
  15.379 -  --enable-javac-multi-core
  15.380 -                          compile Java packages concurrently [disabled]
  15.381    --enable-sjavac         use sjavac to do fast incremental compiles
  15.382                            [disabled]
  15.383    --disable-precompiled-headers
  15.384 @@ -1681,6 +1657,16 @@
  15.385  Optional Packages:
  15.386    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  15.387    --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  15.388 +  --with-custom-make-dir  directory containing custom build/make files
  15.389 +  --with-target-bits      build 32-bit or 64-bit binaries (for platforms that
  15.390 +                          support it), e.g. --with-target-bits=32 [guessed]
  15.391 +  --with-sys-root         pass this sys-root to the compilers and linker
  15.392 +                          (useful if the sys-root encoded in the cross
  15.393 +                          compiler tools is incorrect)
  15.394 +  --with-tools-dir        search this directory for (cross-compiling)
  15.395 +                          compilers and tools
  15.396 +  --with-devkit           use this directory as base for tools-dir and
  15.397 +                          sys-root (for cross-compiling)
  15.398    --with-builddeps-conf   use this configuration file for the builddeps
  15.399    --with-builddeps-server download and use build dependencies from this server
  15.400                            url, e.g.
  15.401 @@ -1689,9 +1675,7 @@
  15.402                            [d/localhome/builddeps]
  15.403    --with-builddeps-group  chgrp the downloaded build dependencies to this
  15.404                            group
  15.405 -  --with-target-bits      build 32-bit or 64-bit binaries (for platforms that
  15.406 -                          support it), e.g. --with-target-bits=32 [guessed]
  15.407 -  --with-jdk-variant      JDK variant to build (normal, embedded) [normal]
  15.408 +  --with-jdk-variant      JDK variant to build (normal) [normal]
  15.409    --with-jvm-variants     JVM variants (separated by commas) to build (server,
  15.410                            client, kernel, zero, zeroshark) [server]
  15.411    --with-debug-level      set the debug level (release, fastdebug, slowdebug)
  15.412 @@ -1724,12 +1708,6 @@
  15.413    --with-override-hotspot use this hotspot dir for the build
  15.414    --with-override-jdk     use this jdk dir for the build
  15.415    --with-msvcr100dll      copy this msvcr100.dll into the built JDK
  15.416 -  --with-sys-root         pass this sys-root to the compilers and linker
  15.417 -                          (useful if the sys-root encoded in the cross
  15.418 -                          compiler tools is incorrect)
  15.419 -  --with-tools-dir        search this directory for compilers and tools
  15.420 -  --with-devkit           use this directory as base for tools-dir and
  15.421 -                          sys-root
  15.422    --with-extra-cflags     extra flags to be used when compiling jdk c-files
  15.423    --with-extra-cxxflags   extra flags to be used when compiling jdk c++-files
  15.424    --with-extra-ldflags    extra flags to be used when linking jdk
  15.425 @@ -1753,13 +1731,15 @@
  15.426                            --with-num-cores=8 [probed]
  15.427    --with-memory-size      memory (in MB) available in the build system, e.g.
  15.428                            --with-memory-size=1024 [probed]
  15.429 -  --with-server-java      use this java binary for running the javac
  15.430 +  --with-sjavac-server-java
  15.431 +                          use this java binary for running the sjavac
  15.432                            background server and other long running java tasks
  15.433                            in the build process, e.g.
  15.434 -                          ---with-server-java="/opt/jrockit/bin/java -server"
  15.435 -  --with-javac-server-cores
  15.436 +                          ---with-sjavac-server-java="/opt/jrockit/bin/java
  15.437 +                          -server"
  15.438 +  --with-sjavac-server-cores
  15.439                            use at most this number of concurrent threads on the
  15.440 -                          javac server [probed]
  15.441 +                          sjavac server [probed]
  15.442    --with-ccache-dir       where to store ccache files [~/.ccache]
  15.443  
  15.444  Some influential environment variables:
  15.445 @@ -2053,6 +2033,97 @@
  15.446  
  15.447  } # ac_fn_cxx_try_cpp
  15.448  
  15.449 +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
  15.450 +# ---------------------------------------------------------
  15.451 +# Tests whether HEADER exists, giving a warning if it cannot be compiled using
  15.452 +# the include files in INCLUDES and setting the cache variable VAR
  15.453 +# accordingly.
  15.454 +ac_fn_cxx_check_header_mongrel ()
  15.455 +{
  15.456 +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  15.457 +  if eval "test \"\${$3+set}\"" = set; then :
  15.458 +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.459 +$as_echo_n "checking for $2... " >&6; }
  15.460 +if eval "test \"\${$3+set}\"" = set; then :
  15.461 +  $as_echo_n "(cached) " >&6
  15.462 +fi
  15.463 +eval ac_res=\$$3
  15.464 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.465 +$as_echo "$ac_res" >&6; }
  15.466 +else
  15.467 +  # Is the header compilable?
  15.468 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
  15.469 +$as_echo_n "checking $2 usability... " >&6; }
  15.470 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.471 +/* end confdefs.h.  */
  15.472 +$4
  15.473 +#include <$2>
  15.474 +_ACEOF
  15.475 +if ac_fn_cxx_try_compile "$LINENO"; then :
  15.476 +  ac_header_compiler=yes
  15.477 +else
  15.478 +  ac_header_compiler=no
  15.479 +fi
  15.480 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15.481 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
  15.482 +$as_echo "$ac_header_compiler" >&6; }
  15.483 +
  15.484 +# Is the header present?
  15.485 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
  15.486 +$as_echo_n "checking $2 presence... " >&6; }
  15.487 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.488 +/* end confdefs.h.  */
  15.489 +#include <$2>
  15.490 +_ACEOF
  15.491 +if ac_fn_cxx_try_cpp "$LINENO"; then :
  15.492 +  ac_header_preproc=yes
  15.493 +else
  15.494 +  ac_header_preproc=no
  15.495 +fi
  15.496 +rm -f conftest.err conftest.i conftest.$ac_ext
  15.497 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  15.498 +$as_echo "$ac_header_preproc" >&6; }
  15.499 +
  15.500 +# So?  What about this header?
  15.501 +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
  15.502 +  yes:no: )
  15.503 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
  15.504 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
  15.505 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  15.506 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  15.507 +    ;;
  15.508 +  no:yes:* )
  15.509 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
  15.510 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
  15.511 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
  15.512 +$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
  15.513 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
  15.514 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
  15.515 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
  15.516 +$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
  15.517 +    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  15.518 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  15.519 +( $as_echo "## ----------------------------------------- ##
  15.520 +## Report this to build-dev@openjdk.java.net ##
  15.521 +## ----------------------------------------- ##"
  15.522 +     ) | sed "s/^/$as_me: WARNING:     /" >&2
  15.523 +    ;;
  15.524 +esac
  15.525 +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.526 +$as_echo_n "checking for $2... " >&6; }
  15.527 +if eval "test \"\${$3+set}\"" = set; then :
  15.528 +  $as_echo_n "(cached) " >&6
  15.529 +else
  15.530 +  eval "$3=\$ac_header_compiler"
  15.531 +fi
  15.532 +eval ac_res=\$$3
  15.533 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.534 +$as_echo "$ac_res" >&6; }
  15.535 +fi
  15.536 +  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
  15.537 +
  15.538 +} # ac_fn_cxx_check_header_mongrel
  15.539 +
  15.540  # ac_fn_cxx_try_run LINENO
  15.541  # ------------------------
  15.542  # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
  15.543 @@ -2095,6 +2166,37 @@
  15.544  
  15.545  } # ac_fn_cxx_try_run
  15.546  
  15.547 +# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
  15.548 +# ---------------------------------------------------------
  15.549 +# Tests whether HEADER exists and can be compiled using the include files in
  15.550 +# INCLUDES, setting the cache variable VAR accordingly.
  15.551 +ac_fn_cxx_check_header_compile ()
  15.552 +{
  15.553 +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  15.554 +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.555 +$as_echo_n "checking for $2... " >&6; }
  15.556 +if eval "test \"\${$3+set}\"" = set; then :
  15.557 +  $as_echo_n "(cached) " >&6
  15.558 +else
  15.559 +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.560 +/* end confdefs.h.  */
  15.561 +$4
  15.562 +#include <$2>
  15.563 +_ACEOF
  15.564 +if ac_fn_cxx_try_compile "$LINENO"; then :
  15.565 +  eval "$3=yes"
  15.566 +else
  15.567 +  eval "$3=no"
  15.568 +fi
  15.569 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15.570 +fi
  15.571 +eval ac_res=\$$3
  15.572 +	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.573 +$as_echo "$ac_res" >&6; }
  15.574 +  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
  15.575 +
  15.576 +} # ac_fn_cxx_check_header_compile
  15.577 +
  15.578  # ac_fn_cxx_compute_int LINENO EXPR VAR INCLUDES
  15.579  # ----------------------------------------------
  15.580  # Tries to find the compile-time value of EXPR in a program that includes
  15.581 @@ -2273,37 +2375,6 @@
  15.582  
  15.583  } # ac_fn_cxx_compute_int
  15.584  
  15.585 -# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
  15.586 -# ---------------------------------------------------------
  15.587 -# Tests whether HEADER exists and can be compiled using the include files in
  15.588 -# INCLUDES, setting the cache variable VAR accordingly.
  15.589 -ac_fn_cxx_check_header_compile ()
  15.590 -{
  15.591 -  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  15.592 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.593 -$as_echo_n "checking for $2... " >&6; }
  15.594 -if eval "test \"\${$3+set}\"" = set; then :
  15.595 -  $as_echo_n "(cached) " >&6
  15.596 -else
  15.597 -  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.598 -/* end confdefs.h.  */
  15.599 -$4
  15.600 -#include <$2>
  15.601 -_ACEOF
  15.602 -if ac_fn_cxx_try_compile "$LINENO"; then :
  15.603 -  eval "$3=yes"
  15.604 -else
  15.605 -  eval "$3=no"
  15.606 -fi
  15.607 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15.608 -fi
  15.609 -eval ac_res=\$$3
  15.610 -	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.611 -$as_echo "$ac_res" >&6; }
  15.612 -  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
  15.613 -
  15.614 -} # ac_fn_cxx_check_header_compile
  15.615 -
  15.616  # ac_fn_cxx_try_link LINENO
  15.617  # -------------------------
  15.618  # Try to link conftest.$ac_ext, and return whether this succeeded.
  15.619 @@ -2507,97 +2578,6 @@
  15.620    eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
  15.621  
  15.622  } # ac_fn_c_check_header_mongrel
  15.623 -
  15.624 -# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
  15.625 -# ---------------------------------------------------------
  15.626 -# Tests whether HEADER exists, giving a warning if it cannot be compiled using
  15.627 -# the include files in INCLUDES and setting the cache variable VAR
  15.628 -# accordingly.
  15.629 -ac_fn_cxx_check_header_mongrel ()
  15.630 -{
  15.631 -  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
  15.632 -  if eval "test \"\${$3+set}\"" = set; then :
  15.633 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.634 -$as_echo_n "checking for $2... " >&6; }
  15.635 -if eval "test \"\${$3+set}\"" = set; then :
  15.636 -  $as_echo_n "(cached) " >&6
  15.637 -fi
  15.638 -eval ac_res=\$$3
  15.639 -	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.640 -$as_echo "$ac_res" >&6; }
  15.641 -else
  15.642 -  # Is the header compilable?
  15.643 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
  15.644 -$as_echo_n "checking $2 usability... " >&6; }
  15.645 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.646 -/* end confdefs.h.  */
  15.647 -$4
  15.648 -#include <$2>
  15.649 -_ACEOF
  15.650 -if ac_fn_cxx_try_compile "$LINENO"; then :
  15.651 -  ac_header_compiler=yes
  15.652 -else
  15.653 -  ac_header_compiler=no
  15.654 -fi
  15.655 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  15.656 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
  15.657 -$as_echo "$ac_header_compiler" >&6; }
  15.658 -
  15.659 -# Is the header present?
  15.660 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
  15.661 -$as_echo_n "checking $2 presence... " >&6; }
  15.662 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  15.663 -/* end confdefs.h.  */
  15.664 -#include <$2>
  15.665 -_ACEOF
  15.666 -if ac_fn_cxx_try_cpp "$LINENO"; then :
  15.667 -  ac_header_preproc=yes
  15.668 -else
  15.669 -  ac_header_preproc=no
  15.670 -fi
  15.671 -rm -f conftest.err conftest.i conftest.$ac_ext
  15.672 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
  15.673 -$as_echo "$ac_header_preproc" >&6; }
  15.674 -
  15.675 -# So?  What about this header?
  15.676 -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
  15.677 -  yes:no: )
  15.678 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
  15.679 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
  15.680 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  15.681 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  15.682 -    ;;
  15.683 -  no:yes:* )
  15.684 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
  15.685 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
  15.686 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
  15.687 -$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
  15.688 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
  15.689 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
  15.690 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
  15.691 -$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
  15.692 -    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
  15.693 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
  15.694 -( $as_echo "## ----------------------------------------- ##
  15.695 -## Report this to build-dev@openjdk.java.net ##
  15.696 -## ----------------------------------------- ##"
  15.697 -     ) | sed "s/^/$as_me: WARNING:     /" >&2
  15.698 -    ;;
  15.699 -esac
  15.700 -  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
  15.701 -$as_echo_n "checking for $2... " >&6; }
  15.702 -if eval "test \"\${$3+set}\"" = set; then :
  15.703 -  $as_echo_n "(cached) " >&6
  15.704 -else
  15.705 -  eval "$3=\$ac_header_compiler"
  15.706 -fi
  15.707 -eval ac_res=\$$3
  15.708 -	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  15.709 -$as_echo "$ac_res" >&6; }
  15.710 -fi
  15.711 -  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
  15.712 -
  15.713 -} # ac_fn_cxx_check_header_mongrel
  15.714  cat >config.log <<_ACEOF
  15.715  This file contains any messages produced by compilers while
  15.716  running configure, to aid debugging if configure makes a mistake.
  15.717 @@ -2952,7 +2932,7 @@
  15.718  
  15.719  
  15.720  # Do not change or remove the following line, it is needed for consistency checks:
  15.721 -# DATE_WHEN_GENERATED: 1341161875
  15.722 +# DATE_WHEN_GENERATED: 1347963060
  15.723  
  15.724  ac_aux_dir=
  15.725  for ac_dir in build-aux "$srcdir"/build-aux; do
  15.726 @@ -3083,10 +3063,7 @@
  15.727  
  15.728  
  15.729  
  15.730 -
  15.731 -
  15.732 -
  15.733 -
  15.734 +# Setup basic configuration paths, and platform-specific stuff related to PATHs.
  15.735  
  15.736  
  15.737  
  15.738 @@ -3096,10 +3073,25 @@
  15.739  
  15.740  #%%% Simple tools %%%
  15.741  
  15.742 -
  15.743 -
  15.744 -
  15.745 -
  15.746 +# Check if we have found a usable version of make
  15.747 +# $1: the path to a potential make binary (or empty)
  15.748 +# $2: the description on how we found this
  15.749 +
  15.750 +
  15.751 +# Goes looking for a usable version of GNU make.
  15.752 +
  15.753 +
  15.754 +
  15.755 +
  15.756 +# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
  15.757 +# $1: variable to check
  15.758 +# $2: executable name to print in warning (optional)
  15.759 +
  15.760 +
  15.761 +# Does AC_PATH_PROG followed by CHECK_NONEMPTY.
  15.762 +# Arguments as AC_PATH_PROG:
  15.763 +# $1: variable to set
  15.764 +# $2: executable name to look for
  15.765  
  15.766  
  15.767  
  15.768 @@ -3176,9 +3168,43 @@
  15.769  # questions.
  15.770  #
  15.771  
  15.772 -# Fixes paths on windows to be mixed mode short.
  15.773 -
  15.774 -
  15.775 +# Execute the check given as argument, and verify the result
  15.776 +# If the Boot JDK was previously found, do nothing
  15.777 +# $1 A command line (typically autoconf macro) to execute
  15.778 +
  15.779 +
  15.780 +# Test: Is bootjdk explicitely set by command line arguments?
  15.781 +
  15.782 +
  15.783 +# Test: Is bootjdk available from builddeps?
  15.784 +
  15.785 +
  15.786 +# Test: Is $JAVA_HOME set?
  15.787 +
  15.788 +
  15.789 +# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
  15.790 +
  15.791 +
  15.792 +# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
  15.793 +
  15.794 +
  15.795 +# Look for a jdk in the given path. If there are multiple, try to select the newest.
  15.796 +# If found, set BOOT_JDK and BOOT_JDK_FOUND.
  15.797 +# $1 = Path to directory containing jdk installations.
  15.798 +# $2 = String to append to the found JDK directory to get the proper JDK home
  15.799 +
  15.800 +
  15.801 +# Call BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY, but use the given
  15.802 +# environmental variable as base for where to look.
  15.803 +# $1 Name of an environmal variable, assumed to point to the Program Files directory.
  15.804 +
  15.805 +
  15.806 +# Test: Is there a JDK installed in default, well-known locations?
  15.807 +
  15.808 +
  15.809 +# Check that a command-line tool in the Boot JDK is correct
  15.810 +# $1 = name of variable to assign
  15.811 +# $2 = name of binary
  15.812  
  15.813  
  15.814  ###############################################################################
  15.815 @@ -3360,6 +3386,18 @@
  15.816  
  15.817  
  15.818  
  15.819 +# Support for customization of the build process. Some build files
  15.820 +# will include counterparts from this location, if they exist. This allows
  15.821 +# for a degree of customization of the build targets and the rules/recipes
  15.822 +# to create them
  15.823 +
  15.824 +# Check whether --with-custom-make-dir was given.
  15.825 +if test "${with_custom_make_dir+set}" = set; then :
  15.826 +  withval=$with_custom_make_dir; CUSTOM_MAKE_DIR=$with_custom_make_dir
  15.827 +fi
  15.828 +
  15.829 +
  15.830 +
  15.831  #
  15.832  # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
  15.833  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  15.834 @@ -3424,14 +3462,31 @@
  15.835  # questions.
  15.836  #
  15.837  
  15.838 -
  15.839 -
  15.840 -
  15.841 -
  15.842 -
  15.843 -
  15.844 -
  15.845 -
  15.846 +# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
  15.847 +# Converts autoconf style CPU name to OpenJDK style, into
  15.848 +# VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN.
  15.849 +
  15.850 +
  15.851 +# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
  15.852 +# Converts autoconf style OS name to OpenJDK style, into
  15.853 +# VAR_OS and VAR_OS_API.
  15.854 +
  15.855 +
  15.856 +# Expects $host_os $host_cpu $build_os and $build_cpu
  15.857 +# and $with_target_bits to have been setup!
  15.858 +#
  15.859 +# Translate the standard triplet(quadruplet) definition
  15.860 +# of the target/build system into OPENJDK_TARGET_OS, OPENJDK_TARGET_CPU,
  15.861 +# OPENJDK_BUILD_OS, etc.
  15.862 +
  15.863 +
  15.864 +# Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
  15.865 +# accordingly. Must be done after setting up build and target system, but before
  15.866 +# doing anything else with these values.
  15.867 +
  15.868 +
  15.869 +    # Setup the legacy variables, for controlling the old makefiles.
  15.870 +    #
  15.871  
  15.872  
  15.873  
  15.874 @@ -3441,6 +3496,8 @@
  15.875  
  15.876  
  15.877  
  15.878 +# Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
  15.879 +# Add -mX to various FLAGS variables.
  15.880  
  15.881  
  15.882  
  15.883 @@ -3519,8 +3576,8 @@
  15.884  
  15.885  
  15.886  # This line needs to be here, verbatim, after all includes.
  15.887 -# It is replaced with closed functionality when building
  15.888 -# closed sources.
  15.889 +# It is replaced with custom functionality when building
  15.890 +# custom sources.
  15.891  
  15.892  
  15.893  ###############################################################################
  15.894 @@ -3536,6 +3593,501 @@
  15.895  DATE_WHEN_CONFIGURED=`LANG=C date`
  15.896  
  15.897  
  15.898 +
  15.899 +# Now we can determine OpenJDK build and target platforms. This is required to
  15.900 +# have early on.
  15.901 +# Make sure we can run config.sub.
  15.902 +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
  15.903 +  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
  15.904 +
  15.905 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
  15.906 +$as_echo_n "checking build system type... " >&6; }
  15.907 +if test "${ac_cv_build+set}" = set; then :
  15.908 +  $as_echo_n "(cached) " >&6
  15.909 +else
  15.910 +  ac_build_alias=$build_alias
  15.911 +test "x$ac_build_alias" = x &&
  15.912 +  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
  15.913 +test "x$ac_build_alias" = x &&
  15.914 +  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
  15.915 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
  15.916 +  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
  15.917 +
  15.918 +fi
  15.919 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
  15.920 +$as_echo "$ac_cv_build" >&6; }
  15.921 +case $ac_cv_build in
  15.922 +*-*-*) ;;
  15.923 +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
  15.924 +esac
  15.925 +build=$ac_cv_build
  15.926 +ac_save_IFS=$IFS; IFS='-'
  15.927 +set x $ac_cv_build
  15.928 +shift
  15.929 +build_cpu=$1
  15.930 +build_vendor=$2
  15.931 +shift; shift
  15.932 +# Remember, the first character of IFS is used to create $*,
  15.933 +# except with old shells:
  15.934 +build_os=$*
  15.935 +IFS=$ac_save_IFS
  15.936 +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
  15.937 +
  15.938 +
  15.939 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
  15.940 +$as_echo_n "checking host system type... " >&6; }
  15.941 +if test "${ac_cv_host+set}" = set; then :
  15.942 +  $as_echo_n "(cached) " >&6
  15.943 +else
  15.944 +  if test "x$host_alias" = x; then
  15.945 +  ac_cv_host=$ac_cv_build
  15.946 +else
  15.947 +  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
  15.948 +    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
  15.949 +fi
  15.950 +
  15.951 +fi
  15.952 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
  15.953 +$as_echo "$ac_cv_host" >&6; }
  15.954 +case $ac_cv_host in
  15.955 +*-*-*) ;;
  15.956 +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
  15.957 +esac
  15.958 +host=$ac_cv_host
  15.959 +ac_save_IFS=$IFS; IFS='-'
  15.960 +set x $ac_cv_host
  15.961 +shift
  15.962 +host_cpu=$1
  15.963 +host_vendor=$2
  15.964 +shift; shift
  15.965 +# Remember, the first character of IFS is used to create $*,
  15.966 +# except with old shells:
  15.967 +host_os=$*
  15.968 +IFS=$ac_save_IFS
  15.969 +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
  15.970 +
  15.971 +
  15.972 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
  15.973 +$as_echo_n "checking target system type... " >&6; }
  15.974 +if test "${ac_cv_target+set}" = set; then :
  15.975 +  $as_echo_n "(cached) " >&6
  15.976 +else
  15.977 +  if test "x$target_alias" = x; then
  15.978 +  ac_cv_target=$ac_cv_host
  15.979 +else
  15.980 +  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
  15.981 +    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
  15.982 +fi
  15.983 +
  15.984 +fi
  15.985 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
  15.986 +$as_echo "$ac_cv_target" >&6; }
  15.987 +case $ac_cv_target in
  15.988 +*-*-*) ;;
  15.989 +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
  15.990 +esac
  15.991 +target=$ac_cv_target
  15.992 +ac_save_IFS=$IFS; IFS='-'
  15.993 +set x $ac_cv_target
  15.994 +shift
  15.995 +target_cpu=$1
  15.996 +target_vendor=$2
  15.997 +shift; shift
  15.998 +# Remember, the first character of IFS is used to create $*,
  15.999 +# except with old shells:
 15.1000 +target_os=$*
 15.1001 +IFS=$ac_save_IFS
 15.1002 +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
 15.1003 +
 15.1004 +
 15.1005 +# The aliases save the names the user supplied, while $host etc.
 15.1006 +# will get canonicalized.
 15.1007 +test -n "$target_alias" &&
 15.1008 +  test "$program_prefix$program_suffix$program_transform_name" = \
 15.1009 +    NONENONEs,x,x, &&
 15.1010 +  program_prefix=${target_alias}-
 15.1011 +
 15.1012 +# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
 15.1013 +# is confusing; it assumes you are cross-compiling a cross-compiler (!)  and "target" is thus the target of the
 15.1014 +# product you're building. The target of this build is called "host". Since this is confusing to most people, we
 15.1015 +# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
 15.1016 +# to use the configure naming style.
 15.1017 +
 15.1018 +
 15.1019 +
 15.1020 +
 15.1021 +
 15.1022 +    # Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
 15.1023 +    # (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
 15.1024 +    # Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
 15.1025 +    # but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
 15.1026 +    OPENJDK_TARGET_AUTOCONF_NAME="$host"
 15.1027 +    OPENJDK_BUILD_AUTOCONF_NAME="$build"
 15.1028 +
 15.1029 +
 15.1030 +
 15.1031 +    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
 15.1032 +
 15.1033 +  case "$host_os" in
 15.1034 +    *linux*)
 15.1035 +      VAR_OS=linux
 15.1036 +      VAR_OS_API=posix
 15.1037 +      ;;
 15.1038 +    *solaris*)
 15.1039 +      VAR_OS=solaris
 15.1040 +      VAR_OS_API=posix
 15.1041 +      ;;
 15.1042 +    *darwin*)
 15.1043 +      VAR_OS=macosx
 15.1044 +      VAR_OS_API=posix
 15.1045 +      ;;
 15.1046 +    *bsd*)
 15.1047 +      VAR_OS=bsd
 15.1048 +      VAR_OS_API=posix
 15.1049 +      ;;
 15.1050 +    *cygwin*|*windows*)
 15.1051 +      VAR_OS=windows
 15.1052 +      VAR_OS_API=winapi
 15.1053 +      ;;
 15.1054 +    *)
 15.1055 +      as_fn_error $? "unsupported operating system $host_os" "$LINENO" 5
 15.1056 +      ;;
 15.1057 +  esac
 15.1058 +
 15.1059 +
 15.1060 +  # First argument is the cpu name from the trip/quad
 15.1061 +  case "$host_cpu" in
 15.1062 +    x86_64)
 15.1063 +      VAR_CPU=x86_64
 15.1064 +      VAR_CPU_ARCH=x86
 15.1065 +      VAR_CPU_BITS=64
 15.1066 +      VAR_CPU_ENDIAN=little
 15.1067 +      ;;
 15.1068 +    i?86)
 15.1069 +      VAR_CPU=x86
 15.1070 +      VAR_CPU_ARCH=x86
 15.1071 +      VAR_CPU_BITS=32
 15.1072 +      VAR_CPU_ENDIAN=little
 15.1073 +      ;;
 15.1074 +    arm*)
 15.1075 +      VAR_CPU=arm
 15.1076 +      VAR_CPU_ARCH=arm
 15.1077 +      VAR_CPU_BITS=32
 15.1078 +      VAR_CPU_ENDIAN=little
 15.1079 +      ;;
 15.1080 +    powerpc)
 15.1081 +      VAR_CPU=ppc
 15.1082 +      VAR_CPU_ARCH=ppc
 15.1083 +      VAR_CPU_BITS=32
 15.1084 +      VAR_CPU_ENDIAN=big
 15.1085 +       ;;
 15.1086 +    powerpc64)
 15.1087 +      VAR_CPU=ppc64
 15.1088 +      VAR_CPU_ARCH=ppc
 15.1089 +      VAR_CPU_BITS=64
 15.1090 +      VAR_CPU_ENDIAN=big
 15.1091 +       ;;
 15.1092 +    sparc)
 15.1093 +      VAR_CPU=sparc
 15.1094 +      VAR_CPU_ARCH=sparc
 15.1095 +      VAR_CPU_BITS=32
 15.1096 +      VAR_CPU_ENDIAN=big
 15.1097 +       ;;
 15.1098 +    sparcv9)
 15.1099 +      VAR_CPU=sparcv9
 15.1100 +      VAR_CPU_ARCH=sparc
 15.1101 +      VAR_CPU_BITS=64
 15.1102 +      VAR_CPU_ENDIAN=big
 15.1103 +       ;;
 15.1104 +    *)
 15.1105 +      as_fn_error $? "unsupported cpu $host_cpu" "$LINENO" 5
 15.1106 +      ;;
 15.1107 +  esac
 15.1108 +
 15.1109 +    # ... and setup our own variables. (Do this explicitely to facilitate searching)
 15.1110 +    OPENJDK_TARGET_OS="$VAR_OS"
 15.1111 +    OPENJDK_TARGET_OS_API="$VAR_OS_API"
 15.1112 +    OPENJDK_TARGET_CPU="$VAR_CPU"
 15.1113 +    OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
 15.1114 +    OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
 15.1115 +    OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
 15.1116 +
 15.1117 +
 15.1118 +
 15.1119 +
 15.1120 +
 15.1121 +
 15.1122 +
 15.1123 +    # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
 15.1124 +
 15.1125 +  case "$build_os" in
 15.1126 +    *linux*)
 15.1127 +      VAR_OS=linux
 15.1128 +      VAR_OS_API=posix
 15.1129 +      ;;
 15.1130 +    *solaris*)
 15.1131 +      VAR_OS=solaris
 15.1132 +      VAR_OS_API=posix
 15.1133 +      ;;
 15.1134 +    *darwin*)
 15.1135 +      VAR_OS=macosx
 15.1136 +      VAR_OS_API=posix
 15.1137 +      ;;
 15.1138 +    *bsd*)
 15.1139 +      VAR_OS=bsd
 15.1140 +      VAR_OS_API=posix
 15.1141 +      ;;
 15.1142 +    *cygwin*|*windows*)
 15.1143 +      VAR_OS=windows
 15.1144 +      VAR_OS_API=winapi
 15.1145 +      ;;
 15.1146 +    *)
 15.1147 +      as_fn_error $? "unsupported operating system $build_os" "$LINENO" 5
 15.1148 +      ;;
 15.1149 +  esac
 15.1150 +
 15.1151 +
 15.1152 +  # First argument is the cpu name from the trip/quad
 15.1153 +  case "$build_cpu" in
 15.1154 +    x86_64)
 15.1155 +      VAR_CPU=x86_64
 15.1156 +      VAR_CPU_ARCH=x86
 15.1157 +      VAR_CPU_BITS=64
 15.1158 +      VAR_CPU_ENDIAN=little
 15.1159 +      ;;
 15.1160 +    i?86)
 15.1161 +      VAR_CPU=x86
 15.1162 +      VAR_CPU_ARCH=x86
 15.1163 +      VAR_CPU_BITS=32
 15.1164 +      VAR_CPU_ENDIAN=little
 15.1165 +      ;;
 15.1166 +    arm*)
 15.1167 +      VAR_CPU=arm
 15.1168 +      VAR_CPU_ARCH=arm
 15.1169 +      VAR_CPU_BITS=32
 15.1170 +      VAR_CPU_ENDIAN=little
 15.1171 +      ;;
 15.1172 +    powerpc)
 15.1173 +      VAR_CPU=ppc
 15.1174 +      VAR_CPU_ARCH=ppc
 15.1175 +      VAR_CPU_BITS=32
 15.1176 +      VAR_CPU_ENDIAN=big
 15.1177 +       ;;
 15.1178 +    powerpc64)
 15.1179 +      VAR_CPU=ppc64
 15.1180 +      VAR_CPU_ARCH=ppc
 15.1181 +      VAR_CPU_BITS=64
 15.1182 +      VAR_CPU_ENDIAN=big
 15.1183 +       ;;
 15.1184 +    sparc)
 15.1185 +      VAR_CPU=sparc
 15.1186 +      VAR_CPU_ARCH=sparc
 15.1187 +      VAR_CPU_BITS=32
 15.1188 +      VAR_CPU_ENDIAN=big
 15.1189 +       ;;
 15.1190 +    sparcv9)
 15.1191 +      VAR_CPU=sparcv9
 15.1192 +      VAR_CPU_ARCH=sparc
 15.1193 +      VAR_CPU_BITS=64
 15.1194 +      VAR_CPU_ENDIAN=big
 15.1195 +       ;;
 15.1196 +    *)
 15.1197 +      as_fn_error $? "unsupported cpu $build_cpu" "$LINENO" 5
 15.1198 +      ;;
 15.1199 +  esac
 15.1200 +
 15.1201 +    # ..and setup our own variables. (Do this explicitely to facilitate searching)
 15.1202 +    OPENJDK_BUILD_OS="$VAR_OS"
 15.1203 +    OPENJDK_BUILD_OS_API="$VAR_OS_API"
 15.1204 +    OPENJDK_BUILD_CPU="$VAR_CPU"
 15.1205 +    OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
 15.1206 +    OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
 15.1207 +    OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
 15.1208 +
 15.1209 +
 15.1210 +
 15.1211 +
 15.1212 +
 15.1213 +
 15.1214 +
 15.1215 +
 15.1216 +
 15.1217 +# Check whether --with-target-bits was given.
 15.1218 +if test "${with_target_bits+set}" = set; then :
 15.1219 +  withval=$with_target_bits;
 15.1220 +fi
 15.1221 +
 15.1222 +
 15.1223 +  # We have three types of compiles:
 15.1224 +  # native  == normal compilation, target system == build system
 15.1225 +  # cross   == traditional cross compilation, target system != build system; special toolchain needed
 15.1226 +  # reduced == using native compilers, but with special flags (e.g. -m32) to produce 32-bit builds on 64-bit machines
 15.1227 +  #
 15.1228 +  if test "x$OPENJDK_BUILD_AUTOCONF_NAME" != "x$OPENJDK_TARGET_AUTOCONF_NAME"; then
 15.1229 +    # We're doing a proper cross-compilation
 15.1230 +    COMPILE_TYPE="cross"
 15.1231 +  else
 15.1232 +    COMPILE_TYPE="native"
 15.1233 +  fi
 15.1234 +
 15.1235 +  if test "x$with_target_bits" != x; then
 15.1236 +    if test "x$COMPILE_TYPE" = "xcross"; then
 15.1237 +      as_fn_error $? "It is not possible to combine --with-target-bits=X and proper cross-compilation. Choose either." "$LINENO" 5
 15.1238 +    fi
 15.1239 +
 15.1240 +    if test "x$with_target_bits" = x32 && test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
 15.1241 +      # A reduced build is requested
 15.1242 +      COMPILE_TYPE="reduced"
 15.1243 +      OPENJDK_TARGET_CPU_BITS=32
 15.1244 +      if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
 15.1245 +        OPENJDK_TARGET_CPU=x86
 15.1246 +      elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
 15.1247 +        OPENJDK_TARGET_CPU=sparc
 15.1248 +      else
 15.1249 +        as_fn_error $? "Reduced build (--with-target-bits=32) is only supported on x86_64 and sparcv9" "$LINENO" 5
 15.1250 +      fi
 15.1251 +    elif test "x$with_target_bits" = x64 && test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
 15.1252 +      as_fn_error $? "It is not possible to use --with-target-bits=64 on a 32 bit system. Use proper cross-compilation instead." "$LINENO" 5
 15.1253 +    elif test "x$with_target_bits" = "x$OPENJDK_TARGET_CPU_BITS"; then
 15.1254 +      { $as_echo "$as_me:${as_lineno-$LINENO}: --with-target-bits are set to build platform address size; argument has no meaning" >&5
 15.1255 +$as_echo "$as_me: --with-target-bits are set to build platform address size; argument has no meaning" >&6;}
 15.1256 +    else
 15.1257 +      as_fn_error $? "--with-target-bits can only be 32 or 64, you specified $with_target_bits!" "$LINENO" 5
 15.1258 +    fi
 15.1259 +  fi
 15.1260 +
 15.1261 +
 15.1262 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compilation type" >&5
 15.1263 +$as_echo_n "checking for compilation type... " >&6; }
 15.1264 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPILE_TYPE" >&5
 15.1265 +$as_echo "$COMPILE_TYPE" >&6; }
 15.1266 +
 15.1267 +
 15.1268 +    if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
 15.1269 +       REQUIRED_OS_NAME=SunOS
 15.1270 +       REQUIRED_OS_VERSION=5.10
 15.1271 +    fi
 15.1272 +    if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
 15.1273 +       REQUIRED_OS_NAME=Linux
 15.1274 +       REQUIRED_OS_VERSION=2.6
 15.1275 +    fi
 15.1276 +    if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
 15.1277 +        REQUIRED_OS_NAME=Windows
 15.1278 +        if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
 15.1279 +            REQUIRED_OS_VERSION=5.2
 15.1280 +        else
 15.1281 +            REQUIRED_OS_VERSION=5.1
 15.1282 +        fi
 15.1283 +    fi
 15.1284 +    if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
 15.1285 +        REQUIRED_OS_NAME=Darwin
 15.1286 +        REQUIRED_OS_VERSION=11.2
 15.1287 +    fi
 15.1288 +
 15.1289 +
 15.1290 +
 15.1291 +
 15.1292 +
 15.1293 +    # Also store the legacy naming of the cpu.
 15.1294 +    # Ie i586 and amd64 instead of x86 and x86_64
 15.1295 +    OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
 15.1296 +    if test "x$OPENJDK_TARGET_CPU" = xx86; then
 15.1297 +      OPENJDK_TARGET_CPU_LEGACY="i586"
 15.1298 +    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
 15.1299 +      # On all platforms except MacOSX replace x86_64 with amd64.
 15.1300 +      OPENJDK_TARGET_CPU_LEGACY="amd64"
 15.1301 +    fi
 15.1302 +
 15.1303 +
 15.1304 +    # And the second legacy naming of the cpu.
 15.1305 +    # Ie i386 and amd64 instead of x86 and x86_64.
 15.1306 +    OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
 15.1307 +    if test "x$OPENJDK_TARGET_CPU" = xx86; then
 15.1308 +      OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
 15.1309 +    elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
 15.1310 +      OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
 15.1311 +    fi
 15.1312 +
 15.1313 +
 15.1314 +    # This is the name of the cpu (but using i386 and amd64 instead of
 15.1315 +    # x86 and x86_64, respectively), preceeded by a /, to be used when
 15.1316 +    # locating libraries. On macosx, it's empty, though.
 15.1317 +    OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
 15.1318 +    if test "x$OPENJDK_TARGET_OS" = xmacosx; then
 15.1319 +        OPENJDK_TARGET_CPU_LIBDIR=""
 15.1320 +    fi
 15.1321 +
 15.1322 +
 15.1323 +    # OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
 15.1324 +    # /amd64 or /sparcv9. This string is appended to some library paths, like this:
 15.1325 +    # /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
 15.1326 +    OPENJDK_TARGET_CPU_ISADIR=""
 15.1327 +    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
 15.1328 +      if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
 15.1329 +          OPENJDK_TARGET_CPU_ISADIR="/amd64"
 15.1330 +      elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
 15.1331 +          OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
 15.1332 +      fi
 15.1333 +    fi
 15.1334 +
 15.1335 +
 15.1336 +    # Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
 15.1337 +    OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
 15.1338 +    if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
 15.1339 +      # On linux only, we replace x86 with i386.
 15.1340 +      OPENJDK_TARGET_CPU_OSARCH="i386"
 15.1341 +    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
 15.1342 +      # On all platforms except macosx, we replace x86_64 with amd64.
 15.1343 +      OPENJDK_TARGET_CPU_OSARCH="amd64"
 15.1344 +    fi
 15.1345 +
 15.1346 +
 15.1347 +    OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
 15.1348 +    if test "x$OPENJDK_TARGET_CPU" = xx86; then
 15.1349 +      OPENJDK_TARGET_CPU_JLI="i386"
 15.1350 +    elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
 15.1351 +      # On all platforms except macosx, we replace x86_64 with amd64.
 15.1352 +      OPENJDK_TARGET_CPU_JLI="amd64"
 15.1353 +    fi
 15.1354 +    # Now setup the -D flags for building libjli.
 15.1355 +    OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
 15.1356 +    if test "x$OPENJDK_TARGET_OS" = xsolaris; then
 15.1357 +      if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
 15.1358 +        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
 15.1359 +      elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
 15.1360 +        OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
 15.1361 +      fi
 15.1362 +    fi
 15.1363 +
 15.1364 +
 15.1365 +    # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
 15.1366 +    if test "x$OPENJDK_TARGET_OS_API" = xposix; then
 15.1367 +        OPENJDK_TARGET_OS_API_DIR="solaris"
 15.1368 +    fi
 15.1369 +    if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
 15.1370 +        OPENJDK_TARGET_OS_API_DIR="windows"
 15.1371 +    fi
 15.1372 +
 15.1373 +
 15.1374 +    if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
 15.1375 +        A_LP64="LP64:="
 15.1376 +        ADD_LP64="-D_LP64=1"
 15.1377 +    fi
 15.1378 +    LP64=$A_LP64
 15.1379 +
 15.1380 +
 15.1381 +    if test "x$COMPILE_TYPE" = "xcross"; then
 15.1382 +      # FIXME: ... or should this include reduced builds..?
 15.1383 +      DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
 15.1384 +    else
 15.1385 +      DEFINE_CROSS_COMPILE_ARCH=""
 15.1386 +    fi
 15.1387 +
 15.1388 +
 15.1389 +
 15.1390 +
 15.1391 +# Continue setting up basic stuff.
 15.1392 +
 15.1393  # Locate the directory of this script.
 15.1394  SCRIPT="$0"
 15.1395  
 15.1396 @@ -3622,7 +4174,6 @@
 15.1397  
 15.1398  AUTOCONF_DIR=`dirname $0`
 15.1399  
 15.1400 -
 15.1401  # Where is the source? It is located two levels above the configure script.
 15.1402  CURDIR="$PWD"
 15.1403  cd "$AUTOCONF_DIR/../.."
 15.1404 @@ -3642,7 +4193,11 @@
 15.1405      HAS_SPACE=`echo "$SRC_ROOT" | grep " "`
 15.1406      if test "x$HAS_SPACE" != x; then
 15.1407          if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
 15.1408 +            # First convert it to DOS-style, short mode (no spaces)
 15.1409              SRC_ROOT=`$CYGPATH -s -m -a "$SRC_ROOT"`
 15.1410 +            # Now it's case insensitive; let's make it lowercase to improve readability
 15.1411 +            SRC_ROOT=`$ECHO "$SRC_ROOT" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'`
 15.1412 +            # Now convert it back to Unix-stile (cygpath)
 15.1413              SRC_ROOT=`$CYGPATH -u "$SRC_ROOT"`
 15.1414          else
 15.1415              as_fn_error $? "You cannot have spaces in the path to the source root! \"$SRC_ROOT\"" "$LINENO" 5
 15.1416 @@ -3655,7 +4210,11 @@
 15.1417      HAS_SPACE=`echo "$CURDIR" | grep " "`
 15.1418      if test "x$HAS_SPACE" != x; then
 15.1419          if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
 15.1420 +            # First convert it to DOS-style, short mode (no spaces)
 15.1421              CURDIR=`$CYGPATH -s -m -a "$CURDIR"`
 15.1422 +            # Now it's case insensitive; let's make it lowercase to improve readability
 15.1423 +            CURDIR=`$ECHO "$CURDIR" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'`
 15.1424 +            # Now convert it back to Unix-stile (cygpath)
 15.1425              CURDIR=`$CYGPATH -u "$CURDIR"`
 15.1426          else
 15.1427              as_fn_error $? "You cannot have spaces in the path to the current directory! \"$CURDIR\"" "$LINENO" 5
 15.1428 @@ -3663,6 +4222,101 @@
 15.1429      fi
 15.1430  
 15.1431  
 15.1432 +if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
 15.1433 +    # Add extra search paths on solaris for utilities like ar and as etc...
 15.1434 +    PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
 15.1435 +fi
 15.1436 +
 15.1437 +# For cygwin we need cygpath first, since it is used everywhere.
 15.1438 +# Extract the first word of "cygpath", so it can be a program name with args.
 15.1439 +set dummy cygpath; ac_word=$2
 15.1440 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1441 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1442 +if test "${ac_cv_path_CYGPATH+set}" = set; then :
 15.1443 +  $as_echo_n "(cached) " >&6
 15.1444 +else
 15.1445 +  case $CYGPATH in
 15.1446 +  [\\/]* | ?:[\\/]*)
 15.1447 +  ac_cv_path_CYGPATH="$CYGPATH" # Let the user override the test with a path.
 15.1448 +  ;;
 15.1449 +  *)
 15.1450 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1451 +for as_dir in $PATH
 15.1452 +do
 15.1453 +  IFS=$as_save_IFS
 15.1454 +  test -z "$as_dir" && as_dir=.
 15.1455 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1456 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1457 +    ac_cv_path_CYGPATH="$as_dir/$ac_word$ac_exec_ext"
 15.1458 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1459 +    break 2
 15.1460 +  fi
 15.1461 +done
 15.1462 +  done
 15.1463 +IFS=$as_save_IFS
 15.1464 +
 15.1465 +  ;;
 15.1466 +esac
 15.1467 +fi
 15.1468 +CYGPATH=$ac_cv_path_CYGPATH
 15.1469 +if test -n "$CYGPATH"; then
 15.1470 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5
 15.1471 +$as_echo "$CYGPATH" >&6; }
 15.1472 +else
 15.1473 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1474 +$as_echo "no" >&6; }
 15.1475 +fi
 15.1476 +
 15.1477 +
 15.1478 +PATH_SEP=":"
 15.1479 +if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
 15.1480 +    if test "x$CYGPATH" = x; then
 15.1481 +        as_fn_error $? "Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path" "$LINENO" 5
 15.1482 +    fi
 15.1483 +    PATH_SEP=";"
 15.1484 +fi
 15.1485 +
 15.1486 +
 15.1487 +# You can force the sys-root if the sys-root encoded into the cross compiler tools
 15.1488 +# is not correct.
 15.1489 +
 15.1490 +# Check whether --with-sys-root was given.
 15.1491 +if test "${with_sys_root+set}" = set; then :
 15.1492 +  withval=$with_sys_root;
 15.1493 +fi
 15.1494 +
 15.1495 +
 15.1496 +if test "x$with_sys_root" != x; then
 15.1497 +  SYS_ROOT=$with_sys_root
 15.1498 +else
 15.1499 +  SYS_ROOT=/
 15.1500 +fi
 15.1501 +
 15.1502 +
 15.1503 +
 15.1504 +# Check whether --with-tools-dir was given.
 15.1505 +if test "${with_tools_dir+set}" = set; then :
 15.1506 +  withval=$with_tools_dir; TOOLS_DIR=$with_tools_dir
 15.1507 +fi
 15.1508 +
 15.1509 +
 15.1510 +
 15.1511 +# Check whether --with-devkit was given.
 15.1512 +if test "${with_devkit+set}" = set; then :
 15.1513 +  withval=$with_devkit;
 15.1514 +    if test "x$with_sys_root" != x; then
 15.1515 +      as_fn_error $? "Cannot specify both --with-devkit and --with-sys-root at the same time" "$LINENO" 5
 15.1516 +    fi
 15.1517 +    if test "x$with_tools_dir" != x; then
 15.1518 +      as_fn_error $? "Cannot specify both --with-devkit and --with-tools-dir at the same time" "$LINENO" 5
 15.1519 +    fi
 15.1520 +    TOOLS_DIR=$with_devkit/bin
 15.1521 +    SYS_ROOT=$with_devkit/$host_alias/libc
 15.1522 +
 15.1523 +fi
 15.1524 +
 15.1525 +
 15.1526 +
 15.1527  
 15.1528  # Setup default logging of stdout and stderr to build.log in the output root.
 15.1529  BUILD_LOG='$(OUTPUT_ROOT)/build.log'
 15.1530 @@ -3721,6 +4375,1958 @@
 15.1531  
 15.1532  # Setup simple tools, that do not need have cross compilation support.
 15.1533  # Without these, we can't properly run the rest of the configure script.
 15.1534 +
 15.1535 +# Start with tools that do not need have cross compilation support
 15.1536 +# and can be expected to be found in the default PATH. These tools are
 15.1537 +# used by configure. Nor are these tools expected to be found in the
 15.1538 +# devkit from the builddeps server either, since they are
 15.1539 +# needed to download the devkit.
 15.1540 +
 15.1541 +# First are all the simple required tools.
 15.1542 +
 15.1543 +    for ac_prog in basename
 15.1544 +do
 15.1545 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1546 +set dummy $ac_prog; ac_word=$2
 15.1547 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1548 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1549 +if test "${ac_cv_path_BASENAME+set}" = set; then :
 15.1550 +  $as_echo_n "(cached) " >&6
 15.1551 +else
 15.1552 +  case $BASENAME in
 15.1553 +  [\\/]* | ?:[\\/]*)
 15.1554 +  ac_cv_path_BASENAME="$BASENAME" # Let the user override the test with a path.
 15.1555 +  ;;
 15.1556 +  *)
 15.1557 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1558 +for as_dir in $PATH
 15.1559 +do
 15.1560 +  IFS=$as_save_IFS
 15.1561 +  test -z "$as_dir" && as_dir=.
 15.1562 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1563 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1564 +    ac_cv_path_BASENAME="$as_dir/$ac_word$ac_exec_ext"
 15.1565 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1566 +    break 2
 15.1567 +  fi
 15.1568 +done
 15.1569 +  done
 15.1570 +IFS=$as_save_IFS
 15.1571 +
 15.1572 +  ;;
 15.1573 +esac
 15.1574 +fi
 15.1575 +BASENAME=$ac_cv_path_BASENAME
 15.1576 +if test -n "$BASENAME"; then
 15.1577 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASENAME" >&5
 15.1578 +$as_echo "$BASENAME" >&6; }
 15.1579 +else
 15.1580 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1581 +$as_echo "no" >&6; }
 15.1582 +fi
 15.1583 +
 15.1584 +
 15.1585 +  test -n "$BASENAME" && break
 15.1586 +done
 15.1587 +
 15.1588 +
 15.1589 +    if test "x$BASENAME" = x; then
 15.1590 +        if test "xbasename" = x; then
 15.1591 +          PROG_NAME=basename
 15.1592 +        else
 15.1593 +          PROG_NAME=basename
 15.1594 +        fi
 15.1595 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1596 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1597 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1598 +    fi
 15.1599 +
 15.1600 +
 15.1601 +
 15.1602 +    for ac_prog in cat
 15.1603 +do
 15.1604 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1605 +set dummy $ac_prog; ac_word=$2
 15.1606 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1607 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1608 +if test "${ac_cv_path_CAT+set}" = set; then :
 15.1609 +  $as_echo_n "(cached) " >&6
 15.1610 +else
 15.1611 +  case $CAT in
 15.1612 +  [\\/]* | ?:[\\/]*)
 15.1613 +  ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
 15.1614 +  ;;
 15.1615 +  *)
 15.1616 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1617 +for as_dir in $PATH
 15.1618 +do
 15.1619 +  IFS=$as_save_IFS
 15.1620 +  test -z "$as_dir" && as_dir=.
 15.1621 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1622 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1623 +    ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
 15.1624 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1625 +    break 2
 15.1626 +  fi
 15.1627 +done
 15.1628 +  done
 15.1629 +IFS=$as_save_IFS
 15.1630 +
 15.1631 +  ;;
 15.1632 +esac
 15.1633 +fi
 15.1634 +CAT=$ac_cv_path_CAT
 15.1635 +if test -n "$CAT"; then
 15.1636 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
 15.1637 +$as_echo "$CAT" >&6; }
 15.1638 +else
 15.1639 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1640 +$as_echo "no" >&6; }
 15.1641 +fi
 15.1642 +
 15.1643 +
 15.1644 +  test -n "$CAT" && break
 15.1645 +done
 15.1646 +
 15.1647 +
 15.1648 +    if test "x$CAT" = x; then
 15.1649 +        if test "xcat" = x; then
 15.1650 +          PROG_NAME=cat
 15.1651 +        else
 15.1652 +          PROG_NAME=cat
 15.1653 +        fi
 15.1654 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1655 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1656 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1657 +    fi
 15.1658 +
 15.1659 +
 15.1660 +
 15.1661 +    for ac_prog in chmod
 15.1662 +do
 15.1663 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1664 +set dummy $ac_prog; ac_word=$2
 15.1665 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1666 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1667 +if test "${ac_cv_path_CHMOD+set}" = set; then :
 15.1668 +  $as_echo_n "(cached) " >&6
 15.1669 +else
 15.1670 +  case $CHMOD in
 15.1671 +  [\\/]* | ?:[\\/]*)
 15.1672 +  ac_cv_path_CHMOD="$CHMOD" # Let the user override the test with a path.
 15.1673 +  ;;
 15.1674 +  *)
 15.1675 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1676 +for as_dir in $PATH
 15.1677 +do
 15.1678 +  IFS=$as_save_IFS
 15.1679 +  test -z "$as_dir" && as_dir=.
 15.1680 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1681 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1682 +    ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
 15.1683 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1684 +    break 2
 15.1685 +  fi
 15.1686 +done
 15.1687 +  done
 15.1688 +IFS=$as_save_IFS
 15.1689 +
 15.1690 +  ;;
 15.1691 +esac
 15.1692 +fi
 15.1693 +CHMOD=$ac_cv_path_CHMOD
 15.1694 +if test -n "$CHMOD"; then
 15.1695 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5
 15.1696 +$as_echo "$CHMOD" >&6; }
 15.1697 +else
 15.1698 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1699 +$as_echo "no" >&6; }
 15.1700 +fi
 15.1701 +
 15.1702 +
 15.1703 +  test -n "$CHMOD" && break
 15.1704 +done
 15.1705 +
 15.1706 +
 15.1707 +    if test "x$CHMOD" = x; then
 15.1708 +        if test "xchmod" = x; then
 15.1709 +          PROG_NAME=chmod
 15.1710 +        else
 15.1711 +          PROG_NAME=chmod
 15.1712 +        fi
 15.1713 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1714 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1715 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1716 +    fi
 15.1717 +
 15.1718 +
 15.1719 +
 15.1720 +    for ac_prog in cmp
 15.1721 +do
 15.1722 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1723 +set dummy $ac_prog; ac_word=$2
 15.1724 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1725 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1726 +if test "${ac_cv_path_CMP+set}" = set; then :
 15.1727 +  $as_echo_n "(cached) " >&6
 15.1728 +else
 15.1729 +  case $CMP in
 15.1730 +  [\\/]* | ?:[\\/]*)
 15.1731 +  ac_cv_path_CMP="$CMP" # Let the user override the test with a path.
 15.1732 +  ;;
 15.1733 +  *)
 15.1734 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1735 +for as_dir in $PATH
 15.1736 +do
 15.1737 +  IFS=$as_save_IFS
 15.1738 +  test -z "$as_dir" && as_dir=.
 15.1739 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1740 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1741 +    ac_cv_path_CMP="$as_dir/$ac_word$ac_exec_ext"
 15.1742 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1743 +    break 2
 15.1744 +  fi
 15.1745 +done
 15.1746 +  done
 15.1747 +IFS=$as_save_IFS
 15.1748 +
 15.1749 +  ;;
 15.1750 +esac
 15.1751 +fi
 15.1752 +CMP=$ac_cv_path_CMP
 15.1753 +if test -n "$CMP"; then
 15.1754 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CMP" >&5
 15.1755 +$as_echo "$CMP" >&6; }
 15.1756 +else
 15.1757 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1758 +$as_echo "no" >&6; }
 15.1759 +fi
 15.1760 +
 15.1761 +
 15.1762 +  test -n "$CMP" && break
 15.1763 +done
 15.1764 +
 15.1765 +
 15.1766 +    if test "x$CMP" = x; then
 15.1767 +        if test "xcmp" = x; then
 15.1768 +          PROG_NAME=cmp
 15.1769 +        else
 15.1770 +          PROG_NAME=cmp
 15.1771 +        fi
 15.1772 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1773 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1774 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1775 +    fi
 15.1776 +
 15.1777 +
 15.1778 +
 15.1779 +    for ac_prog in cp
 15.1780 +do
 15.1781 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1782 +set dummy $ac_prog; ac_word=$2
 15.1783 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1784 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1785 +if test "${ac_cv_path_CP+set}" = set; then :
 15.1786 +  $as_echo_n "(cached) " >&6
 15.1787 +else
 15.1788 +  case $CP in
 15.1789 +  [\\/]* | ?:[\\/]*)
 15.1790 +  ac_cv_path_CP="$CP" # Let the user override the test with a path.
 15.1791 +  ;;
 15.1792 +  *)
 15.1793 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1794 +for as_dir in $PATH
 15.1795 +do
 15.1796 +  IFS=$as_save_IFS
 15.1797 +  test -z "$as_dir" && as_dir=.
 15.1798 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1799 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1800 +    ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext"
 15.1801 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1802 +    break 2
 15.1803 +  fi
 15.1804 +done
 15.1805 +  done
 15.1806 +IFS=$as_save_IFS
 15.1807 +
 15.1808 +  ;;
 15.1809 +esac
 15.1810 +fi
 15.1811 +CP=$ac_cv_path_CP
 15.1812 +if test -n "$CP"; then
 15.1813 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CP" >&5
 15.1814 +$as_echo "$CP" >&6; }
 15.1815 +else
 15.1816 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1817 +$as_echo "no" >&6; }
 15.1818 +fi
 15.1819 +
 15.1820 +
 15.1821 +  test -n "$CP" && break
 15.1822 +done
 15.1823 +
 15.1824 +
 15.1825 +    if test "x$CP" = x; then
 15.1826 +        if test "xcp" = x; then
 15.1827 +          PROG_NAME=cp
 15.1828 +        else
 15.1829 +          PROG_NAME=cp
 15.1830 +        fi
 15.1831 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1832 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1833 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1834 +    fi
 15.1835 +
 15.1836 +
 15.1837 +
 15.1838 +    for ac_prog in cpio
 15.1839 +do
 15.1840 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1841 +set dummy $ac_prog; ac_word=$2
 15.1842 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1843 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1844 +if test "${ac_cv_path_CPIO+set}" = set; then :
 15.1845 +  $as_echo_n "(cached) " >&6
 15.1846 +else
 15.1847 +  case $CPIO in
 15.1848 +  [\\/]* | ?:[\\/]*)
 15.1849 +  ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path.
 15.1850 +  ;;
 15.1851 +  *)
 15.1852 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1853 +for as_dir in $PATH
 15.1854 +do
 15.1855 +  IFS=$as_save_IFS
 15.1856 +  test -z "$as_dir" && as_dir=.
 15.1857 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1858 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1859 +    ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext"
 15.1860 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1861 +    break 2
 15.1862 +  fi
 15.1863 +done
 15.1864 +  done
 15.1865 +IFS=$as_save_IFS
 15.1866 +
 15.1867 +  ;;
 15.1868 +esac
 15.1869 +fi
 15.1870 +CPIO=$ac_cv_path_CPIO
 15.1871 +if test -n "$CPIO"; then
 15.1872 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPIO" >&5
 15.1873 +$as_echo "$CPIO" >&6; }
 15.1874 +else
 15.1875 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1876 +$as_echo "no" >&6; }
 15.1877 +fi
 15.1878 +
 15.1879 +
 15.1880 +  test -n "$CPIO" && break
 15.1881 +done
 15.1882 +
 15.1883 +
 15.1884 +    if test "x$CPIO" = x; then
 15.1885 +        if test "xcpio" = x; then
 15.1886 +          PROG_NAME=cpio
 15.1887 +        else
 15.1888 +          PROG_NAME=cpio
 15.1889 +        fi
 15.1890 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1891 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1892 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1893 +    fi
 15.1894 +
 15.1895 +
 15.1896 +
 15.1897 +    for ac_prog in cut
 15.1898 +do
 15.1899 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1900 +set dummy $ac_prog; ac_word=$2
 15.1901 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1902 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1903 +if test "${ac_cv_path_CUT+set}" = set; then :
 15.1904 +  $as_echo_n "(cached) " >&6
 15.1905 +else
 15.1906 +  case $CUT in
 15.1907 +  [\\/]* | ?:[\\/]*)
 15.1908 +  ac_cv_path_CUT="$CUT" # Let the user override the test with a path.
 15.1909 +  ;;
 15.1910 +  *)
 15.1911 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1912 +for as_dir in $PATH
 15.1913 +do
 15.1914 +  IFS=$as_save_IFS
 15.1915 +  test -z "$as_dir" && as_dir=.
 15.1916 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1917 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1918 +    ac_cv_path_CUT="$as_dir/$ac_word$ac_exec_ext"
 15.1919 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1920 +    break 2
 15.1921 +  fi
 15.1922 +done
 15.1923 +  done
 15.1924 +IFS=$as_save_IFS
 15.1925 +
 15.1926 +  ;;
 15.1927 +esac
 15.1928 +fi
 15.1929 +CUT=$ac_cv_path_CUT
 15.1930 +if test -n "$CUT"; then
 15.1931 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUT" >&5
 15.1932 +$as_echo "$CUT" >&6; }
 15.1933 +else
 15.1934 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1935 +$as_echo "no" >&6; }
 15.1936 +fi
 15.1937 +
 15.1938 +
 15.1939 +  test -n "$CUT" && break
 15.1940 +done
 15.1941 +
 15.1942 +
 15.1943 +    if test "x$CUT" = x; then
 15.1944 +        if test "xcut" = x; then
 15.1945 +          PROG_NAME=cut
 15.1946 +        else
 15.1947 +          PROG_NAME=cut
 15.1948 +        fi
 15.1949 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.1950 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.1951 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.1952 +    fi
 15.1953 +
 15.1954 +
 15.1955 +
 15.1956 +    for ac_prog in date
 15.1957 +do
 15.1958 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.1959 +set dummy $ac_prog; ac_word=$2
 15.1960 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.1961 +$as_echo_n "checking for $ac_word... " >&6; }
 15.1962 +if test "${ac_cv_path_DATE+set}" = set; then :
 15.1963 +  $as_echo_n "(cached) " >&6
 15.1964 +else
 15.1965 +  case $DATE in
 15.1966 +  [\\/]* | ?:[\\/]*)
 15.1967 +  ac_cv_path_DATE="$DATE" # Let the user override the test with a path.
 15.1968 +  ;;
 15.1969 +  *)
 15.1970 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.1971 +for as_dir in $PATH
 15.1972 +do
 15.1973 +  IFS=$as_save_IFS
 15.1974 +  test -z "$as_dir" && as_dir=.
 15.1975 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.1976 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.1977 +    ac_cv_path_DATE="$as_dir/$ac_word$ac_exec_ext"
 15.1978 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.1979 +    break 2
 15.1980 +  fi
 15.1981 +done
 15.1982 +  done
 15.1983 +IFS=$as_save_IFS
 15.1984 +
 15.1985 +  ;;
 15.1986 +esac
 15.1987 +fi
 15.1988 +DATE=$ac_cv_path_DATE
 15.1989 +if test -n "$DATE"; then
 15.1990 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DATE" >&5
 15.1991 +$as_echo "$DATE" >&6; }
 15.1992 +else
 15.1993 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.1994 +$as_echo "no" >&6; }
 15.1995 +fi
 15.1996 +
 15.1997 +
 15.1998 +  test -n "$DATE" && break
 15.1999 +done
 15.2000 +
 15.2001 +
 15.2002 +    if test "x$DATE" = x; then
 15.2003 +        if test "xdate" = x; then
 15.2004 +          PROG_NAME=date
 15.2005 +        else
 15.2006 +          PROG_NAME=date
 15.2007 +        fi
 15.2008 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2009 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2010 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2011 +    fi
 15.2012 +
 15.2013 +
 15.2014 +
 15.2015 +    for ac_prog in df
 15.2016 +do
 15.2017 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2018 +set dummy $ac_prog; ac_word=$2
 15.2019 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2020 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2021 +if test "${ac_cv_path_DF+set}" = set; then :
 15.2022 +  $as_echo_n "(cached) " >&6
 15.2023 +else
 15.2024 +  case $DF in
 15.2025 +  [\\/]* | ?:[\\/]*)
 15.2026 +  ac_cv_path_DF="$DF" # Let the user override the test with a path.
 15.2027 +  ;;
 15.2028 +  *)
 15.2029 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2030 +for as_dir in $PATH
 15.2031 +do
 15.2032 +  IFS=$as_save_IFS
 15.2033 +  test -z "$as_dir" && as_dir=.
 15.2034 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2035 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2036 +    ac_cv_path_DF="$as_dir/$ac_word$ac_exec_ext"
 15.2037 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2038 +    break 2
 15.2039 +  fi
 15.2040 +done
 15.2041 +  done
 15.2042 +IFS=$as_save_IFS
 15.2043 +
 15.2044 +  ;;
 15.2045 +esac
 15.2046 +fi
 15.2047 +DF=$ac_cv_path_DF
 15.2048 +if test -n "$DF"; then
 15.2049 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DF" >&5
 15.2050 +$as_echo "$DF" >&6; }
 15.2051 +else
 15.2052 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2053 +$as_echo "no" >&6; }
 15.2054 +fi
 15.2055 +
 15.2056 +
 15.2057 +  test -n "$DF" && break
 15.2058 +done
 15.2059 +
 15.2060 +
 15.2061 +    if test "x$DF" = x; then
 15.2062 +        if test "xdf" = x; then
 15.2063 +          PROG_NAME=df
 15.2064 +        else
 15.2065 +          PROG_NAME=df
 15.2066 +        fi
 15.2067 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2068 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2069 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2070 +    fi
 15.2071 +
 15.2072 +
 15.2073 +
 15.2074 +    for ac_prog in gdiff diff
 15.2075 +do
 15.2076 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2077 +set dummy $ac_prog; ac_word=$2
 15.2078 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2079 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2080 +if test "${ac_cv_path_DIFF+set}" = set; then :
 15.2081 +  $as_echo_n "(cached) " >&6
 15.2082 +else
 15.2083 +  case $DIFF in
 15.2084 +  [\\/]* | ?:[\\/]*)
 15.2085 +  ac_cv_path_DIFF="$DIFF" # Let the user override the test with a path.
 15.2086 +  ;;
 15.2087 +  *)
 15.2088 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2089 +for as_dir in $PATH
 15.2090 +do
 15.2091 +  IFS=$as_save_IFS
 15.2092 +  test -z "$as_dir" && as_dir=.
 15.2093 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2094 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2095 +    ac_cv_path_DIFF="$as_dir/$ac_word$ac_exec_ext"
 15.2096 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2097 +    break 2
 15.2098 +  fi
 15.2099 +done
 15.2100 +  done
 15.2101 +IFS=$as_save_IFS
 15.2102 +
 15.2103 +  ;;
 15.2104 +esac
 15.2105 +fi
 15.2106 +DIFF=$ac_cv_path_DIFF
 15.2107 +if test -n "$DIFF"; then
 15.2108 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5
 15.2109 +$as_echo "$DIFF" >&6; }
 15.2110 +else
 15.2111 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2112 +$as_echo "no" >&6; }
 15.2113 +fi
 15.2114 +
 15.2115 +
 15.2116 +  test -n "$DIFF" && break
 15.2117 +done
 15.2118 +
 15.2119 +
 15.2120 +    if test "x$DIFF" = x; then
 15.2121 +        if test "xgdiff diff" = x; then
 15.2122 +          PROG_NAME=diff
 15.2123 +        else
 15.2124 +          PROG_NAME=gdiff diff
 15.2125 +        fi
 15.2126 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2127 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2128 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2129 +    fi
 15.2130 +
 15.2131 +
 15.2132 +
 15.2133 +    for ac_prog in echo
 15.2134 +do
 15.2135 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2136 +set dummy $ac_prog; ac_word=$2
 15.2137 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2138 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2139 +if test "${ac_cv_path_ECHO+set}" = set; then :
 15.2140 +  $as_echo_n "(cached) " >&6
 15.2141 +else
 15.2142 +  case $ECHO in
 15.2143 +  [\\/]* | ?:[\\/]*)
 15.2144 +  ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path.
 15.2145 +  ;;
 15.2146 +  *)
 15.2147 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2148 +for as_dir in $PATH
 15.2149 +do
 15.2150 +  IFS=$as_save_IFS
 15.2151 +  test -z "$as_dir" && as_dir=.
 15.2152 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2153 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2154 +    ac_cv_path_ECHO="$as_dir/$ac_word$ac_exec_ext"
 15.2155 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2156 +    break 2
 15.2157 +  fi
 15.2158 +done
 15.2159 +  done
 15.2160 +IFS=$as_save_IFS
 15.2161 +
 15.2162 +  ;;
 15.2163 +esac
 15.2164 +fi
 15.2165 +ECHO=$ac_cv_path_ECHO
 15.2166 +if test -n "$ECHO"; then
 15.2167 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ECHO" >&5
 15.2168 +$as_echo "$ECHO" >&6; }
 15.2169 +else
 15.2170 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2171 +$as_echo "no" >&6; }
 15.2172 +fi
 15.2173 +
 15.2174 +
 15.2175 +  test -n "$ECHO" && break
 15.2176 +done
 15.2177 +
 15.2178 +
 15.2179 +    if test "x$ECHO" = x; then
 15.2180 +        if test "xecho" = x; then
 15.2181 +          PROG_NAME=echo
 15.2182 +        else
 15.2183 +          PROG_NAME=echo
 15.2184 +        fi
 15.2185 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2186 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2187 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2188 +    fi
 15.2189 +
 15.2190 +
 15.2191 +
 15.2192 +    for ac_prog in expr
 15.2193 +do
 15.2194 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2195 +set dummy $ac_prog; ac_word=$2
 15.2196 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2197 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2198 +if test "${ac_cv_path_EXPR+set}" = set; then :
 15.2199 +  $as_echo_n "(cached) " >&6
 15.2200 +else
 15.2201 +  case $EXPR in
 15.2202 +  [\\/]* | ?:[\\/]*)
 15.2203 +  ac_cv_path_EXPR="$EXPR" # Let the user override the test with a path.
 15.2204 +  ;;
 15.2205 +  *)
 15.2206 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2207 +for as_dir in $PATH
 15.2208 +do
 15.2209 +  IFS=$as_save_IFS
 15.2210 +  test -z "$as_dir" && as_dir=.
 15.2211 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2212 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2213 +    ac_cv_path_EXPR="$as_dir/$ac_word$ac_exec_ext"
 15.2214 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2215 +    break 2
 15.2216 +  fi
 15.2217 +done
 15.2218 +  done
 15.2219 +IFS=$as_save_IFS
 15.2220 +
 15.2221 +  ;;
 15.2222 +esac
 15.2223 +fi
 15.2224 +EXPR=$ac_cv_path_EXPR
 15.2225 +if test -n "$EXPR"; then
 15.2226 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXPR" >&5
 15.2227 +$as_echo "$EXPR" >&6; }
 15.2228 +else
 15.2229 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2230 +$as_echo "no" >&6; }
 15.2231 +fi
 15.2232 +
 15.2233 +
 15.2234 +  test -n "$EXPR" && break
 15.2235 +done
 15.2236 +
 15.2237 +
 15.2238 +    if test "x$EXPR" = x; then
 15.2239 +        if test "xexpr" = x; then
 15.2240 +          PROG_NAME=expr
 15.2241 +        else
 15.2242 +          PROG_NAME=expr
 15.2243 +        fi
 15.2244 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2245 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2246 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2247 +    fi
 15.2248 +
 15.2249 +
 15.2250 +
 15.2251 +    for ac_prog in file
 15.2252 +do
 15.2253 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2254 +set dummy $ac_prog; ac_word=$2
 15.2255 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2256 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2257 +if test "${ac_cv_path_FILE+set}" = set; then :
 15.2258 +  $as_echo_n "(cached) " >&6
 15.2259 +else
 15.2260 +  case $FILE in
 15.2261 +  [\\/]* | ?:[\\/]*)
 15.2262 +  ac_cv_path_FILE="$FILE" # Let the user override the test with a path.
 15.2263 +  ;;
 15.2264 +  *)
 15.2265 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2266 +for as_dir in $PATH
 15.2267 +do
 15.2268 +  IFS=$as_save_IFS
 15.2269 +  test -z "$as_dir" && as_dir=.
 15.2270 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2271 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2272 +    ac_cv_path_FILE="$as_dir/$ac_word$ac_exec_ext"
 15.2273 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2274 +    break 2
 15.2275 +  fi
 15.2276 +done
 15.2277 +  done
 15.2278 +IFS=$as_save_IFS
 15.2279 +
 15.2280 +  ;;
 15.2281 +esac
 15.2282 +fi
 15.2283 +FILE=$ac_cv_path_FILE
 15.2284 +if test -n "$FILE"; then
 15.2285 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILE" >&5
 15.2286 +$as_echo "$FILE" >&6; }
 15.2287 +else
 15.2288 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2289 +$as_echo "no" >&6; }
 15.2290 +fi
 15.2291 +
 15.2292 +
 15.2293 +  test -n "$FILE" && break
 15.2294 +done
 15.2295 +
 15.2296 +
 15.2297 +    if test "x$FILE" = x; then
 15.2298 +        if test "xfile" = x; then
 15.2299 +          PROG_NAME=file
 15.2300 +        else
 15.2301 +          PROG_NAME=file
 15.2302 +        fi
 15.2303 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2304 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2305 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2306 +    fi
 15.2307 +
 15.2308 +
 15.2309 +
 15.2310 +    for ac_prog in find
 15.2311 +do
 15.2312 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2313 +set dummy $ac_prog; ac_word=$2
 15.2314 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2315 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2316 +if test "${ac_cv_path_FIND+set}" = set; then :
 15.2317 +  $as_echo_n "(cached) " >&6
 15.2318 +else
 15.2319 +  case $FIND in
 15.2320 +  [\\/]* | ?:[\\/]*)
 15.2321 +  ac_cv_path_FIND="$FIND" # Let the user override the test with a path.
 15.2322 +  ;;
 15.2323 +  *)
 15.2324 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2325 +for as_dir in $PATH
 15.2326 +do
 15.2327 +  IFS=$as_save_IFS
 15.2328 +  test -z "$as_dir" && as_dir=.
 15.2329 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2330 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2331 +    ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext"
 15.2332 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2333 +    break 2
 15.2334 +  fi
 15.2335 +done
 15.2336 +  done
 15.2337 +IFS=$as_save_IFS
 15.2338 +
 15.2339 +  ;;
 15.2340 +esac
 15.2341 +fi
 15.2342 +FIND=$ac_cv_path_FIND
 15.2343 +if test -n "$FIND"; then
 15.2344 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5
 15.2345 +$as_echo "$FIND" >&6; }
 15.2346 +else
 15.2347 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2348 +$as_echo "no" >&6; }
 15.2349 +fi
 15.2350 +
 15.2351 +
 15.2352 +  test -n "$FIND" && break
 15.2353 +done
 15.2354 +
 15.2355 +
 15.2356 +    if test "x$FIND" = x; then
 15.2357 +        if test "xfind" = x; then
 15.2358 +          PROG_NAME=find
 15.2359 +        else
 15.2360 +          PROG_NAME=find
 15.2361 +        fi
 15.2362 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2363 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2364 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2365 +    fi
 15.2366 +
 15.2367 +
 15.2368 +
 15.2369 +    for ac_prog in head
 15.2370 +do
 15.2371 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2372 +set dummy $ac_prog; ac_word=$2
 15.2373 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2374 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2375 +if test "${ac_cv_path_HEAD+set}" = set; then :
 15.2376 +  $as_echo_n "(cached) " >&6
 15.2377 +else
 15.2378 +  case $HEAD in
 15.2379 +  [\\/]* | ?:[\\/]*)
 15.2380 +  ac_cv_path_HEAD="$HEAD" # Let the user override the test with a path.
 15.2381 +  ;;
 15.2382 +  *)
 15.2383 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2384 +for as_dir in $PATH
 15.2385 +do
 15.2386 +  IFS=$as_save_IFS
 15.2387 +  test -z "$as_dir" && as_dir=.
 15.2388 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2389 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2390 +    ac_cv_path_HEAD="$as_dir/$ac_word$ac_exec_ext"
 15.2391 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2392 +    break 2
 15.2393 +  fi
 15.2394 +done
 15.2395 +  done
 15.2396 +IFS=$as_save_IFS
 15.2397 +
 15.2398 +  ;;
 15.2399 +esac
 15.2400 +fi
 15.2401 +HEAD=$ac_cv_path_HEAD
 15.2402 +if test -n "$HEAD"; then
 15.2403 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HEAD" >&5
 15.2404 +$as_echo "$HEAD" >&6; }
 15.2405 +else
 15.2406 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2407 +$as_echo "no" >&6; }
 15.2408 +fi
 15.2409 +
 15.2410 +
 15.2411 +  test -n "$HEAD" && break
 15.2412 +done
 15.2413 +
 15.2414 +
 15.2415 +    if test "x$HEAD" = x; then
 15.2416 +        if test "xhead" = x; then
 15.2417 +          PROG_NAME=head
 15.2418 +        else
 15.2419 +          PROG_NAME=head
 15.2420 +        fi
 15.2421 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2422 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2423 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2424 +    fi
 15.2425 +
 15.2426 +
 15.2427 +
 15.2428 +    for ac_prog in ln
 15.2429 +do
 15.2430 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2431 +set dummy $ac_prog; ac_word=$2
 15.2432 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2433 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2434 +if test "${ac_cv_path_LN+set}" = set; then :
 15.2435 +  $as_echo_n "(cached) " >&6
 15.2436 +else
 15.2437 +  case $LN in
 15.2438 +  [\\/]* | ?:[\\/]*)
 15.2439 +  ac_cv_path_LN="$LN" # Let the user override the test with a path.
 15.2440 +  ;;
 15.2441 +  *)
 15.2442 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2443 +for as_dir in $PATH
 15.2444 +do
 15.2445 +  IFS=$as_save_IFS
 15.2446 +  test -z "$as_dir" && as_dir=.
 15.2447 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2448 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2449 +    ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
 15.2450 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2451 +    break 2
 15.2452 +  fi
 15.2453 +done
 15.2454 +  done
 15.2455 +IFS=$as_save_IFS
 15.2456 +
 15.2457 +  ;;
 15.2458 +esac
 15.2459 +fi
 15.2460 +LN=$ac_cv_path_LN
 15.2461 +if test -n "$LN"; then
 15.2462 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5
 15.2463 +$as_echo "$LN" >&6; }
 15.2464 +else
 15.2465 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2466 +$as_echo "no" >&6; }
 15.2467 +fi
 15.2468 +
 15.2469 +
 15.2470 +  test -n "$LN" && break
 15.2471 +done
 15.2472 +
 15.2473 +
 15.2474 +    if test "x$LN" = x; then
 15.2475 +        if test "xln" = x; then
 15.2476 +          PROG_NAME=ln
 15.2477 +        else
 15.2478 +          PROG_NAME=ln
 15.2479 +        fi
 15.2480 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2481 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2482 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2483 +    fi
 15.2484 +
 15.2485 +
 15.2486 +
 15.2487 +    for ac_prog in ls
 15.2488 +do
 15.2489 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2490 +set dummy $ac_prog; ac_word=$2
 15.2491 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2492 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2493 +if test "${ac_cv_path_LS+set}" = set; then :
 15.2494 +  $as_echo_n "(cached) " >&6
 15.2495 +else
 15.2496 +  case $LS in
 15.2497 +  [\\/]* | ?:[\\/]*)
 15.2498 +  ac_cv_path_LS="$LS" # Let the user override the test with a path.
 15.2499 +  ;;
 15.2500 +  *)
 15.2501 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2502 +for as_dir in $PATH
 15.2503 +do
 15.2504 +  IFS=$as_save_IFS
 15.2505 +  test -z "$as_dir" && as_dir=.
 15.2506 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2507 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2508 +    ac_cv_path_LS="$as_dir/$ac_word$ac_exec_ext"
 15.2509 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2510 +    break 2
 15.2511 +  fi
 15.2512 +done
 15.2513 +  done
 15.2514 +IFS=$as_save_IFS
 15.2515 +
 15.2516 +  ;;
 15.2517 +esac
 15.2518 +fi
 15.2519 +LS=$ac_cv_path_LS
 15.2520 +if test -n "$LS"; then
 15.2521 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LS" >&5
 15.2522 +$as_echo "$LS" >&6; }
 15.2523 +else
 15.2524 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2525 +$as_echo "no" >&6; }
 15.2526 +fi
 15.2527 +
 15.2528 +
 15.2529 +  test -n "$LS" && break
 15.2530 +done
 15.2531 +
 15.2532 +
 15.2533 +    if test "x$LS" = x; then
 15.2534 +        if test "xls" = x; then
 15.2535 +          PROG_NAME=ls
 15.2536 +        else
 15.2537 +          PROG_NAME=ls
 15.2538 +        fi
 15.2539 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2540 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2541 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2542 +    fi
 15.2543 +
 15.2544 +
 15.2545 +
 15.2546 +    for ac_prog in mkdir
 15.2547 +do
 15.2548 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2549 +set dummy $ac_prog; ac_word=$2
 15.2550 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2551 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2552 +if test "${ac_cv_path_MKDIR+set}" = set; then :
 15.2553 +  $as_echo_n "(cached) " >&6
 15.2554 +else
 15.2555 +  case $MKDIR in
 15.2556 +  [\\/]* | ?:[\\/]*)
 15.2557 +  ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path.
 15.2558 +  ;;
 15.2559 +  *)
 15.2560 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2561 +for as_dir in $PATH
 15.2562 +do
 15.2563 +  IFS=$as_save_IFS
 15.2564 +  test -z "$as_dir" && as_dir=.
 15.2565 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2566 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2567 +    ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext"
 15.2568 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2569 +    break 2
 15.2570 +  fi
 15.2571 +done
 15.2572 +  done
 15.2573 +IFS=$as_save_IFS
 15.2574 +
 15.2575 +  ;;
 15.2576 +esac
 15.2577 +fi
 15.2578 +MKDIR=$ac_cv_path_MKDIR
 15.2579 +if test -n "$MKDIR"; then
 15.2580 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5
 15.2581 +$as_echo "$MKDIR" >&6; }
 15.2582 +else
 15.2583 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2584 +$as_echo "no" >&6; }
 15.2585 +fi
 15.2586 +
 15.2587 +
 15.2588 +  test -n "$MKDIR" && break
 15.2589 +done
 15.2590 +
 15.2591 +
 15.2592 +    if test "x$MKDIR" = x; then
 15.2593 +        if test "xmkdir" = x; then
 15.2594 +          PROG_NAME=mkdir
 15.2595 +        else
 15.2596 +          PROG_NAME=mkdir
 15.2597 +        fi
 15.2598 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2599 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2600 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2601 +    fi
 15.2602 +
 15.2603 +
 15.2604 +
 15.2605 +    for ac_prog in mv
 15.2606 +do
 15.2607 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2608 +set dummy $ac_prog; ac_word=$2
 15.2609 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2610 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2611 +if test "${ac_cv_path_MV+set}" = set; then :
 15.2612 +  $as_echo_n "(cached) " >&6
 15.2613 +else
 15.2614 +  case $MV in
 15.2615 +  [\\/]* | ?:[\\/]*)
 15.2616 +  ac_cv_path_MV="$MV" # Let the user override the test with a path.
 15.2617 +  ;;
 15.2618 +  *)
 15.2619 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2620 +for as_dir in $PATH
 15.2621 +do
 15.2622 +  IFS=$as_save_IFS
 15.2623 +  test -z "$as_dir" && as_dir=.
 15.2624 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2625 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2626 +    ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
 15.2627 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2628 +    break 2
 15.2629 +  fi
 15.2630 +done
 15.2631 +  done
 15.2632 +IFS=$as_save_IFS
 15.2633 +
 15.2634 +  ;;
 15.2635 +esac
 15.2636 +fi
 15.2637 +MV=$ac_cv_path_MV
 15.2638 +if test -n "$MV"; then
 15.2639 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5
 15.2640 +$as_echo "$MV" >&6; }
 15.2641 +else
 15.2642 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2643 +$as_echo "no" >&6; }
 15.2644 +fi
 15.2645 +
 15.2646 +
 15.2647 +  test -n "$MV" && break
 15.2648 +done
 15.2649 +
 15.2650 +
 15.2651 +    if test "x$MV" = x; then
 15.2652 +        if test "xmv" = x; then
 15.2653 +          PROG_NAME=mv
 15.2654 +        else
 15.2655 +          PROG_NAME=mv
 15.2656 +        fi
 15.2657 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2658 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2659 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2660 +    fi
 15.2661 +
 15.2662 +
 15.2663 +
 15.2664 +    for ac_prog in printf
 15.2665 +do
 15.2666 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2667 +set dummy $ac_prog; ac_word=$2
 15.2668 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2669 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2670 +if test "${ac_cv_path_PRINTF+set}" = set; then :
 15.2671 +  $as_echo_n "(cached) " >&6
 15.2672 +else
 15.2673 +  case $PRINTF in
 15.2674 +  [\\/]* | ?:[\\/]*)
 15.2675 +  ac_cv_path_PRINTF="$PRINTF" # Let the user override the test with a path.
 15.2676 +  ;;
 15.2677 +  *)
 15.2678 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2679 +for as_dir in $PATH
 15.2680 +do
 15.2681 +  IFS=$as_save_IFS
 15.2682 +  test -z "$as_dir" && as_dir=.
 15.2683 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2684 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2685 +    ac_cv_path_PRINTF="$as_dir/$ac_word$ac_exec_ext"
 15.2686 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2687 +    break 2
 15.2688 +  fi
 15.2689 +done
 15.2690 +  done
 15.2691 +IFS=$as_save_IFS
 15.2692 +
 15.2693 +  ;;
 15.2694 +esac
 15.2695 +fi
 15.2696 +PRINTF=$ac_cv_path_PRINTF
 15.2697 +if test -n "$PRINTF"; then
 15.2698 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRINTF" >&5
 15.2699 +$as_echo "$PRINTF" >&6; }
 15.2700 +else
 15.2701 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2702 +$as_echo "no" >&6; }
 15.2703 +fi
 15.2704 +
 15.2705 +
 15.2706 +  test -n "$PRINTF" && break
 15.2707 +done
 15.2708 +
 15.2709 +
 15.2710 +    if test "x$PRINTF" = x; then
 15.2711 +        if test "xprintf" = x; then
 15.2712 +          PROG_NAME=printf
 15.2713 +        else
 15.2714 +          PROG_NAME=printf
 15.2715 +        fi
 15.2716 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2717 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2718 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2719 +    fi
 15.2720 +
 15.2721 +
 15.2722 +
 15.2723 +    for ac_prog in sh
 15.2724 +do
 15.2725 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2726 +set dummy $ac_prog; ac_word=$2
 15.2727 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2728 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2729 +if test "${ac_cv_path_SH+set}" = set; then :
 15.2730 +  $as_echo_n "(cached) " >&6
 15.2731 +else
 15.2732 +  case $SH in
 15.2733 +  [\\/]* | ?:[\\/]*)
 15.2734 +  ac_cv_path_SH="$SH" # Let the user override the test with a path.
 15.2735 +  ;;
 15.2736 +  *)
 15.2737 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2738 +for as_dir in $PATH
 15.2739 +do
 15.2740 +  IFS=$as_save_IFS
 15.2741 +  test -z "$as_dir" && as_dir=.
 15.2742 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2743 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2744 +    ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext"
 15.2745 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2746 +    break 2
 15.2747 +  fi
 15.2748 +done
 15.2749 +  done
 15.2750 +IFS=$as_save_IFS
 15.2751 +
 15.2752 +  ;;
 15.2753 +esac
 15.2754 +fi
 15.2755 +SH=$ac_cv_path_SH
 15.2756 +if test -n "$SH"; then
 15.2757 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5
 15.2758 +$as_echo "$SH" >&6; }
 15.2759 +else
 15.2760 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2761 +$as_echo "no" >&6; }
 15.2762 +fi
 15.2763 +
 15.2764 +
 15.2765 +  test -n "$SH" && break
 15.2766 +done
 15.2767 +
 15.2768 +
 15.2769 +    if test "x$SH" = x; then
 15.2770 +        if test "xsh" = x; then
 15.2771 +          PROG_NAME=sh
 15.2772 +        else
 15.2773 +          PROG_NAME=sh
 15.2774 +        fi
 15.2775 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2776 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2777 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2778 +    fi
 15.2779 +
 15.2780 +
 15.2781 +
 15.2782 +    for ac_prog in sort
 15.2783 +do
 15.2784 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2785 +set dummy $ac_prog; ac_word=$2
 15.2786 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2787 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2788 +if test "${ac_cv_path_SORT+set}" = set; then :
 15.2789 +  $as_echo_n "(cached) " >&6
 15.2790 +else
 15.2791 +  case $SORT in
 15.2792 +  [\\/]* | ?:[\\/]*)
 15.2793 +  ac_cv_path_SORT="$SORT" # Let the user override the test with a path.
 15.2794 +  ;;
 15.2795 +  *)
 15.2796 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2797 +for as_dir in $PATH
 15.2798 +do
 15.2799 +  IFS=$as_save_IFS
 15.2800 +  test -z "$as_dir" && as_dir=.
 15.2801 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2802 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2803 +    ac_cv_path_SORT="$as_dir/$ac_word$ac_exec_ext"
 15.2804 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2805 +    break 2
 15.2806 +  fi
 15.2807 +done
 15.2808 +  done
 15.2809 +IFS=$as_save_IFS
 15.2810 +
 15.2811 +  ;;
 15.2812 +esac
 15.2813 +fi
 15.2814 +SORT=$ac_cv_path_SORT
 15.2815 +if test -n "$SORT"; then
 15.2816 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5
 15.2817 +$as_echo "$SORT" >&6; }
 15.2818 +else
 15.2819 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2820 +$as_echo "no" >&6; }
 15.2821 +fi
 15.2822 +
 15.2823 +
 15.2824 +  test -n "$SORT" && break
 15.2825 +done
 15.2826 +
 15.2827 +
 15.2828 +    if test "x$SORT" = x; then
 15.2829 +        if test "xsort" = x; then
 15.2830 +          PROG_NAME=sort
 15.2831 +        else
 15.2832 +          PROG_NAME=sort
 15.2833 +        fi
 15.2834 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2835 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2836 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2837 +    fi
 15.2838 +
 15.2839 +
 15.2840 +
 15.2841 +    for ac_prog in tail
 15.2842 +do
 15.2843 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2844 +set dummy $ac_prog; ac_word=$2
 15.2845 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2846 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2847 +if test "${ac_cv_path_TAIL+set}" = set; then :
 15.2848 +  $as_echo_n "(cached) " >&6
 15.2849 +else
 15.2850 +  case $TAIL in
 15.2851 +  [\\/]* | ?:[\\/]*)
 15.2852 +  ac_cv_path_TAIL="$TAIL" # Let the user override the test with a path.
 15.2853 +  ;;
 15.2854 +  *)
 15.2855 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2856 +for as_dir in $PATH
 15.2857 +do
 15.2858 +  IFS=$as_save_IFS
 15.2859 +  test -z "$as_dir" && as_dir=.
 15.2860 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2861 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2862 +    ac_cv_path_TAIL="$as_dir/$ac_word$ac_exec_ext"
 15.2863 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2864 +    break 2
 15.2865 +  fi
 15.2866 +done
 15.2867 +  done
 15.2868 +IFS=$as_save_IFS
 15.2869 +
 15.2870 +  ;;
 15.2871 +esac
 15.2872 +fi
 15.2873 +TAIL=$ac_cv_path_TAIL
 15.2874 +if test -n "$TAIL"; then
 15.2875 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAIL" >&5
 15.2876 +$as_echo "$TAIL" >&6; }
 15.2877 +else
 15.2878 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2879 +$as_echo "no" >&6; }
 15.2880 +fi
 15.2881 +
 15.2882 +
 15.2883 +  test -n "$TAIL" && break
 15.2884 +done
 15.2885 +
 15.2886 +
 15.2887 +    if test "x$TAIL" = x; then
 15.2888 +        if test "xtail" = x; then
 15.2889 +          PROG_NAME=tail
 15.2890 +        else
 15.2891 +          PROG_NAME=tail
 15.2892 +        fi
 15.2893 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2894 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2895 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2896 +    fi
 15.2897 +
 15.2898 +
 15.2899 +
 15.2900 +    for ac_prog in tar
 15.2901 +do
 15.2902 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2903 +set dummy $ac_prog; ac_word=$2
 15.2904 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2905 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2906 +if test "${ac_cv_path_TAR+set}" = set; then :
 15.2907 +  $as_echo_n "(cached) " >&6
 15.2908 +else
 15.2909 +  case $TAR in
 15.2910 +  [\\/]* | ?:[\\/]*)
 15.2911 +  ac_cv_path_TAR="$TAR" # Let the user override the test with a path.
 15.2912 +  ;;
 15.2913 +  *)
 15.2914 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2915 +for as_dir in $PATH
 15.2916 +do
 15.2917 +  IFS=$as_save_IFS
 15.2918 +  test -z "$as_dir" && as_dir=.
 15.2919 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2920 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2921 +    ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
 15.2922 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2923 +    break 2
 15.2924 +  fi
 15.2925 +done
 15.2926 +  done
 15.2927 +IFS=$as_save_IFS
 15.2928 +
 15.2929 +  ;;
 15.2930 +esac
 15.2931 +fi
 15.2932 +TAR=$ac_cv_path_TAR
 15.2933 +if test -n "$TAR"; then
 15.2934 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5
 15.2935 +$as_echo "$TAR" >&6; }
 15.2936 +else
 15.2937 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2938 +$as_echo "no" >&6; }
 15.2939 +fi
 15.2940 +
 15.2941 +
 15.2942 +  test -n "$TAR" && break
 15.2943 +done
 15.2944 +
 15.2945 +
 15.2946 +    if test "x$TAR" = x; then
 15.2947 +        if test "xtar" = x; then
 15.2948 +          PROG_NAME=tar
 15.2949 +        else
 15.2950 +          PROG_NAME=tar
 15.2951 +        fi
 15.2952 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.2953 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.2954 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.2955 +    fi
 15.2956 +
 15.2957 +
 15.2958 +
 15.2959 +    for ac_prog in tee
 15.2960 +do
 15.2961 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.2962 +set dummy $ac_prog; ac_word=$2
 15.2963 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.2964 +$as_echo_n "checking for $ac_word... " >&6; }
 15.2965 +if test "${ac_cv_path_TEE+set}" = set; then :
 15.2966 +  $as_echo_n "(cached) " >&6
 15.2967 +else
 15.2968 +  case $TEE in
 15.2969 +  [\\/]* | ?:[\\/]*)
 15.2970 +  ac_cv_path_TEE="$TEE" # Let the user override the test with a path.
 15.2971 +  ;;
 15.2972 +  *)
 15.2973 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.2974 +for as_dir in $PATH
 15.2975 +do
 15.2976 +  IFS=$as_save_IFS
 15.2977 +  test -z "$as_dir" && as_dir=.
 15.2978 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.2979 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.2980 +    ac_cv_path_TEE="$as_dir/$ac_word$ac_exec_ext"
 15.2981 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.2982 +    break 2
 15.2983 +  fi
 15.2984 +done
 15.2985 +  done
 15.2986 +IFS=$as_save_IFS
 15.2987 +
 15.2988 +  ;;
 15.2989 +esac
 15.2990 +fi
 15.2991 +TEE=$ac_cv_path_TEE
 15.2992 +if test -n "$TEE"; then
 15.2993 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEE" >&5
 15.2994 +$as_echo "$TEE" >&6; }
 15.2995 +else
 15.2996 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.2997 +$as_echo "no" >&6; }
 15.2998 +fi
 15.2999 +
 15.3000 +
 15.3001 +  test -n "$TEE" && break
 15.3002 +done
 15.3003 +
 15.3004 +
 15.3005 +    if test "x$TEE" = x; then
 15.3006 +        if test "xtee" = x; then
 15.3007 +          PROG_NAME=tee
 15.3008 +        else
 15.3009 +          PROG_NAME=tee
 15.3010 +        fi
 15.3011 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3012 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3013 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3014 +    fi
 15.3015 +
 15.3016 +
 15.3017 +
 15.3018 +    for ac_prog in touch
 15.3019 +do
 15.3020 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3021 +set dummy $ac_prog; ac_word=$2
 15.3022 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3023 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3024 +if test "${ac_cv_path_TOUCH+set}" = set; then :
 15.3025 +  $as_echo_n "(cached) " >&6
 15.3026 +else
 15.3027 +  case $TOUCH in
 15.3028 +  [\\/]* | ?:[\\/]*)
 15.3029 +  ac_cv_path_TOUCH="$TOUCH" # Let the user override the test with a path.
 15.3030 +  ;;
 15.3031 +  *)
 15.3032 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3033 +for as_dir in $PATH
 15.3034 +do
 15.3035 +  IFS=$as_save_IFS
 15.3036 +  test -z "$as_dir" && as_dir=.
 15.3037 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3038 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3039 +    ac_cv_path_TOUCH="$as_dir/$ac_word$ac_exec_ext"
 15.3040 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3041 +    break 2
 15.3042 +  fi
 15.3043 +done
 15.3044 +  done
 15.3045 +IFS=$as_save_IFS
 15.3046 +
 15.3047 +  ;;
 15.3048 +esac
 15.3049 +fi
 15.3050 +TOUCH=$ac_cv_path_TOUCH
 15.3051 +if test -n "$TOUCH"; then
 15.3052 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOUCH" >&5
 15.3053 +$as_echo "$TOUCH" >&6; }
 15.3054 +else
 15.3055 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3056 +$as_echo "no" >&6; }
 15.3057 +fi
 15.3058 +
 15.3059 +
 15.3060 +  test -n "$TOUCH" && break
 15.3061 +done
 15.3062 +
 15.3063 +
 15.3064 +    if test "x$TOUCH" = x; then
 15.3065 +        if test "xtouch" = x; then
 15.3066 +          PROG_NAME=touch
 15.3067 +        else
 15.3068 +          PROG_NAME=touch
 15.3069 +        fi
 15.3070 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3071 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3072 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3073 +    fi
 15.3074 +
 15.3075 +
 15.3076 +
 15.3077 +    for ac_prog in tr
 15.3078 +do
 15.3079 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3080 +set dummy $ac_prog; ac_word=$2
 15.3081 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3082 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3083 +if test "${ac_cv_path_TR+set}" = set; then :
 15.3084 +  $as_echo_n "(cached) " >&6
 15.3085 +else
 15.3086 +  case $TR in
 15.3087 +  [\\/]* | ?:[\\/]*)
 15.3088 +  ac_cv_path_TR="$TR" # Let the user override the test with a path.
 15.3089 +  ;;
 15.3090 +  *)
 15.3091 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3092 +for as_dir in $PATH
 15.3093 +do
 15.3094 +  IFS=$as_save_IFS
 15.3095 +  test -z "$as_dir" && as_dir=.
 15.3096 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3097 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3098 +    ac_cv_path_TR="$as_dir/$ac_word$ac_exec_ext"
 15.3099 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3100 +    break 2
 15.3101 +  fi
 15.3102 +done
 15.3103 +  done
 15.3104 +IFS=$as_save_IFS
 15.3105 +
 15.3106 +  ;;
 15.3107 +esac
 15.3108 +fi
 15.3109 +TR=$ac_cv_path_TR
 15.3110 +if test -n "$TR"; then
 15.3111 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TR" >&5
 15.3112 +$as_echo "$TR" >&6; }
 15.3113 +else
 15.3114 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3115 +$as_echo "no" >&6; }
 15.3116 +fi
 15.3117 +
 15.3118 +
 15.3119 +  test -n "$TR" && break
 15.3120 +done
 15.3121 +
 15.3122 +
 15.3123 +    if test "x$TR" = x; then
 15.3124 +        if test "xtr" = x; then
 15.3125 +          PROG_NAME=tr
 15.3126 +        else
 15.3127 +          PROG_NAME=tr
 15.3128 +        fi
 15.3129 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3130 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3131 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3132 +    fi
 15.3133 +
 15.3134 +
 15.3135 +
 15.3136 +    for ac_prog in uniq
 15.3137 +do
 15.3138 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3139 +set dummy $ac_prog; ac_word=$2
 15.3140 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3141 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3142 +if test "${ac_cv_path_UNIQ+set}" = set; then :
 15.3143 +  $as_echo_n "(cached) " >&6
 15.3144 +else
 15.3145 +  case $UNIQ in
 15.3146 +  [\\/]* | ?:[\\/]*)
 15.3147 +  ac_cv_path_UNIQ="$UNIQ" # Let the user override the test with a path.
 15.3148 +  ;;
 15.3149 +  *)
 15.3150 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3151 +for as_dir in $PATH
 15.3152 +do
 15.3153 +  IFS=$as_save_IFS
 15.3154 +  test -z "$as_dir" && as_dir=.
 15.3155 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3156 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3157 +    ac_cv_path_UNIQ="$as_dir/$ac_word$ac_exec_ext"
 15.3158 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3159 +    break 2
 15.3160 +  fi
 15.3161 +done
 15.3162 +  done
 15.3163 +IFS=$as_save_IFS
 15.3164 +
 15.3165 +  ;;
 15.3166 +esac
 15.3167 +fi
 15.3168 +UNIQ=$ac_cv_path_UNIQ
 15.3169 +if test -n "$UNIQ"; then
 15.3170 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIQ" >&5
 15.3171 +$as_echo "$UNIQ" >&6; }
 15.3172 +else
 15.3173 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3174 +$as_echo "no" >&6; }
 15.3175 +fi
 15.3176 +
 15.3177 +
 15.3178 +  test -n "$UNIQ" && break
 15.3179 +done
 15.3180 +
 15.3181 +
 15.3182 +    if test "x$UNIQ" = x; then
 15.3183 +        if test "xuniq" = x; then
 15.3184 +          PROG_NAME=uniq
 15.3185 +        else
 15.3186 +          PROG_NAME=uniq
 15.3187 +        fi
 15.3188 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3189 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3190 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3191 +    fi
 15.3192 +
 15.3193 +
 15.3194 +
 15.3195 +    for ac_prog in unzip
 15.3196 +do
 15.3197 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3198 +set dummy $ac_prog; ac_word=$2
 15.3199 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3200 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3201 +if test "${ac_cv_path_UNZIP+set}" = set; then :
 15.3202 +  $as_echo_n "(cached) " >&6
 15.3203 +else
 15.3204 +  case $UNZIP in
 15.3205 +  [\\/]* | ?:[\\/]*)
 15.3206 +  ac_cv_path_UNZIP="$UNZIP" # Let the user override the test with a path.
 15.3207 +  ;;
 15.3208 +  *)
 15.3209 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3210 +for as_dir in $PATH
 15.3211 +do
 15.3212 +  IFS=$as_save_IFS
 15.3213 +  test -z "$as_dir" && as_dir=.
 15.3214 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3215 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3216 +    ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext"
 15.3217 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3218 +    break 2
 15.3219 +  fi
 15.3220 +done
 15.3221 +  done
 15.3222 +IFS=$as_save_IFS
 15.3223 +
 15.3224 +  ;;
 15.3225 +esac
 15.3226 +fi
 15.3227 +UNZIP=$ac_cv_path_UNZIP
 15.3228 +if test -n "$UNZIP"; then
 15.3229 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5
 15.3230 +$as_echo "$UNZIP" >&6; }
 15.3231 +else
 15.3232 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3233 +$as_echo "no" >&6; }
 15.3234 +fi
 15.3235 +
 15.3236 +
 15.3237 +  test -n "$UNZIP" && break
 15.3238 +done
 15.3239 +
 15.3240 +
 15.3241 +    if test "x$UNZIP" = x; then
 15.3242 +        if test "xunzip" = x; then
 15.3243 +          PROG_NAME=unzip
 15.3244 +        else
 15.3245 +          PROG_NAME=unzip
 15.3246 +        fi
 15.3247 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3248 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3249 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3250 +    fi
 15.3251 +
 15.3252 +
 15.3253 +
 15.3254 +    for ac_prog in wc
 15.3255 +do
 15.3256 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3257 +set dummy $ac_prog; ac_word=$2
 15.3258 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3259 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3260 +if test "${ac_cv_path_WC+set}" = set; then :
 15.3261 +  $as_echo_n "(cached) " >&6
 15.3262 +else
 15.3263 +  case $WC in
 15.3264 +  [\\/]* | ?:[\\/]*)
 15.3265 +  ac_cv_path_WC="$WC" # Let the user override the test with a path.
 15.3266 +  ;;
 15.3267 +  *)
 15.3268 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3269 +for as_dir in $PATH
 15.3270 +do
 15.3271 +  IFS=$as_save_IFS
 15.3272 +  test -z "$as_dir" && as_dir=.
 15.3273 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3274 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3275 +    ac_cv_path_WC="$as_dir/$ac_word$ac_exec_ext"
 15.3276 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3277 +    break 2
 15.3278 +  fi
 15.3279 +done
 15.3280 +  done
 15.3281 +IFS=$as_save_IFS
 15.3282 +
 15.3283 +  ;;
 15.3284 +esac
 15.3285 +fi
 15.3286 +WC=$ac_cv_path_WC
 15.3287 +if test -n "$WC"; then
 15.3288 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WC" >&5
 15.3289 +$as_echo "$WC" >&6; }
 15.3290 +else
 15.3291 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3292 +$as_echo "no" >&6; }
 15.3293 +fi
 15.3294 +
 15.3295 +
 15.3296 +  test -n "$WC" && break
 15.3297 +done
 15.3298 +
 15.3299 +
 15.3300 +    if test "x$WC" = x; then
 15.3301 +        if test "xwc" = x; then
 15.3302 +          PROG_NAME=wc
 15.3303 +        else
 15.3304 +          PROG_NAME=wc
 15.3305 +        fi
 15.3306 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3307 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3308 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3309 +    fi
 15.3310 +
 15.3311 +
 15.3312 +
 15.3313 +    for ac_prog in xargs
 15.3314 +do
 15.3315 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3316 +set dummy $ac_prog; ac_word=$2
 15.3317 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3318 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3319 +if test "${ac_cv_path_XARGS+set}" = set; then :
 15.3320 +  $as_echo_n "(cached) " >&6
 15.3321 +else
 15.3322 +  case $XARGS in
 15.3323 +  [\\/]* | ?:[\\/]*)
 15.3324 +  ac_cv_path_XARGS="$XARGS" # Let the user override the test with a path.
 15.3325 +  ;;
 15.3326 +  *)
 15.3327 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3328 +for as_dir in $PATH
 15.3329 +do
 15.3330 +  IFS=$as_save_IFS
 15.3331 +  test -z "$as_dir" && as_dir=.
 15.3332 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3333 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3334 +    ac_cv_path_XARGS="$as_dir/$ac_word$ac_exec_ext"
 15.3335 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3336 +    break 2
 15.3337 +  fi
 15.3338 +done
 15.3339 +  done
 15.3340 +IFS=$as_save_IFS
 15.3341 +
 15.3342 +  ;;
 15.3343 +esac
 15.3344 +fi
 15.3345 +XARGS=$ac_cv_path_XARGS
 15.3346 +if test -n "$XARGS"; then
 15.3347 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XARGS" >&5
 15.3348 +$as_echo "$XARGS" >&6; }
 15.3349 +else
 15.3350 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3351 +$as_echo "no" >&6; }
 15.3352 +fi
 15.3353 +
 15.3354 +
 15.3355 +  test -n "$XARGS" && break
 15.3356 +done
 15.3357 +
 15.3358 +
 15.3359 +    if test "x$XARGS" = x; then
 15.3360 +        if test "xxargs" = x; then
 15.3361 +          PROG_NAME=xargs
 15.3362 +        else
 15.3363 +          PROG_NAME=xargs
 15.3364 +        fi
 15.3365 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3366 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3367 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3368 +    fi
 15.3369 +
 15.3370 +
 15.3371 +
 15.3372 +    for ac_prog in zip
 15.3373 +do
 15.3374 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3375 +set dummy $ac_prog; ac_word=$2
 15.3376 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3377 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3378 +if test "${ac_cv_path_ZIP+set}" = set; then :
 15.3379 +  $as_echo_n "(cached) " >&6
 15.3380 +else
 15.3381 +  case $ZIP in
 15.3382 +  [\\/]* | ?:[\\/]*)
 15.3383 +  ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path.
 15.3384 +  ;;
 15.3385 +  *)
 15.3386 +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3387 +for as_dir in $PATH
 15.3388 +do
 15.3389 +  IFS=$as_save_IFS
 15.3390 +  test -z "$as_dir" && as_dir=.
 15.3391 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3392 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3393 +    ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext"
 15.3394 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3395 +    break 2
 15.3396 +  fi
 15.3397 +done
 15.3398 +  done
 15.3399 +IFS=$as_save_IFS
 15.3400 +
 15.3401 +  ;;
 15.3402 +esac
 15.3403 +fi
 15.3404 +ZIP=$ac_cv_path_ZIP
 15.3405 +if test -n "$ZIP"; then
 15.3406 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5
 15.3407 +$as_echo "$ZIP" >&6; }
 15.3408 +else
 15.3409 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3410 +$as_echo "no" >&6; }
 15.3411 +fi
 15.3412 +
 15.3413 +
 15.3414 +  test -n "$ZIP" && break
 15.3415 +done
 15.3416 +
 15.3417 +
 15.3418 +    if test "x$ZIP" = x; then
 15.3419 +        if test "xzip" = x; then
 15.3420 +          PROG_NAME=zip
 15.3421 +        else
 15.3422 +          PROG_NAME=zip
 15.3423 +        fi
 15.3424 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3425 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3426 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3427 +    fi
 15.3428 +
 15.3429 +
 15.3430 +
 15.3431 +# Then required tools that require some special treatment.
 15.3432 +for ac_prog in gawk mawk nawk awk
 15.3433 +do
 15.3434 +  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3435 +set dummy $ac_prog; ac_word=$2
 15.3436 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3437 +$as_echo_n "checking for $ac_word... " >&6; }
 15.3438 +if test "${ac_cv_prog_AWK+set}" = set; then :
 15.3439 +  $as_echo_n "(cached) " >&6
 15.3440 +else
 15.3441 +  if test -n "$AWK"; then
 15.3442 +  ac_cv_prog_AWK="$AWK" # Let the user override the test.
 15.3443 +else
 15.3444 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3445 +for as_dir in $PATH
 15.3446 +do
 15.3447 +  IFS=$as_save_IFS
 15.3448 +  test -z "$as_dir" && as_dir=.
 15.3449 +    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3450 +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3451 +    ac_cv_prog_AWK="$ac_prog"
 15.3452 +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3453 +    break 2
 15.3454 +  fi
 15.3455 +done
 15.3456 +  done
 15.3457 +IFS=$as_save_IFS
 15.3458 +
 15.3459 +fi
 15.3460 +fi
 15.3461 +AWK=$ac_cv_prog_AWK
 15.3462 +if test -n "$AWK"; then
 15.3463 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
 15.3464 +$as_echo "$AWK" >&6; }
 15.3465 +else
 15.3466 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3467 +$as_echo "no" >&6; }
 15.3468 +fi
 15.3469 +
 15.3470 +
 15.3471 +  test -n "$AWK" && break
 15.3472 +done
 15.3473 +
 15.3474 +
 15.3475 +    if test "x$AWK" = x; then
 15.3476 +        if test "x" = x; then
 15.3477 +          PROG_NAME=awk
 15.3478 +        else
 15.3479 +          PROG_NAME=
 15.3480 +        fi
 15.3481 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3482 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3483 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3484 +    fi
 15.3485 +
 15.3486  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 15.3487  $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
 15.3488  if test "${ac_cv_path_GREP+set}" = set; then :
 15.3489 @@ -3785,455 +6391,16 @@
 15.3490  
 15.3491  
 15.3492  
 15.3493 -# Start with tools that do not need have cross compilation support
 15.3494 -# and can be expected to be found in the default PATH. These tools are
 15.3495 -# used by configure. Nor are these tools expected to be found in the
 15.3496 -# devkit from the builddeps server either, since they are
 15.3497 -# needed to download the devkit.
 15.3498 -for ac_prog in gawk mawk nawk awk
 15.3499 -do
 15.3500 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.3501 -set dummy $ac_prog; ac_word=$2
 15.3502 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3503 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3504 -if test "${ac_cv_prog_AWK+set}" = set; then :
 15.3505 -  $as_echo_n "(cached) " >&6
 15.3506 -else
 15.3507 -  if test -n "$AWK"; then
 15.3508 -  ac_cv_prog_AWK="$AWK" # Let the user override the test.
 15.3509 -else
 15.3510 -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3511 -for as_dir in $PATH
 15.3512 -do
 15.3513 -  IFS=$as_save_IFS
 15.3514 -  test -z "$as_dir" && as_dir=.
 15.3515 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3516 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3517 -    ac_cv_prog_AWK="$ac_prog"
 15.3518 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3519 -    break 2
 15.3520 -  fi
 15.3521 -done
 15.3522 -  done
 15.3523 -IFS=$as_save_IFS
 15.3524 -
 15.3525 -fi
 15.3526 -fi
 15.3527 -AWK=$ac_cv_prog_AWK
 15.3528 -if test -n "$AWK"; then
 15.3529 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
 15.3530 -$as_echo "$AWK" >&6; }
 15.3531 -else
 15.3532 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3533 -$as_echo "no" >&6; }
 15.3534 -fi
 15.3535 -
 15.3536 -
 15.3537 -  test -n "$AWK" && break
 15.3538 -done
 15.3539 -
 15.3540 -
 15.3541 -    # Test that variable AWK is not empty.
 15.3542 -    if test "" = "$AWK"; then as_fn_error $? "Could not find awk !" "$LINENO" 5 ; fi
 15.3543 -
 15.3544 -# Extract the first word of "cat", so it can be a program name with args.
 15.3545 -set dummy cat; ac_word=$2
 15.3546 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3547 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3548 -if test "${ac_cv_path_CAT+set}" = set; then :
 15.3549 -  $as_echo_n "(cached) " >&6
 15.3550 -else
 15.3551 -  case $CAT in
 15.3552 -  [\\/]* | ?:[\\/]*)
 15.3553 -  ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
 15.3554 -  ;;
 15.3555 -  *)
 15.3556 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3557 -for as_dir in $PATH
 15.3558 -do
 15.3559 -  IFS=$as_save_IFS
 15.3560 -  test -z "$as_dir" && as_dir=.
 15.3561 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3562 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3563 -    ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
 15.3564 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3565 -    break 2
 15.3566 -  fi
 15.3567 -done
 15.3568 -  done
 15.3569 -IFS=$as_save_IFS
 15.3570 -
 15.3571 -  ;;
 15.3572 -esac
 15.3573 -fi
 15.3574 -CAT=$ac_cv_path_CAT
 15.3575 -if test -n "$CAT"; then
 15.3576 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
 15.3577 -$as_echo "$CAT" >&6; }
 15.3578 -else
 15.3579 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3580 -$as_echo "no" >&6; }
 15.3581 -fi
 15.3582 -
 15.3583 -
 15.3584 -
 15.3585 -    # Test that variable CAT is not empty.
 15.3586 -    if test "" = "$CAT"; then as_fn_error $? "Could not find cat !" "$LINENO" 5 ; fi
 15.3587 -
 15.3588 -# Extract the first word of "chmod", so it can be a program name with args.
 15.3589 -set dummy chmod; ac_word=$2
 15.3590 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3591 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3592 -if test "${ac_cv_path_CHMOD+set}" = set; then :
 15.3593 -  $as_echo_n "(cached) " >&6
 15.3594 -else
 15.3595 -  case $CHMOD in
 15.3596 -  [\\/]* | ?:[\\/]*)
 15.3597 -  ac_cv_path_CHMOD="$CHMOD" # Let the user override the test with a path.
 15.3598 -  ;;
 15.3599 -  *)
 15.3600 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3601 -for as_dir in $PATH
 15.3602 -do
 15.3603 -  IFS=$as_save_IFS
 15.3604 -  test -z "$as_dir" && as_dir=.
 15.3605 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3606 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3607 -    ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext"
 15.3608 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3609 -    break 2
 15.3610 -  fi
 15.3611 -done
 15.3612 -  done
 15.3613 -IFS=$as_save_IFS
 15.3614 -
 15.3615 -  ;;
 15.3616 -esac
 15.3617 -fi
 15.3618 -CHMOD=$ac_cv_path_CHMOD
 15.3619 -if test -n "$CHMOD"; then
 15.3620 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5
 15.3621 -$as_echo "$CHMOD" >&6; }
 15.3622 -else
 15.3623 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3624 -$as_echo "no" >&6; }
 15.3625 -fi
 15.3626 -
 15.3627 -
 15.3628 -
 15.3629 -    # Test that variable CHMOD is not empty.
 15.3630 -    if test "" = "$CHMOD"; then as_fn_error $? "Could not find chmod !" "$LINENO" 5 ; fi
 15.3631 -
 15.3632 -# Extract the first word of "cp", so it can be a program name with args.
 15.3633 -set dummy cp; ac_word=$2
 15.3634 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3635 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3636 -if test "${ac_cv_path_CP+set}" = set; then :
 15.3637 -  $as_echo_n "(cached) " >&6
 15.3638 -else
 15.3639 -  case $CP in
 15.3640 -  [\\/]* | ?:[\\/]*)
 15.3641 -  ac_cv_path_CP="$CP" # Let the user override the test with a path.
 15.3642 -  ;;
 15.3643 -  *)
 15.3644 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3645 -for as_dir in $PATH
 15.3646 -do
 15.3647 -  IFS=$as_save_IFS
 15.3648 -  test -z "$as_dir" && as_dir=.
 15.3649 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3650 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3651 -    ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext"
 15.3652 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3653 -    break 2
 15.3654 -  fi
 15.3655 -done
 15.3656 -  done
 15.3657 -IFS=$as_save_IFS
 15.3658 -
 15.3659 -  ;;
 15.3660 -esac
 15.3661 -fi
 15.3662 -CP=$ac_cv_path_CP
 15.3663 -if test -n "$CP"; then
 15.3664 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CP" >&5
 15.3665 -$as_echo "$CP" >&6; }
 15.3666 -else
 15.3667 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3668 -$as_echo "no" >&6; }
 15.3669 -fi
 15.3670 -
 15.3671 -
 15.3672 -
 15.3673 -    # Test that variable CP is not empty.
 15.3674 -    if test "" = "$CP"; then as_fn_error $? "Could not find cp !" "$LINENO" 5 ; fi
 15.3675 -
 15.3676 -# Extract the first word of "cpio", so it can be a program name with args.
 15.3677 -set dummy cpio; ac_word=$2
 15.3678 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3679 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3680 -if test "${ac_cv_path_CPIO+set}" = set; then :
 15.3681 -  $as_echo_n "(cached) " >&6
 15.3682 -else
 15.3683 -  case $CPIO in
 15.3684 -  [\\/]* | ?:[\\/]*)
 15.3685 -  ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path.
 15.3686 -  ;;
 15.3687 -  *)
 15.3688 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3689 -for as_dir in $PATH
 15.3690 -do
 15.3691 -  IFS=$as_save_IFS
 15.3692 -  test -z "$as_dir" && as_dir=.
 15.3693 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3694 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3695 -    ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext"
 15.3696 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3697 -    break 2
 15.3698 -  fi
 15.3699 -done
 15.3700 -  done
 15.3701 -IFS=$as_save_IFS
 15.3702 -
 15.3703 -  ;;
 15.3704 -esac
 15.3705 -fi
 15.3706 -CPIO=$ac_cv_path_CPIO
 15.3707 -if test -n "$CPIO"; then
 15.3708 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPIO" >&5
 15.3709 -$as_echo "$CPIO" >&6; }
 15.3710 -else
 15.3711 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3712 -$as_echo "no" >&6; }
 15.3713 -fi
 15.3714 -
 15.3715 -
 15.3716 -
 15.3717 -    # Test that variable CPIO is not empty.
 15.3718 -    if test "" = "$CPIO"; then as_fn_error $? "Could not find cpio !" "$LINENO" 5 ; fi
 15.3719 -
 15.3720 -# Extract the first word of "cut", so it can be a program name with args.
 15.3721 -set dummy cut; ac_word=$2
 15.3722 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3723 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3724 -if test "${ac_cv_path_CUT+set}" = set; then :
 15.3725 -  $as_echo_n "(cached) " >&6
 15.3726 -else
 15.3727 -  case $CUT in
 15.3728 -  [\\/]* | ?:[\\/]*)
 15.3729 -  ac_cv_path_CUT="$CUT" # Let the user override the test with a path.
 15.3730 -  ;;
 15.3731 -  *)
 15.3732 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3733 -for as_dir in $PATH
 15.3734 -do
 15.3735 -  IFS=$as_save_IFS
 15.3736 -  test -z "$as_dir" && as_dir=.
 15.3737 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3738 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3739 -    ac_cv_path_CUT="$as_dir/$ac_word$ac_exec_ext"
 15.3740 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3741 -    break 2
 15.3742 -  fi
 15.3743 -done
 15.3744 -  done
 15.3745 -IFS=$as_save_IFS
 15.3746 -
 15.3747 -  ;;
 15.3748 -esac
 15.3749 -fi
 15.3750 -CUT=$ac_cv_path_CUT
 15.3751 -if test -n "$CUT"; then
 15.3752 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUT" >&5
 15.3753 -$as_echo "$CUT" >&6; }
 15.3754 -else
 15.3755 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3756 -$as_echo "no" >&6; }
 15.3757 -fi
 15.3758 -
 15.3759 -
 15.3760 -
 15.3761 -    # Test that variable CUT is not empty.
 15.3762 -    if test "" = "$CUT"; then as_fn_error $? "Could not find cut !" "$LINENO" 5 ; fi
 15.3763 -
 15.3764 -# Extract the first word of "date", so it can be a program name with args.
 15.3765 -set dummy date; ac_word=$2
 15.3766 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3767 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3768 -if test "${ac_cv_path_DATE+set}" = set; then :
 15.3769 -  $as_echo_n "(cached) " >&6
 15.3770 -else
 15.3771 -  case $DATE in
 15.3772 -  [\\/]* | ?:[\\/]*)
 15.3773 -  ac_cv_path_DATE="$DATE" # Let the user override the test with a path.
 15.3774 -  ;;
 15.3775 -  *)
 15.3776 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3777 -for as_dir in $PATH
 15.3778 -do
 15.3779 -  IFS=$as_save_IFS
 15.3780 -  test -z "$as_dir" && as_dir=.
 15.3781 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3782 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3783 -    ac_cv_path_DATE="$as_dir/$ac_word$ac_exec_ext"
 15.3784 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3785 -    break 2
 15.3786 -  fi
 15.3787 -done
 15.3788 -  done
 15.3789 -IFS=$as_save_IFS
 15.3790 -
 15.3791 -  ;;
 15.3792 -esac
 15.3793 -fi
 15.3794 -DATE=$ac_cv_path_DATE
 15.3795 -if test -n "$DATE"; then
 15.3796 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DATE" >&5
 15.3797 -$as_echo "$DATE" >&6; }
 15.3798 -else
 15.3799 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3800 -$as_echo "no" >&6; }
 15.3801 -fi
 15.3802 -
 15.3803 -
 15.3804 -
 15.3805 -    # Test that variable DATE is not empty.
 15.3806 -    if test "" = "$DATE"; then as_fn_error $? "Could not find date !" "$LINENO" 5 ; fi
 15.3807 -
 15.3808 -# Extract the first word of "df", so it can be a program name with args.
 15.3809 -set dummy df; ac_word=$2
 15.3810 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3811 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3812 -if test "${ac_cv_path_DF+set}" = set; then :
 15.3813 -  $as_echo_n "(cached) " >&6
 15.3814 -else
 15.3815 -  case $DF in
 15.3816 -  [\\/]* | ?:[\\/]*)
 15.3817 -  ac_cv_path_DF="$DF" # Let the user override the test with a path.
 15.3818 -  ;;
 15.3819 -  *)
 15.3820 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3821 -for as_dir in $PATH
 15.3822 -do
 15.3823 -  IFS=$as_save_IFS
 15.3824 -  test -z "$as_dir" && as_dir=.
 15.3825 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3826 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3827 -    ac_cv_path_DF="$as_dir/$ac_word$ac_exec_ext"
 15.3828 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3829 -    break 2
 15.3830 -  fi
 15.3831 -done
 15.3832 -  done
 15.3833 -IFS=$as_save_IFS
 15.3834 -
 15.3835 -  ;;
 15.3836 -esac
 15.3837 -fi
 15.3838 -DF=$ac_cv_path_DF
 15.3839 -if test -n "$DF"; then
 15.3840 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DF" >&5
 15.3841 -$as_echo "$DF" >&6; }
 15.3842 -else
 15.3843 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3844 -$as_echo "no" >&6; }
 15.3845 -fi
 15.3846 -
 15.3847 -
 15.3848 -
 15.3849 -    # Test that variable DF is not empty.
 15.3850 -    if test "" = "$DF"; then as_fn_error $? "Could not find df !" "$LINENO" 5 ; fi
 15.3851 -
 15.3852 -# Extract the first word of "diff", so it can be a program name with args.
 15.3853 -set dummy diff; ac_word=$2
 15.3854 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3855 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3856 -if test "${ac_cv_path_DIFF+set}" = set; then :
 15.3857 -  $as_echo_n "(cached) " >&6
 15.3858 -else
 15.3859 -  case $DIFF in
 15.3860 -  [\\/]* | ?:[\\/]*)
 15.3861 -  ac_cv_path_DIFF="$DIFF" # Let the user override the test with a path.
 15.3862 -  ;;
 15.3863 -  *)
 15.3864 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3865 -for as_dir in $PATH
 15.3866 -do
 15.3867 -  IFS=$as_save_IFS
 15.3868 -  test -z "$as_dir" && as_dir=.
 15.3869 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3870 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3871 -    ac_cv_path_DIFF="$as_dir/$ac_word$ac_exec_ext"
 15.3872 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3873 -    break 2
 15.3874 -  fi
 15.3875 -done
 15.3876 -  done
 15.3877 -IFS=$as_save_IFS
 15.3878 -
 15.3879 -  ;;
 15.3880 -esac
 15.3881 -fi
 15.3882 -DIFF=$ac_cv_path_DIFF
 15.3883 -if test -n "$DIFF"; then
 15.3884 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5
 15.3885 -$as_echo "$DIFF" >&6; }
 15.3886 -else
 15.3887 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3888 -$as_echo "no" >&6; }
 15.3889 -fi
 15.3890 -
 15.3891 -
 15.3892 -
 15.3893 -    # Test that variable DIFF is not empty.
 15.3894 -    if test "" = "$DIFF"; then as_fn_error $? "Could not find diff !" "$LINENO" 5 ; fi
 15.3895 -
 15.3896 -# Warning echo is really, really unportable!!!!! Different
 15.3897 -# behaviour in bash and dash and in a lot of other shells!
 15.3898 -# Use printf for serious work!
 15.3899 -# Extract the first word of "echo", so it can be a program name with args.
 15.3900 -set dummy echo; ac_word=$2
 15.3901 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3902 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3903 -if test "${ac_cv_path_ECHO+set}" = set; then :
 15.3904 -  $as_echo_n "(cached) " >&6
 15.3905 -else
 15.3906 -  case $ECHO in
 15.3907 -  [\\/]* | ?:[\\/]*)
 15.3908 -  ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path.
 15.3909 -  ;;
 15.3910 -  *)
 15.3911 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3912 -for as_dir in $PATH
 15.3913 -do
 15.3914 -  IFS=$as_save_IFS
 15.3915 -  test -z "$as_dir" && as_dir=.
 15.3916 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.3917 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.3918 -    ac_cv_path_ECHO="$as_dir/$ac_word$ac_exec_ext"
 15.3919 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.3920 -    break 2
 15.3921 -  fi
 15.3922 -done
 15.3923 -  done
 15.3924 -IFS=$as_save_IFS
 15.3925 -
 15.3926 -  ;;
 15.3927 -esac
 15.3928 -fi
 15.3929 -ECHO=$ac_cv_path_ECHO
 15.3930 -if test -n "$ECHO"; then
 15.3931 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ECHO" >&5
 15.3932 -$as_echo "$ECHO" >&6; }
 15.3933 -else
 15.3934 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.3935 -$as_echo "no" >&6; }
 15.3936 -fi
 15.3937 -
 15.3938 -
 15.3939 -
 15.3940 -    # Test that variable ECHO is not empty.
 15.3941 -    if test "" = "$ECHO"; then as_fn_error $? "Could not find echo !" "$LINENO" 5 ; fi
 15.3942 +    if test "x$GREP" = x; then
 15.3943 +        if test "x" = x; then
 15.3944 +          PROG_NAME=grep
 15.3945 +        else
 15.3946 +          PROG_NAME=
 15.3947 +        fi
 15.3948 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3949 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3950 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3951 +    fi
 15.3952  
 15.3953  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 15.3954  $as_echo_n "checking for egrep... " >&6; }
 15.3955 @@ -4303,8 +6470,16 @@
 15.3956  
 15.3957  
 15.3958  
 15.3959 -    # Test that variable EGREP is not empty.
 15.3960 -    if test "" = "$EGREP"; then as_fn_error $? "Could not find egrep !" "$LINENO" 5 ; fi
 15.3961 +    if test "x$EGREP" = x; then
 15.3962 +        if test "x" = x; then
 15.3963 +          PROG_NAME=egrep
 15.3964 +        else
 15.3965 +          PROG_NAME=
 15.3966 +        fi
 15.3967 +        { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find $PROG_NAME!" >&5
 15.3968 +$as_echo "$as_me: Could not find $PROG_NAME!" >&6;}
 15.3969 +        as_fn_error $? "Cannot continue" "$LINENO" 5
 15.3970 +    fi
 15.3971  
 15.3972  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 15.3973  $as_echo_n "checking for fgrep... " >&6; }
 15.3974 @@ -4374,597 +6549,17 @@
 15.3975  
 15.3976  
 15.3977  
 15.3978 -    # Test that variable FGREP is not empty.
 15.3979 -    if test "" = "$FGREP"; then as_fn_error $? "Could not find fgrep !" "$LINENO" 5 ; fi
 15.3980 -
 15.3981 -
 15.3982 -# Extract the first word of "find", so it can be a program name with args.
 15.3983 -set dummy find; ac_word=$2
 15.3984 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.3985 -$as_echo_n "checking for $ac_word... " >&6; }
 15.3986 -if test "${ac_cv_path_FIND+set}" = set; then :
 15.3987 -  $as_echo_n "(cached) " >&6
 15.3988 -else
 15.3989 -  case $FIND in
 15.3990 -  [\\/]* | ?:[\\/]*)
 15.3991 -  ac_cv_path_FIND="$FIND" # Let the user override the test with a path.
 15.3992 -  ;;
 15.3993 -  *)
 15.3994 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.3995 -for as_dir in $PATH
 15.3996 -do
 15.3997 -  IFS=$as_save_IFS
 15.3998 -  test -z "$as_dir" && as_dir=.
 15.3999 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4000 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4001 -    ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext"
 15.4002 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4003 -    break 2
 15.4004 -  fi
 15.4005 -done
 15.4006 -  done
 15.4007 -IFS=$as_save_IFS
 15.4008 -
 15.4009 -  ;;
 15.4010 -esac
 15.4011 -fi
 15.4012 -FIND=$ac_cv_path_FIND
 15.4013 -if test -n "$FIND"; then
 15.4014 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5
 15.4015 -$as_echo "$FIND" >&6; }
 15.4016 -else
 15.4017 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4018 -$as_echo "no" >&6; }
 15.4019 -fi
 15.4020 -
 15.4021 -
 15.4022 -
 15.4023 -    # Test that variable FIND is not empty.
 15.4024 -    if test "" = "$FIND"; then as_fn_error $? "Could not find find !" "$LINENO" 5 ; fi
 15.4025 -
 15.4026 -
 15.4027 -    # Test if find supports -delete
 15.4028 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if find supports -delete" >&5
 15.4029 -$as_echo_n "checking if find supports -delete... " >&6; }
 15.4030 -    FIND_DELETE="-delete"
 15.4031 -
 15.4032 -    DELETEDIR=`mktemp -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
 15.4033 -
 15.4034 -    echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
 15.4035 -
 15.4036 -    TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
 15.4037 -    if test -f $DELETEDIR/TestIfFindSupportsDelete; then
 15.4038 -        # No, it does not.
 15.4039 -        rm $DELETEDIR/TestIfFindSupportsDelete
 15.4040 -        FIND_DELETE="-exec rm \{\} \+"
 15.4041 -        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4042 -$as_echo "no" >&6; }
 15.4043 -    else
 15.4044 -        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 15.4045 -$as_echo "yes" >&6; }
 15.4046 -    fi
 15.4047 -    rmdir $DELETEDIR
 15.4048 -
 15.4049 -
 15.4050 -
 15.4051 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 15.4052 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
 15.4053 -if test "${ac_cv_path_GREP+set}" = set; then :
 15.4054 -  $as_echo_n "(cached) " >&6
 15.4055 -else
 15.4056 -  if test -z "$GREP"; then
 15.4057 -  ac_path_GREP_found=false
 15.4058 -  # Loop through the user's path and test for each of PROGNAME-LIST
 15.4059 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4060 -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 15.4061 -do
 15.4062 -  IFS=$as_save_IFS
 15.4063 -  test -z "$as_dir" && as_dir=.
 15.4064 -    for ac_prog in grep ggrep; do
 15.4065 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4066 -      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
 15.4067 -      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
 15.4068 -# Check for GNU ac_path_GREP and select it if it is found.
 15.4069 -  # Check for GNU $ac_path_GREP
 15.4070 -case `"$ac_path_GREP" --version 2>&1` in
 15.4071 -*GNU*)
 15.4072 -  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
 15.4073 -*)
 15.4074 -  ac_count=0
 15.4075 -  $as_echo_n 0123456789 >"conftest.in"
 15.4076 -  while :
 15.4077 -  do
 15.4078 -    cat "conftest.in" "conftest.in" >"conftest.tmp"
 15.4079 -    mv "conftest.tmp" "conftest.in"
 15.4080 -    cp "conftest.in" "conftest.nl"
 15.4081 -    $as_echo 'GREP' >> "conftest.nl"
 15.4082 -    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
 15.4083 -    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
 15.4084 -    as_fn_arith $ac_count + 1 && ac_count=$as_val
 15.4085 -    if test $ac_count -gt ${ac_path_GREP_max-0}; then
 15.4086 -      # Best one so far, save it but keep looking for a better one
 15.4087 -      ac_cv_path_GREP="$ac_path_GREP"
 15.4088 -      ac_path_GREP_max=$ac_count
 15.4089 -    fi
 15.4090 -    # 10*(2^10) chars as input seems more than enough
 15.4091 -    test $ac_count -gt 10 && break
 15.4092 -  done
 15.4093 -  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 15.4094 -esac
 15.4095 -
 15.4096 -      $ac_path_GREP_found && break 3
 15.4097 -    done
 15.4098 -  done
 15.4099 -  done
 15.4100 -IFS=$as_save_IFS
 15.4101 -  if test -z "$ac_cv_path_GREP"; then
 15.4102 -    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
 15.4103 -  fi
 15.4104 -else
 15.4105 -  ac_cv_path_GREP=$GREP
 15.4106 -fi
 15.4107 -
 15.4108 -fi
 15.4109 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
 15.4110 -$as_echo "$ac_cv_path_GREP" >&6; }
 15.4111 - GREP="$ac_cv_path_GREP"
 15.4112 -
 15.4113 -
 15.4114 -
 15.4115 -    # Test that variable GREP is not empty.
 15.4116 -    if test "" = "$GREP"; then as_fn_error $? "Could not find grep !" "$LINENO" 5 ; fi
 15.4117 -
 15.4118 -# Extract the first word of "head", so it can be a program name with args.
 15.4119 -set dummy head; ac_word=$2
 15.4120 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4121 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4122 -if test "${ac_cv_path_HEAD+set}" = set; then :
 15.4123 -  $as_echo_n "(cached) " >&6
 15.4124 -else
 15.4125 -  case $HEAD in
 15.4126 -  [\\/]* | ?:[\\/]*)
 15.4127 -  ac_cv_path_HEAD="$HEAD" # Let the user override the test with a path.
 15.4128 -  ;;
 15.4129 -  *)
 15.4130 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4131 -for as_dir in $PATH
 15.4132 -do
 15.4133 -  IFS=$as_save_IFS
 15.4134 -  test -z "$as_dir" && as_dir=.
 15.4135 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4136 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4137 -    ac_cv_path_HEAD="$as_dir/$ac_word$ac_exec_ext"
 15.4138 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4139 -    break 2
 15.4140 -  fi
 15.4141 -done
 15.4142 -  done
 15.4143 -IFS=$as_save_IFS
 15.4144 -
 15.4145 -  ;;
 15.4146 -esac
 15.4147 -fi
 15.4148 -HEAD=$ac_cv_path_HEAD
 15.4149 -if test -n "$HEAD"; then
 15.4150 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HEAD" >&5
 15.4151 -$as_echo "$HEAD" >&6; }
 15.4152 -else
 15.4153 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4154 -$as_echo "no" >&6; }
 15.4155 -fi
 15.4156 -
 15.4157 -
 15.4158 -
 15.4159 -    # Test that variable HEAD is not empty.
 15.4160 -    if test "" = "$HEAD"; then as_fn_error $? "Could not find head !" "$LINENO" 5 ; fi
 15.4161 -
 15.4162 -# Extract the first word of "ln", so it can be a program name with args.
 15.4163 -set dummy ln; ac_word=$2
 15.4164 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4165 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4166 -if test "${ac_cv_path_LN+set}" = set; then :
 15.4167 -  $as_echo_n "(cached) " >&6
 15.4168 -else
 15.4169 -  case $LN in
 15.4170 -  [\\/]* | ?:[\\/]*)
 15.4171 -  ac_cv_path_LN="$LN" # Let the user override the test with a path.
 15.4172 -  ;;
 15.4173 -  *)
 15.4174 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4175 -for as_dir in $PATH
 15.4176 -do
 15.4177 -  IFS=$as_save_IFS
 15.4178 -  test -z "$as_dir" && as_dir=.
 15.4179 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4180 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4181 -    ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
 15.4182 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4183 -    break 2
 15.4184 -  fi
 15.4185 -done
 15.4186 -  done
 15.4187 -IFS=$as_save_IFS
 15.4188 -
 15.4189 -  ;;
 15.4190 -esac
 15.4191 -fi
 15.4192 -LN=$ac_cv_path_LN
 15.4193 -if test -n "$LN"; then
 15.4194 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5
 15.4195 -$as_echo "$LN" >&6; }
 15.4196 -else
 15.4197 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4198 -$as_echo "no" >&6; }
 15.4199 -fi
 15.4200 -
 15.4201 -
 15.4202 -
 15.4203 -    # Test that variable LN is not empty.
 15.4204 -    if test "" = "$LN"; then as_fn_error $? "Could not find ln !" "$LINENO" 5 ; fi
 15.4205 -
 15.4206 -# Extract the first word of "ls", so it can be a program name with args.
 15.4207 -set dummy ls; ac_word=$2
 15.4208 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4209 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4210 -if test "${ac_cv_path_LS+set}" = set; then :
 15.4211 -  $as_echo_n "(cached) " >&6
 15.4212 -else
 15.4213 -  case $LS in
 15.4214 -  [\\/]* | ?:[\\/]*)
 15.4215 -  ac_cv_path_LS="$LS" # Let the user override the test with a path.
 15.4216 -  ;;
 15.4217 -  *)
 15.4218 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4219 -for as_dir in $PATH
 15.4220 -do
 15.4221 -  IFS=$as_save_IFS
 15.4222 -  test -z "$as_dir" && as_dir=.
 15.4223 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4224 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4225 -    ac_cv_path_LS="$as_dir/$ac_word$ac_exec_ext"
 15.4226 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4227 -    break 2
 15.4228 -  fi
 15.4229 -done
 15.4230 -  done
 15.4231 -IFS=$as_save_IFS
 15.4232 -
 15.4233 -  ;;
 15.4234 -esac
 15.4235 -fi
 15.4236 -LS=$ac_cv_path_LS
 15.4237 -if test -n "$LS"; then
 15.4238 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LS" >&5
 15.4239 -$as_echo "$LS" >&6; }
 15.4240 -else
 15.4241 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4242 -$as_echo "no" >&6; }
 15.4243 -fi
 15.4244 -
 15.4245 -
 15.4246 -
 15.4247 -    # Test that variable LS is not empty.
 15.4248 -    if test "" = "$LS"; then as_fn_error $? "Could not find ls !" "$LINENO" 5 ; fi
 15.4249 -
 15.4250 -for ac_prog in gmake make
 15.4251 -do
 15.4252 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.4253 -set dummy $ac_prog; ac_word=$2
 15.4254 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4255 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4256 -if test "${ac_cv_path_MAKE+set}" = set; then :
 15.4257 -  $as_echo_n "(cached) " >&6
 15.4258 -else
 15.4259 -  case $MAKE in
 15.4260 -  [\\/]* | ?:[\\/]*)
 15.4261 -  ac_cv_path_MAKE="$MAKE" # Let the user override the test with a path.
 15.4262 -  ;;
 15.4263 -  *)
 15.4264 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4265 -for as_dir in $PATH
 15.4266 -do
 15.4267 -  IFS=$as_save_IFS
 15.4268 -  test -z "$as_dir" && as_dir=.
 15.4269 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4270 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4271 -    ac_cv_path_MAKE="$as_dir/$ac_word$ac_exec_ext"
 15.4272 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4273 -    break 2
 15.4274 -  fi
 15.4275 -done
 15.4276 -  done
 15.4277 -IFS=$as_save_IFS
 15.4278 -
 15.4279 -  ;;
 15.4280 -esac
 15.4281 -fi
 15.4282 -MAKE=$ac_cv_path_MAKE
 15.4283 -if test -n "$MAKE"; then
 15.4284 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5
 15.4285 -$as_echo "$MAKE" >&6; }
 15.4286 -else
 15.4287 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4288 -$as_echo "no" >&6; }
 15.4289 -fi
 15.4290 -
 15.4291 -
 15.4292 -  test -n "$MAKE" && break
 15.4293 -done
 15.4294 -
 15.4295 -
 15.4296 -    # Test that variable MAKE is not empty.
 15.4297 -    if test "" = "$MAKE"; then as_fn_error $? "Could not find make !" "$LINENO" 5 ; fi
 15.4298 -
 15.4299 -MAKE_VERSION=`$MAKE --version | head -n 1 | grep '3.8[12346789]'`
 15.4300 -if test "x$MAKE_VERSION" = x; then
 15.4301 -    as_fn_error $? "You must use GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure." "$LINENO" 5
 15.4302 -fi
 15.4303 -# Extract the first word of "mkdir", so it can be a program name with args.
 15.4304 -set dummy mkdir; ac_word=$2
 15.4305 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4306 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4307 -if test "${ac_cv_path_MKDIR+set}" = set; then :
 15.4308 -  $as_echo_n "(cached) " >&6
 15.4309 -else
 15.4310 -  case $MKDIR in
 15.4311 -  [\\/]* | ?:[\\/]*)
 15.4312 -  ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path.
 15.4313 -  ;;
 15.4314 -  *)
 15.4315 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4316 -for as_dir in $PATH
 15.4317 -do
 15.4318 -  IFS=$as_save_IFS
 15.4319 -  test -z "$as_dir" && as_dir=.
 15.4320 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4321 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4322 -    ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext"
 15.4323 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4324 -    break 2
 15.4325 -  fi
 15.4326 -done
 15.4327 -  done
 15.4328 -IFS=$as_save_IFS
 15.4329 -
 15.4330 -  ;;
 15.4331 -esac
 15.4332 -fi
 15.4333 -MKDIR=$ac_cv_path_MKDIR
 15.4334 -if test -n "$MKDIR"; then
 15.4335 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5
 15.4336 -$as_echo "$MKDIR" >&6; }
 15.4337 -else
 15.4338 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4339 -$as_echo "no" >&6; }
 15.4340 -fi
 15.4341 -
 15.4342 -
 15.4343 -
 15.4344 -    # Test that variable MKDIR is not empty.
 15.4345 -    if test "" = "$MKDIR"; then as_fn_error $? "Could not find mkdir !" "$LINENO" 5 ; fi
 15.4346 -
 15.4347 -# Extract the first word of "mv", so it can be a program name with args.
 15.4348 -set dummy mv; ac_word=$2
 15.4349 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4350 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4351 -if test "${ac_cv_path_MV+set}" = set; then :
 15.4352 -  $as_echo_n "(cached) " >&6
 15.4353 -else
 15.4354 -  case $MV in
 15.4355 -  [\\/]* | ?:[\\/]*)
 15.4356 -  ac_cv_path_MV="$MV" # Let the user override the test with a path.
 15.4357 -  ;;
 15.4358 -  *)
 15.4359 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4360 -for as_dir in $PATH
 15.4361 -do
 15.4362 -  IFS=$as_save_IFS
 15.4363 -  test -z "$as_dir" && as_dir=.
 15.4364 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4365 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4366 -    ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
 15.4367 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4368 -    break 2
 15.4369 -  fi
 15.4370 -done
 15.4371 -  done
 15.4372 -IFS=$as_save_IFS
 15.4373 -
 15.4374 -  ;;
 15.4375 -esac
 15.4376 -fi
 15.4377 -MV=$ac_cv_path_MV
 15.4378 -if test -n "$MV"; then
 15.4379 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5
 15.4380 -$as_echo "$MV" >&6; }
 15.4381 -else
 15.4382 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4383 -$as_echo "no" >&6; }
 15.4384 -fi
 15.4385 -
 15.4386 -
 15.4387 -
 15.4388 -    # Test that variable MV is not empty.
 15.4389 -    if test "" = "$MV"; then as_fn_error $? "Could not find mv !" "$LINENO" 5 ; fi
 15.4390 -
 15.4391 -for ac_prog in nawk gawk awk
 15.4392 -do
 15.4393 -  # Extract the first word of "$ac_prog", so it can be a program name with args.
 15.4394 -set dummy $ac_prog; ac_word=$2
 15.4395 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4396 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4397 -if test "${ac_cv_path_NAWK+set}" = set; then :
 15.4398 -  $as_echo_n "(cached) " >&6
 15.4399 -else
 15.4400 -  case $NAWK in
 15.4401 -  [\\/]* | ?:[\\/]*)
 15.4402 -  ac_cv_path_NAWK="$NAWK" # Let the user override the test with a path.
 15.4403 -  ;;
 15.4404 -  *)
 15.4405 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4406 -for as_dir in $PATH
 15.4407 -do
 15.4408 -  IFS=$as_save_IFS
 15.4409 -  test -z "$as_dir" && as_dir=.
 15.4410 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4411 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4412 -    ac_cv_path_NAWK="$as_dir/$ac_word$ac_exec_ext"
 15.4413 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4414 -    break 2
 15.4415 -  fi
 15.4416 -done
 15.4417 -  done
 15.4418 -IFS=$as_save_IFS
 15.4419 -
 15.4420 -  ;;
 15.4421 -esac
 15.4422 -fi
 15.4423 -NAWK=$ac_cv_path_NAWK
 15.4424 -if test -n "$NAWK"; then
 15.4425 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NAWK" >&5
 15.4426 -$as_echo "$NAWK" >&6; }
 15.4427 -else
 15.4428 -  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 15.4429 -$as_echo "no" >&6; }
 15.4430 -fi
 15.4431 -
 15.4432 -
 15.4433 -  test -n "$NAWK" && break
 15.4434 -done
 15.4435 -
 15.4436 -
 15.4437 -    # Test that variable NAWK is not empty.
 15.4438 -    if test "" = "$NAWK"; then as_fn_error $? "Could not find nawk !" "$LINENO" 5 ; fi
 15.4439 -
 15.4440 -# Extract the first word of "printf", so it can be a program name with args.
 15.4441 -set dummy printf; ac_word=$2
 15.4442 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 15.4443 -$as_echo_n "checking for $ac_word... " >&6; }
 15.4444 -if test "${ac_cv_path_PRINTF+set}" = set; then :
 15.4445 -  $as_echo_n "(cached) " >&6
 15.4446 -else
 15.4447 -  case $PRINTF in
 15.4448 -  [\\/]* | ?:[\\/]*)
 15.4449 -  ac_cv_path_PRINTF="$PRINTF" # Let the user override the test with a path.
 15.4450 -  ;;
 15.4451 -  *)
 15.4452 -  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 15.4453 -for as_dir in $PATH
 15.4454 -do
 15.4455 -  IFS=$as_save_IFS
 15.4456 -  test -z "$as_dir" && as_dir=.
 15.4457 -    for ac_exec_ext in '' $ac_executable_extensions; do
 15.4458 -  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
 15.4459 -    ac_cv_path_PRINTF="$as_dir/$ac_word$ac_exec_ext"
 15.4460 -    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
 15.4461 -    break 2
 15.4462 -  fi
 15.4463 -done
 15.4464 -  done
 15.4465 -IFS=$as_save_IFS
 15.4466 -
 15.4467 -  ;;