--- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/Makefile.in 2012-04-04 16:38:53.516932993 +0200 @@ -0,0 +1,26 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Generated Makefile @DATE_WHEN_CONFIGURED@ +SPEC:=@OUTPUT_ROOT@/spec.gmk +include @SRC_ROOT@/common/makefiles/Makefile --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/autogen.sh 2012-04-04 16:38:53.906925793 +0200 @@ -0,0 +1,26 @@ +#!/bin/sh +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +autoconf configure.ac > configure +rm -rf config.status config.log autom4te.cache --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/build-aux/config.guess 2012-04-04 16:38:54.276918966 +0200 @@ -0,0 +1,1531 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[456]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + echo "int main(){}" > $dummy.c + if test "`$CC_FOR_BUILD -o $dummy $dummy.c; file $dummy | grep -c x86_64`" = 1 ; then + UNAME_PROCESSOR=x86_64 + fi + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/build-aux/config.sub 2012-04-04 16:38:54.636912319 +0200 @@ -0,0 +1,1658 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-16' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/build-aux/install.sh 2012-04-04 16:38:55.006905487 +0200 @@ -0,0 +1,5 @@ +#!/bin/sh +echo >&2 "No suitable 'install' command found.'" +echo >&2 "If automake is installed, running 'automake -fa'" +echo >&2 "(and ignoring the errors) might produce one." +exit 1 --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/build-aux/pkg.m4 2012-04-04 16:38:55.366898840 +0200 @@ -0,0 +1,155 @@ +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/builddeps.conf.example 2012-04-04 16:38:55.726892198 +0200 @@ -0,0 +1,66 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This is a configuration example using builddeps +# that are downloaded from an ftp server. +# This is how you use it: + +#configure --with-builddeps-server=ftp://builddeps.server/adir \ +# --with-builddeps-conf=..../builddeps.conf.example +# --with-builddeps-dir=/localdisk/mybuilddeps + +# Translate a configuration triplet/quadruplet into something +# known by this configuration file. +# If no rewrite was found, then rewritten_host=${host} +REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu +REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10 + +# The needed cups builddeps are host independent header files. +# I.e. they need not be part of the devkit. +builddep_cups=lib/cups_1_3_9.zip +builddep_cups_CFLAGS=-I${depdir} + +# The devkit is the cross compiler tools and sys-roots +# for the build platform. +builddep_devkit=sdk/sdk-${rewritten_build}-20110921.tar.gz + +# The freetype dependency is partyl host dependent. +# It is stored inside the sys-root. +builddep_freetype2=sdk/sdk-${rewritten_build}-20110921.tar.gz +builddep_freetype2_CFLAGS=-I${depdir}/${rewritten_host}/sys-root/usr/include/freetype2 +builddep_freetype2_LIBS=-lfreetype + +# There are many other build dependencies, but they are implicitly +# found inside the devkit sys-root. + +# The boot jdk runs on the build system and is used to compile and run +# Java build tools and of course, the bootstrap javac. +builddep_bootjdk_BUILD_i386_pc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-i586-17_nov_2011.zip +builddep_bootjdk_BUILD_x86_64_pc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-x64-17_nov_2011.zip +builddep_bootjdk_BUILD_i686_unknown_linux_gnu=java/jdk-7u2-fcs-bin-b13-linux-i586-17_nov_2011.zip +builddep_bootjdk_BUILD_x86_64_unknown_linux_gnu=java/jdk-7u2-fcs-bin-b13-linux-x64-17_nov_2011.zip +builddep_bootjdk_BUILD_sparc_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-sparc-17_nov_2011.zip +builddep_bootjdk_BUILD_sparcv9_solaris2=java/jdk-7u2-fcs-bin-b13-solaris-sparcv9-17_nov_2011.zip +builddep_bootjdk_BUILD_i386_pc_windows=java/jdk-7u2-fcs-bin-b13-windows-i586-17_nov_2011.zip +builddep_bootjdk_BUILD_x86_64_pc_windows=java/jdk-7u2-fcs-bin-b13-windows-x64-17_nov_2011.zip +builddep_bootjdk_ROOT=${depdir}/jdk7_02/jdk1.7.0_02 --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/builddeps.conf.nfs.example 2012-04-04 16:38:56.096885366 +0200 @@ -0,0 +1,43 @@ +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This is a configuration example using an nfs-mount /java +# it will use the builddeps directly from the nfs mounted directory. +# This is how you use it: + +#configure --with-builddeps-conf=..../builddeps.conf.nfs.example + +REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu +REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10 + +DEVTOOLS=/java/devtools + +builddep_cups=${DEVTOOLS}/linux/cups/include +builddep_cups_CFLAGS=-I${depdir} + +JDK_ROOT=/java/re/jdk/7u4/latest/binaries +builddep_bootjdk_BUILD_i386_pc_solaris2=${JDK_ROOT}/solaris-i586 +builddep_bootjdk_BUILD_x86_64_pc_solaris2=${JDK_ROOT}/solaris-amd64 +builddep_bootjdk_BUILD_i686_unknown_linux_gnu=${JDK_ROOT}/linux-i586 +builddep_bootjdk_BUILD_x86_64_unknown_linux_gnu=${JDK_ROOT}/linux-amd64 +builddep_bootjdk_ROOT= --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/builddeps.m4 2012-04-04 16:38:56.456878722 +0200 @@ -0,0 +1,231 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +AC_DEFUN([BDEPS_SCAN_FOR_BUILDDEPS], +[ + define(LIST_OF_BUILD_DEPENDENCIES,) + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + if test "x$with_builddeps_conf" != x; then + AC_MSG_CHECKING([for supplied builddeps configuration file]) + builddepsfile=$with_builddeps_conf + if test -s $builddepsfile; then + . $builddepsfile + AC_MSG_RESULT([loaded!]) + else + AC_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!]) + fi + else + AC_MSG_CHECKING([for builddeps.conf files in sources...]) + builddepsfile=`mktemp` + touch $builddepsfile + # Put all found confs into a single file. + find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile + # Source the file to acquire the variables + if test -s $builddepsfile; then + . $builddepsfile + AC_MSG_RESULT([found at least one!]) + else + AC_ERROR([Could not find any builddeps.conf at all!]) + fi + fi + # Create build and host names that use _ instead of "-" and ".". + # This is necessary to use them in variable names. + build_var=`echo ${build} | tr '-' '_' | tr '.' '_'` + host_var=`echo ${host} | tr '-' '_' | tr '.' '_'` + # Extract rewrite information for build and host + eval rewritten_build=\${REWRITE_${build_var}} + if test "x$rewritten_build" = x; then + rewritten_build=${build} + echo Build stays the same $rewritten_build + else + echo Rewriting build for builddeps into $rewritten_build + fi + eval rewritten_host=\${REWRITE_${host_var}} + if test "x$rewritten_host" = x; then + rewritten_host=${host} + echo Host stays the same $rewritten_host + else + echo Rewriting host for builddeps into $rewritten_host + fi + rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'` + rewritten_host_var=`echo ${rewritten_host} | tr '-' '_' | tr '.' '_'` + fi + AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip]) + if test "x$BDEPS_UNZIP" = x7z; then + BDEPS_UNZIP="7z x" + fi + + AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp]) +]) + +AC_DEFUN([BDEPS_FTPGET], +[ + # $1 is the ftp://abuilddeps.server.com/libs/cups.zip + # $2 is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $2 $1 + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $1 -o $2" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $1 | cut -f 3 -d '/'` + FTPPATH=`echo $1 | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $2" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + AC_ERROR([I do not know how to use the tool: $BDEPS_FTP]) + fi +]) + +AC_DEFUN([BDEPS_CHECK_MODULE], +[ + define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n']) + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_$2_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_$2_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The $2 comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_$2} + fi + if test "x$resource" != x; then + AC_MSG_NOTICE([Using builddeps $resource for $2]) + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir) + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_$2_ROOT} + thecflags=${builddep_$2_CFLAGS} + thelibs=${builddep_$2_LIBS} + if test "x$depdir" = x; then + AC_ERROR([Could not download build dependency $2]) + fi + $1=$depdir + if test "x$theroot" != x; then + $1="$theroot" + fi + if test "x$thecflags" != x; then + $1_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + $1_LIBS="$thelibs" + fi + m4_default([$4], [:]) + m4_ifvaln([$5], [else $5]) + fi + m4_ifvaln([$5], [else $5]) + fi +]) + +AC_DEFUN([BDEPS_FETCH], +[ +# $1 is for example mymodule +# $2 is for example libs/general/libmymod_1_2_3.zip +# $3 is for example ftp://mybuilddeps.myserver.com/builddeps +# $4 is for example /localhome/builddeps +# $5 is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $2` + filebase=`echo $filename | sed 's/\.[[^\.]]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$4/$filebase + if test ! -f $installdir/$filename.unpacked; then + AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir]) + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + AC_ERROR([Could not create directory $installdir]) + fi + tmpfile=`mktemp $installdir/$1.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + AC_ERROR([Could not create files in directory $installdir]) + fi + BDEPS_FTPGET([$3/$2] , [$tmpfile]) + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + AC_ERROR([Could not download $3/$2]) + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) AC_ERROR([Cannot handle build depency archive with extension $extension]) + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + $5=$installdir + fi +]) + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/closed.version.numbers 2012-04-04 16:38:56.826871888 +0200 @@ -0,0 +1,28 @@ +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +LAUNCHER_NAME=java +PRODUCT_NAME="Java(TM)" +PRODUCT_SUFFIX="SE Runtime Environment" +JDK_RC_PLATFORM_NAME="Platform SE" +COMPANY_NAME="Oracle Corporation" --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/config.h.in 2012-04-04 16:38:57.186865244 +0200 @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#define PACKAGE_NAME "openjdk" +#define PACKAGE_TARNAME "openjdk" +#define PACKAGE_VERSION "version-0.1" +#define PACKAGE_STRING "openjdk version-0.1" +#define PACKAGE_BUGREPORT "build-infra-dev@openjdk.java.net" +#define PACKAGE_URL "" +#define STDC_HEADERS +#define HAVE_SYS_TYPES_H +#define HAVE_SYS_STAT_H +#define HAVE_STDLIB_H +#define HAVE_STRING_H +#define HAVE_MEMORY_H +#define HAVE_STRINGS_H +#define HAVE_INTTYPES_H +#define HAVE_STDINT_H +#define HAVE_UNISTD_H +#define SIZEOF_INT_P 8 +#define HAVE_CUPS_CUPS_H +#define HAVE_CUPS_PPD_H +#define HAVE_LIBJPEG +#define HAVE_LIBGIF +#define HAVE_LIBZ +#define HAVE_LIBM +#define HAVE_ALTZONE --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/configure 2012-04-04 16:38:57.556858416 +0200 @@ -0,0 +1,16395 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.67 for openjdk version-0.1. +# +# Report bugs to . +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: build-infra-dev@openjdk.java.net about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='openjdk' +PACKAGE_TARNAME='openjdk' +PACKAGE_VERSION='version-0.1' +PACKAGE_STRING='openjdk version-0.1' +PACKAGE_BUGREPORT='build-infra-dev@openjdk.java.net' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='LTLIBOBJS +LIBOBJS +TEST_IN_BUILD +LIBCXX +LDFLAGS_JDKEXE_SUFFIX +LDFLAGS_JDKLIB_SUFFIX +LDFLAGS_JDKEXE +LDFLAGS_JDKLIB +CXXFLAGS_JDKEXE +CXXFLAGS_JDKLIB +CFLAGS_JDKEXE +CFLAGS_JDKLIB +PACKAGE_PATH +IMAGES_MAKE_ARGS +IMAGES_OUTPUTDIR +JDK_MAKE_ARGS +JDK_OUTPUTDIR +HOTSPOT_MAKE_ARGS +HOTSPOT_DIST +HOTSPOT_OUTPUTDIR +JAXWS_MAKE_ARGS +JAXWS_DIST +JAXWS_OUTPUTDIR +JAXP_MAKE_ARGS +JAXP_DIST +JAXP_OUTPUTDIR +CORBA_MAKE_ARGS +CORBA_DIST +CORBA_OUTPUTDIR +LANGTOOLS_MAKE_ARGS +LANGTOOLS_DIST +LANGTOOLS_OUTPUTDIR +CXX_O_FLAG_NONE +CXX_O_FLAG_NORM +CXX_O_FLAG_HI +C_O_FLAG_NONE +C_O_FLAG_NORM +C_O_FLAG_HI +DISABLE_NIMBUS +GENERATE_DOCS +ENABLE_DOCS +LIBM +USE_EXTERNAL_LIBZ +USE_EXTERNAL_LIBGIF +USE_EXTERNAL_LIBJPEG +PULSE_LIBS +PULSE_CFLAGS +LIBPULSE_LIBS +LIBPULSE_CFLAGS +ALSA_LIBS +ALSA_CFLAGS +FREETYPE2_LIB_PATH +USING_SYSTEM_FT_LIB +FREETYPE2_LIBS +FREETYPE2_CFLAGS +CUPS_LIBS +CUPS_CFLAGS +OPENWIN_HOME +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +JAVAC_USE_MODE +JAVAC_USE_DEPS +JAVAC_SERVER_CORES +JAVAC_SERVERS +JAVAC_USE_REMOTE +SERVER_JAVA +BOOT_JDK_JVMARGS +OVERRIDE_SRC_ROOT +ADD_SRC_ROOT +RMIC +JAR +JAVAH +JAVAC_FLAGS +JAVAC +BOOT_JDK_SOURCETARGET +JAVA +BOOT_TOOLSJAR +BOOT_RTJAR +BOOT_JDK +JAVA_CHECK +JAVAC_CHECK +ENDIAN +SET_SHARED_LIBRARY_ORIGIN +SET_SHARED_LIBRARY_MAPFILE +SET_SHARED_LIBRARY_NAME +SHARED_LIBRARY_FLAGS +EXE_SUFFIX +STATIC_LIBRARY_SUFFIX +SHARED_LIBRARY_SUFFIX +LIBRARY_PREFIX +STATIC_LIBRARY +SHARED_LIBRARY +OBJ_SUFFIX +USE_PRECOMPILED_HEADER +ARCH_DATA_MODEL +LP64 +BUILD_LOG_WRAPPER +BUILD_LOG +CCACHE +UNCYGDRIVE +MCS +STRIP +NM +ASFLAGS +AS +CXXCPP +CPP +COMPILER_TYPE +RC_FLAGS +DUMPBIN +WINAR +RC +MT +WINLD +ARFLAGS +AR +LDEXECXX +LDCXX +LDEXE +LD +ac_ct_OBJC +OBJCFLAGS +OBJC +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +HOSTCXX +HOSTCC +HOST_CXX +HOST_CC +DEFINE_CROSS_COMPILE_ARCH +AR_OUT_OPTION +LD_OUT_OPTION +EXE_OUT_OPTION +CC_OUT_OPTION +SYS_ROOT +BDEPS_FTP +BDEPS_UNZIP +PKG_CONFIG +JDK_TOPDIR +HOTSPOT_TOPDIR +JAXWS_TOPDIR +JAXP_TOPDIR +CORBA_TOPDIR +LANGTOOLS_TOPDIR +OUTPUT_ROOT +SPEC +MSVCR100DLL +CHECK_FOR_VCINSTALLDIR +SETUPDEVENV +COOKED_BUILD_NUMBER +FULL_VERSION +RELEASE +JDK_VERSION +RUNTIME_NAME +COPYRIGHT_YEAR +COMPANY_NAME +JDK_RC_PLATFORM_NAME +PRODUCT_SUFFIX +PRODUCT_NAME +LAUNCHER_NAME +MILESTONE +JDK_BUILD_NUMBER +JDK_UPDATE_VERSION +JDK_MICRO_VERSION +JDK_MINOR_VERSION +JDK_MAJOR_VERSION +BUILD_VARIANT_RELEASE +DEBUG_CLASSFILES +FASTDEBUG +VARIANT +DEBUG_LEVEL +JVM_VARIANT_ZEROSHARK +JVM_VARIANT_ZERO +JVM_VARIANT_KERNEL +JVM_VARIANT_CLIENT +JVM_VARIANT_SERVER +JVM_VARIANTS +BUILD_HEADLESS_ONLY +BUILD_HEADLESS +SUPPORT_HEADFUL +SUPPORT_HEADLESS +JDK_VARIANT +MINIMIZE_RAM_USAGE +JAVASE_EMBEDDED +JIGSAW +SET_OPENJDK +PATH_SEP +CYGPATH +SRC_ROOT +MEMORY_SIZE +CONCURRENT_BUILD_JOBS +NUM_CORES +DATE_WHEN_CONFIGURED +LEGACY_BUILD_CPU3 +LEGACY_BUILD_CPU2 +LEGACY_BUILD_CPU1 +BUILD_CPU_ENDIAN +BUILD_CPU_BITS +BUILD_CPU_ARCH +BUILD_CPU +LEGACY_BUILD_OS_API +BUILD_OS_API +BUILD_OS_FAMILY +BUILD_OS +LEGACY_HOST_CPU3 +LEGACY_HOST_CPU2 +LEGACY_HOST_CPU1 +HOST_CPU_ENDIAN +HOST_CPU_BITS +HOST_CPU_ARCH +HOST_CPU +LEGACY_HOST_OS_API +HOST_OS_API +HOST_OS_FAMILY +HOST_OS +BUILD +HOST +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +FILE +EXPR +READELF +OTOOL +LDD +UNZIP +ZIP +XARGS +WC +TOUCH +TR +TEE +TAIL +TAR +SORT +SH +SED +RM +THEPWDCMD +PRINTF +NAWK +MV +MKDIR +MAKE +LS +LN +HEAD +FIND_DELETE +FIND +FGREP +EGREP +GREP +ECHO +DIFF +DF +DATE +CUT +CPIO +CP +CHMOD +CAT +AWK +READLINK +CONFIGURE_COMMAND_LINE +PKGHANDLER +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_data_model +with_num_cores +with_memory_size +enable_openjdk +enable_jigsaw +with_jdk_variant +enable_headful +with_jvm_variants +enable_debug +with_debug_level +with_msvcr100dll +with_builddeps_conf +with_builddeps_server +with_builddeps_dir +with_builddeps_group +enable_list_builddeps +with_sys_root +enable_ccache +with_ccache_dir +enable_precompiled_headers +with_boot_jdk +with_add_source_root +with_override_source_root +with_adds_and_overrides +with_override_langtools +with_override_corba +with_override_jaxp +with_override_jaxws +with_override_hotspot +with_override_jdk +with_boot_jdk_jvmargs +with_server_java +enable_javac_server +with_javac_server_cores +enable_javac_deps +enable_javac_multi_core +enable_macosx_runtime_support +with_x +with_cups +with_cups_include +with_cups_lib +with_freetype +with_alsa +with_alsa_include +with_alsa_lib +with_pulse +with_pulse_include +with_pulse_lib +enable_docs +enable_nimbus +enable_static_link_stdc__ +enable_hotspot_test_in_build +' + ac_precious_vars='build_alias +host_alias +target_alias +PKG_CONFIG +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +OBJC +OBJCFLAGS +CPP +CXXCPP +XMKMF +FREETYPE2_CFLAGS +FREETYPE2_LIBS +ALSA_CFLAGS +ALSA_LIBS +LIBPULSE_CFLAGS +LIBPULSE_LIBS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures openjdk version-0.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/openjdk] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of openjdk version-0.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-openjdk build OpenJDK regardless of the presence of closed + repositories [disabled] + --enable-jigsaw build Jigsaw images (not yet available) [disabled] + --disable-headful build headful support (graphical UI support) + [enabled] + --enable-debug set the debug level to fastdebug (shorthand for + --with-debug-level=fastdebug) [disabled] + --enable-list-builddeps list all build dependencies known to the configure + script + --disable-ccache use ccache to speed up recompilations [enabled] + --disable-precompiled-headers + use precompiled headers when compiling C++ [enabled] + --enable-javac-server enable the shared javac server during the build + process [disabled] + --enable-javac-deps enable the dependency tracking between Java packages + [disabled] + --enable-javac-multi-core + compile Java packages concurrently [disabled] + --disable-macosx-runtime-support + disable the use of MacOSX Java runtime support + framework [enabled] + --enable-docs enable generation of Javadoc documentation + [disabled] + --disable-nimbus disable Nimbus L&F [enabled] + --disable-static-link-stdc++ + disable static linking of the C++ runtime on Linux + [enabled] + --enable-hotspot-test-in-build + enable running of Queens test after Hotspot build + (not yet available) [disabled] + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-data-model build 32-bit or 64-bit binaries (for platforms that + support it), e.g. --with-data-model=32 [guessed] + --with-num-cores number of cores in the build system, e.g. + --with-num-cores=8 [probed] + --with-memory-size memory (in MB) available in the build system, e.g. + --with-memory-size=1024 [probed] + --with-jdk-variant JDK variant to build (normal, embedded) [normal] + --with-jvm-variants JVM variants (separated by commas) to build (server, + client, kernel, zero, zeroshark) [server] + --with-debug-level set the debug level (release, fastdebug, slowdebug) + [release] + --with-msvcr100dll copy this msvcr100.dll into the built JDK + --with-builddeps-conf use this configuration file for the builddeps + --with-builddeps-server download and use build dependencies from this server + url, e.g. + --with-builddeps-server=ftp://example.com/dir + --with-builddeps-dir store downloaded build dependencies here + [d/localhome/builddeps] + --with-builddeps-group chgrp the downloaded build dependencies to this + group + --with-sys-root pass this sys-root to the compilers and linker + (useful if the sys-root encoded in the cross + compiler tools is incorrect) + --with-ccache-dir where to store ccache files [~/.ccache] + --with-boot-jdk path to Boot JDK (used to bootstrap build) [probed] + --with-add-source-root for each and every source directory, look in this + additional source root for the same directory; if it + exists and have files in it, include it in the build + --with-override-source-root + for each and every source directory, look in this + override source root for the same directory; if it + exists, use that directory instead and ignore the + directory in the original source root + --with-adds-and-overrides + use the subdirs 'adds' and 'overrides' in the + specified directory as add-source-root and + override-source-root + --with-override-langtools + use this langtools dir for the build + --with-override-corba use this corba dir for the build + --with-override-jaxp use this jaxp dir for the build + --with-override-jaxws use this jaxws dir for the build + --with-override-hotspot use this hotspot dir for the build + --with-override-jdk use this jdk dir for the build + --with-boot-jdk-jvmargs specify JVM arguments to be passed to all + invocations of the Boot JDK, overriding the default + values, e.g --with-boot-jdk-jvmargs="-Xmx8G + -enableassertions" + --with-server-java use this java binary for running the javac + background server and other long running java tasks + in the build process, e.g. + ---with-server-java="/opt/jrockit/bin/java -server" + --with-javac-server-cores + use at most this number of concurrent threads on the + javac server [probed] + --with-x use the X Window System + --with-cups specify prefix directory for the cups package + (expecting the libraries under PATH/lib and the + headers under PATH/include) + --with-cups-include specify directory for the cups include files + --with-cups-lib specify directory for the cups library + --with-freetype specify prefix directory for the freetype2 package + (expecting the libraries under PATH/lib and the + headers under PATH/include) + --with-alsa specify prefix directory for the alsa package + (expecting the libraries under PATH/lib and the + headers under PATH/include) + --with-alsa-include specify directory for the alsa include files + --with-alsa-lib specify directory for the alsa library + --with-pulse specify prefix directory for the pulseaudio package + (expecting the libraries under PATH/lib and the + headers under PATH/include) + --with-pulse-include specify directory for the pulseaudio include files + --with-pulse-lib specify directory for the pulseaudio library + +Some influential environment variables: + PKG_CONFIG path to pkg-config utility + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXX C++ compiler command + CXXFLAGS C++ compiler flags + OBJC Objective C compiler command + OBJCFLAGS Objective C compiler flags + CPP C preprocessor + CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System + FREETYPE2_CFLAGS + C compiler flags for FREETYPE2, overriding pkg-config + FREETYPE2_LIBS + linker flags for FREETYPE2, overriding pkg-config + ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config + ALSA_LIBS linker flags for ALSA, overriding pkg-config + LIBPULSE_CFLAGS + C compiler flags for LIBPULSE, overriding pkg-config + LIBPULSE_LIBS + linker flags for LIBPULSE, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +openjdk configure version-0.1 +generated by GNU Autoconf 2.67 + +Copyright (C) 2010 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_objc_try_compile LINENO +# ----------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_objc_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_objc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_objc_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_cxx_try_run LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_cxx_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_run + +# ac_fn_cxx_compute_int LINENO EXPR VAR INCLUDES +# ---------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_cxx_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_compile + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_func + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval "test \"\${$3+set}\"" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------------------- ## +## Report this to build-infra-dev@openjdk.java.net ## +## ----------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_cxx_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval "test \"\${$3+set}\"" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------------------- ## +## Report this to build-infra-dev@openjdk.java.net ## +## ----------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_mongrel +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by openjdk $as_me version-0.1, which was +generated by GNU Autoconf 2.67. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5 ; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in build-aux "$srcdir"/build-aux; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- + + + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +# PKG_CHECK_MODULES + +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + + + + + + + + + + +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Fixes paths on windows hosts to be mixed mode short. + + +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + + + + + +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +function help_on_build_dependency { + # Print a helpful message on how to acquire the necessary build dependency. + # $1 is the help tag: freetyp2, cups, pulse, alsa etc + MISSING_DEPENDENCY=$1 + PKGHANDLER_COMMAND= + + for ac_prog in apt-get yum port pkgutil pkgadd +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_PKGHANDLER+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PKGHANDLER"; then + ac_cv_prog_PKGHANDLER="$PKGHANDLER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PKGHANDLER="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PKGHANDLER=$ac_cv_prog_PKGHANDLER +if test -n "$PKGHANDLER"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGHANDLER" >&5 +$as_echo "$PKGHANDLER" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PKGHANDLER" && break +done + + + case $PKGHANDLER in + apt-get) + apt_help $MISSING_DEPENDENCY ;; + yum) + yum_help $MISSING_DEPENDENCY ;; + port) + port_help $MISSING_DEPENDENCY ;; + pkgutil) + pkgutil_help $MISSING_DEPENDENCY ;; + pkgadd) + pkgadd_help $MISSING_DEPENDENCY ;; + * ) + break ;; + esac + + if test "x$PKGHANDLER_COMMAND" != x; then + HELP_MSG="Try running '$PKGHANDLER_COMMAND'." + fi +} + +function apt_help { + case $1 in + devkit) + PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;; + openjdk) + PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;; + alsa) + PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;; + cups) + PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;; + freetype2) + PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;; + pulse) + PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;; + x11) + PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev" ;; + ccache) + PKGHANDLER_COMMAND="sudo apt-get install ccache" ;; + * ) + break ;; + esac +} + +function yum_help { + case $1 in + devkit) + PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;; + openjdk) + PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;; + alsa) + PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;; + cups) + PKGHANDLER_COMMAND="sudo yum install cups-devel" ;; + freetype2) + PKGHANDLER_COMMAND="sudo yum install freetype2-devel" ;; + pulse) + PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;; + x11) + PKGHANDLER_COMMAND="sudo yum install libXtst-devel" ;; + ccache) + PKGHANDLER_COMMAND="sudo yum install ccache" ;; + * ) + break ;; + esac +} + +function port_help { + PKGHANDLER_COMMAND="" +} + +function pkgutil_help { + PKGHANDLER_COMMAND="" +} + +function pkgadd_help { + PKGHANDLER_COMMAND="" +} + + +# Save the command line. Do this very early, before it is lost by calling autoconf macros. +CONFIGURE_COMMAND_LINE="$@" + + +# Locate the directory of this script. +SCRIPT="$0" + + if test "x$BUILD_OS" != xwindows; then + # Follow a chain of symbolic links. Use readlink + # where it exists, else fall back to horribly + # complicated shell code. + # Extract the first word of "readlink", so it can be a program name with args. +set dummy readlink; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_READLINK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $READLINK in + [\\/]* | ?:[\\/]*) + ac_cv_path_READLINK="$READLINK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_READLINK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +READLINK=$ac_cv_path_READLINK +if test -n "$READLINK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINK" >&5 +$as_echo "$READLINK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$READLINK_TESTED" != yes; then + # On MacOSX there is a readlink tool with a different + # purpose than the GNU readlink tool. Check the found readlink. + ISGNU=`$READLINK --help 2>&1 | grep GNU` + if test "x$ISGNU" = x; then + # A readlink that we do not know how to use. + # Are there other non-GNU readlinks out there? + READLINK_TESTED=yes + READLINK= + fi + fi + + if test "x$READLINK" != x; then + SCRIPT=`$READLINK -f $SCRIPT` + else + STARTDIR=$PWD + COUNTER=0 + DIR=`dirname $SCRIPT` + FIL=`basename $SCRIPT` + while test $COUNTER -lt 20; do + ISLINK=`ls -l $DIR/$FIL | grep '\->' | sed -e 's/.*-> \(.*\)/\1/'` + if test "x$ISLINK" == x; then + # This is not a symbolic link! We are done! + break + fi + # The link might be relative! We have to use cd to travel safely. + cd $DIR + cd `dirname $ISLINK` + DIR=`pwd` + FIL=`basename $ISLINK` + let COUNTER=COUNTER+1 + done + cd $STARTDIR + SCRIPT=$DIR/$FIL + fi + fi + +AUTOCONF_DIR=`dirname $0` + +# Start with tools that do not need have cross compilation support +# and can be expected to be found in the default PATH. These tools are +# used by configure. Nor are these tools expected to be found in the +# devkit from the builddeps server either, since they are +# needed to download the devkit. +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + # Test that variable AWK is not empty. + if test "" = "$AWK"; then as_fn_error $? "Could not find awk !" "$LINENO" 5 ; fi + +# Extract the first word of "cat", so it can be a program name with args. +set dummy cat; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CAT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CAT in + [\\/]* | ?:[\\/]*) + ac_cv_path_CAT="$CAT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CAT=$ac_cv_path_CAT +if test -n "$CAT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5 +$as_echo "$CAT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable CAT is not empty. + if test "" = "$CAT"; then as_fn_error $? "Could not find cat !" "$LINENO" 5 ; fi + +# Extract the first word of "chmod", so it can be a program name with args. +set dummy chmod; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CHMOD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CHMOD in + [\\/]* | ?:[\\/]*) + ac_cv_path_CHMOD="$CHMOD" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CHMOD=$ac_cv_path_CHMOD +if test -n "$CHMOD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHMOD" >&5 +$as_echo "$CHMOD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable CHMOD is not empty. + if test "" = "$CHMOD"; then as_fn_error $? "Could not find chmod !" "$LINENO" 5 ; fi + +# Extract the first word of "cp", so it can be a program name with args. +set dummy cp; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CP in + [\\/]* | ?:[\\/]*) + ac_cv_path_CP="$CP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CP=$ac_cv_path_CP +if test -n "$CP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CP" >&5 +$as_echo "$CP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable CP is not empty. + if test "" = "$CP"; then as_fn_error $? "Could not find cp !" "$LINENO" 5 ; fi + +# Extract the first word of "cpio", so it can be a program name with args. +set dummy cpio; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CPIO+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CPIO in + [\\/]* | ?:[\\/]*) + ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CPIO=$ac_cv_path_CPIO +if test -n "$CPIO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPIO" >&5 +$as_echo "$CPIO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable CPIO is not empty. + if test "" = "$CPIO"; then as_fn_error $? "Could not find cpio !" "$LINENO" 5 ; fi + +# Extract the first word of "cut", so it can be a program name with args. +set dummy cut; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CUT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CUT in + [\\/]* | ?:[\\/]*) + ac_cv_path_CUT="$CUT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CUT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CUT=$ac_cv_path_CUT +if test -n "$CUT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUT" >&5 +$as_echo "$CUT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable CUT is not empty. + if test "" = "$CUT"; then as_fn_error $? "Could not find cut !" "$LINENO" 5 ; fi + +# Extract the first word of "date", so it can be a program name with args. +set dummy date; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DATE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $DATE in + [\\/]* | ?:[\\/]*) + ac_cv_path_DATE="$DATE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_DATE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +DATE=$ac_cv_path_DATE +if test -n "$DATE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DATE" >&5 +$as_echo "$DATE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable DATE is not empty. + if test "" = "$DATE"; then as_fn_error $? "Could not find date !" "$LINENO" 5 ; fi + +# Extract the first word of "df", so it can be a program name with args. +set dummy df; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DF+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $DF in + [\\/]* | ?:[\\/]*) + ac_cv_path_DF="$DF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_DF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +DF=$ac_cv_path_DF +if test -n "$DF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DF" >&5 +$as_echo "$DF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable DF is not empty. + if test "" = "$DF"; then as_fn_error $? "Could not find df !" "$LINENO" 5 ; fi + +# Extract the first word of "diff", so it can be a program name with args. +set dummy diff; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_DIFF+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $DIFF in + [\\/]* | ?:[\\/]*) + ac_cv_path_DIFF="$DIFF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_DIFF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +DIFF=$ac_cv_path_DIFF +if test -n "$DIFF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 +$as_echo "$DIFF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable DIFF is not empty. + if test "" = "$DIFF"; then as_fn_error $? "Could not find diff !" "$LINENO" 5 ; fi + +# Warning echo is really, really unportable!!!!! Different +# behaviour in bash and dash and in a lot of other shells! +# Use printf for serious work! +# Extract the first word of "echo", so it can be a program name with args. +set dummy echo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ECHO+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $ECHO in + [\\/]* | ?:[\\/]*) + ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ECHO="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ECHO=$ac_cv_path_ECHO +if test -n "$ECHO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ECHO" >&5 +$as_echo "$ECHO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable ECHO is not empty. + if test "" = "$ECHO"; then as_fn_error $? "Could not find echo !" "$LINENO" 5 ; fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + # Test that variable EGREP is not empty. + if test "" = "$EGREP"; then as_fn_error $? "Could not find egrep !" "$LINENO" 5 ; fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if test "${ac_cv_path_FGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + + + # Test that variable FGREP is not empty. + if test "" = "$FGREP"; then as_fn_error $? "Could not find fgrep !" "$LINENO" 5 ; fi + + +# Extract the first word of "find", so it can be a program name with args. +set dummy find; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_FIND+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $FIND in + [\\/]* | ?:[\\/]*) + ac_cv_path_FIND="$FIND" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +FIND=$ac_cv_path_FIND +if test -n "$FIND"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5 +$as_echo "$FIND" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable FIND is not empty. + if test "" = "$FIND"; then as_fn_error $? "Could not find find !" "$LINENO" 5 ; fi + + + # Test if find supports -delete + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if find supports -delete" >&5 +$as_echo_n "checking if find supports -delete... " >&6; } + FIND_DELETE="-delete" + + DELETEDIR=`mktemp -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?) + + echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete + + TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1` + if test -f $DELETEDIR/TestIfFindSupportsDelete; then + # No, it does not. + rm $DELETEDIR/TestIfFindSupportsDelete + FIND_DELETE="-exec rm \{\} \+" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + rmdir $DELETEDIR + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + + + # Test that variable GREP is not empty. + if test "" = "$GREP"; then as_fn_error $? "Could not find grep !" "$LINENO" 5 ; fi + +# Extract the first word of "head", so it can be a program name with args. +set dummy head; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_HEAD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $HEAD in + [\\/]* | ?:[\\/]*) + ac_cv_path_HEAD="$HEAD" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_HEAD="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +HEAD=$ac_cv_path_HEAD +if test -n "$HEAD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HEAD" >&5 +$as_echo "$HEAD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable HEAD is not empty. + if test "" = "$HEAD"; then as_fn_error $? "Could not find head !" "$LINENO" 5 ; fi + +# Extract the first word of "ln", so it can be a program name with args. +set dummy ln; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LN+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $LN in + [\\/]* | ?:[\\/]*) + ac_cv_path_LN="$LN" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LN=$ac_cv_path_LN +if test -n "$LN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5 +$as_echo "$LN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable LN is not empty. + if test "" = "$LN"; then as_fn_error $? "Could not find ln !" "$LINENO" 5 ; fi + +# Extract the first word of "ls", so it can be a program name with args. +set dummy ls; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LS+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $LS in + [\\/]* | ?:[\\/]*) + ac_cv_path_LS="$LS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LS=$ac_cv_path_LS +if test -n "$LS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LS" >&5 +$as_echo "$LS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable LS is not empty. + if test "" = "$LS"; then as_fn_error $? "Could not find ls !" "$LINENO" 5 ; fi + +for ac_prog in gmake make +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MAKE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $MAKE in + [\\/]* | ?:[\\/]*) + ac_cv_path_MAKE="$MAKE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MAKE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MAKE=$ac_cv_path_MAKE +if test -n "$MAKE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5 +$as_echo "$MAKE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$MAKE" && break +done + + + # Test that variable MAKE is not empty. + if test "" = "$MAKE"; then as_fn_error $? "Could not find make !" "$LINENO" 5 ; fi + +MAKE_VERSION=`$MAKE --version | head -n 1 | grep '3.8[12346789]'` +if test "x$MAKE_VERSION" = x; then + as_fn_error $? "You must use GNU make 3.81 or newer! Please put it in the path." "$LINENO" 5 +fi +# Extract the first word of "mkdir", so it can be a program name with args. +set dummy mkdir; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MKDIR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $MKDIR in + [\\/]* | ?:[\\/]*) + ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MKDIR=$ac_cv_path_MKDIR +if test -n "$MKDIR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5 +$as_echo "$MKDIR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable MKDIR is not empty. + if test "" = "$MKDIR"; then as_fn_error $? "Could not find mkdir !" "$LINENO" 5 ; fi + +# Extract the first word of "mv", so it can be a program name with args. +set dummy mv; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MV+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $MV in + [\\/]* | ?:[\\/]*) + ac_cv_path_MV="$MV" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MV=$ac_cv_path_MV +if test -n "$MV"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5 +$as_echo "$MV" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable MV is not empty. + if test "" = "$MV"; then as_fn_error $? "Could not find mv !" "$LINENO" 5 ; fi + +for ac_prog in nawk gawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_NAWK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $NAWK in + [\\/]* | ?:[\\/]*) + ac_cv_path_NAWK="$NAWK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NAWK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +NAWK=$ac_cv_path_NAWK +if test -n "$NAWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NAWK" >&5 +$as_echo "$NAWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$NAWK" && break +done + + + # Test that variable NAWK is not empty. + if test "" = "$NAWK"; then as_fn_error $? "Could not find nawk !" "$LINENO" 5 ; fi + +# Extract the first word of "printf", so it can be a program name with args. +set dummy printf; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PRINTF+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PRINTF in + [\\/]* | ?:[\\/]*) + ac_cv_path_PRINTF="$PRINTF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PRINTF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PRINTF=$ac_cv_path_PRINTF +if test -n "$PRINTF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRINTF" >&5 +$as_echo "$PRINTF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable PRINTF is not empty. + if test "" = "$PRINTF"; then as_fn_error $? "Could not find printf !" "$LINENO" 5 ; fi + +# Extract the first word of "pwd", so it can be a program name with args. +set dummy pwd; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_THEPWDCMD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $THEPWDCMD in + [\\/]* | ?:[\\/]*) + ac_cv_path_THEPWDCMD="$THEPWDCMD" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_THEPWDCMD="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +THEPWDCMD=$ac_cv_path_THEPWDCMD +if test -n "$THEPWDCMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $THEPWDCMD" >&5 +$as_echo "$THEPWDCMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "rm", so it can be a program name with args. +set dummy rm; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_RM+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $RM in + [\\/]* | ?:[\\/]*) + ac_cv_path_RM="$RM" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +RM=$ac_cv_path_RM +if test -n "$RM"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 +$as_echo "$RM" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable RM is not empty. + if test "" = "$RM"; then as_fn_error $? "Could not find rm !" "$LINENO" 5 ; fi + +RM="$RM -f" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if test "${ac_cv_path_SED+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + + # Test that variable SED is not empty. + if test "" = "$SED"; then as_fn_error $? "Could not find sed !" "$LINENO" 5 ; fi + +# Extract the first word of "sh", so it can be a program name with args. +set dummy sh; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SH+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $SH in + [\\/]* | ?:[\\/]*) + ac_cv_path_SH="$SH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +SH=$ac_cv_path_SH +if test -n "$SH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5 +$as_echo "$SH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable SH is not empty. + if test "" = "$SH"; then as_fn_error $? "Could not find sh !" "$LINENO" 5 ; fi + +# Extract the first word of "sort", so it can be a program name with args. +set dummy sort; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_SORT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $SORT in + [\\/]* | ?:[\\/]*) + ac_cv_path_SORT="$SORT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_SORT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +SORT=$ac_cv_path_SORT +if test -n "$SORT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 +$as_echo "$SORT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable SORT is not empty. + if test "" = "$SORT"; then as_fn_error $? "Could not find sort !" "$LINENO" 5 ; fi + +# Extract the first word of "tar", so it can be a program name with args. +set dummy tar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_TAR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $TAR in + [\\/]* | ?:[\\/]*) + ac_cv_path_TAR="$TAR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TAR=$ac_cv_path_TAR +if test -n "$TAR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 +$as_echo "$TAR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable TAR is not empty. + if test "" = "$TAR"; then as_fn_error $? "Could not find tar !" "$LINENO" 5 ; fi + +# Extract the first word of "tail", so it can be a program name with args. +set dummy tail; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_TAIL+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $TAIL in + [\\/]* | ?:[\\/]*) + ac_cv_path_TAIL="$TAIL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_TAIL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TAIL=$ac_cv_path_TAIL +if test -n "$TAIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAIL" >&5 +$as_echo "$TAIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable TAIL is not empty. + if test "" = "$TAIL"; then as_fn_error $? "Could not find tail !" "$LINENO" 5 ; fi + +# Extract the first word of "tee", so it can be a program name with args. +set dummy tee; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_TEE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $TEE in + [\\/]* | ?:[\\/]*) + ac_cv_path_TEE="$TEE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_TEE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TEE=$ac_cv_path_TEE +if test -n "$TEE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEE" >&5 +$as_echo "$TEE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable TEE is not empty. + if test "" = "$TEE"; then as_fn_error $? "Could not find tee !" "$LINENO" 5 ; fi + +# Extract the first word of "tr", so it can be a program name with args. +set dummy tr; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_TR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $TR in + [\\/]* | ?:[\\/]*) + ac_cv_path_TR="$TR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_TR="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TR=$ac_cv_path_TR +if test -n "$TR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TR" >&5 +$as_echo "$TR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable TR is not empty. + if test "" = "$TR"; then as_fn_error $? "Could not find tr !" "$LINENO" 5 ; fi + +# Extract the first word of "touch", so it can be a program name with args. +set dummy touch; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_TOUCH+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $TOUCH in + [\\/]* | ?:[\\/]*) + ac_cv_path_TOUCH="$TOUCH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_TOUCH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TOUCH=$ac_cv_path_TOUCH +if test -n "$TOUCH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOUCH" >&5 +$as_echo "$TOUCH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable TOUCH is not empty. + if test "" = "$TOUCH"; then as_fn_error $? "Could not find touch !" "$LINENO" 5 ; fi + +# Extract the first word of "wc", so it can be a program name with args. +set dummy wc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_WC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $WC in + [\\/]* | ?:[\\/]*) + ac_cv_path_WC="$WC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_WC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +WC=$ac_cv_path_WC +if test -n "$WC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WC" >&5 +$as_echo "$WC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable WC is not empty. + if test "" = "$WC"; then as_fn_error $? "Could not find wc !" "$LINENO" 5 ; fi + +# Extract the first word of "xargs", so it can be a program name with args. +set dummy xargs; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XARGS+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $XARGS in + [\\/]* | ?:[\\/]*) + ac_cv_path_XARGS="$XARGS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_XARGS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +XARGS=$ac_cv_path_XARGS +if test -n "$XARGS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XARGS" >&5 +$as_echo "$XARGS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable XARGS is not empty. + if test "" = "$XARGS"; then as_fn_error $? "Could not find xargs !" "$LINENO" 5 ; fi + +# Extract the first word of "zip", so it can be a program name with args. +set dummy zip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $ZIP in + [\\/]* | ?:[\\/]*) + ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ZIP=$ac_cv_path_ZIP +if test -n "$ZIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 +$as_echo "$ZIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable ZIP is not empty. + if test "" = "$ZIP"; then as_fn_error $? "Could not find zip !" "$LINENO" 5 ; fi + +# Extract the first word of "unzip", so it can be a program name with args. +set dummy unzip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_UNZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $UNZIP in + [\\/]* | ?:[\\/]*) + ac_cv_path_UNZIP="$UNZIP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +UNZIP=$ac_cv_path_UNZIP +if test -n "$UNZIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 +$as_echo "$UNZIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable UNZIP is not empty. + if test "" = "$UNZIP"; then as_fn_error $? "Could not find unzip !" "$LINENO" 5 ; fi + +# Extract the first word of "ldd", so it can be a program name with args. +set dummy ldd; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LDD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $LDD in + [\\/]* | ?:[\\/]*) + ac_cv_path_LDD="$LDD" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LDD="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LDD=$ac_cv_path_LDD +if test -n "$LDD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDD" >&5 +$as_echo "$LDD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test "x$LDD" = "x"; then + # List shared lib dependencies is used for + # debug output and checking for forbidden dependencies. + # We can build without it. + LDD="true" +fi +# Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_OTOOL+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $OTOOL in + [\\/]* | ?:[\\/]*) + ac_cv_path_OTOOL="$OTOOL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_OTOOL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +OTOOL=$ac_cv_path_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test "x$OTOOL" = "x"; then + OTOOL="true" +fi +# Extract the first word of "readelf", so it can be a program name with args. +set dummy readelf; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_READELF+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $READELF in + [\\/]* | ?:[\\/]*) + ac_cv_path_READELF="$READELF" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_READELF="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +READELF=$ac_cv_path_READELF +if test -n "$READELF"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5 +$as_echo "$READELF" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "expr", so it can be a program name with args. +set dummy expr; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_EXPR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $EXPR in + [\\/]* | ?:[\\/]*) + ac_cv_path_EXPR="$EXPR" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_EXPR="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +EXPR=$ac_cv_path_EXPR +if test -n "$EXPR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXPR" >&5 +$as_echo "$EXPR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable EXPR is not empty. + if test "" = "$EXPR"; then as_fn_error $? "Could not find expr !" "$LINENO" 5 ; fi + +# Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_FILE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $FILE in + [\\/]* | ?:[\\/]*) + ac_cv_path_FILE="$FILE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_FILE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +FILE=$ac_cv_path_FILE +if test -n "$FILE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FILE" >&5 +$as_echo "$FILE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Test that variable FILE is not empty. + if test "" = "$FILE"; then as_fn_error $? "Could not find file !" "$LINENO" 5 ; fi + +# Figure out the build and host system. +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + +# Check whether --with-data-model was given. +if test "${with_data_model+set}" = set; then : + withval=$with_data_model; +fi + + +if test "x$with_data_model" != x && \ + test "x$with_data_model" != x32 && \ + test "x$with_data_model" != x64 ; then + as_fn_error $? "The data model can only be 32 or 64!" "$LINENO" 5 +fi +# Translate the standard cpu-vendor-kernel-os quadruplets into +# the new HOST_.... and BUILD_... and the legacy names used by +# the openjdk build. +# It uses $host_os $host_cpu $build_os $build_cpu and $with_data_model + + # Expects $host_os $host_cpu $build_os and $build_cpu + # and $with_data_model to have been setup! + # + # Translate the standard triplet(quadruplet) definition + # of the host/build system into + # HOST_OS=aix,bsd,hpux,linux,macosx,solaris,windows + # HOST_OS_FAMILY=bsd,gnu,sysv,win32,wince + # HOST_OS_API=posix,winapi + # + # HOST_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64 + # HOST_CPU_ARCH=x86,sparc,pcc,arm + # HOST_CPU_BITS=32,64 + # HOST_CPU_ENDIAN=big,little + # + # The same values are setup for BUILD_... + # + # And the legacy variables, for controlling the old makefiles. + # LEGACY_HOST_CPU1=i586,amd64,sparc,sparcv9,arm,arm64... + # LEGACY_HOST_CPU2=i386,amd64,sparc,sparcv9,arm,arm64... + # LEGACY_HOST_CPU3=sparcv9,amd64 (but only on solaris) + # LEGACY_HOST_OS_API=solaris,windows + # + # We also copy the autoconf trip/quadruplet + # verbatim to HOST and BUILD + HOST=${host} + + BUILD=${build} + + + + + case "$host_os" in + *linux*) + VAR_OS=linux + VAR_OS_API=posix + VAR_OS_FAMILY=gnu + ;; + *solaris*) + VAR_OS=solaris + VAR_OS_API=posix + VAR_OS_FAMILY=sysv + ;; + *darwin*) + VAR_OS=macosx + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *bsd*) + VAR_OS=bsd + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *cygwin*|*windows*) + VAR_OS=windows + VAR_OS_API=winapi + VAR_OS_FAMILY=windows + ;; + *) + as_fn_error $? "unsupported host operating system $host_os" "$LINENO" 5 + ;; + esac + + HOST_OS="$VAR_OS" + HOST_OS_FAMILY="$VAR_OS_FAMILY" + HOST_OS_API="$VAR_OS_API" + + + + + + if test "x$HOST_OS_API" = xposix; then + LEGACY_HOST_OS_API="solaris" + fi + if test "x$HOST_OS_API" = xwinapi; then + LEGACY_HOST_OS_API="windows" + fi + + + + + # First argument is the cpu name from the trip/quad + case "$host_cpu" in + x86_64) + VAR_CPU=x64 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=amd64 + ;; + i?86) + VAR_CPU=ia32 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=i586 + ;; + alpha*) + VAR_CPU=alpha + VAR_CPU_ARCH=alpha + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=alpha + ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm + VAR_CPU_BITS=3264 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=arm + ;; + mips) + VAR_CPU=mips + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mips + ;; + mipsel) + VAR_CPU=mipsel + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mipsel + ;; + powerpc) + VAR_CPU=ppc + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=ppc + ;; + powerpc64) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=32 + VAR_LEGACY_CPU=ppc64 + ;; + sparc) + VAR_CPU=sparc + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc + ;; + sparc64) + VAR_CPU=sparcv9 + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc_sparcv9 + ;; + s390) + VAR_CPU=s390 + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390 + VAR_LEGACY_CPU=s390 + ;; + s390x) + VAR_CPU=s390x + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390x + ;; + *) + as_fn_error $? "unsupported cpu $host_cpu" "$LINENO" 5 + ;; + esac + + # Workaround cygwin not knowing about 64 bit. + if test "x$VAR_OS" = "xwindows"; then + if test "x$PROCESSOR_IDENTIFIER" != "x"; then + PROC_ARCH=`echo $PROCESSOR_IDENTIFIER | $CUT -f1 -d' '` + case "$PROC_ARCH" in + intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64) + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + ;; + esac + fi + fi + + if test "x$VAR_CPU_ARCH" = "xx86"; then + if test "x$with_data_model" = "x64"; then + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + fi + if test "x$with_data_model" = "x32"; then + VAR_CPU=ia32 + VAR_CPU_BITS=32 + VAR_LEGACY_CPU=i586 + fi + fi + + HOST_CPU="$VAR_CPU" + HOST_CPU_ARCH="$VAR_CPU_ARCH" + HOST_CPU_BITS="$VAR_CPU_BITS" + HOST_CPU_ENDIAN="$VAR_CPU_ENDIAN" + + + + + + + # Also store the legacy naming of the cpu. + # Ie i586 and amd64 instead of ia32 and x64 + LEGACY_HOST_CPU1="$VAR_LEGACY_CPU" + + + # And the second legacy naming of the cpu. + # Ie i386 and amd64 instead of ia32 and x64. + LEGACY_HOST_CPU2="$LEGACY_HOST_CPU1" + if test "x$LEGACY_HOST_CPU1" = xi586; then + LEGACY_HOST_CPU2=i386 + fi + + + # And the third legacy naming of the cpu. + # Ie only amd64 or sparcv9, used for the ISA_DIR on Solaris. + LEGACY_HOST_CPU3="" + if test "x$HOST_CPU" = xx64; then + LEGACY_HOST_CPU3=amd64 + fi + if test "x$HOST_CPU" = xsparcv9; then + LEGACY_HOST_CPU3=sparvc9 + fi + + + + + + case "$build_os" in + *linux*) + VAR_OS=linux + VAR_OS_API=posix + VAR_OS_FAMILY=gnu + ;; + *solaris*) + VAR_OS=solaris + VAR_OS_API=posix + VAR_OS_FAMILY=sysv + ;; + *darwin*) + VAR_OS=macosx + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *bsd*) + VAR_OS=bsd + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *cygwin*|*windows*) + VAR_OS=windows + VAR_OS_API=winapi + VAR_OS_FAMILY=windows + ;; + *) + as_fn_error $? "unsupported host operating system $build_os" "$LINENO" 5 + ;; + esac + + BUILD_OS="$VAR_OS" + BUILD_OS_FAMILY="$VAR_OS_FAMILY" + BUILD_OS_API="$VAR_OS_API" + + + + + + if test "x$BUILD_OS_API" = xposix; then + LEGACY_BUILD_OS_API="solaris" + fi + if test "x$BUILD_OS_API" = xwinapi; then + LEGACY_BUILD_OS_API="windows" + fi + + + + + # First argument is the cpu name from the trip/quad + case "$build_cpu" in + x86_64) + VAR_CPU=x64 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=amd64 + ;; + i?86) + VAR_CPU=ia32 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=i586 + ;; + alpha*) + VAR_CPU=alpha + VAR_CPU_ARCH=alpha + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=alpha + ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm + VAR_CPU_BITS=3264 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=arm + ;; + mips) + VAR_CPU=mips + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mips + ;; + mipsel) + VAR_CPU=mipsel + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mipsel + ;; + powerpc) + VAR_CPU=ppc + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=ppc + ;; + powerpc64) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=32 + VAR_LEGACY_CPU=ppc64 + ;; + sparc) + VAR_CPU=sparc + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc + ;; + sparc64) + VAR_CPU=sparcv9 + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc_sparcv9 + ;; + s390) + VAR_CPU=s390 + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390 + VAR_LEGACY_CPU=s390 + ;; + s390x) + VAR_CPU=s390x + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390x + ;; + *) + as_fn_error $? "unsupported cpu $build_cpu" "$LINENO" 5 + ;; + esac + + # Workaround cygwin not knowing about 64 bit. + if test "x$VAR_OS" = "xwindows"; then + if test "x$PROCESSOR_IDENTIFIER" != "x"; then + PROC_ARCH=`echo $PROCESSOR_IDENTIFIER | $CUT -f1 -d' '` + case "$PROC_ARCH" in + intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64) + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + ;; + esac + fi + fi + + if test "x$VAR_CPU_ARCH" = "xx86"; then + if test "x$with_data_model" = "x64"; then + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + fi + if test "x$with_data_model" = "x32"; then + VAR_CPU=ia32 + VAR_CPU_BITS=32 + VAR_LEGACY_CPU=i586 + fi + fi + + BUILD_CPU="$VAR_CPU" + BUILD_CPU_ARCH="$VAR_CPU_ARCH" + BUILD_CPU_BITS="$VAR_CPU_BITS" + BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN" + + + + + + + # Also store the legacy naming of the cpu. + # Ie i586 and amd64 instead of ia32 and x64 + LEGACY_BUILD_CPU1="$VAR_LEGACY_CPU" + + + # And the second legacy naming of the cpu. + # Ie i386 and amd64 instead of ia32 and x64. + LEGACY_BUILD_CPU2="$LEGACY_BUILD_CPU1" + if test "x$LEGACY_BUILD_CPU1" = xi586; then + LEGACY_BUILD_CPU2=i386 + fi + + + # And the third legacy naming of the cpu. + # Ie only amd64 or sparcv9, used for the ISA_DIR on Solaris. + LEGACY_BUILD_CPU3="" + if test "x$BUILD_CPU" = xx64; then + LEGACY_BUILD_CPU3=amd64 + fi + if test "x$BUILD_CPU" = xsparcv9; then + LEGACY_BUILD_CPU3=sparvc9 + fi + + + + if test "x$HOST_OS" != xsolaris; then + LEGACY_HOST_CPU3="" + LEGACY_BUILD_CPU3="" + fi + +# Now the following vars are defined. +# HOST_OS=aix,bsd,hpux,linux,macosx,solaris,windows +# HOST_OS_FAMILY=bsd,gnu,sysv,win32,wince +# HOST_OS_API=posix,winapi +# +# HOST_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64 +# HOST_CPU_ARCH=x86,sparc,pcc,arm +# HOST_CPU_BITS=32,64 +# HOST_CPU_ENDIAN=big,little +# +# There is also a: +# LEGACY_HOST_CPU1=i586,amd64,.... # used to set the old var ARCH +# LEGACY_HOST_CPU2=i386,amd64,.... # used to set the old var LIBARCH +# LEGACY_HOST_CPU3=only sparcv9,amd64 # used to set the ISA_DIR on Solaris +# There was also a BUILDARCH that had i486,amd64,... but we do not use that +# in the new build. +# LEGACY_HOST_OS_API=solaris,windows # used to select source roots + +DATE_WHEN_CONFIGURED=`LANG=C date` + + +# How many cores do we have on this build system? + +# Check whether --with-num-cores was given. +if test "${with_num_cores+set}" = set; then : + withval=$with_num_cores; +fi + +if test "x$with_num_cores" = x; then + # The number of cores were not specified, try to probe them. + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for number of cores" >&5 +$as_echo_n "checking for number of cores... " >&6; } + NUM_CORES=1 + FOUND_CORES=no + + if test -f /proc/cpuinfo; then + # Looks like a Linux system + NUM_CORES=`cat /proc/cpuinfo | grep -c processor` + FOUND_CORES=yes + fi + + if test -x /usr/sbin/psrinfo; then + # Looks like a Solaris system + NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line` + FOUND_CORES=yes + fi + + if test -x /usr/sbin/system_profiler; then + # Looks like a MacOSX system + NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print $5}'` + FOUND_CORES=yes + fi + + if test "x$build_os" = xwindows; then + NUM_CORES=4 + fi + + # For c/c++ code we run twice as many concurrent build + # jobs than we have cores, otherwise we will stall on io. + CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2` + + if test "x$FOUND_CORES" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NUM_CORES" >&5 +$as_echo "$NUM_CORES" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect number of cores, defaulting to 1!" >&5 +$as_echo "could not detect number of cores, defaulting to 1!" >&6; } + fi + + +else + NUM_CORES=$with_num_cores + CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2` +fi + + + +# How many cores do we have on this build system? + +# Check whether --with-memory-size was given. +if test "${with_memory_size+set}" = set; then : + withval=$with_memory_size; +fi + +if test "x$with_memory_size" = x; then + # The memory size was not specified, try to probe it. + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for memory size" >&5 +$as_echo_n "checking for memory size... " >&6; } + # Default to 1024MB + MEMORY_SIZE=1024 + FOUND_MEM=no + + if test -f /proc/cpuinfo; then + # Looks like a Linux system + MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'` + MEMORY_SIZE=`expr $MEMORY_SIZE / 1024` + FOUND_MEM=yes + fi + + if test -x /usr/sbin/prtconf; then + # Looks like a Solaris system + MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print $3 }'` + FOUND_MEM=yes + fi + + if test -x /usr/sbin/system_profiler; then + # Looks like a MacOSX system + MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print $2}'` + MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024` + FOUND_MEM=yes + fi + + if test "x$build_os" = xwindows; then + MEMORY_SIZE=`systeminfo | grep 'Total Physical Memory:' | awk '{ print $4 }' | sed 's/,//'` + FOUND_MEM=yes + fi + + if test "x$FOUND_MEM" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MEMORY_SIZE MB" >&5 +$as_echo "$MEMORY_SIZE MB" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: could not detect memory size defaulting to 1024MB!" >&5 +$as_echo "could not detect memory size defaulting to 1024MB!" >&6; } + fi + +else + MEMORY_SIZE=$with_memory_size +fi + + +# Where is the source? It is located two levels above the configure script. +CURDIR="$PWD" +cd "$AUTOCONF_DIR/../.." +SRC_ROOT="`pwd`" + +cd "$CURDIR" + +# For cygwin we need cygpath first, since it is used everywhere. +# Extract the first word of "cygpath", so it can be a program name with args. +set dummy cygpath; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CYGPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CYGPATH in + [\\/]* | ?:[\\/]*) + ac_cv_path_CYGPATH="$CYGPATH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CYGPATH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CYGPATH=$ac_cv_path_CYGPATH +if test -n "$CYGPATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5 +$as_echo "$CYGPATH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +PATH_SEP=":" +if test "x$BUILD_OS" = "xwindows"; then + if test "x$CYGPATH" = x; then + as_fn_error $? "Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path" "$LINENO" 5 + fi + PATH_SEP=";" +fi + + + + # Fail with message the path to the source root if var SRC_ROOT contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$SRC_ROOT" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + SRC_ROOT=`$CYGPATH -s -m -a "$SRC_ROOT"` + SRC_ROOT=`$CYGPATH -u "$SRC_ROOT"` + else + as_fn_error $? "You cannot have spaces in the path to the source root! \"$SRC_ROOT\"" "$LINENO" 5 + fi + fi + + + # Fail with message the path to the current directory if var CURDIR contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$CURDIR" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + CURDIR=`$CYGPATH -s -m -a "$CURDIR"` + CURDIR=`$CYGPATH -u "$CURDIR"` + else + as_fn_error $? "You cannot have spaces in the path to the current directory! \"$CURDIR\"" "$LINENO" 5 + fi + fi + + +if test "x$BUILD_OS" = "xsolaris"; then + # Also search in /usr/ccs/bin for utilities like ar and as. + PATH="/usr/ccs/bin:$PATH" +fi + +############################################################################### +# +# OpenJDK or closed +# +# Check whether --enable-openjdk was given. +if test "${enable_openjdk+set}" = set; then : + enableval=$enable_openjdk; +fi + + +if test "x$enable_openjdk" = "xyes"; then + OPENJDK=true +elif test "x$enable_openjdk" = "xno"; then + OPENJDK=false +elif test -d "$SRC_ROOT/jdk/src/closed"; then + OPENJDK=false +else + OPENJDK=true +fi + +if test "x$OPENJDK" = "xtrue"; then + SET_OPENJDK=OPENJDK=true +fi + + + +############################################################################### +# +# JIGSAW or not. The JIGSAW variable is used during the intermediate +# stage when we are building both the old style JDK and the new style modularized JDK. +# When the modularized JDK is finalized, this option will go away. +# +# Check whether --enable-jigsaw was given. +if test "${enable_jigsaw+set}" = set; then : + enableval=$enable_jigsaw; +fi + + +if test "x$enable_jigsaw" = "xyes"; then + JIGSAW=true +else + JIGSAW=false +fi + + +############################################################################### +# +# Check which variant of the JDK that we want to build. +# Currently we have: +# normal: standard edition +# embedded: cut down to a smaller footprint +# +# Effectively the JDK variant gives a name to a specific set of +# modules to compile into the JDK. In the future, these modules +# might even be Jigsaw modules. +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of the JDK to build" >&5 +$as_echo_n "checking which variant of the JDK to build... " >&6; } + +# Check whether --with-jdk-variant was given. +if test "${with_jdk_variant+set}" = set; then : + withval=$with_jdk_variant; +fi + + +if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then + JAVASE_EMBEDDED="" + MINIMIZE_RAM_USAGE="" + JDK_VARIANT="normal" +elif test "x$with_jdk_variant" = xembedded; then + JAVASE_EMBEDDED="JAVASE_EMBEDDED:=true" + MINIMIZE_RAM_USAGE="MINIMIZE_RAM_USAGE:=true" + JDK_VARIANT="embedded" +else + as_fn_error $? "The available JDK variants are: normal, embedded" "$LINENO" 5 +fi + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_VARIANT" >&5 +$as_echo "$JDK_VARIANT" >&6; } + +############################################################################### +# +# Should we build a JDK/JVM with head support (ie a graphical ui)? +# We always build headless support. +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking headful support" >&5 +$as_echo_n "checking headful support... " >&6; } +# Check whether --enable-headful was given. +if test "${enable_headful+set}" = set; then : + enableval=$enable_headful; SUPPORT_HEADFUL=${enable_headful} +else + SUPPORT_HEADFUL=yes +fi + + +SUPPORT_HEADLESS=yes +BUILD_HEADLESS="BUILD_HEADLESS:=true" + +if test "x$SUPPORT_HEADFUL" = xyes; then + # We are building both headful and headless. + BUILD_HEADLESS_ONLY="" + headful_msg="inlude support for both headful and headless" +fi + +if test "x$SUPPORT_HEADFUL" = xno; then + # Thus we are building headless only. + BUILD_HEADLESS="BUILD_HEADLESS:=true" + BUILD_HEADLESS_ONLY="BUILD_HEADLESS_ONLY:=true" + headful_msg="headless only" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $headful_msg" >&5 +$as_echo "$headful_msg" >&6; } + + + + + + +############################################################################### +# +# Check which variants of the JVM that we want to build. +# Currently we have: +# server: normal interpreter and a tiered C1/C2 compiler +# client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms) +# kernel: kernel footprint JVM that passes the TCK without major performance problems, +# ie normal interpreter and C1, only the serial GC, kernel jvmti etc +# zero: no machine code interpreter, no compiler +# zeroshark: zero interpreter and shark/llvm compiler backend +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variants of the JVM that should be built" >&5 +$as_echo_n "checking which variants of the JVM that should be built... " >&6; } + +# Check whether --with-jvm-variants was given. +if test "${with_jvm_variants+set}" = set; then : + withval=$with_jvm_variants; +fi + + +if test "x$with_jvm_variants" = x; then + if test "x$JDK_VARIANT" = xembedded; then + with_jvm_variants="kernel" + elif test "x$HOST_CPU_BITS" = x64; then + with_jvm_variants="server" + else + # Yes, on 32-bit machines, the same source (almost) is compiled twice + # to generate two libjvm.so files. Fun, fun. + with_jvm_variants="client,server" + fi +fi + +JVM_VARIANTS=",$with_jvm_variants," +TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` + +if test "x$TEST_VARIANTS" != "x,"; then + as_fn_error $? "The available JVM variants are: server, client, kernel, zero, zeroshark" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_jvm_variants" >&5 +$as_echo "$with_jvm_variants" >&6; } + +JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'` +JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'` +JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` +JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` +JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` + +if test "x$JVM_VARIANT_CLIENT" = xtrue; then + if test "x$HOST_CPU_BITS" = x64; then + as_fn_error $? "You cannot build a client JVM for a 64-bit machine." "$LINENO" 5 + fi +fi +if test "x$JVM_VARIANT_KERNEL" = xtrue; then + if test "x$HOST_CPU_BITS" = x64; then + as_fn_error $? "You cannot build a kernel JVM for a 64-bit machine." "$LINENO" 5 + fi +fi + +COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'` +# Replace the commas with AND for use in the build directory name. +ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` +if test "x$COUNT_VARIANTS" != "x,1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: NOTE! Longer build time since we are building more than one version of the libjvm! $with_jvm_variants" >&5 +$as_echo "$as_me: NOTE! Longer build time since we are building more than one version of the libjvm! $with_jvm_variants" >&6;} +fi + + + + + + + + +############################################################################### +# +# Set the debug level +# release: no debug information, all optimizations, no asserts. +# fastdebug: debug information (-g), all optimizations, all asserts +# slowdebug: debug information (-g), no optimizations, all asserts +# +DEBUG_LEVEL="release" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which debug level to use" >&5 +$as_echo_n "checking which debug level to use... " >&6; } +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; + ENABLE_DEBUG="${enableval}" + DEBUG_LEVEL="fastdebug" + +else + ENABLE_DEBUG="no" +fi + + + +# Check whether --with-debug-level was given. +if test "${with_debug_level+set}" = set; then : + withval=$with_debug_level; + DEBUG_LEVEL="${withval}" + if test "x$ENABLE_DEBUG" = xyes; then + as_fn_error $? "You cannot use both --enable-debug and --with-debug-level at the same time." "$LINENO" 5 + fi + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEBUG_LEVEL" >&5 +$as_echo "$DEBUG_LEVEL" >&6; } + +if test "x$DEBUG_LEVEL" != xrelease && \ + test "x$DEBUG_LEVEL" != xfastdebug && \ + test "x$DEBUG_LEVEL" != xslowdebug; then + as_fn_error $? "Allowed debug levels are: release, fastdebug and slowdebug" "$LINENO" 5 +fi + +case $DEBUG_LEVEL in + release ) + VARIANT="OPT" + FASTDEBUG="false" + DEBUG_CLASSFILES="false" + BUILD_VARIANT_RELEASE="" + ;; + fastdebug ) + VARIANT="DBG" + FASTDEBUG="true" + DEBUG_CLASSFILES="true" + BUILD_VARIANT_RELEASE="-fastdebug" + ;; + slowdebug ) + VARIANT="DBG" + FASTDEBUG="false" + DEBUG_CLASSFILES="true" + BUILD_VARIANT_RELEASE="-debug" + ;; +esac + + + + + + + +# Source the version numbers +. $AUTOCONF_DIR/version.numbers +if test "x$OPENJDK" = "xfalse"; then + . $AUTOCONF_DIR/closed.version.numbers +fi +# Now set the JDK version, milestone, build number etc. + + + + + + + + + + + + +COPYRIGHT_YEAR=`date +'%Y'` + + +RUNTIME_NAME="$PRODUCT_NAME $PRODUCT_SUFFIX" + + +if test "x$JDK_UPDATE_VERSION" != x; then + JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}" +else + JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}" +fi + + +if test "x$MILESTONE" != x; then + RELEASE="${JDK_VERSION}-${MILESTONE}${BUILD_VARIANT_RELEASE}" +else + RELEASE="${JDK_VERSION}${BUILD_VARIANT_RELEASE}" +fi + + +if test "x$JDK_BUILD_NUMBER" != x; then + FULL_VERSION="${RELEASE}-${JDK_BUILD_NUMBER}" +else + JDK_BUILD_NUMBER=b00 + BUILD_DATE=`date '+%Y_%m_%d_%H_%M'` + # Avoid [:alnum:] since it depends on the locale. + CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'` + USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'` + FULL_VERSION="${RELEASE}-${USER_RELEASE_SUFFIX}-${JDK_BUILD_NUMBER}" +fi + +COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'` + + +# Test from where we are running configure, in or outside of src root. +if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then + # We are running configure from the src root. + # Create a default ./build/host-variant-debuglevel output root. + OUTPUT_ROOT="$SRC_ROOT/build/${HOST_OS}-${HOST_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}" + mkdir -p "$OUTPUT_ROOT" + if test ! -d "$OUTPUT_ROOT"; then + as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5 + fi +else + # We are running configure from outside of the src dir. + # Then use the current directory as output dir! + OUTPUT_ROOT="$CURDIR" +fi + + + # Fail with message the path to the output root if var OUTPUT_ROOT contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$OUTPUT_ROOT" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + OUTPUT_ROOT=`$CYGPATH -s -m -a "$OUTPUT_ROOT"` + OUTPUT_ROOT=`$CYGPATH -u "$OUTPUT_ROOT"` + else + as_fn_error $? "You cannot have spaces in the path to the output root! \"$OUTPUT_ROOT\"" "$LINENO" 5 + fi + fi + + +# Save the arguments given to us +echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments + +# Check if the VS env variables were setup prior to running configure. +# If not, then find vcvarsall.bat and run it automatically, and integrate +# the set env variables into the spec file. +SETUPDEVENV="# No special vars" +if test "x$BUILD_OS" = "xwindows"; then + # If vcvarsall.bat has been run, then VCINSTALLDIR is set. + if test "x$VCINSTALLDIR" != x; then + # No further setup is needed. The build will happen from this kind + # of shell. + SETUPDEVENV="# This spec file expects that you are running bash from within a VS command prompt." + # Make sure to remind you, if you forget to run make from a cygwin bash shell + # that is spawned "bash -l" from a VS command prompt. + CHECK_FOR_VCINSTALLDIR=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if you are running from within a VS command prompt" >&5 +$as_echo_n "checking if you are running from within a VS command prompt... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + # Ah, we have not yet run vcvarsall.bat/vsvars32.bat/vsvars64.bat. Lets do that. First find it. + if test "x$VS100COMNTOOLS" != x; then + VARSBAT=`find "$VS100COMNTOOLS/../.." -name vcvarsall.bat` + SEARCH_ROOT="$VS100COMNTOOLS" + else + VARSBAT=`find "$PROGRAMFILES" -name vcvarsall.bat` + SEARCH_ROOT="$PROGRAMFILES" + fi + VCPATH=`dirname "$VARSBAT"` + VCPATH=`cygpath -w "$VCPATH"` + if test "x$VARSBAT" = x || test ! -d "$VCPATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can find the VS installation" >&5 +$as_echo_n "checking if we can find the VS installation... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Tried to find a VS installation using both $SEARCH_ROOT but failed. Please run \"c:\\cygwin\\bin\\bash.exe -l\" from a VS command prompt and then run configure/make from there." "$LINENO" 5 + fi + case "$LEGACY_HOST_CPU1" in + i?86) + VARSBAT_ARCH=x86 + ;; + *) + VARSBAT_ARCH=$LEGACY_HOST_CPU1 + ;; + esac + # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat + cd $OUTPUT_ROOT + $SRC_ROOT/common/bin/extractvcvars.sh "$VARSBAT" "$VARSBAT_ARCH" + cd $CURDIR + if test ! -s $OUTPUT_ROOT/localdevenv.sh || test ! -s $OUTPUT_ROOT/localdevenv.gmk; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can extract the needed env variables" >&5 +$as_echo_n "checking if we can extract the needed env variables... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Could not succesfully extract the env variables needed for the VS setup. Please run \"c:\\cygwin\\bin\\bash.exe -l\" from a VS command prompt and then run configure/make from there." "$LINENO" 5 + fi + # Now set all paths and other env variables. This will allow the rest of + # the configure script to find and run the compiler in the proper way. + . $OUTPUT_ROOT/localdevenv.sh + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can find the VS installation" >&5 +$as_echo_n "checking if we can find the VS installation... " >&6; } + if test "x$VCINSTALLDIR" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VCINSTALLDIR" >&5 +$as_echo "$VCINSTALLDIR" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Could not find VS installation. Please install. If you are sure you have installed VS, then please run \"c:\\cygwin\\bin\\bash.exe -l\" from a VS command prompt and then run configure/make from there." "$LINENO" 5 + fi + CHECK_FOR_VCINSTALLDIR=no + SETUPDEVENV="include $OUTPUT_ROOT/localdevenv.gmk" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5 +$as_echo_n "checking for msvcr100.dll... " >&6; } + +# Check whether --with-msvcr100dll was given. +if test "${with_msvcr100dll+set}" = set; then : + withval=$with_msvcr100dll; +fi + + if test "x$with_msvcr100dll" != x; then + MSVCR100DLL="$with_msvcr100dll" + else + if test "x$HOST_CPU_BITS" = x64; then + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x64 | head --lines 1` + else + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x86 | grep -v ia64 | grep -v x64 | head --lines 1` + if test "x$MSVCR100DLL" = x; then + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | head --lines 1` + fi + fi + fi + if test "x$MSVCR100DLL" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Could not find msvcr100.dll !" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR100DLL" >&5 +$as_echo "$MSVCR100DLL" >&6; } + + # Fail with message the path to msvcr100.dll if var MSVCR100DLL contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$MSVCR100DLL" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + MSVCR100DLL=`$CYGPATH -s -m -a "$MSVCR100DLL"` + MSVCR100DLL=`$CYGPATH -u "$MSVCR100DLL"` + else + as_fn_error $? "You cannot have spaces in the path to msvcr100.dll! \"$MSVCR100DLL\"" "$LINENO" 5 + fi + fi + + fi +fi + + + + +# Most of the probed defines are put into config.h +ac_config_headers="$ac_config_headers $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in" + +# The spec.gmk file contains all variables for the make system. +ac_config_files="$ac_config_files $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in" + +# The generated Makefile knows where the spec.gmk is and where the source is. +# You can run make from the OUTPUT_ROOT. If you have only +# one configured host, then you can also run make from the SRC_ROOT, +# since it will go look for a single spec.gmk file. Or perhaps it +# should instead make all configured hosts it can find? +ac_config_files="$ac_config_files $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" + + +SPEC=$OUTPUT_ROOT/spec.gmk + +OUTPUT_ROOT=$OUTPUT_ROOT + + +# Where are the sources. Any of these can be overridden +# using --with-override-corba and the likes. +LANGTOOLS_TOPDIR="$SRC_ROOT/langtools" +CORBA_TOPDIR="$SRC_ROOT/corba" +JAXP_TOPDIR="$SRC_ROOT/jaxp" +JAXWS_TOPDIR="$SRC_ROOT/jaxws" +HOTSPOT_TOPDIR="$SRC_ROOT/hotspot" +JDK_TOPDIR="$SRC_ROOT/jdk" + + + + + + + +# Check if pkg-config is available. + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi + +fi + + +# Check whether --with-builddeps-conf was given. +if test "${with_builddeps_conf+set}" = set; then : + withval=$with_builddeps_conf; +fi + + + +# Check whether --with-builddeps-server was given. +if test "${with_builddeps_server+set}" = set; then : + withval=$with_builddeps_server; +fi + + + +# Check whether --with-builddeps-dir was given. +if test "${with_builddeps_dir+set}" = set; then : + withval=$with_builddeps_dir; +else + with_builddeps_dir=/localhome/builddeps +fi + + + +# Check whether --with-builddeps-group was given. +if test "${with_builddeps_group+set}" = set; then : + withval=$with_builddeps_group; +fi + + +# Check whether --enable-list-builddeps was given. +if test "${enable_list_builddeps+set}" = set; then : + enableval=$enable_list_builddeps; LIST_BUILDDEPS="${enableval}" +else + LIST_BUILDDEPS='no' +fi + + +if test "x$LIST_BUILDDEPS" = xyes; then + echo + echo List of build dependencies known to the configure script, + echo that can be used in builddeps.conf files: + cat $SRC_ROOT/configure.ac | grep BDEPS_CHECK_MODUL | grep -v configure.ac | cut -f 2 -d ',' | tr -d ' ' | sort + echo + exit 1 +fi + +# If builddeps server or conf file is given. Setup buildeps usage. + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + if test "x$with_builddeps_conf" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supplied builddeps configuration file" >&5 +$as_echo_n "checking for supplied builddeps configuration file... " >&6; } + builddepsfile=$with_builddeps_conf + if test -s $builddepsfile; then + . $builddepsfile + { $as_echo "$as_me:${as_lineno-$LINENO}: result: loaded!" >&5 +$as_echo "loaded!" >&6; } + else + as_fn_error $? "The given builddeps conf file $with_builddeps_conf could not be loaded!" "$LINENO" 5 + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for builddeps.conf files in sources..." >&5 +$as_echo_n "checking for builddeps.conf files in sources...... " >&6; } + builddepsfile=`mktemp` + touch $builddepsfile + # Put all found confs into a single file. + find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile + # Source the file to acquire the variables + if test -s $builddepsfile; then + . $builddepsfile + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found at least one!" >&5 +$as_echo "found at least one!" >&6; } + else + as_fn_error $? "Could not find any builddeps.conf at all!" "$LINENO" 5 + fi + fi + # Create build and host names that use _ instead of "-" and ".". + # This is necessary to use them in variable names. + build_var=`echo ${build} | tr '-' '_' | tr '.' '_'` + host_var=`echo ${host} | tr '-' '_' | tr '.' '_'` + # Extract rewrite information for build and host + eval rewritten_build=\${REWRITE_${build_var}} + if test "x$rewritten_build" = x; then + rewritten_build=${build} + echo Build stays the same $rewritten_build + else + echo Rewriting build for builddeps into $rewritten_build + fi + eval rewritten_host=\${REWRITE_${host_var}} + if test "x$rewritten_host" = x; then + rewritten_host=${host} + echo Host stays the same $rewritten_host + else + echo Rewriting host for builddeps into $rewritten_host + fi + rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'` + rewritten_host_var=`echo ${rewritten_host} | tr '-' '_' | tr '.' '_'` + fi + for ac_prog in 7z unzip +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_BDEPS_UNZIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$BDEPS_UNZIP"; then + ac_cv_prog_BDEPS_UNZIP="$BDEPS_UNZIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_BDEPS_UNZIP="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +BDEPS_UNZIP=$ac_cv_prog_BDEPS_UNZIP +if test -n "$BDEPS_UNZIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BDEPS_UNZIP" >&5 +$as_echo "$BDEPS_UNZIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$BDEPS_UNZIP" && break +done + + if test "x$BDEPS_UNZIP" = x7z; then + BDEPS_UNZIP="7z x" + fi + + for ac_prog in wget lftp ftp +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_BDEPS_FTP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$BDEPS_FTP"; then + ac_cv_prog_BDEPS_FTP="$BDEPS_FTP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_BDEPS_FTP="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +BDEPS_FTP=$ac_cv_prog_BDEPS_FTP +if test -n "$BDEPS_FTP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BDEPS_FTP" >&5 +$as_echo "$BDEPS_FTP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$BDEPS_FTP" && break +done + + + +############################################################################### +# +# Configure the development tool paths and potential sysroot. +# +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +DEVKIT= +SYS_ROOT=/ + + +# The option used to specify the target .o,.a or .so file. +# When compiling, how to specify the to be created object file. +CC_OUT_OPTION='-o$(SPACE)' +# When linking, how to specify the to be created executable. +EXE_OUT_OPTION='-o$(SPACE)' +# When linking, how to specify the to be created dynamically linkable library. +LD_OUT_OPTION='-o$(SPACE)' +# When archiving, how to specify the to be create static archive for object files. +AR_OUT_OPTION='rcs$(SPACE)' + + + + + +# If --build AND --host is set, then the configure script will find any +# cross compilation tools in the PATH. Cross compilation tools +# follows the cross compilation standard where they are prefixed with ${host}. +# For example the binary i686-sun-solaris2.10-gcc +# will cross compile for i686-sun-solaris2.10 +# If neither of build and host is not set, then build=host and the +# default compiler found in the path will be used. +# Setting only --host, does not seem to be really supported. +# Please set both --build and --host if you want to cross compile. + +DEFINE_CROSS_COMPILE_ARCH="" +HOSTCC="" +HOSTCXX="" + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if this is a cross compile" >&5 +$as_echo_n "checking if this is a cross compile... " >&6; } +if test "x$build_var" != "x$host_var"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, from $build_var to $host_var" >&5 +$as_echo "yes, from $build_var to $host_var" >&6; } + # We have detected a cross compile! + DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$LEGACY_HOST_CPU1" + # Now we to find a C/C++ compiler that can build executables for the build + # platform. We can't use the AC_PROG_CC macro, since it can only be used + # once. + for ac_prog in cl cc gcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_HOSTCC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $HOSTCC in + [\\/]* | ?:[\\/]*) + ac_cv_path_HOSTCC="$HOSTCC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_HOSTCC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +HOSTCC=$ac_cv_path_HOSTCC +if test -n "$HOSTCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HOSTCC" >&5 +$as_echo "$HOSTCC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$HOSTCC" && break +done + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$HOSTCC" + car="${tmp%% *}" + tmp="$HOSTCC EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + HOSTCC="$car ${cdr% *}" + else + HOSTCC="$car" + fi + + for ac_prog in cl CC g++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_HOSTCXX+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $HOSTCXX in + [\\/]* | ?:[\\/]*) + ac_cv_path_HOSTCXX="$HOSTCXX" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_HOSTCXX="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +HOSTCXX=$ac_cv_path_HOSTCXX +if test -n "$HOSTCXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HOSTCXX" >&5 +$as_echo "$HOSTCXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$HOSTCXX" && break +done + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$HOSTCXX" + car="${tmp%% *}" + tmp="$HOSTCXX EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + HOSTCXX="$car ${cdr% *}" + else + HOSTCXX="$car" + fi + + # Building for the build platform should be easy. Therefore + # we do not need any linkers or assemblers etc. +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +# You can force the sys-root if the sys-root encoded into the cross compiler tools +# is not correct. + +# Check whether --with-sys-root was given. +if test "${with_sys_root+set}" = set; then : + withval=$with_sys_root; +fi + + +if test "x$with_sys_root" != x; then + SYS_ROOT=$with_sys_root +fi + +# If a devkit is found on the builddeps server, then prepend its path to the +# PATH variable. If there are cross compilers available in the devkit, these +# will be found by AC_PROG_CC et al. + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_devkit_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_devkit_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The devkit comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_devkit} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for devkit" >&5 +$as_echo "$as_me: Using builddeps $resource for devkit" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# devkit is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency devkit from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/devkit.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_devkit_ROOT} + thecflags=${builddep_devkit_CFLAGS} + thelibs=${builddep_devkit_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency devkit" "$LINENO" 5 + fi + DEVKIT=$depdir + if test "x$theroot" != x; then + DEVKIT="$theroot" + fi + if test "x$thecflags" != x; then + DEVKIT_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + DEVKIT_LIBS="$thelibs" + fi + # Found devkit + PATH="$DEVKIT/bin:$PATH" + SYS_ROOT="$DEVKIT/${rewritten_host}/sys-root" + if test "x$x_includes" = "xNONE"; then + x_includes="$SYS_ROOT/usr/include/X11" + fi + if test "x$x_libraries" = "xNONE"; then + x_libraries="$SYS_ROOT/usr/lib" + fi + + + fi + + fi + + +if test "x$SYS_ROOT" != "x/" ; then + CFLAGS="--sysroot=$SYS_ROOT $CFLAGS" + CXXFLAGS="--sysroot=$SYS_ROOT $CXXFLAGS" + OBJCFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS" + OBJCXXFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS" + CPPFLAGS="--sysroot=$SYS_ROOT $CPPFLAGS" + LDFLAGS="--sysroot=$SYS_ROOT $LDFLAGS" +fi + +# Store the CFLAGS etal passed to the configure script. +ORG_CFLAGS="$CFLAGS" +ORG_CXXFLAGS="$CXXFLAGS" +ORG_OBJCFLAGS="$OBJCFLAGS" + +# gcc is almost always present, but on Windows we +# prefer cl.exe and on Solaris we prefer CC. +# Thus test for them in this order. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in cl cc gcc + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl cc gcc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5 ; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5 ; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5 ; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5 ; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5 ; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test "x$CC" = x; then + help_on_build_dependency devkit + as_fn_error $? "Could not find a compiler. $HELP_MSG" "$LINENO" 5 +fi +if test "x$CC" = xcc && test "x$BUILD_OS" = xmacosx; then + # Do not use cc on MacOSX use gcc instead. + CC="gcc" +fi + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$CC" + car="${tmp%% *}" + tmp="$CC EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + CC="$car ${cdr% *}" + else + CC="$car" + fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in cl CC g++ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in cl CC g++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test "x$CXX" = xCC && test "x$BUILD_OS" = xmacosx; then + # The found CC, even though it seems to be a g++ derivate, cannot compile + # c++ code. Override. + CXX="g++" +fi + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$CXX" + car="${tmp%% *}" + tmp="$CXX EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + CXX="$car ${cdr% *}" + else + CXX="$car" + fi + + +if test "x$CXX" = x || test "x$CC" = x; then + help_on_build_dependency devkit + as_fn_error $? "Could not find the needed compilers! $HELP_MSG " "$LINENO" 5 +fi + +if test "x$BUILD_OS" != xwindows; then + ac_ext=m +ac_cpp='$OBJCPP $CPPFLAGS' +ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_objc_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gcc objcc objc cc CC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJC"; then + ac_cv_prog_OBJC="$OBJC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJC=$ac_cv_prog_OBJC +if test -n "$OBJC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJC" >&5 +$as_echo "$OBJC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$OBJC" && break + done +fi +if test -z "$OBJC"; then + ac_ct_OBJC=$OBJC + for ac_prog in gcc objcc objc cc CC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJC"; then + ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_OBJC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJC=$ac_cv_prog_ac_ct_OBJC +if test -n "$ac_ct_OBJC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJC" >&5 +$as_echo "$ac_ct_OBJC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_OBJC" && break +done + + if test "x$ac_ct_OBJC" = x; then + OBJC="gcc" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJC=$ac_ct_OBJC + fi +fi + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for Objective C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5 +$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } +if test "${ac_cv_objc_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_objc_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_objc_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objc_compiler_gnu" >&5 +$as_echo "$ac_cv_objc_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GOBJC=yes +else + GOBJC= +fi +ac_test_OBJCFLAGS=${OBJCFLAGS+set} +ac_save_OBJCFLAGS=$OBJCFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5 +$as_echo_n "checking whether $OBJC accepts -g... " >&6; } +if test "${ac_cv_prog_objc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_save_objc_werror_flag=$ac_objc_werror_flag + ac_objc_werror_flag=yes + ac_cv_prog_objc_g=no + OBJCFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_objc_try_compile "$LINENO"; then : + ac_cv_prog_objc_g=yes +else + OBJCFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_objc_try_compile "$LINENO"; then : + +else + ac_objc_werror_flag=$ac_save_objc_werror_flag + OBJCFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_objc_try_compile "$LINENO"; then : + ac_cv_prog_objc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_objc_werror_flag=$ac_save_objc_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_objc_g" >&5 +$as_echo "$ac_cv_prog_objc_g" >&6; } +if test "$ac_test_OBJCFLAGS" = set; then + OBJCFLAGS=$ac_save_OBJCFLAGS +elif test $ac_cv_prog_objc_g = yes; then + if test "$GOBJC" = yes; then + OBJCFLAGS="-g -O2" + else + OBJCFLAGS="-g" + fi +else + if test "$GOBJC" = yes; then + OBJCFLAGS="-O2" + else + OBJCFLAGS= + fi +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$OBJC" + car="${tmp%% *}" + tmp="$OBJC EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + OBJC="$car ${cdr% *}" + else + OBJC="$car" + fi + +else + OBJC= +fi + +# Restore the flags to the user specified values. +# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2" +CFLAGS="$ORG_CFLAGS" +CXXFLAGS="$ORG_CXXFLAGS" +OBJCFLAGS="$ORG_OBJCFLAGS" + +# If we are not cross compiling, use the same compilers for +# building the build platform executables. +if test "x$DEFINE_CROSS_COMPILE_ARCH" = x; then + HOSTCC="$CC" + HOSTCXX="$CXX" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. +set dummy ${ac_tool_prefix}ld; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_LD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LD"; then + ac_cv_prog_LD="$LD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_LD="${ac_tool_prefix}ld" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LD=$ac_cv_prog_LD +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LD"; then + ac_ct_LD=$LD + # Extract the first word of "ld", so it can be a program name with args. +set dummy ld; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_LD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LD"; then + ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_LD="ld" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LD=$ac_cv_prog_ac_ct_LD +if test -n "$ac_ct_LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LD" >&5 +$as_echo "$ac_ct_LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LD" = x; then + LD="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LD=$ac_ct_LD + fi +else + LD="$ac_cv_prog_LD" +fi + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$LD" + car="${tmp%% *}" + tmp="$LD EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + LD="$car ${cdr% *}" + else + LD="$car" + fi + +LDEXE="$LD" +LDCXX="$LD" +LDEXECXX="$LD" +# LDEXE is the linker to use, when creating executables. + +# Linking C++ libraries. + +# Linking C++ executables. + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$AR" + car="${tmp%% *}" + tmp="$AR EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + AR="$car ${cdr% *}" + else + AR="$car" + fi + +if test "x$BUILD_OS" = xmacosx; then + ARFLAGS="-r" +else + ARFLAGS="" +fi + + +COMPILER_NAME=gcc +COMPILER_TYPE=CC +if test "x$BUILD_OS" = xwindows; then : + + # For now, assume that we are always compiling using cl.exe. + CC_OUT_OPTION=-Fo + EXE_OUT_OPTION=-Fe + LD_OUT_OPTION=-out: + AR_OUT_OPTION=-out: + # On Windows, reject /usr/bin/link, which is a cygwin + # program for something completely different. + # Extract the first word of "link", so it can be a program name with args. +set dummy link; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_WINLD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$WINLD"; then + ac_cv_prog_WINLD="$WINLD" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/bin/link"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_WINLD="link" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_WINLD + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set WINLD to just the basename; use the full file name. + shift + ac_cv_prog_WINLD="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +WINLD=$ac_cv_prog_WINLD +if test -n "$WINLD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINLD" >&5 +$as_echo "$WINLD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + # Since we must ignore the first found link, WINLD will contain + # the full path to the link.exe program. + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$WINLD" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$WINLD"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + WINLD="$tmp" + + LD="$WINLD" + # However creating executables can only be done with cl.exe. + LDEXE="$CC" + LDCXX="$WINLD" + LDEXECXX="$CC" + + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_MT+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MT"; then + ac_cv_prog_MT="$MT" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/bin/mt"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_MT="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_MT + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set MT to just the basename; use the full file name. + shift + ac_cv_prog_MT="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +MT=$ac_cv_prog_MT +if test -n "$MT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MT" >&5 +$as_echo "$MT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$MT" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$MT"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + MT="$tmp" + + # The resource compiler + # Extract the first word of "rc", so it can be a program name with args. +set dummy rc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RC+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RC"; then + ac_cv_prog_RC="$RC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/bin/rc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_RC="rc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_RC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set RC to just the basename; use the full file name. + shift + ac_cv_prog_RC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +RC=$ac_cv_prog_RC +if test -n "$RC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +$as_echo "$RC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$RC" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$RC"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + RC="$tmp" + + + RC_FLAGS="/l 0x409 /r" + if test "x$VARIANT" = xOPT; then : + + RC_FLAGS="$RC_FLAGS -d NDEBUG" + +fi + JDK_UPDATE_VERSION_NOTNULL=$JDK_UPDATE_VERSION + if test "x$JDK_UPDATE_VERSION" = x; then : + + JDK_UPDATE_VERSION_NOTNULL=0 + +fi + RC_FLAGS="$RC_FLAGS -d \"JDK_BUILD_ID=$FULL_VERSION\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COMPANY=$COMPANY_NAME\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COMPONENT=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME binary\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_VER=$JDK_MINOR_VERSION.$JDK_MICRO_VERSION.$JDK_UPDATE_VERSION_NOTNULL.$COOKED_BUILD_NUMBER\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_NAME=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME $JDK_MINOR_VERSION $JDK_UPDATE_META_TAG\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_FVER=$JDK_MINOR_VERSION,$JDK_MICRO_VERSION,$JDK_UPDATE_VERSION_NOTNULL,$COOKED_BUILD_NUMBER\"" + + # lib.exe is used to create static libraries. + # Extract the first word of "lib", so it can be a program name with args. +set dummy lib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_WINAR+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$WINAR"; then + ac_cv_prog_WINAR="$WINAR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_WINAR="lib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +WINAR=$ac_cv_prog_WINAR +if test -n "$WINAR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINAR" >&5 +$as_echo "$WINAR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$WINAR" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$WINAR"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + WINAR="$tmp" + + AR="$WINAR" + ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT" + + # Extract the first word of "dumpbin", so it can be a program name with args. +set dummy dumpbin; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DUMPBIN+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DUMPBIN="dumpbin" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$DUMPBIN" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$DUMPBIN"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + DUMPBIN="$tmp" + + + COMPILER_TYPE=CL + CFLAGS="$CFLAGS -nologo" + LDFLAGS="$LDFLAGS -nologo -dll -opt:ref -incremental:no " + if test "x$LEGACY_HOST_CPU1" = xi586; then + LDFLAGS="$LDFLAGS -safeseh" + fi + if test "x$DEBUG_LEVEL" != xrelease; then + LDFLAGS="$LDFLAGS -debug" + fi + +fi + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$CPP" + car="${tmp%% *}" + tmp="$CPP EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + CPP="$car ${cdr% *}" + else + CPP="$car" + fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5 ; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$CXXCPP" + car="${tmp%% *}" + tmp="$CXXCPP EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + CXXCPP="$car ${cdr% *}" + else + CXXCPP="$car" + fi + + +# Find the right assembler. +if test "x$BUILD_OS" = xsolaris; then + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_AS+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $AS in + [\\/]* | ?:[\\/]*) + ac_cv_path_AS="$AS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +AS=$ac_cv_path_AS +if test -n "$AS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 +$as_echo "$AS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$AS" + car="${tmp%% *}" + tmp="$AS EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + AS="$car ${cdr% *}" + else + AS="$car" + fi + + ASFLAGS=" " +else + AS="$CC -c" + ASFLAGS=" " +fi + + + +if test "x$HOST_CPU_BITS" = x32 && test "x$HOST_OS" = macosx; then + # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned. + # While waiting for a better solution, the current workaround is to use -mstackrealign. + CFLAGS="$CFLAGS -mstackrealign" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 32-bit compiler supports -mstackrealign" >&5 +$as_echo_n "checking if 32-bit compiler supports -mstackrealign... " >&6; } + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main() { return 0; } +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path." "$LINENO" 5 + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test "x$BUILD_OS" = xsolaris; then + # Extract the first word of "nm", so it can be a program name with args. +set dummy nm; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_NM+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $NM in + [\\/]* | ?:[\\/]*) + ac_cv_path_NM="$NM" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NM="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +NM=$ac_cv_path_NM +if test -n "$NM"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5 +$as_echo "$NM" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$NM" + car="${tmp%% *}" + tmp="$NM EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + NM="$car ${cdr% *}" + else + NM="$car" + fi + + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_STRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $STRIP in + [\\/]* | ?:[\\/]*) + ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +STRIP=$ac_cv_path_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$STRIP" + car="${tmp%% *}" + tmp="$STRIP EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + STRIP="$car ${cdr% *}" + else + STRIP="$car" + fi + + # Extract the first word of "mcs", so it can be a program name with args. +set dummy mcs; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MCS+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $MCS in + [\\/]* | ?:[\\/]*) + ac_cv_path_MCS="$MCS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MCS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MCS=$ac_cv_path_MCS +if test -n "$MCS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MCS" >&5 +$as_echo "$MCS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$MCS" + car="${tmp%% *}" + tmp="$MCS EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + MCS="$car ${cdr% *}" + else + MCS="$car" + fi + +else + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args. +set dummy ${ac_tool_prefix}nm; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_NM+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + ac_cv_prog_NM="$NM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_NM="${ac_tool_prefix}nm" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NM=$ac_cv_prog_NM +if test -n "$NM"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NM" >&5 +$as_echo "$NM" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NM"; then + ac_ct_NM=$NM + # Extract the first word of "nm", so it can be a program name with args. +set dummy nm; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_NM+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NM"; then + ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_NM="nm" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NM=$ac_cv_prog_ac_ct_NM +if test -n "$ac_ct_NM"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NM" >&5 +$as_echo "$ac_ct_NM" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NM" = x; then + NM="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NM=$ac_ct_NM + fi +else + NM="$ac_cv_prog_NM" +fi + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$NM" + car="${tmp%% *}" + tmp="$NM EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + NM="$car ${cdr% *}" + else + NM="$car" + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="$STRIP" + car="${tmp%% *}" + tmp="$STRIP EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$car" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$car"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + car="$tmp" + + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + STRIP="$car ${cdr% *}" + else + STRIP="$car" + fi + +fi + +# When using cygwin, we need a wrapper binary that renames +# /cygdrive/c/ arguments into c:/ arguments and peeks into +# @files and rewrites these too! This wrapper binary is +# called uncygdrive.exe. +UNCYGDRIVE= +if test "x$BUILD_OS" = xwindows; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if uncygdrive can be created" >&5 +$as_echo_n "checking if uncygdrive can be created... " >&6; } + UNCYGDRIVE_SRC=`$CYGPATH -m $SRC_ROOT/common/src/uncygdrive.c` + rm -f $OUTPUT_ROOT/uncygdrive* + UNCYGDRIVE=`$CYGPATH -m $OUTPUT_ROOT/uncygdrive.exe` + cd $OUTPUT_ROOT + $CC $UNCYGDRIVE_SRC /Fe$UNCYGDRIVE > $OUTPUT_ROOT/uncygdrive1.log 2>&1 + cd $CURDIR + + if test ! -x $OUTPUT_ROOT/uncygdrive.exe; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + cat $OUTPUT_ROOT/uncygdrive1.log + as_fn_error $? "Could not create $OUTPUT_ROOT/uncygdrive.exe" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNCYGDRIVE" >&5 +$as_echo "$UNCYGDRIVE" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if uncygdrive.exe works" >&5 +$as_echo_n "checking if uncygdrive.exe works... " >&6; } + cd $OUTPUT_ROOT + $UNCYGDRIVE $CC $SRC_ROOT/common/src/uncygdrive.c /Fe$OUTPUT_ROOT/uncygdrive2.exe > $OUTPUT_ROOT/uncygdrive2.log 2>&1 + cd $CURDIR + if test ! -x $OUTPUT_ROOT/uncygdrive2.exe; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + cat $OUTPUT_ROOT/uncygdrive2.log + as_fn_error $? "Uncygdrive did not work!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + rm -f $OUTPUT_ROOT/uncygdrive?.??? $OUTPUT_ROOT/uncygdrive.obj +fi + + + + + # Check whether --enable-ccache was given. +if test "${enable_ccache+set}" = set; then : + enableval=$enable_ccache; ENABLE_CCACHE=${enable_ccache} +else + ENABLE_CCACHE=yes +fi + + if test "x$ENABLE_CCACHE" = xyes; then + # Extract the first word of "ccache", so it can be a program name with args. +set dummy ccache; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CCACHE+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CCACHE in + [\\/]* | ?:[\\/]*) + ac_cv_path_CCACHE="$CCACHE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CCACHE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CCACHE=$ac_cv_path_CCACHE +if test -n "$CCACHE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCACHE" >&5 +$as_echo "$CCACHE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ccache" >&5 +$as_echo_n "checking for ccache... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: explicitly disabled" >&5 +$as_echo "explicitly disabled" >&6; } + CCACHE= + fi + + + +# Check whether --with-ccache-dir was given. +if test "${with_ccache_dir+set}" = set; then : + withval=$with_ccache_dir; +fi + + + if test "x$with_ccache_dir" != x; then + # When using a non home ccache directory, assume the use is to share ccache files + # with other users. Thus change the umask. + SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002" + fi + CCACHE_FOUND="" + if test "x$CCACHE" != x; then + + if test "x$CCACHE" != x; then + CCACHE_FOUND="true" + # Only use ccache if it is 3.1.4 or later, which supports + # precompiled headers. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports precompiled headers" >&5 +$as_echo_n "checking if ccache supports precompiled headers... " >&6; } + HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.[456789]) 2> /dev/null` + if test "x$HAS_GOOD_CCACHE" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5 +$as_echo "no, disabling ccache" >&6; } + CCACHE= + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C-compiler supports ccache precompiled headers" >&5 +$as_echo_n "checking if C-compiler supports ccache precompiled headers... " >&6; } + PUSHED_FLAGS="$CXXFLAGS" + CXXFLAGS="-fpch-preprocess $CXXFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + CC_KNOWS_CCACHE_TRICK=yes +else + CC_KNOWS_CCACHE_TRICK=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$PUSHED_FLAGS" + if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccaching of precompiled headers" >&5 +$as_echo "no, disabling ccaching of precompiled headers" >&6; } + CCACHE= + fi + fi + fi + + if test "x$CCACHE" != x; then + CCACHE_SLOPPINESS=time_macros + CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE" + CCACHE_FLAGS=-fpch-preprocess + + if test "x$SET_CCACHE_DIR" != x; then + mkdir -p $CCACHE_DIR > /dev/null 2>&1 + chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1 + fi + fi + + fi + + +# Used on GNU/Linux systems, can be empty... +#AC_PATH_PROG(ELFDUMP, elfdump) + +# Setup default logging of stdout and stderr to build.log in the output root. +BUILD_LOG='$(OUTPUT_ROOT)/build.log' +BUILD_LOG_WRAPPER='$(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)' + + + +############################################################################### +# +# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code. +# (The JVM can use 32 or 64 bit Java pointers but that decision +# is made at runtime.) +# + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5 +$as_echo_n "checking size of int *... " >&6; } +if test "${ac_cv_sizeof_int_p+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int_p" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int *) +See \`config.log' for more details" "$LINENO" 5 ; } + else + ac_cv_sizeof_int_p=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int_p" >&5 +$as_echo "$ac_cv_sizeof_int_p" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT_P $ac_cv_sizeof_int_p +_ACEOF + + +if test "x$ac_cv_sizeof_int_p" = x0; then + # The test failed, lets pick the assumed value. + ARCH_DATA_MODEL=$HOST_CPU_BITS +else + ARCH_DATA_MODEL=`expr 8 \* $ac_cv_sizeof_int_p` +fi + +if test "x$ARCH_DATA_MODEL" = x64; then + A_LP64="LP64:=" + ADD_LP64="-D_LP64=1" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for host address size" >&5 +$as_echo_n "checking for host address size... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARCH_DATA_MODEL bits" >&5 +$as_echo "$ARCH_DATA_MODEL bits" >&6; } +LP64=$A_LP64 + + + +if test "x$ARCH_DATA_MODEL" != "x$HOST_CPU_BITS"; then + as_fn_error $? "The tested number of bits in the host ($ARCH_DATA_MODEL) differs from the number of bits expected to be found in the host ($HOST_CPU_BITS)" "$LINENO" 5 +fi + +############################################################################### +# +# Can the C/C++ compiler use precompiled headers? +# +# Check whether --enable-precompiled-headers was given. +if test "${enable_precompiled_headers+set}" = set; then : + enableval=$enable_precompiled_headers; ENABLE_PRECOMPH=${enable_precompiled-headers} +else + ENABLE_PRECOMPH=yes +fi + + +USE_PRECOMPILED_HEADER=1 +if test "x$ENABLE_PRECOMPH" = xno; then + USE_PRECOMPILED_HEADER=0 +fi + +if test "x$ENABLE_PRECOMPH" = xyes; then + # Check that the compiler actually supports precomp headers. + if test "x$GCC" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking that precompiled headers work" >&5 +$as_echo_n "checking that precompiled headers work... " >&6; } + echo "int alfa();" > conftest.h + $CXX -x c++-header conftest.h -o conftest.hpp.gch + if test ! -f conftest.hpp.gch; then + echo Precompiled header is not working! + USE_PRECOMPILED_HEADER=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + fi + rm -f conftest.h + fi +fi + + + +############################################################################### +# +# How to compile shared libraries. +# + +if test "x$GCC" = xyes; then + COMPILER_NAME=gcc + PICFLAG="-fPIC" + LIBRARY_PREFIX=lib + SHARED_LIBRARY='lib$1.so' + STATIC_LIBRARY='lib$1.a' + SHARED_LIBRARY_FLAGS="-shared" + SHARED_LIBRARY_SUFFIX='.so' + STATIC_LIBRARY_SUFFIX='.a' + OBJ_SUFFIX='.o' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' + SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$(JDK_TOPDIR)/$1' + SET_SHARED_LIBRARY_ORIGIN='-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN/$1' + LD="$CC" + LDEXE="$CC" + LDCXX="$CXX" + LDEXECXX="$CXX" + + # Linking is different on MacOSX + if test "x$BUILD_OS" = xmacosx; then + # Might change in the future to clang. + COMPILER_NAME=gcc + SHARED_LIBRARY='lib$1.dylib' + SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" + SHARED_LIBRARY_SUFFIX='.dylib' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1' + SET_SHARED_LIBRARY_MAPFILE='' + SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' + fi +else + if test "x$BUILD_OS" = xsolaris; then + # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler + COMPILER_NAME=ossc + PICFLAG="-KPIC" + LIBRARY_PREFIX=lib + SHARED_LIBRARY='lib$1.so' + STATIC_LIBRARY='lib$1.a' + SHARED_LIBRARY_FLAGS="-G" + SHARED_LIBRARY_SUFFIX='.so' + STATIC_LIBRARY_SUFFIX='.a' + OBJ_SUFFIX='.o' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='' + SET_SHARED_LIBRARY_MAPFILE='-M $(JDK_TOPDIR)/$1' + SET_SHARED_LIBRARY_ORIGIN='-R \$$$$ORIGIN/$1' + CFLAGS_JDKLIB_EXTRA='-xstrconst -D__solaris__' + fi + if test "x$BUILD_OS" = xwindows; then + # If it is not gcc, then assume it is the MS Visual Studio compiler + COMPILER_NAME=cl + PICFLAG="" + LIBRARY_PREFIX= + SHARED_LIBRARY='$1.dll' + STATIC_LIBRARY='$1.lib' + SHARED_LIBRARY_FLAGS="-LD" + SHARED_LIBRARY_SUFFIX='.dll' + STATIC_LIBRARY_SUFFIX='.lib' + OBJ_SUFFIX='.obj' + EXE_SUFFIX='.exe' + SET_SHARED_LIBRARY_NAME='' + SET_SHARED_LIBRARY_MAPFILE='' + SET_SHARED_LIBRARY_ORIGIN='' + fi +fi + + + + + + + + + + + + + +# The (cross) compiler is now configured, we can now test capabilities +# of the host platform. + +############################################################################### +# +# Is the host little of big endian? +# + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + ENDIAN="big";; #( + no) + ENDIAN="little" ;; #( + universal) + ENDIAN="universal" + ;; #( + *) + ENDIAN="unknown" ;; + esac + + +if test "x$ENDIAN" = xuniversal; then + as_fn_error $? "It seems like someone needs to decide how we are to deal with universal binaries on the MacOSX?" "$LINENO" 5 +fi +if test "x$ENDIAN" = xunknown; then + ENDIAN="$HOST_CPU_ENDIAN" +fi +if test "x$ENDIAN" != "x$HOST_CPU_ENDIAN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The tested endian in the host ($ENDIAN) differs from the endian expected to be found in the host ($HOST_CPU_ENDIAN)" >&5 +$as_echo "$as_me: WARNING: The tested endian in the host ($ENDIAN) differs from the endian expected to be found in the host ($HOST_CPU_ENDIAN)" >&2;} + ENDIAN="$HOST_CPU_ENDIAN" +fi + + +############################################################################### +# +# We need a Boot JDK to bootstrap the build. +# +BOOT_JDK_FOUND=no + +# Check whether --with-boot-jdk was given. +if test "${with_boot_jdk+set}" = set; then : + withval=$with_boot_jdk; +fi + + +if test "x$with_boot_jdk" != x; then + BOOT_JDK=$with_boot_jdk + BOOT_JDK_FOUND=yes +fi +if test "x$BOOT_JDK_FOUND" = xno; then + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_bootjdk_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_bootjdk_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The bootjdk comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_bootjdk} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for bootjdk" >&5 +$as_echo "$as_me: Using builddeps $resource for bootjdk" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# bootjdk is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency bootjdk from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency bootjdk from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/bootjdk.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_bootjdk_ROOT} + thecflags=${builddep_bootjdk_CFLAGS} + thelibs=${builddep_bootjdk_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency bootjdk" "$LINENO" 5 + fi + BOOT_JDK=$depdir + if test "x$theroot" != x; then + BOOT_JDK="$theroot" + fi + if test "x$thecflags" != x; then + BOOT_JDK_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + BOOT_JDK_LIBS="$thelibs" + fi + BOOT_JDK_FOUND=yes + else BOOT_JDK_FOUND=no + + fi + else BOOT_JDK_FOUND=no + + fi + +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + if test "x$JAVA_HOME" != x; then + if test ! -d "$JAVA_HOME"; then + as_fn_error $? "Your JAVA_HOME points to a non-existing directory!" "$LINENO" 5 + fi + # Aha, the user has set a JAVA_HOME + # let us use that as the Boot JDK. + BOOT_JDK=$JAVA_HOME + BOOT_JDK_FOUND=yes + # To be on the safe side, lets check that it is a JDK. + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + else + as_fn_error $? "Your JAVA_HOME points to a JRE! The build needs a JDK! Please point JAVA_HOME to a JDK." "$LINENO" 5 + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + # Extract the first word of "javac", so it can be a program name with args. +set dummy javac; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVAC_CHECK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $JAVAC_CHECK in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC_CHECK="$JAVAC_CHECK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVAC_CHECK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +JAVAC_CHECK=$ac_cv_path_JAVAC_CHECK +if test -n "$JAVAC_CHECK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC_CHECK" >&5 +$as_echo "$JAVAC_CHECK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + # Extract the first word of "java", so it can be a program name with args. +set dummy java; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVA_CHECK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $JAVA_CHECK in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVA_CHECK="$JAVA_CHECK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVA_CHECK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +JAVA_CHECK=$ac_cv_path_JAVA_CHECK +if test -n "$JAVA_CHECK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_CHECK" >&5 +$as_echo "$JAVA_CHECK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + BINARY="$JAVAC_CHECK" + if test "x$JAVAC_CHECK" = x; then + BINARY="$JAVA_CHECK" + fi + if test "x$BINARY" != x; then + # So there is a java(c) binary, it might be part of a JDK. + # Lets find the JDK/JRE directory by following symbolic links. + # Linux/GNU systems often have links from /usr/bin/java to + # /etc/alternatives/java to the real JDK binary. + + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="$BINARY" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "$BINARY"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + BINARY="$tmp" + + + if test "x$BUILD_OS" != xwindows; then + # Follow a chain of symbolic links. Use readlink + # where it exists, else fall back to horribly + # complicated shell code. + # Extract the first word of "readlink", so it can be a program name with args. +set dummy readlink; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_READLINK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $READLINK in + [\\/]* | ?:[\\/]*) + ac_cv_path_READLINK="$READLINK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_READLINK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +READLINK=$ac_cv_path_READLINK +if test -n "$READLINK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINK" >&5 +$as_echo "$READLINK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$READLINK_TESTED" != yes; then + # On MacOSX there is a readlink tool with a different + # purpose than the GNU readlink tool. Check the found readlink. + ISGNU=`$READLINK --help 2>&1 | grep GNU` + if test "x$ISGNU" = x; then + # A readlink that we do not know how to use. + # Are there other non-GNU readlinks out there? + READLINK_TESTED=yes + READLINK= + fi + fi + + if test "x$READLINK" != x; then + BINARY=`$READLINK -f $BINARY` + else + STARTDIR=$PWD + COUNTER=0 + DIR=`dirname $BINARY` + FIL=`basename $BINARY` + while test $COUNTER -lt 20; do + ISLINK=`ls -l $DIR/$FIL | grep '\->' | sed -e 's/.*-> \(.*\)/\1/'` + if test "x$ISLINK" == x; then + # This is not a symbolic link! We are done! + break + fi + # The link might be relative! We have to use cd to travel safely. + cd $DIR + cd `dirname $ISLINK` + DIR=`pwd` + FIL=`basename $ISLINK` + let COUNTER=COUNTER+1 + done + cd $STARTDIR + BINARY=$DIR/$FIL + fi + fi + + BOOT_JDK=`dirname $BINARY` + BOOT_JDK=`cd $BOOT_JDK/..; pwd` + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + # Try the MacOSX way. + if test -x /usr/libexec/java_home; then + BOOT_JDK=`/usr/libexec/java_home` + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + # Extract the first word of "java", so it can be a program name with args. +set dummy java; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_JAVA_CHECK+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $JAVA_CHECK in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVA_CHECK="$JAVA_CHECK" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_JAVA_CHECK="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +JAVA_CHECK=$ac_cv_path_JAVA_CHECK +if test -n "$JAVA_CHECK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVA_CHECK" >&5 +$as_echo "$JAVA_CHECK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$JAVA_CHECK" != x; then + # There is a java in the path. But apparently we have not found a javac + # in the path, since that would have been tested earlier. + if test "x$HOST_OS" = xwindows; then + # Now if this is a windows platform. The default installation of a JDK + # actually puts the JRE in the path and keeps the JDK out of the path! + # Go look in the default installation location. + BOOT_JDK=/cygdrive/c/Program\ Files/Java/`ls /cygdrive/c/Program\ Files/Java | grep jdk | sort -r | head --lines 1` + if test -d "$BOOT_JDK"; then + BOOT_JDK_FOUND=yes + fi + fi + if test "x$BOOT_JDK_FOUND" = xno; then + help_on_build_dependency openjdk + as_fn_error $? "Found a JRE, not not a JDK! Please remove the JRE from your path and put a JDK there instead. $HELP_MSG" "$LINENO" 5 + fi + else + help_on_build_dependency openjdk + as_fn_error $? "Could not find a JDK. $HELP_MSG" "$LINENO" 5 + fi +fi + + + if test "x$BUILD_OS" = "xwindows"; then + # Extract the first word of "cygpath", so it can be a program name with args. +set dummy cygpath; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_CYGPATH+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $CYGPATH in + [\\/]* | ?:[\\/]*) + ac_cv_path_CYGPATH="$CYGPATH" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_CYGPATH="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +CYGPATH=$ac_cv_path_CYGPATH +if test -n "$CYGPATH"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CYGPATH" >&5 +$as_echo "$CYGPATH" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + tmp="$BOOT_JDK" + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + BOOT_JDK="$tmp" + fi + + +# Now see if we can find the rt.jar, or its nearest equivalent. +BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar" + + # Fail with message the path to the Boot JDK rt.jar (or nearest equivalent) if var BOOT_RTJAR contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$BOOT_RTJAR" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + BOOT_RTJAR=`$CYGPATH -s -m -a "$BOOT_RTJAR"` + BOOT_RTJAR=`$CYGPATH -u "$BOOT_RTJAR"` + else + as_fn_error $? "You cannot have spaces in the path to the Boot JDK rt.jar (or nearest equivalent)! \"$BOOT_RTJAR\"" "$LINENO" 5 + fi + fi + + +BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar" + + # Fail with message the path to the Boot JDK tools.jar (or nearest equivalent) if var BOOT_TOOLSJAR contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$BOOT_TOOLSJAR" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + BOOT_TOOLSJAR=`$CYGPATH -s -m -a "$BOOT_TOOLSJAR"` + BOOT_TOOLSJAR=`$CYGPATH -u "$BOOT_TOOLSJAR"` + else + as_fn_error $? "You cannot have spaces in the path to the Boot JDK tools.jar (or nearest equivalent)! \"$BOOT_TOOLSJAR\"" "$LINENO" 5 + fi + fi + + +if test ! -f $BOOT_RTJAR; then + # On MacOSX it is called classes.jar + BOOT_RTJAR=$BOOT_JDK/../Classes/classes.jar + if test ! -f $BOOT_RTJAR; then + as_fn_error $? "Cannot find the rt.jar or its equivalent!" "$LINENO" 5 + fi + # Remove the .. + BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}" + # The tools.jar is part of classes.jar + BOOT_TOOLSJAR="$BOOT_RTJAR" +fi + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 +$as_echo_n "checking for Boot JDK... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 +$as_echo "$BOOT_JDK" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot rt.jar" >&5 +$as_echo_n "checking for Boot rt.jar... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_RTJAR" >&5 +$as_echo "$BOOT_RTJAR" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot tools.jar" >&5 +$as_echo_n "checking for Boot tools.jar... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_TOOLSJAR" >&5 +$as_echo "$BOOT_TOOLSJAR" >&6; } + +# Use the java tool from the Boot JDK. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for java in Boot JDK" >&5 +$as_echo_n "checking for java in Boot JDK... " >&6; } +JAVA=$BOOT_JDK/bin/java +if test ! -x $JAVA; then + as_fn_error $? "Could not find a working java" "$LINENO" 5 +fi +BOOT_JDK_VERSION=`$JAVA -version 2>&1 | head -n 1` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes $BOOT_JDK_VERSION" >&5 +$as_echo "yes $BOOT_JDK_VERSION" >&6; } + + +# Extra M4 quote needed to protect [] in grep expression. +FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'` +if test "x$FOUND_VERSION_78" = x; then + help_on_build_dependency openjdk + as_fn_error $? "Your bootjdk must be version 7 or 8. $HELP_MSG" "$LINENO" 5 +fi + +# When compiling code to be executed by the Boot JDK, force jdk7 compatibility. +BOOT_JDK_SOURCETARGET="-source 7 -target 7" + + +# Use the javac tool from the Boot JDK. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for javac in Boot JDK" >&5 +$as_echo_n "checking for javac in Boot JDK... " >&6; } +JAVAC=$BOOT_JDK/bin/javac +if test ! -x $JAVAC; then + as_fn_error $? "Could not find a working javac" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + + +# Use the javac tool from the Boot JDK. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for javah in Boot JDK" >&5 +$as_echo_n "checking for javah in Boot JDK... " >&6; } +JAVAH=$BOOT_JDK/bin/javah +if test ! -x $JAVAH; then + as_fn_error $? "Could not find a working javah" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + +# Use the jar tool from the Boot JDK. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for jar in Boot JDK" >&5 +$as_echo_n "checking for jar in Boot JDK... " >&6; } +JAR=$BOOT_JDK/bin/jar +if test ! -x $JAR; then + as_fn_error $? "Could not find a working jar" "$LINENO" 5 +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +# Use the rmic tool from the Boot JDK. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for rmic in Boot JDK" >&5 +$as_echo_n "checking for rmic in Boot JDK... " >&6; } +RMIC=$BOOT_JDK/bin/rmic +if test ! -x $RMIC; then + as_fn_error $? "Could not find a working rmic" "$LINENO" 5 +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +############################################################################### +# +# Pickup additional source for a component from outside of the source root +# or override source for a component. +# + +# Check whether --with-add-source-root was given. +if test "${with_add_source_root+set}" = set; then : + withval=$with_add_source_root; +fi + + + +# Check whether --with-override-source-root was given. +if test "${with_override_source_root+set}" = set; then : + withval=$with_override_source_root; +fi + + + +# Check whether --with-adds-and-overrides was given. +if test "${with_adds_and_overrides+set}" = set; then : + withval=$with_adds_and_overrides; +fi + + +if test "x$with_adds_and_overrides" != x; then + with_add_source_root="$with_adds_and_overrides/adds" + with_override_source_root="$with_adds_and_overrides/overrides" +fi + +if test "x$with_add_source_root" != x; then + if ! test -d $with_add_source_root; then + as_fn_error $? "Trying to use a non-existant add-source-root $with_add_source_root" "$LINENO" 5 + fi + CURDIR="$PWD" + cd "$with_add_source_root" + ADD_SRC_ROOT="`pwd`" + cd "$CURDIR" + # Verify that the addon source root does not have any root makefiles. + # If it does, then it is usually an error, prevent this. + if test -f $with_add_source_root/langtools/makefiles/Makefile || \ + test -f $with_add_source_root/langtools/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources." "$LINENO" 5 + fi + if test -f $with_add_source_root/corba/makefiles/Makefile || \ + test -f $with_add_source_root/corba/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full corba repo! An add source root should only contain additional sources." "$LINENO" 5 + fi + if test -f $with_add_source_root/jaxp/makefiles/Makefile || \ + test -f $with_add_source_root/jaxp/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources." "$LINENO" 5 + fi + if test -f $with_add_source_root/jaxws/makefiles/Makefile || \ + test -f $with_add_source_root/jaxws/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources." "$LINENO" 5 + fi + if test -f $with_add_source_root/hotspot/makefiles/Makefile || \ + test -f $with_add_source_root/hotspot/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources." "$LINENO" 5 + fi + if test -f $with_add_source_root/jdk/makefiles/Makefile || \ + test -f $with_add_source_root/jdk/make/Makefile; then + as_fn_error $? "Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources." "$LINENO" 5 + fi +fi + + +if test "x$with_override_source_root" != x; then + if ! test -d $with_override_source_root; then + as_fn_error $? "Trying to use a non-existant override-source-root $with_override_source_root" "$LINENO" 5 + fi + CURDIR="$PWD" + cd "$with_override_source_root" + OVERRIDE_SRC_ROOT="`pwd`" + cd "$CURDIR" + if test -f $with_override_source_root/langtools/makefiles/Makefile || \ + test -f $with_override_source_root/langtools/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override." "$LINENO" 5 + fi + if test -f $with_override_source_root/corba/makefiles/Makefile || \ + test -f $with_override_source_root/corba/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full corba repo! An override source root should only contain sources that override." "$LINENO" 5 + fi + if test -f $with_override_source_root/jaxp/makefiles/Makefile || \ + test -f $with_override_source_root/jaxp/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override." "$LINENO" 5 + fi + if test -f $with_override_source_root/jaxws/makefiles/Makefile || \ + test -f $with_override_source_root/jaxws/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override." "$LINENO" 5 + fi + if test -f $with_override_source_root/hotspot/makefiles/Makefile || \ + test -f $with_override_source_root/hotspot/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override." "$LINENO" 5 + fi + if test -f $with_override_source_root/jdk/makefiles/Makefile || \ + test -f $with_override_source_root/jdk/make/Makefile; then + as_fn_error $? "Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override." "$LINENO" 5 + fi +fi + + +############################################################################### +# +# Override a repo completely, this is used for example when you have 3 small +# development sandboxes of the langtools sources and want to avoid having 3 full +# OpenJDK sources checked out on disk. +# +# Assuming that the 3 langtools sandboxes are located here: +# /home/fredrik/sandbox1/langtools +# /home/fredrik/sandbox2/langtools +# /home/fredrik/sandbox3/langtools +# +# From the source root you create build subdirs manually: +# mkdir -p build1 build2 build3 +# in each build directory run: +# (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make) +# (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make) +# (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make) +# + + +# Check whether --with-override-langtools was given. +if test "${with_override_langtools+set}" = set; then : + withval=$with_override_langtools; +fi + + + +# Check whether --with-override-corba was given. +if test "${with_override_corba+set}" = set; then : + withval=$with_override_corba; +fi + + + +# Check whether --with-override-jaxp was given. +if test "${with_override_jaxp+set}" = set; then : + withval=$with_override_jaxp; +fi + + + +# Check whether --with-override-jaxws was given. +if test "${with_override_jaxws+set}" = set; then : + withval=$with_override_jaxws; +fi + + + +# Check whether --with-override-hotspot was given. +if test "${with_override_hotspot+set}" = set; then : + withval=$with_override_hotspot; +fi + + + +# Check whether --with-override-jdk was given. +if test "${with_override_jdk+set}" = set; then : + withval=$with_override_jdk; +fi + + +if test "x$with_override_langtools" != x; then + CURDIR="$PWD" + cd "$with_override_langtools" + LANGTOOLS_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override langtools with a full langtools repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if langtools should be overridden" >&5 +$as_echo_n "checking if langtools should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $LANGTOOLS_TOPDIR" >&5 +$as_echo "yes with $LANGTOOLS_TOPDIR" >&6; } +fi +if test "x$with_override_corba" != x; then + CURDIR="$PWD" + cd "$with_override_corba" + CORBA_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override corba with a full corba repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if corba should be overridden" >&5 +$as_echo_n "checking if corba should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $CORBA_TOPDIR" >&5 +$as_echo "yes with $CORBA_TOPDIR" >&6; } +fi +if test "x$with_override_jaxp" != x; then + CURDIR="$PWD" + cd "$with_override_jaxp" + JAXP_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override jaxp with a full jaxp repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if jaxp should be overridden" >&5 +$as_echo_n "checking if jaxp should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JAXP_TOPDIR" >&5 +$as_echo "yes with $JAXP_TOPDIR" >&6; } +fi +if test "x$with_override_jaxws" != x; then + CURDIR="$PWD" + cd "$with_override_jaxws" + JAXWS_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override jaxws with a full jaxws repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if jaxws should be overridden" >&5 +$as_echo_n "checking if jaxws should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JAXWS_TOPDIR" >&5 +$as_echo "yes with $JAXWS_TOPDIR" >&6; } +fi +if test "x$with_override_hotspot" != x; then + CURDIR="$PWD" + cd "$with_override_hotspot" + HOTSPOT_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \ + ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override hotspot with a full hotspot repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if hotspot should be overridden" >&5 +$as_echo_n "checking if hotspot should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $HOTSPOT_TOPDIR" >&5 +$as_echo "yes with $HOTSPOT_TOPDIR" >&6; } +fi +if test "x$with_override_jdk" != x; then + CURDIR="$PWD" + cd "$with_override_jdk" + JDK_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JDK_TOPDIR/makefiles/Makefile; then + as_fn_error $? "You have to override JDK with a full JDK repo!" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if JDK should be overridden" >&5 +$as_echo_n "checking if JDK should be overridden... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes with $JDK_TOPDIR" >&5 +$as_echo "yes with $JDK_TOPDIR" >&6; } +fi + +############################################################################### +# +# Specify options for anything that is run with the Boot JDK. +# + +# Check whether --with-boot-jdk-jvmargs was given. +if test "${with_boot_jdk_jvmargs+set}" = set; then : + withval=$with_boot_jdk_jvmargs; +fi + + +if test "x$with_boot_jdk_jvmargs" = x; then + # Not all JVM:s accept the same arguments on the command line. + # OpenJDK specific increase in thread stack for JDK build, + # well more specifically, when running javac. + if test "x$BUILD_NUM_BITS" = x32; then + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, the stack takes more space + # since 64-bit pointers are pushed on the stach. Apparently, we need + # to increase the stack space when javacing the JDK.... + STACK_SIZE=1536 + fi + + # Minimum amount of heap memory. + + # Test if -Xms64M is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -Xms64M to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -Xms64M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -Xms64M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -Xms64M" + fi + + if test "x$HOST_OS" = "xmacosx"; then + # Why does macosx need more heap? Its the huge JDK batch. + + # Test if -Xmx1600M is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -Xmx1600M to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -Xmx1600M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -Xmx1600M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M" + fi + + else + + # Test if -Xmx1100M is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -Xmx1100M to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -Xmx1100M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -Xmx1100M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M" + fi + + fi + # When is adding -client something that speeds up the JVM? + # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA]) + + # Test if -XX:PermSize=32m is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -XX:PermSize=32m to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -XX:PermSize=32m -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -XX:PermSize=32m -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m" + fi + + + # Test if -XX:MaxPermSize=160m is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -XX:MaxPermSize=160m to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -XX:MaxPermSize=160m -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -XX:MaxPermSize=160m -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m" + fi + + + # Test if -XX:ThreadStackSize=$STACK_SIZE is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -XX:ThreadStackSize=$STACK_SIZE to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:ThreadStackSize=$STACK_SIZE" + fi + + # Disable special log output when a debug build is used as Boot JDK... + + # Test if -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput to boot_jdk_jvmargs + FOUND_WARN=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" + fi + +fi + +BOOT_JDK_JVMARGS=$boot_jdk_jvmargs + + + +# Check whether --with-server-java was given. +if test "${with_server_java+set}" = set; then : + withval=$with_server_java; +fi + + +if test "x$with_server_java" != x; then + SERVER_JAVA="$with_server_java" + FOUND_VERSION=`$SERVER_JAVA -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" = x; then + as_fn_error $? "Could not execute server java: $SERVER_JAVA" "$LINENO" 5 + fi +else + SERVER_JAVA="" + # Hotspot specific options. + + # Test if -XX:+UseParallelOldGC is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -XX:+UseParallelOldGC to SERVER_JAVA + FOUND_WARN=`$JAVA -XX:+UseParallelOldGC -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -XX:+UseParallelOldGC -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -XX:+UseParallelOldGC" + fi + + + # Test if -verbosegc is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -verbosegc to SERVER_JAVA + FOUND_WARN=`$JAVA -verbosegc -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -verbosegc -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -verbosegc" + fi + + # JRockit specific options. + + # Test if -Xverbose:gc is a valid argument to $JAVA (often is $JAVA passed as $JAVA) + # If so, then append -Xverbose:gc to SERVER_JAVA + FOUND_WARN=`$JAVA -Xverbose:gc -version 2>&1 | grep -i warn` + FOUND_VERSION=`$JAVA -Xverbose:gc -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xverbose:gc" + fi + + SERVER_JAVA="$JAVA $SERVER_JAVA" +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use shared server for javac" >&5 +$as_echo_n "checking whether to use shared server for javac... " >&6; } +# Check whether --enable-javac-server was given. +if test "${enable_javac_server+set}" = set; then : + enableval=$enable_javac_server; ENABLE_JAVAC_SERVER="${enableval}" +else + ENABLE_JAVAC_SERVER='no' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_JAVAC_SERVER" >&5 +$as_echo "$ENABLE_JAVAC_SERVER" >&6; } +if test "x$ENABLE_JAVAC_SERVER" = xyes; then + JAVAC_USE_REMOTE=true + JAVAC_SERVERS="$OUTPUT_ROOT/javacservers" +else + JAVAC_USE_REMOTE=false + JAVAC_SERVERS= +fi + + + + +# Check whether --with-javac-server-cores was given. +if test "${with_javac_server_cores+set}" = set; then : + withval=$with_javac_server_cores; +fi + +if test "x$with_javac_server_cores" != x; then + JAVAC_SERVER_CORES="$with_javac_server_cores" +else + if test "$NUM_CORES" -gt 16; then + # We set this arbitrary limit because we want to limit the heap + # size of the javac server. + # In the future we will make the javac compilers in the server + # share more and more state, thus enabling us to use more and + # more concurrent threads in the server. + JAVAC_SERVER_CORES="16" + else + JAVAC_SERVER_CORES="$NUM_CORES" + fi + + if test "$MEMORY_SIZE" -gt "17000"; then + MAX_HEAP_MEM=10000 + + # Test if -d64 is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -d64 to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -d64 -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -d64 -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -d64" + fi + + + # Test if -Xms10G -Xmx10G is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms10G -Xmx10G to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms10G -Xmx10G -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms10G -Xmx10G -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms10G -Xmx10G" + fi + + + # Test if -Xmn2G is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn2G to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn2G -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn2G -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn2G" + fi + + elif test "$MEMORY_SIZE" -gt "10000"; then + MAX_HEAP_MEM=6000 + + # Test if -d64 is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -d64 to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -d64 -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -d64 -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -d64" + fi + + + # Test if -Xms6G -Xmx6G is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms6G -Xmx6G to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms6G -Xmx6G -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms6G -Xmx6G -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms6G -Xmx6G" + fi + + + # Test if -Xmn1G is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn1G to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn1G -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn1G -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn1G" + fi + + elif test "$MEMORY_SIZE" -gt "5000"; then + MAX_HEAP_MEM=3000 + + # Test if -d64 is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -d64 to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -d64 -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -d64 -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -d64" + fi + + + # Test if -Xms1G -Xmx3G is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms1G -Xmx3G to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms1G -Xmx3G -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms1G -Xmx3G -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms1G -Xmx3G" + fi + + + # Test if -Xmn256M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn256M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn256M" + fi + + elif test "$MEMORY_SIZE" -gt "3800"; then + MAX_HEAP_MEM=2500 + + # Test if -Xms1G -Xmx2500M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms1G -Xmx2500M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms1G -Xmx2500M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms1G -Xmx2500M" + fi + + + # Test if -Xmn256M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn256M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn256M" + fi + + elif test "$MEMORY_SIZE" -gt "1900"; then + MAX_HEAP_MEM=1200 + + # Test if -Xms700M -Xmx1200M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms700M -Xmx1200M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms700M -Xmx1200M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms700M -Xmx1200M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms700M -Xmx1200M" + fi + + + # Test if -Xmn256M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn256M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn256M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn256M" + fi + + elif test "$MEMORY_SIZE" -gt "1000"; then + MAX_HEAP_MEM=900 + + # Test if -Xms400M -Xmx900M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms400M -Xmx900M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms400M -Xmx900M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms400M -Xmx900M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms400M -Xmx900M" + fi + + + # Test if -Xmn128M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn128M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn128M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn128M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn128M" + fi + + else + MAX_HEAP_MEM=512 + + # Test if -Xms256M -Xmx512M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xms256M -Xmx512M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xms256M -Xmx512M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xms256M -Xmx512M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xms256M -Xmx512M" + fi + + + # Test if -Xmn128M is a valid argument to $SERVER_JAVA (often is $JAVA passed as $SERVER_JAVA) + # If so, then append -Xmn128M to SERVER_JAVA + FOUND_WARN=`$SERVER_JAVA -Xmn128M -version 2>&1 | grep -i warn` + FOUND_VERSION=`$SERVER_JAVA -Xmn128M -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + SERVER_JAVA="$SERVER_JAVA -Xmn128M" + fi + + fi + + MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501` + if test "$JAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if number of server cores must be reduced" >&5 +$as_echo_n "checking if number of server cores must be reduced... " >&6; } + JAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, to $JAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB" >&5 +$as_echo "yes, to $JAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB" >&6; } + fi +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to track dependencies between Java packages" >&5 +$as_echo_n "checking whether to track dependencies between Java packages... " >&6; } +# Check whether --enable-javac-deps was given. +if test "${enable_javac_deps+set}" = set; then : + enableval=$enable_javac_deps; ENABLE_JAVAC_DEPS="${enableval}" +else + ENABLE_JAVAC_DEPS='no' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_JAVAC_DEPS" >&5 +$as_echo "$ENABLE_JAVAC_DEPS" >&6; } +if test "x$ENABLE_JAVAC_DEPS" = xyes; then + JAVAC_USE_DEPS=true +else + JAVAC_USE_DEPS=false +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use multiple cores for javac compilation" >&5 +$as_echo_n "checking whether to use multiple cores for javac compilation... " >&6; } +# Check whether --enable-javac-multi-core was given. +if test "${enable_javac_multi_core+set}" = set; then : + enableval=$enable_javac_multi_core; ENABLE_JAVAC_MULTICORE="${enableval}" +else + ENABLE_JAVAC_MULTICORE='no' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_JAVAC_MULTICORE" >&5 +$as_echo "$ENABLE_JAVAC_MULTICORE" >&6; } +if test "x$ENABLE_JAVAC_MULTICORE" = xyes; then + JAVAC_USE_MODE=MULTI_CORE_CONCURRENT +else + JAVAC_USE_MODE=SINGLE_THREADED_BATCH + if test "x$ENABLE_JAVAC_DEPS" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Dependency tracking is not supported with single threaded batch compiles of Java source roots. Please add --disable-javac-deps to your configure options." >&5 +$as_echo "$as_me: WARNING: Dependency tracking is not supported with single threaded batch compiles of Java source roots. Please add --disable-javac-deps to your configure options." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling dependency tracking for you now." >&5 +$as_echo "$as_me: WARNING: Disabling dependency tracking for you now." >&2;} + JAVAC_USE_DEPS=false + fi + if test "x$ENABLE_JAVAC_SERVER" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 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." >&5 +$as_echo "$as_me: WARNING: 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." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling javac server for you now." >&5 +$as_echo "$as_me: WARNING: Disabling javac server for you now." >&2;} + JAVAC_USE_REMOTE=false + fi +fi + + +############################################################################### +# +# OS specific settings that we never will need to probe. +# +if test "x$HOST_OS" = xlinux; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Linux?" >&5 +$as_echo_n "checking what is not needed on Linux?... " >&6; } + PULSE_NOT_NEEDED=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pulse" >&5 +$as_echo "pulse" >&6; } +fi + +if test "x$HOST_OS" = xsolaris; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Solaris?" >&5 +$as_echo_n "checking what is not needed on Solaris?... " >&6; } + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5 +$as_echo "alsa pulse" >&6; } +fi + +if test "x$HOST_OS" = xwindows; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on Windows?" >&5 +$as_echo_n "checking what is not needed on Windows?... " >&6; } + CUPS_NOT_NEEDED=yes + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + X11_NOT_NEEDED=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa cups pulse x11" >&5 +$as_echo "alsa cups pulse x11" >&6; } +fi + +if test "x$HOST_OS" = xmacosx; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on MacOSX?" >&5 +$as_echo_n "checking what is not needed on MacOSX?... " >&6; } + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + X11_NOT_NEEDED=yes + FREETYPE2_NOT_NEEDED=yes + # If the java runtime framework is disabled, then we need X11. + # This will be adjusted below. + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse x11" >&5 +$as_echo "alsa pulse x11" >&6; } +fi + +if test "x$HOST_OS" = xbsd; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on bsd?" >&5 +$as_echo_n "checking what is not needed on bsd?... " >&6; } + ALSA_NOT_NEEDED=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa" >&5 +$as_echo "alsa" >&6; } +fi + +############################################################################### +# +# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM +# that uses this API. +# +# Check whether --enable-macosx-runtime-support was given. +if test "${enable_macosx_runtime_support+set}" = set; then : + enableval=$enable_macosx_runtime_support; MACOSX_RUNTIME_SUPPORT="${enableval}" +else + MACOSX_RUNTIME_SUPPORT="no" +fi + + +USE_MACOSX_RUNTIME_SUPPORT=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for explicit Java runtime support in the OS" >&5 +$as_echo_n "checking for explicit Java runtime support in the OS... " >&6; } +if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then + if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then + MACOSX_RUNTIME_SUPPORT=yes + USE_MACOSX_RUNTIME_SUPPORT=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, does not need alsa freetype2 pulse and X11" >&5 +$as_echo "yes, does not need alsa freetype2 pulse and X11" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, but explicitly disabled." >&5 +$as_echo "yes, but explicitly disabled." >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +if test "x$HOST_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on an X11 build on MacOSX?" >&5 +$as_echo_n "checking what is not needed on an X11 build on MacOSX?... " >&6; } + X11_NOT_NEEDED= + FREETYPE2_NOT_NEEDED= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa pulse" >&5 +$as_echo "alsa pulse" >&6; } +fi + +############################################################################### +# +# Check for X Windows +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } + + +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + case $x_includes,$x_libraries in #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -f -r conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + cat >Imakefile <<'_ACEOF' +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ac_x_includes= ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /usr/lib64 | /lib | /lib64) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -f -r conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R7/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R7 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R7/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R7 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. + # First, try using that file with no special directory specified. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # We can compile using X headers with no special include directory. +ac_x_includes= +else + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Xlib.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.i conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +XrmInitialize () + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac +fi +;; #( + *) have_x=yes;; + esac + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } +fi + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" +else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cxx_werror_flag=$ac_xsave_cxx_werror_flag + LIBS=$ac_xsave_LIBS + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDisplay (); +int +main () +{ +return XOpenDisplay (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_dnet_dnet_ntoa=yes +else + ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + ac_fn_cxx_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = x""yes; then : + +fi + + if test $ac_cv_func_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostbyname=yes +else + ac_cv_lib_nsl_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_bsd_gethostbyname=yes +else + ac_cv_lib_bsd_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + ac_fn_cxx_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = x""yes; then : + +fi + + if test $ac_cv_func_connect = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if test "${ac_cv_lib_socket_connect+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_socket_connect=yes +else + ac_cv_lib_socket_connect=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = x""yes; then : + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + + # Guillermo Gomez says -lposix is necessary on A/UX. + ac_fn_cxx_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = x""yes; then : + +fi + + if test $ac_cv_func_remove = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if test "${ac_cv_lib_posix_remove+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes +else + ac_cv_lib_posix_remove=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_cxx_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = x""yes; then : + +fi + + if test $ac_cv_func_shmat = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if test "${ac_cv_lib_ipc_shmat+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_ipc_shmat=yes +else + ac_cv_lib_ipc_shmat=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = x""yes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +fi + + fi + fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char IceConnectionNumber (); +int +main () +{ +return IceConnectionNumber (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_ICE_IceConnectionNumber=yes +else + ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then : + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + + +if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then + help_on_build_dependency x11 + as_fn_error $? "Could not find X11 libraries. $HELP_MSG" "$LINENO" 5 +fi + + + + +# Some of the old makefiles require a setting of OPENWIN_HOME +# Since the X11R6 directory has disappeared on later Linuxes, +# we need to probe for it. +if test "x$HOST_OS" = xlinux; then + if test -d "$SYS_ROOT/usr/X11R6"; then + OPENWIN_HOME="$SYS_ROOT/usr/X11R6" + fi + if test -d "$SYS_ROOT/usr/include/X11"; then + OPENWIN_HOME="$SYS_ROOT/usr" + fi +fi +if test "x$HOST_OS" = xsolaris; then + OPENWIN_HOME="/usr/openwin" +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +OLD_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $X_CFLAGS" + + +for ac_header in X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + X11_A_OK=yes +else + X11_A_OK=no +fi + +done + +CFLAGS="$OLD_CFLAGS" +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then + help_on_build_dependency x11 + as_fn_error $? "Could not find all X11 headers (shape.h Xrender.h XTest.h). $HELP_MSG" "$LINENO" 5 +fi + +############################################################################### +# +# The common unix printing system cups is used to print from java. +# + +# Check whether --with-cups was given. +if test "${with_cups+set}" = set; then : + withval=$with_cups; +fi + + +# Check whether --with-cups-include was given. +if test "${with_cups_include+set}" = set; then : + withval=$with_cups_include; +fi + + +# Check whether --with-cups-lib was given. +if test "${with_cups_lib+set}" = set; then : + withval=$with_cups_lib; +fi + + +if test "x$CUPS_NOT_NEEDED" = xyes; then + if test "x$with_cups" != x || test "x$with_cups-include" != x || test "x$with_cups-lib" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cups not used, so --with-cups is ignored" >&5 +$as_echo "$as_me: WARNING: cups not used, so --with-cups is ignored" >&2;} + fi + CUPS_CFLAGS= + CUPS_LIBS= +else + CUPS_FOUND=no + + if test "x$with_cups" = xno || test "x$with_cups-include" = xno || test "x$with_cups-lib" = xno; then + as_fn_error $? "It is not possible to disable the use of cups. Remove the --without-cups option." "$LINENO" 5 + fi + + if test "x$with_cups" != x; then + CUPS_LIBS="-L$with_cups/lib -lcups" + CUPS_CFLAGS="-I$with_cups/include" + CUPS_FOUND=yes + fi + if test "x$with_cups-include" != x; then + CUPS_CFLAGS="-I$with_cups-include" + CUPS_FOUND=yes + fi + if test "x$with_cups-lib" != x; then + CUPS_LIBS="-L$with_cups-lib -lcups" + CUPS_FOUND=yes + fi + if test "x$CUPS_FOUND" = xno; then + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_cups_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_cups_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_cups_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The cups comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_cups} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for cups" >&5 +$as_echo "$as_me: Using builddeps $resource for cups" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# cups is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency cups from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency cups from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/cups.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_cups_ROOT} + thecflags=${builddep_cups_CFLAGS} + thelibs=${builddep_cups_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency cups" "$LINENO" 5 + fi + CUPS=$depdir + if test "x$theroot" != x; then + CUPS="$theroot" + fi + if test "x$thecflags" != x; then + CUPS_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + CUPS_LIBS="$thelibs" + fi + CUPS_FOUND=yes + + fi + + fi + + fi + if test "x$CUPS_FOUND" = xno; then + # Are the cups headers installed in the default /usr/include location? + for ac_header in cups/cups.h cups/ppd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + CUPS_FOUND=yes + CUPS_CFLAGS= + CUPS_LIBS="-lcups" + DEFAULT_CUPS=yes +fi + +done + + fi + if test "x$CUPS_FOUND" = xno; then + # Getting nervous now? Lets poke around for standard Solaris third-party + # package installation locations. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers and libs" >&5 +$as_echo_n "checking for cups headers and libs... " >&6; } + if test -s /opt/sfw/cups/include/cups/cups.h; then + # An SFW package seems to be installed! + CUPS_FOUND=yes + CUPS_CFLAGS="-I/opt/sfw/cups/include" + CUPS_LIBS="-L/opt/sfw/cups/lib -lcups" + elif test -s /opt/csw/include/cups/cups.h; then + # A CSW package seems to be installed! + CUPS_FOUND=yes + CUPS_CFLAGS="-I/opt/csw/include" + CUPS_LIBS="-L/opt/csw/lib -lcups" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5 +$as_echo "$CUPS_FOUND" >&6; } + fi + if test "x$CUPS_FOUND" = xno; then + help_on_build_dependency cups + as_fn_error $? "Could not find cups! $HELP_MSG " "$LINENO" 5 + fi +fi + + + + +############################################################################### +# +# The ubiquitous freetype2 library is used to render fonts. +# + +# Check whether --with-freetype was given. +if test "${with_freetype+set}" = set; then : + withval=$with_freetype; +fi + + +# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree +USING_SYSTEM_FT_LIB=false + +if test "x$FREETYPE2_NOT_NEEDED" = xyes; then + if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: freetype not used, so --with-freetype is ignored" >&5 +$as_echo "$as_me: WARNING: freetype not used, so --with-freetype is ignored" >&2;} + fi + FREETYPE2_CFLAGS= + FREETYPE2_LIBS= + FREETYPE2_LIB_PATH= +else + FREETYPE2_FOUND=no + + if test "x$with_freetype" != x; then + + # Fail with message the path to freetype if var with_freetype contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "$with_freetype" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + with_freetype=`$CYGPATH -s -m -a "$with_freetype"` + with_freetype=`$CYGPATH -u "$with_freetype"` + else + as_fn_error $? "You cannot have spaces in the path to freetype! \"$with_freetype\"" "$LINENO" 5 + fi + fi + + FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype" + if test "x$HOST_OS" = xwindows; then + FREETYPE2_LIBS="$with_freetype/lib/freetype.lib" + fi + FREETYPE2_LIB_PATH="$with_freetype/lib" + FREETYPE2_CFLAGS="-I$with_freetype/include" + if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then + FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include" + fi + FREETYPE2_FOUND=yes + if test "x$FREETYPE2_FOUND" = xyes; then + # Verify that the directories exist + if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then + as_fn_error $? "Could not find the expected directories $with_freetype/lib and $with_freetype/include" "$LINENO" 5 + fi + # List the contents of the lib. + FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null` + if test "x$FREETYPELIB" = x; then + as_fn_error $? "Could not find libfreetype.se nor freetype.dll in $with_freetype/lib" "$LINENO" 5 + fi + # Check one h-file + if ! test -s "$with_freetype/include/ft2build.h"; then + as_fn_error $? "Could not find $with_freetype/include/ft2build.h" "$LINENO" 5 + fi + fi + fi + if test "x$FREETYPE2_FOUND" = xno; then + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_freetype2_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_freetype2_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The freetype2 comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_freetype2} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for freetype2" >&5 +$as_echo "$as_me: Using builddeps $resource for freetype2" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# freetype2 is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency freetype2 from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency freetype2 from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/freetype2.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_freetype2_ROOT} + thecflags=${builddep_freetype2_CFLAGS} + thelibs=${builddep_freetype2_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency freetype2" "$LINENO" 5 + fi + FREETYPE2=$depdir + if test "x$theroot" != x; then + FREETYPE2="$theroot" + fi + if test "x$thecflags" != x; then + FREETYPE2_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + FREETYPE2_LIBS="$thelibs" + fi + FREETYPE2_FOUND=yes + else FREETYPE2_FOUND=no + + fi + else FREETYPE2_FOUND=no + + fi + + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE2" >&5 +$as_echo_n "checking for FREETYPE2... " >&6; } + +if test -n "$FREETYPE2_CFLAGS"; then + pkg_cv_FREETYPE2_CFLAGS="$FREETYPE2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$FREETYPE2_LIBS"; then + pkg_cv_FREETYPE2_LIBS="$FREETYPE2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_FREETYPE2_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + FREETYPE2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "freetype2" 2>&1` + else + FREETYPE2_PKG_ERRORS=`$PKG_CONFIG --print-errors "freetype2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$FREETYPE2_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + FREETYPE2_FOUND=no +elif test $pkg_failed = untried; then + FREETYPE2_FOUND=no +else + FREETYPE2_CFLAGS=$pkg_cv_FREETYPE2_CFLAGS + FREETYPE2_LIBS=$pkg_cv_FREETYPE2_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + FREETYPE2_FOUND=yes +fi + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype in some standard locations" >&5 +$as_echo_n "checking for freetype in some standard locations... " >&6; } + + if test -s /usr/X11/include/ft2build.h && test -d /usr/X11/include/freetype2/freetype; then + DEFAULT_FREETYPE_CFLAGS="-I/usr/X11/include/freetype2 -I/usr/X11/include" + DEFAULT_FREETYPE_LIBS="-L/usr/X11/lib -lfreetype" + fi + if test -s /usr/include/ft2build.h && test -d /usr/include/freetype2/freetype; then + DEFAULT_FREETYPE_CFLAGS="-I/usr/include/freetype2" + DEFAULT_FREETYPE_LIBS="-lfreetype" + fi + + PREV_CXXCFLAGS="$CXXFLAGS" + PREV_LDFLAGS="$LDFLAGS" + CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS" + LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include FT_FREETYPE_H + int main() { return 0; } + +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + # Yes, the default cflags and libs did the trick. + FREETYPE2_FOUND=yes + FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS" + FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS" + +else + + FREETYPE2_FOUND=no + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CXXCFLAGS="$PREV_CXXFLAGS" + LDFLAGS="$PREV_LDFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FREETYPE2_FOUND" >&5 +$as_echo "$FREETYPE2_FOUND" >&6; } + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + help_on_build_dependency freetype2 + as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5 + fi +fi + + + + + + +############################################################################### +# +# Check for alsa headers and libraries. Used on Linux/GNU systems. +# + +# Check whether --with-alsa was given. +if test "${with_alsa+set}" = set; then : + withval=$with_alsa; +fi + + +# Check whether --with-alsa-include was given. +if test "${with_alsa_include+set}" = set; then : + withval=$with_alsa_include; +fi + + +# Check whether --with-alsa-lib was given. +if test "${with_alsa_lib+set}" = set; then : + withval=$with_alsa_lib; +fi + + +if test "x$ALSA_NOT_NEEDED" = xyes; then + if test "x$with_alsa" != x || test "x$with_alsa-include" != x || test "x$with_alsa-lib" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: alsa not used, so --with-alsa is ignored" >&5 +$as_echo "$as_me: WARNING: alsa not used, so --with-alsa is ignored" >&2;} + fi + ALSA_CFLAGS= + ALSA_LIBS= +else + ALSA_FOUND=no + + if test "x$with_alsa" = xno || test "x$with_alsa-include" = xno || test "x$with_alsa-lib" = xno; then + as_fn_error $? "It is not possible to disable the use of alsa. Remove the --without-alsa option." "$LINENO" 5 + fi + + if test "x$with_alsa" != x; then + ALSA_LIBS="-L$with_alsa/lib -lalsa" + ALSA_CFLAGS="-I$with_alsa/include" + ALSA_FOUND=yes + fi + if test "x$with_alsa-include" != x; then + ALSA_CFLAGS="-I$with_alsa/include" + ALSA_FOUND=yes + fi + if test "x$with_alsa-lib" != x; then + ALSA_LIBS="-L$with_alsa/lib -lalsa" + ALSA_FOUND=yes + fi + if test "x$ALSA_FOUND" = xno; then + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_alsa_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_alsa_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The alsa comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_alsa} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for alsa" >&5 +$as_echo "$as_me: Using builddeps $resource for alsa" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# alsa is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency alsa from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency alsa from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/alsa.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_alsa_ROOT} + thecflags=${builddep_alsa_CFLAGS} + thelibs=${builddep_alsa_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency alsa" "$LINENO" 5 + fi + ALSA=$depdir + if test "x$theroot" != x; then + ALSA="$theroot" + fi + if test "x$thecflags" != x; then + ALSA_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + ALSA_LIBS="$thelibs" + fi + ALSA_FOUND=yes + else ALSA_FOUND=no + + fi + else ALSA_FOUND=no + + fi + + fi + if test "x$ALSA_FOUND" = xno; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ALSA" >&5 +$as_echo_n "checking for ALSA... " >&6; } + +if test -n "$ALSA_CFLAGS"; then + pkg_cv_ALSA_CFLAGS="$ALSA_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"alsa\""; } >&5 + ($PKG_CONFIG --exists --print-errors "alsa") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_ALSA_CFLAGS=`$PKG_CONFIG --cflags "alsa" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$ALSA_LIBS"; then + pkg_cv_ALSA_LIBS="$ALSA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"alsa\""; } >&5 + ($PKG_CONFIG --exists --print-errors "alsa") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_ALSA_LIBS=`$PKG_CONFIG --libs "alsa" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "alsa" 2>&1` + else + ALSA_PKG_ERRORS=`$PKG_CONFIG --print-errors "alsa" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$ALSA_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ALSA_FOUND=no +elif test $pkg_failed = untried; then + ALSA_FOUND=no +else + ALSA_CFLAGS=$pkg_cv_ALSA_CFLAGS + ALSA_LIBS=$pkg_cv_ALSA_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ALSA_FOUND=yes +fi + fi + if test "x$ALSA_FOUND" = xno; then + for ac_header in alsa/asoundlib.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default" +if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_ALSA_ASOUNDLIB_H 1 +_ACEOF + ALSA_FOUND=yes + ALSA_CFLAGS=-Iignoreme + ALSA_LIBS=-lasound + DEFAULT_ALSA=yes +else + ALSA_FOUND=no +fi + +done + + fi + if test "x$ALSA_FOUND" = xno; then + help_on_build_dependency alsa + as_fn_error $? "Could not find alsa! $HELP_MSG " "$LINENO" 5 + fi +fi + + + + +############################################################################### +# +# Check for pulse audio headers and libraries. +# +PULSE_FOUND=no + +# Check whether --with-pulse was given. +if test "${with_pulse+set}" = set; then : + withval=$with_pulse; +fi + + +# Check whether --with-pulse-include was given. +if test "${with_pulse_include+set}" = set; then : + withval=$with_pulse_include; +fi + + +# Check whether --with-pulse-lib was given. +if test "${with_pulse_lib+set}" = set; then : + withval=$with_pulse_lib; +fi + + +if test "x$with_pulse" != x; then + PULSE_LIBS="-L$with_pulse/lib -lfreetype" + PULSE_CFLAGS="-I$with_pulse/include" + PULSE_FOUND=yes +fi +if test "x$with_pulse-include" != x; then + PULSE_CFLAGS="-I$with_pulse/include" + PULSE_FOUND=yes +fi +if test "x$with_pulse-lib" != x; then + PULSE_LIBS="-L$with_pulse/lib -lfreetype" + PULSE_FOUND=yes +fi +if test "x$PULSE_FOUND" = xno; then + + + if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then + # Source the builddeps file again, to make sure it uses the latest variables! + . $builddepsfile + # Look for a host and build machine specific resource! + eval resource=\${builddep_pulse_BUILD_${rewritten_build_var}_HOST_${rewritten_host_var}} + if test "x$resource" = x; then + # Ok, lets instead look for a host specific resource + eval resource=\${builddep_pulse_HOST_${rewritten_host_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a build specific resource + eval resource=\${builddep_pulse_BUILD_${rewritten_build_var}} + fi + if test "x$resource" = x; then + # Ok, lets instead look for a generic resource + # (The pulse comes from M4 and not the shell, thus no need for eval here.) + resource=${builddep_pulse} + fi + if test "x$resource" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using builddeps $resource for pulse" >&5 +$as_echo "$as_me: Using builddeps $resource for pulse" >&6;} + # If the resource in the builddeps.conf file is an existing directory, + # for example /java/linux/cups + if test -d ${resource}; then + depdir=${resource} + else + +# pulse is for example mymodule +# $resource is for example libs/general/libmymod_1_2_3.zip +# $with_builddeps_server is for example ftp://mybuilddeps.myserver.com/builddeps +# $with_builddeps_dir is for example /localhome/builddeps +# depdir is the name of the variable into which we store the depdir, eg MYMOD +# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and +# unzip into the directory: /localhome/builddeps/libmymod_1_2_3 + filename=`basename $resource` + filebase=`echo $filename | sed 's/\.[^\.]*$//'` + filebase=${filename%%.*} + extension=${filename#*.} + installdir=$with_builddeps_dir/$filebase + if test ! -f $installdir/$filename.unpacked; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Downloading build dependency pulse from $with_builddeps_server/$resource and installing into $installdir" >&5 +$as_echo "$as_me: Downloading build dependency pulse from $with_builddeps_server/$resource and installing into $installdir" >&6;} + if test ! -d $installdir; then + mkdir -p $installdir + fi + if test ! -d $installdir; then + as_fn_error $? "Could not create directory $installdir" "$LINENO" 5 + fi + tmpfile=`mktemp $installdir/pulse.XXXXXXXXX` + touch $tmpfile + if test ! -f $tmpfile; then + as_fn_error $? "Could not create files in directory $installdir" "$LINENO" 5 + fi + + # $with_builddeps_server/$resource is the ftp://abuilddeps.server.com/libs/cups.zip + # $tmpfile is the local file name for the downloaded file. + VALID_TOOL=no + if test "x$BDEPS_FTP" = xwget; then + VALID_TOOL=yes + wget -O $tmpfile $with_builddeps_server/$resource + fi + if test "x$BDEPS_FTP" = xlftp; then + VALID_TOOL=yes + lftp -c "get $with_builddeps_server/$resource -o $tmpfile" + fi + if test "x$BDEPS_FTP" = xftp; then + VALID_TOOL=yes + FTPSERVER=`echo $with_builddeps_server/$resource | cut -f 3 -d '/'` + FTPPATH=`echo $with_builddeps_server/$resource | cut -f 4- -d '/'` + FTPUSERPWD=${FTPSERVER%%@*} + if test "x$FTPSERVER" != "x$FTPUSERPWD"; then + FTPUSER=${userpwd%%:*} + FTPPWD=${userpwd#*@} + FTPSERVER=${FTPSERVER#*@} + else + FTPUSER=ftp + FTPPWD=ftp + fi + # the "pass" command does not work on some + # ftp clients (read ftp.exe) but if it works, + # passive mode is better! + (\ + echo "user $FTPUSER $FTPPWD" ;\ + echo "pass" ;\ + echo "bin" ;\ + echo "get $FTPPATH $tmpfile" ;\ + ) | ftp -in $FTPSERVER + fi + if test "x$VALID_TOOL" != xyes; then + as_fn_error $? "I do not know how to use the tool: $BDEPS_FTP" "$LINENO" 5 + fi + + mv $tmpfile $installdir/$filename + if test ! -s $installdir/$filename; then + as_fn_error $? "Could not download $with_builddeps_server/$resource" "$LINENO" 5 + fi + case "$extension" in + zip) echo "Unzipping $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked) + ;; + tar.gz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + tgz) echo "Untaring $installdir/$filename..." + (cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked) + ;; + *) as_fn_error $? "Cannot handle build depency archive with extension $extension" "$LINENO" 5 + ;; + esac + fi + if test -f $installdir/$filename.unpacked; then + depdir=$installdir + fi + + fi + # Source the builddeps file again, because in the previous command, the depdir + # was updated to point at the current build dependency install directory. + . $builddepsfile + # Now extract variables from the builddeps.conf files. + theroot=${builddep_pulse_ROOT} + thecflags=${builddep_pulse_CFLAGS} + thelibs=${builddep_pulse_LIBS} + if test "x$depdir" = x; then + as_fn_error $? "Could not download build dependency pulse" "$LINENO" 5 + fi + PULSE=$depdir + if test "x$theroot" != x; then + PULSE="$theroot" + fi + if test "x$thecflags" != x; then + PULSE_CFLAGS="$thecflags" + fi + if test "x$thelibs" != x; then + PULSE_LIBS="$thelibs" + fi + PULSE_FOUND=yes + else PULSE_FOUND=no + + fi + else PULSE_FOUND=no + + fi + +fi +if test "x$PULSE_FOUND" = xno; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBPULSE" >&5 +$as_echo_n "checking for LIBPULSE... " >&6; } + +if test -n "$LIBPULSE_CFLAGS"; then + pkg_cv_LIBPULSE_CFLAGS="$LIBPULSE_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpulse >= 0.9.11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libpulse >= 0.9.11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBPULSE_CFLAGS=`$PKG_CONFIG --cflags "libpulse >= 0.9.11" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBPULSE_LIBS"; then + pkg_cv_LIBPULSE_LIBS="$LIBPULSE_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpulse >= 0.9.11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libpulse >= 0.9.11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBPULSE_LIBS=`$PKG_CONFIG --libs "libpulse >= 0.9.11" 2>/dev/null` +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBPULSE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpulse >= 0.9.11" 2>&1` + else + LIBPULSE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpulse >= 0.9.11" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBPULSE_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PULSE_FOUND=no +elif test $pkg_failed = untried; then + PULSE_FOUND=no +else + LIBPULSE_CFLAGS=$pkg_cv_LIBPULSE_CFLAGS + LIBPULSE_LIBS=$pkg_cv_LIBPULSE_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + PULSE_FOUND=yes +fi +fi +if test "x$PULSE_FOUND" = xno; then + for ac_header in pulse/pulseaudio.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "pulse/pulseaudio.h" "ac_cv_header_pulse_pulseaudio_h" "$ac_includes_default" +if test "x$ac_cv_header_pulse_pulseaudio_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PULSE_PULSEAUDIO_H 1 +_ACEOF + PULSE_FOUND=yes + PULSE_CFLAGS=-Iignoreme + PULSE_LIBS= + DEFAULT_PULSE=yes +else + PULSE_FOUND=no +fi + +done + +fi + +if test "x$PULSE_FOUND" = xno && test "x$PULSE_NOT_NEEDED" != xyes; then + help_on_build_dependency pulse + as_fn_error $? "Could not find pulse audio libraries. $HELP_MSG " "$LINENO" 5 +fi + + + + +############################################################################### +# +# Check for the jpeg library +# + +USE_EXTERNAL_LIBJPEG=true +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5 +$as_echo_n "checking for main in -ljpeg... " >&6; } +if test "${ac_cv_lib_jpeg_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ljpeg $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_jpeg_main=yes +else + ac_cv_lib_jpeg_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5 +$as_echo "$ac_cv_lib_jpeg_main" >&6; } +if test "x$ac_cv_lib_jpeg_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBJPEG 1 +_ACEOF + + LIBS="-ljpeg $LIBS" + +else + USE_EXTERNAL_LIBJPEG=false + { $as_echo "$as_me:${as_lineno-$LINENO}: Will use jpeg decoder bundled with the OpenJDK source" >&5 +$as_echo "$as_me: Will use jpeg decoder bundled with the OpenJDK source" >&6;} + +fi + + + +############################################################################### +# +# Check for the gif library +# + +USE_EXTERNAL_LIBJPEG=true +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgif" >&5 +$as_echo_n "checking for main in -lgif... " >&6; } +if test "${ac_cv_lib_gif_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgif $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_gif_main=yes +else + ac_cv_lib_gif_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_main" >&5 +$as_echo "$ac_cv_lib_gif_main" >&6; } +if test "x$ac_cv_lib_gif_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGIF 1 +_ACEOF + + LIBS="-lgif $LIBS" + +else + USE_EXTERNAL_LIBGIF=false + { $as_echo "$as_me:${as_lineno-$LINENO}: Will use gif decoder bundled with the OpenJDK source" >&5 +$as_echo "$as_me: Will use gif decoder bundled with the OpenJDK source" >&6;} + +fi + + + +############################################################################### +# +# Check for the zlib library +# + +USE_EXTERNAL_LIBZ=true +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lz" >&5 +$as_echo_n "checking for main in -lz... " >&6; } +if test "${ac_cv_lib_z_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_z_main=yes +else + ac_cv_lib_z_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_main" >&5 +$as_echo "$ac_cv_lib_z_main" >&6; } +if test "x$ac_cv_lib_z_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + USE_EXTERNAL_LIBZ=false + { $as_echo "$as_me:${as_lineno-$LINENO}: Will use zlib bundled with the OpenJDK source" >&5 +$as_echo "$as_me: Will use zlib bundled with the OpenJDK source" >&6;} + +fi + + + +############################################################################### +# +# Check if altzone exists in time.h +# + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +return (int)altzone; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + has_altzone=yes +else + has_altzone=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "x$has_altzone" = xyes; then + +$as_echo "#define HAVE_ALTZONE 1" >>confdefs.h + +fi + +############################################################################### +# +# Check the maths library +# + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lm" >&5 +$as_echo_n "checking for main in -lm... " >&6; } +if test "${ac_cv_lib_m_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_m_main=yes +else + ac_cv_lib_m_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_main" >&5 +$as_echo "$ac_cv_lib_m_main" >&6; } +if test "x$ac_cv_lib_m_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: Maths library was not found" >&5 +$as_echo "$as_me: Maths library was not found" >&6;} + +fi + + + +############################################################################### +# +# Should we run the painfully slow javadoc tool? +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build documentation" >&5 +$as_echo_n "checking whether to build documentation... " >&6; } +# Check whether --enable-docs was given. +if test "${enable_docs+set}" = set; then : + enableval=$enable_docs; ENABLE_DOCS="${enableval}" +else + ENABLE_DOCS='no' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_DOCS" >&5 +$as_echo "$ENABLE_DOCS" >&6; } + +GENERATE_DOCS=false +if test "x$ENABLE_DOCS" = xyes; then + GENERATE_DOCS=true +fi + + +############################################################################### +# +# Should we compile nimbus swing L&F? We can probably remove this option +# since nimbus is officially part of javax now. +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build nimbus L&F" >&5 +$as_echo_n "checking whether to build nimbus L&F... " >&6; } +# Check whether --enable-nimbus was given. +if test "${enable_nimbus+set}" = set; then : + enableval=$enable_nimbus; ENABLE_NIMBUS="${enableval}" +else + ENABLE_NIMBUS='yes' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_NIMBUS" >&5 +$as_echo "$ENABLE_NIMBUS" >&6; } +DISABLE_NIMBUS= +if test "x$ENABLE_NIMBUS" = xno; then + DISABLE_NIMBUS=true +fi + + +############################################################################### +# +# Setup the opt flags for different compilers +# and different operating systems. +# +case $COMPILER_TYPE in + CC ) + D_FLAG="-g" + case $COMPILER_NAME in + gcc ) + case $PLATFORM in + macosx ) + # On MacOSX we optimize for size, something + # we should do for all platforms? + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-Os" + C_O_FLAG_NONE="-O0" + ;; + *) + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-O2" + C_O_FLAG_NONE="-O0" + ;; + esac + CXX_O_FLAG_HI="$C_O_FLAG_HI" + CXX_O_FLAG_NORM="$C_O_FLAG_NORM" + CXX_O_FLAG_NONE="$C_O_FLAG_NONE" + ;; + ossc ) + case $LEGACY_HOST_CPU1 in + i586) + C_O_FLAG_HI="-xO4 -Wu,-O4~yz" + C_O_FLAG_NORM="-xO2 -Wu,-O2~yz" + C_O_FLAG_NONE="" + CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz" + CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz" + CXX_O_FLAG_NONE="" + ;; + sparc) + C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0" + C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0" + C_O_FLAG_NONE="" + CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0" + CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0" + CXX_O_FLAG_NONE="" + ;; + esac + esac + ;; + CL ) + D_FLAG= + C_O_FLAG_HI="-O2" + C_O_FLAG_NORM="-O1" + C_O_FLAG_NONE="-Od" + CXX_O_FLAG_HI="$C_O_FLAG_HI" + CXX_O_FLAG_NORM="$C_O_FLAG_NORM" + CXX_O_FLAG_NONE="$C_O_FLAG_NONE" + ;; +esac + + + + + + + + +############################################################################### +# +# Setup legacy vars/targets and new vars to deal with different debug levels. +# +case $DEBUG_LEVEL in + release ) + HOTSPOT_DEBUG_LEVEL="product" + HOTSPOT_EXPORT="product" + ;; + fastdebug ) + HOTSPOT_DEBUG_LEVEL="fastdebug" + HOTSPOT_EXPORT="fastdebug" + CFLAGS="$CFLAGS $D_FLAG" + JAVAC_FLAGS="$JAVAC_FLAGS -g" + ;; + slowdebug ) + HOTSPOT_DEBUG_LEVEL="jvmg" + HOTSPOT_EXPORT="debug" + CFLAGS="$CFLAGS $D_FLAG" + C_O_FLAG_HI="$C_O_FLAG_NONE" + C_O_FLAG_NORM="$C_O_FLAG_NONE" + CXX_O_FLAG_HI="$CXX_O_FLAG_NONE" + CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE" + JAVAC_FLAGS="$JAVAC_FLAGS -g" + ;; +esac + +############################################################################### +# +# Generate the legacy makefile targets for hotspot. +# The hotspot api for selecting the build artifacts, really, needs to be improved. +# +HOTSPOT_TARGET="" + +if test "x$JVM_VARIANT_SERVER" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} " +fi + +if test "x$JVM_VARIANT_CLIENT" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 " +fi + +if test "x$JVM_VARIANT_KERNEL" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel " +fi + +if test "x$JVM_VARIANT_ZERO" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero " +fi + +if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " +fi + +HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" + +############################################################################### +# +# Setup all directories for the subrepoes and the arguments to the sub makes. +# +LANGTOOLS_OUTPUTDIR="$OUTPUT_ROOT/langtools" +LANGTOOLS_DIST="$OUTPUT_ROOT/langtools/dist" +LANGTOOLS_MAKE_ARGS="" + + + + +CORBA_OUTPUTDIR="$OUTPUT_ROOT/corba" +CORBA_DIST="$OUTPUT_ROOT/corba/dist" +CORBA_MAKE_ARGS="" + + + + +JAXP_OUTPUTDIR="$OUTPUT_ROOT/jaxp" +JAXP_DIST="$OUTPUT_ROOT/jaxp/dist" +JAXP_MAKE_ARGS="" + + + + +JAXWS_OUTPUTDIR="$OUTPUT_ROOT/jaxws" +JAXWS_DIST="$OUTPUT_ROOT/jaxws/dist" +JAXWS_MAKE_ARGS="" + + + + +HOTSPOT_OUTPUTDIR="$OUTPUT_ROOT/hotspot" +HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist" +HOTSPOT_MAKE_ARGS="ALT_OUTPUTDIR=$HOTSPOT_OUTPUTDIR ALT_EXPORT_PATH=$HOTSPOT_DIST $HOTSPOT_TARGET" + + + + +JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk" +JDK_MAKE_ARGS="ALT_OUTPUTDIR=\"$OUTPUT_ROOT/jdk\"" + + + +IMAGES_OUTPUTDIR=$OUTPUT_ROOT/images +IMAGES_MAKE_ARGS="ALT_OUTPUTDIR=$OUTPUT_ROOT/jdk \ + SHARE_SRC=$JDK_TOPDIR/src/share \ + PLATFORM_SRC=$JDK_TOPDIR/src/$LEGACY_HOST_OS_API \ + TEMPDIR=$IMAGES_OUTPUTDIR/tmp \ + ABS_TEMPDIR=$IMAGES_OUTPUTDIR/tmp " + + + +############################################################################### +# +# Now setup the CFLAGS and LDFLAGS for the JDK build. +# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build. +# +case $COMPILER_NAME in + gcc ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer \ + -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" + CFLAGS_JDK="$CFLAGS_JDK -fno-strict-aliasing" + ;; + ossc ) + CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa REQUIRED -v -mt -norunpath -xnolib" + CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt REQUIRED -features=no%except -DCC_NOEX" + ;; + cl ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ + -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \ + -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \ + -DWIN32 -DIAL" + case $LEGACY_HOST_CPU1 in + i?86 ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86" + ;; + amd64 ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64" + ;; + esac + ;; +esac + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" + +# The package path is used only on macosx? +PACKAGE_PATH=/opt/local + + +# Sometimes we use a cpu dir (.../lib/amd64/server) +# Sometimes not (.../lib/server) +LIBARCHDIR="$LEGACY_HOST_CPU2/" +if test "x$ENDIAN" = xlittle; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" +else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" +fi +if test "x$HOST_OS" = xlinux; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" +fi +if test "x$HOST_OS" = xwindows; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS" +fi +if test "x$HOST_OS" = xsolaris; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS" +fi +if test "x$HOST_OS" = xmacosx; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE" + LIBARCHDIR="" +fi +if test "x$HOST_OS" = xbsd; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" +fi +if test "x$DEBUG_LEVEL" = xrelease; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG" +else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG" +fi + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$LEGACY_HOST_CPU1\"' -D$LEGACY_HOST_CPU1" +CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'" + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK \ + -I${JDK_OUTPUTDIR}/include \ + -I${JDK_OUTPUTDIR}/include/$PLATFORM \ + -I${JDK_TOPDIR}/src/share/javavm/export \ + -I${JDK_TOPDIR}/src/$LEGACY_HOST_OS_API/javavm/export \ + -I${JDK_TOPDIR}/src/share/native/common \ + -I${JDK_TOPDIR}/src/$LEGACY_HOST_OS_API/native/common" + +# The shared libraries are compiled using the picflag. +CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" +CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG" + +# Executable flags +CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" +CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" + +# Now this is odd. The JDK native libraries have to link against libjvm.so +# On 32-bit machines there is normally two distinct libjvm.so:s, client and server. +# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library +# is identical for client and server? Yes. Which is picked at runtime (client or server)? +# Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following +# libraries will link to whatever is in memory. Yuck. +# +# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh. +if test "x$COMPILER_TYPE" = xCL; then + LDFLAGS_JDKLIB="$LDFLAGS -libpath:${JDK_OUTPUTDIR}/lib jvm.lib java.lib" + LDFLAGS_JDKLIB_SUFFIX="" + if test "x$HOST_CPU_BITS" = "x64"; then + LDFLAGS_JDKEXE="$CFLAGS ${JDK_OUTPUTDIR}/tmp/java/jli/obj64/jli.lib" + else + LDFLAGS_JDKEXE="$CFLAGS ${JDK_OUTPUTDIR}/tmp/java/jli/obj/jli.lib" + fi + LDFLAGS_JDKEXE_SUFFIX="" +else + # If this is a --hash-style=gnu system, use --hash-style=both, why? + HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'` + if test -n "$HAS_GNU_HASH"; then + # And since we now know that the linker is gnu, then add -z defs, to forbid + # undefined symbols in object files. + LDFLAGS="$LDFLAGS -Xlinker --hash-style=both -Xlinker -z -Xlinker defs" + if test "x$DEBUG_LEVEL" == "xrelease"; then + # When building release libraries, tell the linker optimize them. + # Should this be supplied to the OSS linker as well? + LDFLAGS="$LDFLAGS -Xlinker -O1" + fi + fi + + LDFLAGS_JDKLIB="$LDFLAGS $SHARED_LIBRARY_FLAGS -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}server \ + -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}client \ + -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}" + LDFLAGS_JDKLIB_SUFFIX="-ljvm -ljava" + if test "x$COMPILER_NAME" = xossc; then + LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc" + fi + + # Only the jli library is explicitly linked when the launchers are built. + # The libjvm is then dynamically loaded/linked by the launcher. + LDFLAGS_JDKEXE="$LDFLAGS -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}jli" + LDFLAGS_JDKEXE_SUFFIX="-ljli" +fi + + + + + + + + + + + + + + +############################################################################### +# +# statically link libstdc++ before C++ ABI is stablized on Linux unless +# dynamic build is configured on command line. +# +# Check whether --enable-static-link-stdc++ was given. +if test "${enable_static_link_stdc__+set}" = set; then : + enableval=$enable_static_link_stdc__; +else + + enable_static_link_stdc__=yes + +fi + + +if test "x$HOST_OS" = xlinux; then + # Test if -lstdc++ works. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if dynamic link of stdc++ is possible" >&5 +$as_echo_n "checking if dynamic link of stdc++ is possible... " >&6; } + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + OLD_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -lstdc++" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + has_dynamic_libstdcxx=yes +else + has_dynamic_libstdcxx=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CXXFLAGS="$OLD_CXXFLAGS" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_dynamic_libstdcxx" >&5 +$as_echo "$has_dynamic_libstdcxx" >&6; } + + # Test if stdc++ can be linked statically. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if static link of stdc++ is possible" >&5 +$as_echo_n "checking if static link of stdc++ is possible... " >&6; } + STATIC_STDCXX_FLAGS="-Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + OLD_LIBS="$LIBS" + OLD_CXX="$CXX" + LIBS="$STATIC_STDCXX_FLAGS" + CXX="$CC" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + has_static_libstdcxx=yes +else + has_static_libstdcxx=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$OLD_LIBS" + CXX="$OLD_CXX" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_static_libstdcxx" >&5 +$as_echo "$has_static_libstdcxx" >&6; } + + if test "x$has_static_libcxx" = xno && test "x$has_dynamic_libcxx" = xno; then + as_fn_error $? "I cannot link to stdc++! Neither dynamically nor statically." "$LINENO" 5 + fi + + if test "x$enable_static_link_stdc__" = xyes && test "x$has_static_libstdcxx" = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Static linking of libstdc++ was not possible reverting to dynamic linking." >&5 +$as_echo "$as_me: Static linking of libstdc++ was not possible reverting to dynamic linking." >&6;} + enable_static_link_stdc__=no + fi + + if test "x$enable_static_link_stdc__" = xno && test "x$has_dynamic_libstdcxx" = xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Dynamic linking of libstdc++ was not possible reverting to static linking." >&5 +$as_echo "$as_me: Dynamic linking of libstdc++ was not possible reverting to static linking." >&6;} + enable_static_link_stdc__=yes + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libstdc++" >&5 +$as_echo_n "checking how to link with libstdc++... " >&6; } + if test "x$enable_static_link_stdc__" = xyes; then + LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS" + LDCXX="$CC" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: static" >&5 +$as_echo "static" >&6; } + else + LIBCXX="$LIBCXX -lstdc++" + LDCXX="$CXX" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: dynamic" >&5 +$as_echo "dynamic" >&6; } + fi +fi + +############################################################################### +# +# Could someone enlighten this configure script with a comment about libCrun? +# The LEGACY_HOST_CPU3 is the setting for ISA_DIR. +# +if test "x$HOST_OS" = xsolaris; then + LIBCXX="$LIBCXX /usr/lib${LEGACY_HOST_CPU3}/libCrun.so.1" +fi + + + +############################################################################### +# +# Misc +# + +# Control wether Hotspot runs Queens test after build. +# Check whether --enable-hotspot-test-in-build was given. +if test "${enable_hotspot_test_in_build+set}" = set; then : + enableval=$enable_hotspot_test_in_build; +else + enable_hotspot_test_in_build=no +fi + +if test "x$enable_hotspot_test_in_build" = "xyes"; then + TEST_IN_BUILD=true +else + TEST_IN_BUILD=false +fi + + +############################################################################### +# +# A helpful message at the end of the configure run. +# +if test "x$CCACHE_FOUND" = x && test "x$GCC" = xyes; then + help_on_build_dependency ccache + + printf "\nTip of the day:\nYou should really install ccache version 3.1.4 or newer.\n" + printf "It gives a tremendous speedup for C++ recompilations with precompiled headers!\n" +fi + +if test "x$CCACHE_FOUND" != x && test "x$HAS_GOOD_CCACHE" = x; then + printf "You have a ccache installed, but it is a version prior to 3.1.4. Try upgrading.\n" +fi + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by openjdk $as_me version-0.1, which was +generated by GNU Autoconf 2.67. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +openjdk config.status version-0.1 +configured by $0, generated by GNU Autoconf 2.67, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "$OUTPUT_ROOT/config.h") CONFIG_HEADERS="$CONFIG_HEADERS $OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in" ;; + "$OUTPUT_ROOT/spec.gmk") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in" ;; + "$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/configure.ac 2012-04-04 16:38:57.986850474 +0200 @@ -0,0 +1,2651 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +AC_PREREQ([2.61]) +AC_INIT(openjdk, version-0.1, build-infra-dev@openjdk.java.net) + +AC_CONFIG_AUX_DIR([build-aux]) + +m4_include([build-aux/pkg.m4]) +m4_include([builddeps.m4]) +m4_include([platform.m4]) +m4_include([cores.m4]) +m4_include([help.m4]) + +# Save the command line. Do this very early, before it is lost by calling autoconf macros. +CONFIGURE_COMMAND_LINE="$@" +AC_SUBST(CONFIGURE_COMMAND_LINE) + +# Locate the directory of this script. +SCRIPT="[$]0" +REMOVE_SYMBOLIC_LINKS(SCRIPT) +AUTOCONF_DIR=`dirname [$]0` + +# Start with tools that do not need have cross compilation support +# and can be expected to be found in the default PATH. These tools are +# used by configure. Nor are these tools expected to be found in the +# devkit from the builddeps server either, since they are +# needed to download the devkit. +AC_PROG_AWK +CHECK_NONEMPTY(AWK) +AC_PATH_PROG(CAT, cat) +CHECK_NONEMPTY(CAT) +AC_PATH_PROG(CHMOD, chmod) +CHECK_NONEMPTY(CHMOD) +AC_PATH_PROG(CP, cp) +CHECK_NONEMPTY(CP) +AC_PATH_PROG(CPIO, cpio) +CHECK_NONEMPTY(CPIO) +AC_PATH_PROG(CUT, cut) +CHECK_NONEMPTY(CUT) +AC_PATH_PROG(DATE, date) +CHECK_NONEMPTY(DATE) +AC_PATH_PROG(DF, df) +CHECK_NONEMPTY(DF) +AC_PATH_PROG(DIFF, diff) +CHECK_NONEMPTY(DIFF) +# Warning echo is really, really unportable!!!!! Different +# behaviour in bash and dash and in a lot of other shells! +# Use printf for serious work! +AC_PATH_PROG(ECHO, echo) +CHECK_NONEMPTY(ECHO) +AC_PROG_EGREP +CHECK_NONEMPTY(EGREP) +AC_PROG_FGREP +CHECK_NONEMPTY(FGREP) + +AC_PATH_PROG(FIND, find) +CHECK_NONEMPTY(FIND) +CHECK_FIND_DELETE +AC_SUBST(FIND_DELETE) + +AC_PROG_GREP +CHECK_NONEMPTY(GREP) +AC_PATH_PROG(HEAD, head) +CHECK_NONEMPTY(HEAD) +AC_PATH_PROG(LN, ln) +CHECK_NONEMPTY(LN) +AC_PATH_PROG(LS, ls) +CHECK_NONEMPTY(LS) +AC_PATH_PROGS(MAKE, [gmake make]) +CHECK_NONEMPTY(MAKE) +MAKE_VERSION=`$MAKE --version | head -n 1 | grep '3.8[[12346789]]'` +if test "x$MAKE_VERSION" = x; then + AC_ERROR([You must use GNU make 3.81 or newer! Please put it in the path.]) +fi +AC_PATH_PROG(MKDIR, mkdir) +CHECK_NONEMPTY(MKDIR) +AC_PATH_PROG(MV, mv) +CHECK_NONEMPTY(MV) +AC_PATH_PROGS(NAWK, [nawk gawk awk]) +CHECK_NONEMPTY(NAWK) +AC_PATH_PROG(PRINTF, printf) +CHECK_NONEMPTY(PRINTF) +AC_PATH_PROG(THEPWDCMD, pwd) +AC_PATH_PROG(RM, rm) +CHECK_NONEMPTY(RM) +RM="$RM -f" +AC_PROG_SED +CHECK_NONEMPTY(SED) +AC_PATH_PROG(SH, sh) +CHECK_NONEMPTY(SH) +AC_PATH_PROG(SORT, sort) +CHECK_NONEMPTY(SORT) +AC_PATH_PROG(TAR, tar) +CHECK_NONEMPTY(TAR) +AC_PATH_PROG(TAIL, tail) +CHECK_NONEMPTY(TAIL) +AC_PATH_PROG(TEE, tee) +CHECK_NONEMPTY(TEE) +AC_PATH_PROG(TR, tr) +CHECK_NONEMPTY(TR) +AC_PATH_PROG(TOUCH, touch) +CHECK_NONEMPTY(TOUCH) +AC_PATH_PROG(WC, wc) +CHECK_NONEMPTY(WC) +AC_PATH_PROG(XARGS, xargs) +CHECK_NONEMPTY(XARGS) +AC_PATH_PROG(ZIP, zip) +CHECK_NONEMPTY(ZIP) +AC_PATH_PROG(UNZIP, unzip) +CHECK_NONEMPTY(UNZIP) +AC_PATH_PROG(LDD, ldd) +if test "x$LDD" = "x"; then + # List shared lib dependencies is used for + # debug output and checking for forbidden dependencies. + # We can build without it. + LDD="true" +fi +AC_PATH_PROG(OTOOL, otool) +if test "x$OTOOL" = "x"; then + OTOOL="true" +fi +AC_PATH_PROG(READELF, readelf) +AC_PATH_PROG(EXPR, expr) +CHECK_NONEMPTY(EXPR) +AC_PATH_PROG(FILE, file) +CHECK_NONEMPTY(FILE) +# Figure out the build and host system. +AC_CANONICAL_BUILD +AC_CANONICAL_HOST + +AC_ARG_WITH(data-model, [AS_HELP_STRING([--with-data-model], + [build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-data-model=32 @<:@guessed@:>@])]) + +if test "x$with_data_model" != x && \ + test "x$with_data_model" != x32 && \ + test "x$with_data_model" != x64 ; then + AC_ERROR([The data model can only be 32 or 64!]) +fi +# Translate the standard cpu-vendor-kernel-os quadruplets into +# the new HOST_.... and BUILD_... and the legacy names used by +# the openjdk build. +# It uses $host_os $host_cpu $build_os $build_cpu and $with_data_model +EXTRACT_HOST_AND_BUILD_AND_LEGACY_VARS +# Now the following vars are defined. +# HOST_OS=aix,bsd,hpux,linux,macosx,solaris,windows +# HOST_OS_FAMILY=bsd,gnu,sysv,win32,wince +# HOST_OS_API=posix,winapi +# +# HOST_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64 +# HOST_CPU_ARCH=x86,sparc,pcc,arm +# HOST_CPU_BITS=32,64 +# HOST_CPU_ENDIAN=big,little +# +# There is also a: +# LEGACY_HOST_CPU1=i586,amd64,.... # used to set the old var ARCH +# LEGACY_HOST_CPU2=i386,amd64,.... # used to set the old var LIBARCH +# LEGACY_HOST_CPU3=only sparcv9,amd64 # used to set the ISA_DIR on Solaris +# There was also a BUILDARCH that had i486,amd64,... but we do not use that +# in the new build. +# LEGACY_HOST_OS_API=solaris,windows # used to select source roots + +DATE_WHEN_CONFIGURED=`LANG=C date` +AC_SUBST(DATE_WHEN_CONFIGURED) + +# How many cores do we have on this build system? +AC_ARG_WITH(num-cores, [AS_HELP_STRING([--with-num-cores], + [number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])]) +if test "x$with_num_cores" = x; then + # The number of cores were not specified, try to probe them. + CHECK_CORES +else + NUM_CORES=$with_num_cores + CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2` +fi +AC_SUBST(NUM_CORES) +AC_SUBST(CONCURRENT_BUILD_JOBS) + +# How many cores do we have on this build system? +AC_ARG_WITH(memory-size, [AS_HELP_STRING([--with-memory-size], + [memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])]) +if test "x$with_memory_size" = x; then + # The memory size was not specified, try to probe it. + CHECK_MEMORY_SIZE +else + MEMORY_SIZE=$with_memory_size +fi +AC_SUBST(MEMORY_SIZE) + +# Where is the source? It is located two levels above the configure script. +CURDIR="$PWD" +cd "$AUTOCONF_DIR/../.." +SRC_ROOT="`pwd`" +AC_SUBST(SRC_ROOT) +cd "$CURDIR" + +# For cygwin we need cygpath first, since it is used everywhere. +AC_PATH_PROG(CYGPATH, cygpath) +PATH_SEP=":" +if test "x$BUILD_OS" = "xwindows"; then + if test "x$CYGPATH" = x; then + AC_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path]) + fi + PATH_SEP=";" +fi +AC_SUBST(PATH_SEP) + +SPACESAFE(SRC_ROOT,[the path to the source root]) +SPACESAFE(CURDIR,[the path to the current directory]) + +if test "x$BUILD_OS" = "xsolaris"; then + # Also search in /usr/ccs/bin for utilities like ar and as. + PATH="/usr/ccs/bin:$PATH" +fi + +############################################################################### +# +# OpenJDK or closed +# +AC_ARG_ENABLE([openjdk], [AS_HELP_STRING([--enable-openjdk], + [build OpenJDK regardless of the presence of closed repositories @<:@disabled@:>@])],,) + +if test "x$enable_openjdk" = "xyes"; then + OPENJDK=true +elif test "x$enable_openjdk" = "xno"; then + OPENJDK=false +elif test -d "$SRC_ROOT/jdk/src/closed"; then + OPENJDK=false +else + OPENJDK=true +fi + +if test "x$OPENJDK" = "xtrue"; then + SET_OPENJDK=OPENJDK=true +fi + +AC_SUBST(SET_OPENJDK) + +############################################################################### +# +# JIGSAW or not. The JIGSAW variable is used during the intermediate +# stage when we are building both the old style JDK and the new style modularized JDK. +# When the modularized JDK is finalized, this option will go away. +# +AC_ARG_ENABLE([jigsaw], [AS_HELP_STRING([--enable-jigsaw], + [build Jigsaw images (not yet available) @<:@disabled@:>@])],,) + +if test "x$enable_jigsaw" = "xyes"; then + JIGSAW=true +else + JIGSAW=false +fi +AC_SUBST(JIGSAW) + +############################################################################### +# +# Check which variant of the JDK that we want to build. +# Currently we have: +# normal: standard edition +# embedded: cut down to a smaller footprint +# +# Effectively the JDK variant gives a name to a specific set of +# modules to compile into the JDK. In the future, these modules +# might even be Jigsaw modules. +# +AC_MSG_CHECKING([which variant of the JDK to build]) +AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant], + [JDK variant to build (normal, embedded) @<:@normal@:>@])]) + +if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then + JAVASE_EMBEDDED="" + MINIMIZE_RAM_USAGE="" + JDK_VARIANT="normal" +elif test "x$with_jdk_variant" = xembedded; then + JAVASE_EMBEDDED="JAVASE_EMBEDDED:=true" + MINIMIZE_RAM_USAGE="MINIMIZE_RAM_USAGE:=true" + JDK_VARIANT="embedded" +else + AC_ERROR([The available JDK variants are: normal, embedded]) +fi + +AC_SUBST(JAVASE_EMBEDDED) +AC_SUBST(MINIMIZE_RAM_USAGE) +AC_SUBST(JDK_VARIANT) + +AC_MSG_RESULT([$JDK_VARIANT]) + +############################################################################### +# +# Should we build a JDK/JVM with head support (ie a graphical ui)? +# We always build headless support. +# +AC_MSG_CHECKING([headful support]) +AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful], + [build headful support (graphical UI support) @<:@enabled@:>@])], + [SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes]) + +SUPPORT_HEADLESS=yes +BUILD_HEADLESS="BUILD_HEADLESS:=true" + +if test "x$SUPPORT_HEADFUL" = xyes; then + # We are building both headful and headless. + BUILD_HEADLESS_ONLY="" + headful_msg="inlude support for both headful and headless" +fi + +if test "x$SUPPORT_HEADFUL" = xno; then + # Thus we are building headless only. + BUILD_HEADLESS="BUILD_HEADLESS:=true" + BUILD_HEADLESS_ONLY="BUILD_HEADLESS_ONLY:=true" + headful_msg="headless only" +fi + +AC_MSG_RESULT([$headful_msg]) + +AC_SUBST(SUPPORT_HEADLESS) +AC_SUBST(SUPPORT_HEADFUL) +AC_SUBST(BUILD_HEADLESS) +AC_SUBST(BUILD_HEADLESS_ONLY) + +############################################################################### +# +# Check which variants of the JVM that we want to build. +# Currently we have: +# server: normal interpreter and a tiered C1/C2 compiler +# client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms) +# kernel: kernel footprint JVM that passes the TCK without major performance problems, +# ie normal interpreter and C1, only the serial GC, kernel jvmti etc +# zero: no machine code interpreter, no compiler +# zeroshark: zero interpreter and shark/llvm compiler backend +AC_MSG_CHECKING([which variants of the JVM that should be built]) +AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants], + [JVM variants (separated by commas) to build (server, client, kernel, zero, zeroshark) @<:@server@:>@])]) + +if test "x$with_jvm_variants" = x; then + if test "x$JDK_VARIANT" = xembedded; then + with_jvm_variants="kernel" + elif test "x$HOST_CPU_BITS" = x64; then + with_jvm_variants="server" + else + # Yes, on 32-bit machines, the same source (almost) is compiled twice + # to generate two libjvm.so files. Fun, fun. + with_jvm_variants="client,server" + fi +fi + +JVM_VARIANTS=",$with_jvm_variants," +TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'` + +if test "x$TEST_VARIANTS" != "x,"; then + AC_ERROR([The available JVM variants are: server, client, kernel, zero, zeroshark]) +fi +AC_MSG_RESULT([$with_jvm_variants]) + +JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'` +JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'` +JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'` +JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` +JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` + +if test "x$JVM_VARIANT_CLIENT" = xtrue; then + if test "x$HOST_CPU_BITS" = x64; then + AC_ERROR([You cannot build a client JVM for a 64-bit machine.]) + fi +fi +if test "x$JVM_VARIANT_KERNEL" = xtrue; then + if test "x$HOST_CPU_BITS" = x64; then + AC_ERROR([You cannot build a kernel JVM for a 64-bit machine.]) + fi +fi + +COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'` +# Replace the commas with AND for use in the build directory name. +ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'` +if test "x$COUNT_VARIANTS" != "x,1"; then + AC_MSG_NOTICE([NOTE! Longer build time since we are building more than one version of the libjvm! $with_jvm_variants]) +fi + +AC_SUBST(JVM_VARIANTS) +AC_SUBST(JVM_VARIANT_SERVER) +AC_SUBST(JVM_VARIANT_CLIENT) +AC_SUBST(JVM_VARIANT_KERNEL) +AC_SUBST(JVM_VARIANT_ZERO) +AC_SUBST(JVM_VARIANT_ZEROSHARK) + +############################################################################### +# +# Set the debug level +# release: no debug information, all optimizations, no asserts. +# fastdebug: debug information (-g), all optimizations, all asserts +# slowdebug: debug information (-g), no optimizations, all asserts +# +DEBUG_LEVEL="release" +AC_MSG_CHECKING([which debug level to use]) +AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], + [set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])], + [ + ENABLE_DEBUG="${enableval}" + DEBUG_LEVEL="fastdebug" + ], [ENABLE_DEBUG="no"]) + +AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level], + [set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])], + [ + DEBUG_LEVEL="${withval}" + if test "x$ENABLE_DEBUG" = xyes; then + AC_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.]) + fi + ]) +AC_MSG_RESULT([$DEBUG_LEVEL]) + +if test "x$DEBUG_LEVEL" != xrelease && \ + test "x$DEBUG_LEVEL" != xfastdebug && \ + test "x$DEBUG_LEVEL" != xslowdebug; then + AC_ERROR([Allowed debug levels are: release, fastdebug and slowdebug]) +fi + +case $DEBUG_LEVEL in + release ) + VARIANT="OPT" + FASTDEBUG="false" + DEBUG_CLASSFILES="false" + BUILD_VARIANT_RELEASE="" + ;; + fastdebug ) + VARIANT="DBG" + FASTDEBUG="true" + DEBUG_CLASSFILES="true" + BUILD_VARIANT_RELEASE="-fastdebug" + ;; + slowdebug ) + VARIANT="DBG" + FASTDEBUG="false" + DEBUG_CLASSFILES="true" + BUILD_VARIANT_RELEASE="-debug" + ;; +esac + +AC_SUBST(DEBUG_LEVEL) +AC_SUBST(VARIANT) +AC_SUBST(FASTDEBUG) +AC_SUBST(DEBUG_CLASSFILES) +AC_SUBST(BUILD_VARIANT_RELEASE) + +# Source the version numbers +. $AUTOCONF_DIR/version.numbers +if test "x$OPENJDK" = "xfalse"; then + . $AUTOCONF_DIR/closed.version.numbers +fi +# Now set the JDK version, milestone, build number etc. +AC_SUBST(JDK_MAJOR_VERSION) +AC_SUBST(JDK_MINOR_VERSION) +AC_SUBST(JDK_MICRO_VERSION) +AC_SUBST(JDK_UPDATE_VERSION) +AC_SUBST(JDK_BUILD_NUMBER) +AC_SUBST(MILESTONE) +AC_SUBST(LAUNCHER_NAME) +AC_SUBST(PRODUCT_NAME) +AC_SUBST(PRODUCT_SUFFIX) +AC_SUBST(JDK_RC_PLATFORM_NAME) +AC_SUBST(COMPANY_NAME) + +COPYRIGHT_YEAR=`date +'%Y'` +AC_SUBST(COPYRIGHT_YEAR) + +RUNTIME_NAME="$PRODUCT_NAME $PRODUCT_SUFFIX" +AC_SUBST(RUNTIME_NAME) + +if test "x$JDK_UPDATE_VERSION" != x; then + JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}" +else + JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}" +fi +AC_SUBST(JDK_VERSION) + +if test "x$MILESTONE" != x; then + RELEASE="${JDK_VERSION}-${MILESTONE}${BUILD_VARIANT_RELEASE}" +else + RELEASE="${JDK_VERSION}${BUILD_VARIANT_RELEASE}" +fi +AC_SUBST(RELEASE) + +if test "x$JDK_BUILD_NUMBER" != x; then + FULL_VERSION="${RELEASE}-${JDK_BUILD_NUMBER}" +else + JDK_BUILD_NUMBER=b00 + BUILD_DATE=`date '+%Y_%m_%d_%H_%M'` + # Avoid [:alnum:] since it depends on the locale. + CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyz0123456789'` + USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvqxyz'` + FULL_VERSION="${RELEASE}-${USER_RELEASE_SUFFIX}-${JDK_BUILD_NUMBER}" +fi +AC_SUBST(FULL_VERSION) +COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'` +AC_SUBST(COOKED_BUILD_NUMBER) + +# Test from where we are running configure, in or outside of src root. +if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" || test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" || test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then + # We are running configure from the src root. + # Create a default ./build/host-variant-debuglevel output root. + OUTPUT_ROOT="$SRC_ROOT/build/${HOST_OS}-${HOST_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}" + mkdir -p "$OUTPUT_ROOT" + if test ! -d "$OUTPUT_ROOT"; then + AC_ERROR([Could not create build directory $OUTPUT_ROOT]) + fi +else + # We are running configure from outside of the src dir. + # Then use the current directory as output dir! + OUTPUT_ROOT="$CURDIR" +fi + +SPACESAFE(OUTPUT_ROOT,[the path to the output root]) + +# Save the arguments given to us +echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments + +# Check if the VS env variables were setup prior to running configure. +# If not, then find vcvarsall.bat and run it automatically, and integrate +# the set env variables into the spec file. +SETUPDEVENV="# No special vars" +if test "x$BUILD_OS" = "xwindows"; then + # If vcvarsall.bat has been run, then VCINSTALLDIR is set. + if test "x$VCINSTALLDIR" != x; then + # No further setup is needed. The build will happen from this kind + # of shell. + SETUPDEVENV="# This spec file expects that you are running bash from within a VS command prompt." + # Make sure to remind you, if you forget to run make from a cygwin bash shell + # that is spawned "bash -l" from a VS command prompt. + CHECK_FOR_VCINSTALLDIR=yes + AC_MSG_CHECKING([if you are running from within a VS command prompt]) + AC_MSG_RESULT([yes]) + else + # Ah, we have not yet run vcvarsall.bat/vsvars32.bat/vsvars64.bat. Lets do that. First find it. + if test "x$VS100COMNTOOLS" != x; then + VARSBAT=`find "$VS100COMNTOOLS/../.." -name vcvarsall.bat` + SEARCH_ROOT="$VS100COMNTOOLS" + else + VARSBAT=`find "$PROGRAMFILES" -name vcvarsall.bat` + SEARCH_ROOT="$PROGRAMFILES" + fi + VCPATH=`dirname "$VARSBAT"` + VCPATH=`cygpath -w "$VCPATH"` + if test "x$VARSBAT" = x || test ! -d "$VCPATH"; then + AC_MSG_CHECKING([if we can find the VS installation]) + AC_MSG_RESULT([no]) + AC_ERROR([Tried to find a VS installation using both $SEARCH_ROOT but failed. Please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.]) + fi + case "$LEGACY_HOST_CPU1" in + i?86) + VARSBAT_ARCH=x86 + ;; + *) + VARSBAT_ARCH=$LEGACY_HOST_CPU1 + ;; + esac + # Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat + cd $OUTPUT_ROOT + $SRC_ROOT/common/bin/extractvcvars.sh "$VARSBAT" "$VARSBAT_ARCH" + cd $CURDIR + if test ! -s $OUTPUT_ROOT/localdevenv.sh || test ! -s $OUTPUT_ROOT/localdevenv.gmk; then + AC_MSG_CHECKING([if we can extract the needed env variables]) + AC_MSG_RESULT([no]) + AC_ERROR([Could not succesfully extract the env variables needed for the VS setup. Please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.]) + fi + # Now set all paths and other env variables. This will allow the rest of + # the configure script to find and run the compiler in the proper way. + . $OUTPUT_ROOT/localdevenv.sh + AC_MSG_CHECKING([if we can find the VS installation]) + if test "x$VCINSTALLDIR" != x; then + AC_MSG_RESULT([$VCINSTALLDIR]) + else + AC_MSG_RESULT([no]) + AC_ERROR([Could not find VS installation. Please install. If you are sure you have installed VS, then please run "c:\\cygwin\\bin\\bash.exe -l" from a VS command prompt and then run configure/make from there.]) + fi + CHECK_FOR_VCINSTALLDIR=no + SETUPDEVENV="include $OUTPUT_ROOT/localdevenv.gmk" + + AC_MSG_CHECKING([for msvcr100.dll]) + AC_ARG_WITH(msvcr100dll, [AS_HELP_STRING([--with-msvcr100dll], + [copy this msvcr100.dll into the built JDK])]) + if test "x$with_msvcr100dll" != x; then + MSVCR100DLL="$with_msvcr100dll" + else + if test "x$HOST_CPU_BITS" = x64; then + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x64 | head --lines 1` + else + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | grep x86 | grep -v ia64 | grep -v x64 | head --lines 1` + if test "x$MSVCR100DLL" = x; then + MSVCR100DLL=`find "$VCINSTALLDIR/.." -name msvcr100.dll | head --lines 1` + fi + fi + fi + if test "x$MSVCR100DLL" = x; then + AC_MSG_RESULT([no]) + AC_ERROR([Could not find msvcr100.dll !]) + fi + AC_MSG_RESULT([$MSVCR100DLL]) + SPACESAFE(MSVCR100DLL,[the path to msvcr100.dll]) + fi +fi +AC_SUBST(SETUPDEVENV) +AC_SUBST(CHECK_FOR_VCINSTALLDIR) +AC_SUBST(MSVCR100DLL) + +# Most of the probed defines are put into config.h +AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in]) +# The spec.gmk file contains all variables for the make system. +AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in]) +# The generated Makefile knows where the spec.gmk is and where the source is. +# You can run make from the OUTPUT_ROOT. If you have only +# one configured host, then you can also run make from the SRC_ROOT, +# since it will go look for a single spec.gmk file. Or perhaps it +# should instead make all configured hosts it can find? +AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in]) + +AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk) +AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT) + +# Where are the sources. Any of these can be overridden +# using --with-override-corba and the likes. +LANGTOOLS_TOPDIR="$SRC_ROOT/langtools" +CORBA_TOPDIR="$SRC_ROOT/corba" +JAXP_TOPDIR="$SRC_ROOT/jaxp" +JAXWS_TOPDIR="$SRC_ROOT/jaxws" +HOTSPOT_TOPDIR="$SRC_ROOT/hotspot" +JDK_TOPDIR="$SRC_ROOT/jdk" +AC_SUBST(LANGTOOLS_TOPDIR) +AC_SUBST(CORBA_TOPDIR) +AC_SUBST(JAXP_TOPDIR) +AC_SUBST(JAXWS_TOPDIR) +AC_SUBST(HOTSPOT_TOPDIR) +AC_SUBST(JDK_TOPDIR) + +# Check if pkg-config is available. +PKG_PROG_PKG_CONFIG + +AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf], + [use this configuration file for the builddeps])]) + +AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server], + [download and use build dependencies from this server url, e.g. --with-builddeps-server=ftp://example.com/dir])]) + +AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir], + [store downloaded build dependencies here @<:@d/localhome/builddeps@:>@])], + [], + [with_builddeps_dir=/localhome/builddeps]) + +AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group], + [chgrp the downloaded build dependencies to this group])]) + +AC_ARG_ENABLE([list-builddeps], [AS_HELP_STRING([--enable-list-builddeps], + [list all build dependencies known to the configure script])], + [LIST_BUILDDEPS="${enableval}"], [LIST_BUILDDEPS='no']) + +if test "x$LIST_BUILDDEPS" = xyes; then + echo + echo List of build dependencies known to the configure script, + echo that can be used in builddeps.conf files: + cat $SRC_ROOT/configure.ac | grep BDEPS_CHECK_MODUL | grep -v configure.ac | cut -f 2 -d ',' | tr -d ' ' | sort + echo + exit 1 +fi + +# If builddeps server or conf file is given. Setup buildeps usage. +BDEPS_SCAN_FOR_BUILDDEPS + +############################################################################### +# +# Configure the development tool paths and potential sysroot. +# +AC_LANG(C++) +DEVKIT= +SYS_ROOT=/ +AC_SUBST(SYS_ROOT) + +# The option used to specify the target .o,.a or .so file. +# When compiling, how to specify the to be created object file. +CC_OUT_OPTION='-o$(SPACE)' +# When linking, how to specify the to be created executable. +EXE_OUT_OPTION='-o$(SPACE)' +# When linking, how to specify the to be created dynamically linkable library. +LD_OUT_OPTION='-o$(SPACE)' +# When archiving, how to specify the to be create static archive for object files. +AR_OUT_OPTION='rcs$(SPACE)' +AC_SUBST(CC_OUT_OPTION) +AC_SUBST(EXE_OUT_OPTION) +AC_SUBST(LD_OUT_OPTION) +AC_SUBST(AR_OUT_OPTION) + +# If --build AND --host is set, then the configure script will find any +# cross compilation tools in the PATH. Cross compilation tools +# follows the cross compilation standard where they are prefixed with ${host}. +# For example the binary i686-sun-solaris2.10-gcc +# will cross compile for i686-sun-solaris2.10 +# If neither of build and host is not set, then build=host and the +# default compiler found in the path will be used. +# Setting only --host, does not seem to be really supported. +# Please set both --build and --host if you want to cross compile. + +DEFINE_CROSS_COMPILE_ARCH="" +HOSTCC="" +HOSTCXX="" +AC_SUBST(DEFINE_CROSS_COMPILE_ARCH) +AC_SUBST(HOST_CC) +AC_SUBST(HOST_CXX) +AC_MSG_CHECKING([if this is a cross compile]) +if test "x$build_var" != "x$host_var"; then + AC_MSG_RESULT([yes, from $build_var to $host_var]) + # We have detected a cross compile! + DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$LEGACY_HOST_CPU1" + # Now we to find a C/C++ compiler that can build executables for the build + # platform. We can't use the AC_PROG_CC macro, since it can only be used + # once. + AC_PATH_PROGS(HOSTCC, [cl cc gcc]) + WHICHCMD(HOSTCC) + AC_PATH_PROGS(HOSTCXX, [cl CC g++]) + WHICHCMD(HOSTCXX) + # Building for the build platform should be easy. Therefore + # we do not need any linkers or assemblers etc. +else + AC_MSG_RESULT([no]) +fi + +# You can force the sys-root if the sys-root encoded into the cross compiler tools +# is not correct. +AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root], + [pass this sys-root to the compilers and linker (useful if the sys-root encoded in + the cross compiler tools is incorrect)])]) + +if test "x$with_sys_root" != x; then + SYS_ROOT=$with_sys_root +fi + +# If a devkit is found on the builddeps server, then prepend its path to the +# PATH variable. If there are cross compilers available in the devkit, these +# will be found by AC_PROG_CC et al. +BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx, + [# Found devkit + PATH="$DEVKIT/bin:$PATH" + SYS_ROOT="$DEVKIT/${rewritten_host}/sys-root" + if test "x$x_includes" = "xNONE"; then + x_includes="$SYS_ROOT/usr/include/X11" + fi + if test "x$x_libraries" = "xNONE"; then + x_libraries="$SYS_ROOT/usr/lib" + fi + ], + []) + +if test "x$SYS_ROOT" != "x/" ; then + CFLAGS="--sysroot=$SYS_ROOT $CFLAGS" + CXXFLAGS="--sysroot=$SYS_ROOT $CXXFLAGS" + OBJCFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS" + OBJCXXFLAGS="--sysroot=$SYS_ROOT $OBJCFLAGS" + CPPFLAGS="--sysroot=$SYS_ROOT $CPPFLAGS" + LDFLAGS="--sysroot=$SYS_ROOT $LDFLAGS" +fi + +# Store the CFLAGS etal passed to the configure script. +ORG_CFLAGS="$CFLAGS" +ORG_CXXFLAGS="$CXXFLAGS" +ORG_OBJCFLAGS="$OBJCFLAGS" + +# gcc is almost always present, but on Windows we +# prefer cl.exe and on Solaris we prefer CC. +# Thus test for them in this order. +AC_PROG_CC([cl cc gcc]) +if test "x$CC" = x; then + help_on_build_dependency devkit + AC_ERROR([Could not find a compiler. $HELP_MSG]) +fi +if test "x$CC" = xcc && test "x$BUILD_OS" = xmacosx; then + # Do not use cc on MacOSX use gcc instead. + CC="gcc" +fi +WHICHCMD(CC) + +AC_PROG_CXX([cl CC g++]) +if test "x$CXX" = xCC && test "x$BUILD_OS" = xmacosx; then + # The found CC, even though it seems to be a g++ derivate, cannot compile + # c++ code. Override. + CXX="g++" +fi +WHICHCMD(CXX) + +if test "x$CXX" = x || test "x$CC" = x; then + help_on_build_dependency devkit + AC_ERROR([Could not find the needed compilers! $HELP_MSG ]) +fi + +if test "x$BUILD_OS" != xwindows; then + AC_PROG_OBJC + WHICHCMD(OBJC) +else + OBJC= +fi + +# Restore the flags to the user specified values. +# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2" +CFLAGS="$ORG_CFLAGS" +CXXFLAGS="$ORG_CXXFLAGS" +OBJCFLAGS="$ORG_OBJCFLAGS" + +# If we are not cross compiling, use the same compilers for +# building the build platform executables. +if test "x$DEFINE_CROSS_COMPILE_ARCH" = x; then + HOSTCC="$CC" + HOSTCXX="$CXX" +fi + +AC_CHECK_TOOL(LD, ld) +WHICHCMD(LD) +LDEXE="$LD" +LDCXX="$LD" +LDEXECXX="$LD" +# LDEXE is the linker to use, when creating executables. +AC_SUBST(LDEXE) +# Linking C++ libraries. +AC_SUBST(LDCXX) +# Linking C++ executables. +AC_SUBST(LDEXECXX) + +AC_CHECK_TOOL(AR, ar) +WHICHCMD(AR) +if test "x$BUILD_OS" = xmacosx; then + ARFLAGS="-r" +else + ARFLAGS="" +fi +AC_SUBST(ARFLAGS) + +COMPILER_NAME=gcc +COMPILER_TYPE=CC +AS_IF([test "x$BUILD_OS" = xwindows], [ + # For now, assume that we are always compiling using cl.exe. + CC_OUT_OPTION=-Fo + EXE_OUT_OPTION=-Fe + LD_OUT_OPTION=-out: + AR_OUT_OPTION=-out: + # On Windows, reject /usr/bin/link, which is a cygwin + # program for something completely different. + AC_CHECK_PROG([WINLD], [link],[link],,, [/usr/bin/link]) + # Since we must ignore the first found link, WINLD will contain + # the full path to the link.exe program. + WHICHCMD_SPACESAFE([WINLD]) + LD="$WINLD" + # However creating executables can only be done with cl.exe. + LDEXE="$CC" + LDCXX="$WINLD" + LDEXECXX="$CC" + + AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt]) + WHICHCMD_SPACESAFE([MT]) + # The resource compiler + AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc]) + WHICHCMD_SPACESAFE([RC]) + + RC_FLAGS="/l 0x409 /r" + AS_IF([test "x$VARIANT" = xOPT], [ + RC_FLAGS="$RC_FLAGS -d NDEBUG" + ]) + JDK_UPDATE_VERSION_NOTNULL=$JDK_UPDATE_VERSION + AS_IF([test "x$JDK_UPDATE_VERSION" = x], [ + JDK_UPDATE_VERSION_NOTNULL=0 + ]) + RC_FLAGS="$RC_FLAGS -d \"JDK_BUILD_ID=$FULL_VERSION\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COMPANY=$COMPANY_NAME\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COMPONENT=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME binary\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_VER=$JDK_MINOR_VERSION.$JDK_MICRO_VERSION.$JDK_UPDATE_VERSION_NOTNULL.$COOKED_BUILD_NUMBER\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_NAME=$PRODUCT_NAME $JDK_RC_PLATFORM_NAME $JDK_MINOR_VERSION $JDK_UPDATE_META_TAG\"" + RC_FLAGS="$RC_FLAGS -d \"JDK_FVER=$JDK_MINOR_VERSION,$JDK_MICRO_VERSION,$JDK_UPDATE_VERSION_NOTNULL,$COOKED_BUILD_NUMBER\"" + + # lib.exe is used to create static libraries. + AC_CHECK_PROG([WINAR], [lib],[lib],,,) + WHICHCMD_SPACESAFE([WINAR]) + AR="$WINAR" + ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT" + + AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,) + WHICHCMD_SPACESAFE([DUMPBIN]) + + COMPILER_TYPE=CL + CFLAGS="$CFLAGS -nologo" + LDFLAGS="$LDFLAGS -nologo -dll -opt:ref -incremental:no " + if test "x$LEGACY_HOST_CPU1" = xi586; then + LDFLAGS="$LDFLAGS -safeseh" + fi + if test "x$DEBUG_LEVEL" != xrelease; then + LDFLAGS="$LDFLAGS -debug" + fi +]) +AC_SUBST(RC_FLAGS) +AC_SUBST(COMPILER_TYPE) + +AC_PROG_CPP +WHICHCMD(CPP) + +AC_PROG_CXXCPP +WHICHCMD(CXXCPP) + +# Find the right assembler. +if test "x$BUILD_OS" = xsolaris; then + AC_PATH_PROG(AS, as) + WHICHCMD(AS) + ASFLAGS=" " +else + AS="$CC -c" + ASFLAGS=" " +fi +AC_SUBST(AS) +AC_SUBST(ASFLAGS) + +if test "x$HOST_CPU_BITS" = x32 && test "x$HOST_OS" = macosx; then + # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned. + # While waiting for a better solution, the current workaround is to use -mstackrealign. + CFLAGS="$CFLAGS -mstackrealign" + AC_MSG_CHECKING([if 32-bit compiler supports -mstackrealign]) + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + AC_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.]) + ]) +fi + +if test "x$BUILD_OS" = xsolaris; then + AC_PATH_PROG(NM, nm) + WHICHCMD(NM) + AC_PATH_PROG(STRIP, strip) + WHICHCMD(STRIP) + AC_PATH_PROG(MCS, mcs) + WHICHCMD(MCS) +else + AC_CHECK_TOOL(NM, nm) + WHICHCMD(NM) + AC_CHECK_TOOL(STRIP, strip) + WHICHCMD(STRIP) +fi + +# When using cygwin, we need a wrapper binary that renames +# /cygdrive/c/ arguments into c:/ arguments and peeks into +# @files and rewrites these too! This wrapper binary is +# called uncygdrive.exe. +UNCYGDRIVE= +if test "x$BUILD_OS" = xwindows; then + AC_MSG_CHECKING([if uncygdrive can be created]) + UNCYGDRIVE_SRC=`$CYGPATH -m $SRC_ROOT/common/src/uncygdrive.c` + rm -f $OUTPUT_ROOT/uncygdrive* + UNCYGDRIVE=`$CYGPATH -m $OUTPUT_ROOT/uncygdrive.exe` + cd $OUTPUT_ROOT + $CC $UNCYGDRIVE_SRC /Fe$UNCYGDRIVE > $OUTPUT_ROOT/uncygdrive1.log 2>&1 + cd $CURDIR + + if test ! -x $OUTPUT_ROOT/uncygdrive.exe; then + AC_MSG_RESULT([no]) + cat $OUTPUT_ROOT/uncygdrive1.log + AC_ERROR([Could not create $OUTPUT_ROOT/uncygdrive.exe]) + fi + AC_MSG_RESULT([$UNCYGDRIVE]) + AC_MSG_CHECKING([if uncygdrive.exe works]) + cd $OUTPUT_ROOT + $UNCYGDRIVE $CC $SRC_ROOT/common/src/uncygdrive.c /Fe$OUTPUT_ROOT/uncygdrive2.exe > $OUTPUT_ROOT/uncygdrive2.log 2>&1 + cd $CURDIR + if test ! -x $OUTPUT_ROOT/uncygdrive2.exe; then + AC_MSG_RESULT([no]) + cat $OUTPUT_ROOT/uncygdrive2.log + AC_ERROR([Uncygdrive did not work!]) + fi + AC_MSG_RESULT([yes]) + rm -f $OUTPUT_ROOT/uncygdrive?.??? $OUTPUT_ROOT/uncygdrive.obj +fi + +AC_SUBST(UNCYGDRIVE) + +TESTFOR_PROG_CCACHE + +# Used on GNU/Linux systems, can be empty... +#AC_PATH_PROG(ELFDUMP, elfdump) + +# Setup default logging of stdout and stderr to build.log in the output root. +BUILD_LOG='$(OUTPUT_ROOT)/build.log' +BUILD_LOG_WRAPPER='$(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)' +AC_SUBST(BUILD_LOG) +AC_SUBST(BUILD_LOG_WRAPPER) + +############################################################################### +# +# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code. +# (The JVM can use 32 or 64 bit Java pointers but that decision +# is made at runtime.) +# +AC_CHECK_SIZEOF([int *], [1111]) +if test "x$ac_cv_sizeof_int_p" = x0; then + # The test failed, lets pick the assumed value. + ARCH_DATA_MODEL=$HOST_CPU_BITS +else + ARCH_DATA_MODEL=`expr 8 \* $ac_cv_sizeof_int_p` +fi + +if test "x$ARCH_DATA_MODEL" = x64; then + A_LP64="LP64:=" + ADD_LP64="-D_LP64=1" +fi +AC_MSG_CHECKING([for host address size]) +AC_MSG_RESULT([$ARCH_DATA_MODEL bits]) +AC_SUBST(LP64,$A_LP64) +AC_SUBST(ARCH_DATA_MODEL) + +if test "x$ARCH_DATA_MODEL" != "x$HOST_CPU_BITS"; then + AC_ERROR([The tested number of bits in the host ($ARCH_DATA_MODEL) differs from the number of bits expected to be found in the host ($HOST_CPU_BITS)]) +fi + +############################################################################### +# +# Can the C/C++ compiler use precompiled headers? +# +AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers], + [use precompiled headers when compiling C++ @<:@enabled@:>@])], + [ENABLE_PRECOMPH=${enable_precompiled-headers}], [ENABLE_PRECOMPH=yes]) + +USE_PRECOMPILED_HEADER=1 +if test "x$ENABLE_PRECOMPH" = xno; then + USE_PRECOMPILED_HEADER=0 +fi + +if test "x$ENABLE_PRECOMPH" = xyes; then + # Check that the compiler actually supports precomp headers. + if test "x$GCC" = xyes; then + AC_MSG_CHECKING([that precompiled headers work]) + echo "int alfa();" > conftest.h + $CXX -x c++-header conftest.h -o conftest.hpp.gch + if test ! -f conftest.hpp.gch; then + echo Precompiled header is not working! + USE_PRECOMPILED_HEADER=0 + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) + fi + rm -f conftest.h + fi +fi + +AC_SUBST(USE_PRECOMPILED_HEADER) + +############################################################################### +# +# How to compile shared libraries. +# + +if test "x$GCC" = xyes; then + COMPILER_NAME=gcc + PICFLAG="-fPIC" + LIBRARY_PREFIX=lib + SHARED_LIBRARY='lib$1.so' + STATIC_LIBRARY='lib$1.a' + SHARED_LIBRARY_FLAGS="-shared" + SHARED_LIBRARY_SUFFIX='.so' + STATIC_LIBRARY_SUFFIX='.a' + OBJ_SUFFIX='.o' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1' + SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$(JDK_TOPDIR)/$1' + SET_SHARED_LIBRARY_ORIGIN='-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN/$1' + LD="$CC" + LDEXE="$CC" + LDCXX="$CXX" + LDEXECXX="$CXX" + + # Linking is different on MacOSX + if test "x$BUILD_OS" = xmacosx; then + # Might change in the future to clang. + COMPILER_NAME=gcc + SHARED_LIBRARY='lib$1.dylib' + SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG" + SHARED_LIBRARY_SUFFIX='.dylib' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1' + SET_SHARED_LIBRARY_MAPFILE='' + SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' + fi +else + if test "x$BUILD_OS" = xsolaris; then + # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler + COMPILER_NAME=ossc + PICFLAG="-KPIC" + LIBRARY_PREFIX=lib + SHARED_LIBRARY='lib$1.so' + STATIC_LIBRARY='lib$1.a' + SHARED_LIBRARY_FLAGS="-G" + SHARED_LIBRARY_SUFFIX='.so' + STATIC_LIBRARY_SUFFIX='.a' + OBJ_SUFFIX='.o' + EXE_SUFFIX='' + SET_SHARED_LIBRARY_NAME='' + SET_SHARED_LIBRARY_MAPFILE='-M $(JDK_TOPDIR)/$1' + SET_SHARED_LIBRARY_ORIGIN='-R \$$$$ORIGIN/$1' + CFLAGS_JDKLIB_EXTRA='-xstrconst -D__solaris__' + fi + if test "x$BUILD_OS" = xwindows; then + # If it is not gcc, then assume it is the MS Visual Studio compiler + COMPILER_NAME=cl + PICFLAG="" + LIBRARY_PREFIX= + SHARED_LIBRARY='$1.dll' + STATIC_LIBRARY='$1.lib' + SHARED_LIBRARY_FLAGS="-LD" + SHARED_LIBRARY_SUFFIX='.dll' + STATIC_LIBRARY_SUFFIX='.lib' + OBJ_SUFFIX='.obj' + EXE_SUFFIX='.exe' + SET_SHARED_LIBRARY_NAME='' + SET_SHARED_LIBRARY_MAPFILE='' + SET_SHARED_LIBRARY_ORIGIN='' + fi +fi + +AC_SUBST(OBJ_SUFFIX) +AC_SUBST(SHARED_LIBRARY) +AC_SUBST(STATIC_LIBRARY) +AC_SUBST(LIBRARY_PREFIX) +AC_SUBST(SHARED_LIBRARY_SUFFIX) +AC_SUBST(STATIC_LIBRARY_SUFFIX) +AC_SUBST(EXE_SUFFIX) +AC_SUBST(SHARED_LIBRARY_FLAGS) +AC_SUBST(SET_SHARED_LIBRARY_NAME) +AC_SUBST(SET_SHARED_LIBRARY_MAPFILE) +AC_SUBST(SET_SHARED_LIBRARY_ORIGIN) + +# The (cross) compiler is now configured, we can now test capabilities +# of the host platform. + +############################################################################### +# +# Is the host little of big endian? +# +AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal"]) + +if test "x$ENDIAN" = xuniversal; then + AC_ERROR([It seems like someone needs to decide how we are to deal with universal binaries on the MacOSX?]) +fi +if test "x$ENDIAN" = xunknown; then + ENDIAN="$HOST_CPU_ENDIAN" +fi +if test "x$ENDIAN" != "x$HOST_CPU_ENDIAN"; then + AC_WARN([The tested endian in the host ($ENDIAN) differs from the endian expected to be found in the host ($HOST_CPU_ENDIAN)]) + ENDIAN="$HOST_CPU_ENDIAN" +fi +AC_SUBST(ENDIAN) + +############################################################################### +# +# We need a Boot JDK to bootstrap the build. +# +BOOT_JDK_FOUND=no +AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk], + [path to Boot JDK (used to bootstrap build) @<:@probed@:>@])]) + +if test "x$with_boot_jdk" != x; then + BOOT_JDK=$with_boot_jdk + BOOT_JDK_FOUND=yes +fi +if test "x$BOOT_JDK_FOUND" = xno; then + BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=yes], [BOOT_JDK_FOUND=no]) +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + if test "x$JAVA_HOME" != x; then + if test ! -d "$JAVA_HOME"; then + AC_ERROR([Your JAVA_HOME points to a non-existing directory!]) + fi + # Aha, the user has set a JAVA_HOME + # let us use that as the Boot JDK. + BOOT_JDK=$JAVA_HOME + BOOT_JDK_FOUND=yes + # To be on the safe side, lets check that it is a JDK. + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + else + AC_ERROR([Your JAVA_HOME points to a JRE! The build needs a JDK! Please point JAVA_HOME to a JDK.]) + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + AC_PATH_PROG(JAVAC_CHECK, javac) + AC_PATH_PROG(JAVA_CHECK, java) + BINARY="$JAVAC_CHECK" + if test "x$JAVAC_CHECK" = x; then + BINARY="$JAVA_CHECK" + fi + if test "x$BINARY" != x; then + # So there is a java(c) binary, it might be part of a JDK. + # Lets find the JDK/JRE directory by following symbolic links. + # Linux/GNU systems often have links from /usr/bin/java to + # /etc/alternatives/java to the real JDK binary. + WHICHCMD_SPACESAFE(BINARY,[path to javac]) + REMOVE_SYMBOLIC_LINKS(BINARY) + BOOT_JDK=`dirname $BINARY` + BOOT_JDK=`cd $BOOT_JDK/..; pwd` + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + # Try the MacOSX way. + if test -x /usr/libexec/java_home; then + BOOT_JDK=`/usr/libexec/java_home` + if test -x $BOOT_JDK/bin/javac && test -x $BOOT_JDK/bin/java; then + JAVAC=$BOOT_JDK/bin/javac + JAVA=$BOOT_JDK/bin/java + BOOT_JDK_FOUND=yes + fi + fi +fi + +if test "x$BOOT_JDK_FOUND" = xno; then + AC_PATH_PROG(JAVA_CHECK, java) + if test "x$JAVA_CHECK" != x; then + # There is a java in the path. But apparently we have not found a javac + # in the path, since that would have been tested earlier. + if test "x$HOST_OS" = xwindows; then + # Now if this is a windows platform. The default installation of a JDK + # actually puts the JRE in the path and keeps the JDK out of the path! + # Go look in the default installation location. + BOOT_JDK=/cygdrive/c/Program\ Files/Java/`ls /cygdrive/c/Program\ Files/Java | grep jdk | sort -r | head --lines 1` + if test -d "$BOOT_JDK"; then + BOOT_JDK_FOUND=yes + fi + fi + if test "x$BOOT_JDK_FOUND" = xno; then + help_on_build_dependency openjdk + AC_ERROR([Found a JRE, not not a JDK! Please remove the JRE from your path and put a JDK there instead. $HELP_MSG]) + fi + else + help_on_build_dependency openjdk + AC_ERROR([Could not find a JDK. $HELP_MSG]) + fi +fi + +WIN_FIX_PATH(BOOT_JDK) + +# Now see if we can find the rt.jar, or its nearest equivalent. +BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar" +SPACESAFE(BOOT_RTJAR,[the path to the Boot JDK rt.jar (or nearest equivalent)]) + +BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar" +SPACESAFE(BOOT_TOOLSJAR,[the path to the Boot JDK tools.jar (or nearest equivalent)]) + +if test ! -f $BOOT_RTJAR; then + # On MacOSX it is called classes.jar + BOOT_RTJAR=$BOOT_JDK/../Classes/classes.jar + if test ! -f $BOOT_RTJAR; then + AC_ERROR([Cannot find the rt.jar or its equivalent!]) + fi + # Remove the .. + BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}" + # The tools.jar is part of classes.jar + BOOT_TOOLSJAR="$BOOT_RTJAR" +fi + +AC_SUBST(BOOT_JDK) +AC_SUBST(BOOT_RTJAR) +AC_SUBST(BOOT_TOOLSJAR) +AC_MSG_CHECKING([for Boot JDK]) +AC_MSG_RESULT([$BOOT_JDK]) +AC_MSG_CHECKING([for Boot rt.jar]) +AC_MSG_RESULT([$BOOT_RTJAR]) +AC_MSG_CHECKING([for Boot tools.jar]) +AC_MSG_RESULT([$BOOT_TOOLSJAR]) + +# Use the java tool from the Boot JDK. +AC_MSG_CHECKING([for java in Boot JDK]) +JAVA=$BOOT_JDK/bin/java +if test ! -x $JAVA; then + AC_ERROR([Could not find a working java]) +fi +BOOT_JDK_VERSION=`$JAVA -version 2>&1 | head -n 1` +AC_MSG_RESULT([yes $BOOT_JDK_VERSION]) +AC_SUBST(JAVA) + +# Extra M4 quote needed to protect [] in grep expression. +[FOUND_VERSION_78=`echo $BOOT_JDK_VERSION | grep '\"1\.[78]\.'`] +if test "x$FOUND_VERSION_78" = x; then + help_on_build_dependency openjdk + AC_ERROR([Your bootjdk must be version 7 or 8. $HELP_MSG]) +fi + +# When compiling code to be executed by the Boot JDK, force jdk7 compatibility. +BOOT_JDK_SOURCETARGET="-source 7 -target 7" +AC_SUBST(BOOT_JDK_SOURCETARGET) + +# Use the javac tool from the Boot JDK. +AC_MSG_CHECKING([for javac in Boot JDK]) +JAVAC=$BOOT_JDK/bin/javac +if test ! -x $JAVAC; then + AC_ERROR([Could not find a working javac]) +fi +AC_MSG_RESULT(yes) +AC_SUBST(JAVAC) +AC_SUBST(JAVAC_FLAGS) + +# Use the javac tool from the Boot JDK. +AC_MSG_CHECKING([for javah in Boot JDK]) +JAVAH=$BOOT_JDK/bin/javah +if test ! -x $JAVAH; then + AC_ERROR([Could not find a working javah]) +fi +AC_MSG_RESULT(yes) +AC_SUBST(JAVAH) + +# Use the jar tool from the Boot JDK. +AC_MSG_CHECKING([for jar in Boot JDK]) +JAR=$BOOT_JDK/bin/jar +if test ! -x $JAR; then + AC_ERROR([Could not find a working jar]) +fi +AC_SUBST(JAR) +AC_MSG_RESULT(yes) + +# Use the rmic tool from the Boot JDK. +AC_MSG_CHECKING([for rmic in Boot JDK]) +RMIC=$BOOT_JDK/bin/rmic +if test ! -x $RMIC; then + AC_ERROR([Could not find a working rmic]) +fi +AC_SUBST(RMIC) +AC_MSG_RESULT(yes) + +############################################################################### +# +# Pickup additional source for a component from outside of the source root +# or override source for a component. +# +AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root], + [for each and every source directory, look in this additional source root for + the same directory; if it exists and have files in it, include it in the build])]) + +AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root], + [for each and every source directory, look in this override source root for + the same directory; if it exists, use that directory instead and + ignore the directory in the original source root])]) + +AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides], + [use the subdirs 'adds' and 'overrides' in the specified directory as + add-source-root and override-source-root])]) + +if test "x$with_adds_and_overrides" != x; then + with_add_source_root="$with_adds_and_overrides/adds" + with_override_source_root="$with_adds_and_overrides/overrides" +fi + +if test "x$with_add_source_root" != x; then + if ! test -d $with_add_source_root; then + AC_ERROR([Trying to use a non-existant add-source-root $with_add_source_root]) + fi + CURDIR="$PWD" + cd "$with_add_source_root" + ADD_SRC_ROOT="`pwd`" + cd "$CURDIR" + # Verify that the addon source root does not have any root makefiles. + # If it does, then it is usually an error, prevent this. + if test -f $with_add_source_root/langtools/makefiles/Makefile || \ + test -f $with_add_source_root/langtools/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.]) + fi + if test -f $with_add_source_root/corba/makefiles/Makefile || \ + test -f $with_add_source_root/corba/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.]) + fi + if test -f $with_add_source_root/jaxp/makefiles/Makefile || \ + test -f $with_add_source_root/jaxp/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.]) + fi + if test -f $with_add_source_root/jaxws/makefiles/Makefile || \ + test -f $with_add_source_root/jaxws/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.]) + fi + if test -f $with_add_source_root/hotspot/makefiles/Makefile || \ + test -f $with_add_source_root/hotspot/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.]) + fi + if test -f $with_add_source_root/jdk/makefiles/Makefile || \ + test -f $with_add_source_root/jdk/make/Makefile; then + AC_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.]) + fi +fi +AC_SUBST(ADD_SRC_ROOT) + +if test "x$with_override_source_root" != x; then + if ! test -d $with_override_source_root; then + AC_ERROR([Trying to use a non-existant override-source-root $with_override_source_root]) + fi + CURDIR="$PWD" + cd "$with_override_source_root" + OVERRIDE_SRC_ROOT="`pwd`" + cd "$CURDIR" + if test -f $with_override_source_root/langtools/makefiles/Makefile || \ + test -f $with_override_source_root/langtools/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.]) + fi + if test -f $with_override_source_root/corba/makefiles/Makefile || \ + test -f $with_override_source_root/corba/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.]) + fi + if test -f $with_override_source_root/jaxp/makefiles/Makefile || \ + test -f $with_override_source_root/jaxp/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.]) + fi + if test -f $with_override_source_root/jaxws/makefiles/Makefile || \ + test -f $with_override_source_root/jaxws/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.]) + fi + if test -f $with_override_source_root/hotspot/makefiles/Makefile || \ + test -f $with_override_source_root/hotspot/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.]) + fi + if test -f $with_override_source_root/jdk/makefiles/Makefile || \ + test -f $with_override_source_root/jdk/make/Makefile; then + AC_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.]) + fi +fi +AC_SUBST(OVERRIDE_SRC_ROOT) + +############################################################################### +# +# Override a repo completely, this is used for example when you have 3 small +# development sandboxes of the langtools sources and want to avoid having 3 full +# OpenJDK sources checked out on disk. +# +# Assuming that the 3 langtools sandboxes are located here: +# /home/fredrik/sandbox1/langtools +# /home/fredrik/sandbox2/langtools +# /home/fredrik/sandbox3/langtools +# +# From the source root you create build subdirs manually: +# mkdir -p build1 build2 build3 +# in each build directory run: +# (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make) +# (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make) +# (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make) +# + +AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools], + [use this langtools dir for the build])]) + +AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba], + [use this corba dir for the build])]) + +AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp], + [use this jaxp dir for the build])]) + +AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws], + [use this jaxws dir for the build])]) + +AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot], + [use this hotspot dir for the build])]) + +AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk], + [use this jdk dir for the build])]) + +if test "x$with_override_langtools" != x; then + CURDIR="$PWD" + cd "$with_override_langtools" + LANGTOOLS_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override langtools with a full langtools repo!]) + fi + AC_MSG_CHECKING([if langtools should be overridden]) + AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR]) +fi +if test "x$with_override_corba" != x; then + CURDIR="$PWD" + cd "$with_override_corba" + CORBA_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override corba with a full corba repo!]) + fi + AC_MSG_CHECKING([if corba should be overridden]) + AC_MSG_RESULT([yes with $CORBA_TOPDIR]) +fi +if test "x$with_override_jaxp" != x; then + CURDIR="$PWD" + cd "$with_override_jaxp" + JAXP_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override jaxp with a full jaxp repo!]) + fi + AC_MSG_CHECKING([if jaxp should be overridden]) + AC_MSG_RESULT([yes with $JAXP_TOPDIR]) +fi +if test "x$with_override_jaxws" != x; then + CURDIR="$PWD" + cd "$with_override_jaxws" + JAXWS_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override jaxws with a full jaxws repo!]) + fi + AC_MSG_CHECKING([if jaxws should be overridden]) + AC_MSG_RESULT([yes with $JAXWS_TOPDIR]) +fi +if test "x$with_override_hotspot" != x; then + CURDIR="$PWD" + cd "$with_override_hotspot" + HOTSPOT_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \ + ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override hotspot with a full hotspot repo!]) + fi + AC_MSG_CHECKING([if hotspot should be overridden]) + AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR]) +fi +if test "x$with_override_jdk" != x; then + CURDIR="$PWD" + cd "$with_override_jdk" + JDK_TOPDIR="`pwd`" + cd "$CURDIR" + if ! test -f $JDK_TOPDIR/makefiles/Makefile; then + AC_ERROR([You have to override JDK with a full JDK repo!]) + fi + AC_MSG_CHECKING([if JDK should be overridden]) + AC_MSG_RESULT([yes with $JDK_TOPDIR]) +fi + +############################################################################### +# +# Specify options for anything that is run with the Boot JDK. +# +AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs], + [specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values, + e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])]) + +if test "x$with_boot_jdk_jvmargs" = x; then + # Not all JVM:s accept the same arguments on the command line. + # OpenJDK specific increase in thread stack for JDK build, + # well more specifically, when running javac. + if test "x$BUILD_NUM_BITS" = x32; then + STACK_SIZE=768 + else + # Running Javac on a JVM on a 64-bit machine, the stack takes more space + # since 64-bit pointers are pushed on the stach. Apparently, we need + # to increase the stack space when javacing the JDK.... + STACK_SIZE=1536 + fi + + # Minimum amount of heap memory. + ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA]) + if test "x$HOST_OS" = "xmacosx"; then + # Why does macosx need more heap? Its the huge JDK batch. + ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA]) + else + ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA]) + fi + # When is adding -client something that speeds up the JVM? + # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs,[$JAVA]) + ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA]) + # Disable special log output when a debug build is used as Boot JDK... + ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA]) +fi + +AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs) + +AC_ARG_WITH(server-java, [AS_HELP_STRING([--with-server-java], + [use this java binary for running the javac background server and other long running java tasks in the build process, + e.g. ---with-server-java="/opt/jrockit/bin/java -server"])]) + +if test "x$with_server_java" != x; then + SERVER_JAVA="$with_server_java" + FOUND_VERSION=`$SERVER_JAVA -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" = x; then + AC_ERROR([Could not execute server java: $SERVER_JAVA]) + fi +else + SERVER_JAVA="" + # Hotspot specific options. + ADD_JVM_ARG_IF_OK([-XX:+UseParallelOldGC],SERVER_JAVA,[$JAVA]) + ADD_JVM_ARG_IF_OK([-verbosegc],SERVER_JAVA,[$JAVA]) + # JRockit specific options. + ADD_JVM_ARG_IF_OK([-Xverbose:gc],SERVER_JAVA,[$JAVA]) + SERVER_JAVA="$JAVA $SERVER_JAVA" +fi +AC_SUBST(SERVER_JAVA) + +AC_MSG_CHECKING([whether to use shared server for javac]) +AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--enable-javac-server], + [enable the shared javac server during the build process @<:@disabled@:>@])], + [ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER='no']) +AC_MSG_RESULT([$ENABLE_JAVAC_SERVER]) +if test "x$ENABLE_JAVAC_SERVER" = xyes; then + JAVAC_USE_REMOTE=true + JAVAC_SERVERS="$OUTPUT_ROOT/javacservers" +else + JAVAC_USE_REMOTE=false + JAVAC_SERVERS= +fi +AC_SUBST(JAVAC_USE_REMOTE) +AC_SUBST(JAVAC_SERVERS) + +AC_ARG_WITH(javac-server-cores, [AS_HELP_STRING([--with-javac-server-cores], + [use at most this number of concurrent threads on the javac server @<:@probed@:>@])]) +if test "x$with_javac_server_cores" != x; then + JAVAC_SERVER_CORES="$with_javac_server_cores" +else + if test "$NUM_CORES" -gt 16; then + # We set this arbitrary limit because we want to limit the heap + # size of the javac server. + # In the future we will make the javac compilers in the server + # share more and more state, thus enabling us to use more and + # more concurrent threads in the server. + JAVAC_SERVER_CORES="16" + else + JAVAC_SERVER_CORES="$NUM_CORES" + fi + + if test "$MEMORY_SIZE" -gt "17000"; then + MAX_HEAP_MEM=10000 + ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn2G],SERVER_JAVA,[$SERVER_JAVA]) + elif test "$MEMORY_SIZE" -gt "10000"; then + MAX_HEAP_MEM=6000 + ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn1G],SERVER_JAVA,[$SERVER_JAVA]) + elif test "$MEMORY_SIZE" -gt "5000"; then + MAX_HEAP_MEM=3000 + ADD_JVM_ARG_IF_OK([-d64],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA]) + elif test "$MEMORY_SIZE" -gt "3800"; then + MAX_HEAP_MEM=2500 + ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA]) + elif test "$MEMORY_SIZE" -gt "1900"; then + MAX_HEAP_MEM=1200 + ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1200M],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn256M],SERVER_JAVA,[$SERVER_JAVA]) + elif test "$MEMORY_SIZE" -gt "1000"; then + MAX_HEAP_MEM=900 + ADD_JVM_ARG_IF_OK([-Xms400M -Xmx900M],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA]) + else + MAX_HEAP_MEM=512 + ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SERVER_JAVA,[$SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xmn128M],SERVER_JAVA,[$SERVER_JAVA]) + fi + + MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501` + if test "$JAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then + AC_MSG_CHECKING([if number of server cores must be reduced]) + JAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP" + AC_MSG_RESULT([yes, to $JAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB]) + fi +fi +AC_SUBST(JAVAC_SERVER_CORES) + +AC_MSG_CHECKING([whether to track dependencies between Java packages]) +AC_ARG_ENABLE([javac-deps], [AS_HELP_STRING([--enable-javac-deps], + [enable the dependency tracking between Java packages @<:@disabled@:>@])], + [ENABLE_JAVAC_DEPS="${enableval}"], [ENABLE_JAVAC_DEPS='no']) +AC_MSG_RESULT([$ENABLE_JAVAC_DEPS]) +if test "x$ENABLE_JAVAC_DEPS" = xyes; then + JAVAC_USE_DEPS=true +else + JAVAC_USE_DEPS=false +fi +AC_SUBST(JAVAC_USE_DEPS) + +AC_MSG_CHECKING([whether to use multiple cores for javac compilation]) +AC_ARG_ENABLE([javac-multi-core], [AS_HELP_STRING([--enable-javac-multi-core], + [compile Java packages concurrently @<:@disabled@:>@])], + [ENABLE_JAVAC_MULTICORE="${enableval}"], [ENABLE_JAVAC_MULTICORE='no']) +AC_MSG_RESULT([$ENABLE_JAVAC_MULTICORE]) +if test "x$ENABLE_JAVAC_MULTICORE" = xyes; then + JAVAC_USE_MODE=MULTI_CORE_CONCURRENT +else + JAVAC_USE_MODE=SINGLE_THREADED_BATCH + if test "x$ENABLE_JAVAC_DEPS" = xyes; then + 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.]) + AC_MSG_WARN([Disabling dependency tracking for you now.]) + JAVAC_USE_DEPS=false + fi + if test "x$ENABLE_JAVAC_SERVER" = xyes; then + 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.]) + AC_MSG_WARN([Disabling javac server for you now.]) + JAVAC_USE_REMOTE=false + fi +fi +AC_SUBST(JAVAC_USE_MODE) + +############################################################################### +# +# OS specific settings that we never will need to probe. +# +if test "x$HOST_OS" = xlinux; then + AC_MSG_CHECKING([what is not needed on Linux?]) + PULSE_NOT_NEEDED=yes + AC_MSG_RESULT([pulse]) +fi + +if test "x$HOST_OS" = xsolaris; then + AC_MSG_CHECKING([what is not needed on Solaris?]) + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + AC_MSG_RESULT([alsa pulse]) +fi + +if test "x$HOST_OS" = xwindows; then + AC_MSG_CHECKING([what is not needed on Windows?]) + CUPS_NOT_NEEDED=yes + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + X11_NOT_NEEDED=yes + AC_MSG_RESULT([alsa cups pulse x11]) +fi + +if test "x$HOST_OS" = xmacosx; then + AC_MSG_CHECKING([what is not needed on MacOSX?]) + ALSA_NOT_NEEDED=yes + PULSE_NOT_NEEDED=yes + X11_NOT_NEEDED=yes + FREETYPE2_NOT_NEEDED=yes + # If the java runtime framework is disabled, then we need X11. + # This will be adjusted below. + AC_MSG_RESULT([alsa pulse x11]) +fi + +if test "x$HOST_OS" = xbsd; then + AC_MSG_CHECKING([what is not needed on bsd?]) + ALSA_NOT_NEEDED=yes + AC_MSG_RESULT([alsa]) +fi + +############################################################################### +# +# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM +# that uses this API. +# +AC_ARG_ENABLE([macosx-runtime-support], [AS_HELP_STRING([--disable-macosx-runtime-support], + [disable the use of MacOSX Java runtime support framework @<:@enabled@:>@])], + [MACOSX_RUNTIME_SUPPORT="${enableval}"],[MACOSX_RUNTIME_SUPPORT="no"]) + +USE_MACOSX_RUNTIME_SUPPORT=no +AC_MSG_CHECKING([for explicit Java runtime support in the OS]) +if test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then + if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then + MACOSX_RUNTIME_SUPPORT=yes + USE_MACOSX_RUNTIME_SUPPORT=yes + AC_MSG_RESULT([yes, does not need alsa freetype2 pulse and X11]) + else + AC_MSG_RESULT([yes, but explicitly disabled.]) + fi +else + AC_MSG_RESULT([no]) +fi + +if test "x$HOST_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then + AC_MSG_CHECKING([what is not needed on an X11 build on MacOSX?]) + X11_NOT_NEEDED= + FREETYPE2_NOT_NEEDED= + AC_MSG_RESULT([alsa pulse]) +fi + +############################################################################### +# +# Check for X Windows +# +AC_PATH_XTRA + +if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then + help_on_build_dependency x11 + AC_ERROR([Could not find X11 libraries. $HELP_MSG]) +fi + +AC_SUBST(X_CFLAGS) +AC_SUBST(X_LIBS) + +# Some of the old makefiles require a setting of OPENWIN_HOME +# Since the X11R6 directory has disappeared on later Linuxes, +# we need to probe for it. +if test "x$HOST_OS" = xlinux; then + if test -d "$SYS_ROOT/usr/X11R6"; then + OPENWIN_HOME="$SYS_ROOT/usr/X11R6" + fi + if test -d "$SYS_ROOT/usr/include/X11"; then + OPENWIN_HOME="$SYS_ROOT/usr" + fi +fi +if test "x$HOST_OS" = xsolaris; then + OPENWIN_HOME="/usr/openwin" +fi +AC_SUBST(OPENWIN_HOME) + +AC_LANG_PUSH(C) +OLD_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $X_CFLAGS" +AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h], + [X11_A_OK=yes], + [X11_A_OK=no]) +CFLAGS="$OLD_CFLAGS" +AC_LANG_POP(C) + +if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then + help_on_build_dependency x11 + AC_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h). $HELP_MSG]) +fi + +############################################################################### +# +# The common unix printing system cups is used to print from java. +# +AC_ARG_WITH(cups, [AS_HELP_STRING([--with-cups], + [specify prefix directory for the cups package + (expecting the libraries under PATH/lib and the headers under PATH/include)])]) +AC_ARG_WITH(cups-include, [AS_HELP_STRING([--with-cups-include], + [specify directory for the cups include files])]) +AC_ARG_WITH(cups-lib, [AS_HELP_STRING([--with-cups-lib], + [specify directory for the cups library])]) + +if test "x$CUPS_NOT_NEEDED" = xyes; then + if test "x$with_cups" != x || test "x$with_cups-include" != x || test "x$with_cups-lib" != x; then + AC_MSG_WARN([cups not used, so --with-cups is ignored]) + fi + CUPS_CFLAGS= + CUPS_LIBS= +else + CUPS_FOUND=no + + if test "x$with_cups" = xno || test "x$with_cups-include" = xno || test "x$with_cups-lib" = xno; then + AC_ERROR([It is not possible to disable the use of cups. Remove the --without-cups option.]) + fi + + if test "x$with_cups" != x; then + CUPS_LIBS="-L$with_cups/lib -lcups" + CUPS_CFLAGS="-I$with_cups/include" + CUPS_FOUND=yes + fi + if test "x$with_cups-include" != x; then + CUPS_CFLAGS="-I$with_cups-include" + CUPS_FOUND=yes + fi + if test "x$with_cups-lib" != x; then + CUPS_LIBS="-L$with_cups-lib -lcups" + CUPS_FOUND=yes + fi + if test "x$CUPS_FOUND" = xno; then + BDEPS_CHECK_MODULE(CUPS, cups, xxx, [CUPS_FOUND=yes]) + fi + if test "x$CUPS_FOUND" = xno; then + # Are the cups headers installed in the default /usr/include location? + AC_CHECK_HEADERS([cups/cups.h cups/ppd.h], + [CUPS_FOUND=yes + CUPS_CFLAGS= + CUPS_LIBS="-lcups" + DEFAULT_CUPS=yes]) + fi + if test "x$CUPS_FOUND" = xno; then + # Getting nervous now? Lets poke around for standard Solaris third-party + # package installation locations. + AC_MSG_CHECKING([for cups headers and libs]) + if test -s /opt/sfw/cups/include/cups/cups.h; then + # An SFW package seems to be installed! + CUPS_FOUND=yes + CUPS_CFLAGS="-I/opt/sfw/cups/include" + CUPS_LIBS="-L/opt/sfw/cups/lib -lcups" + elif test -s /opt/csw/include/cups/cups.h; then + # A CSW package seems to be installed! + CUPS_FOUND=yes + CUPS_CFLAGS="-I/opt/csw/include" + CUPS_LIBS="-L/opt/csw/lib -lcups" + fi + AC_MSG_RESULT([$CUPS_FOUND]) + fi + if test "x$CUPS_FOUND" = xno; then + help_on_build_dependency cups + AC_ERROR([Could not find cups! $HELP_MSG ]) + fi +fi + +AC_SUBST(CUPS_CFLAGS) +AC_SUBST(CUPS_LIBS) + +############################################################################### +# +# The ubiquitous freetype2 library is used to render fonts. +# +AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype], + [specify prefix directory for the freetype2 package + (expecting the libraries under PATH/lib and the headers under PATH/include)])]) + +# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree +USING_SYSTEM_FT_LIB=false + +if test "x$FREETYPE2_NOT_NEEDED" = xyes; then + if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then + AC_MSG_WARN([freetype not used, so --with-freetype is ignored]) + fi + FREETYPE2_CFLAGS= + FREETYPE2_LIBS= + FREETYPE2_LIB_PATH= +else + FREETYPE2_FOUND=no + + if test "x$with_freetype" != x; then + SPACESAFE(with_freetype,[the path to freetype]) + FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype" + if test "x$HOST_OS" = xwindows; then + FREETYPE2_LIBS="$with_freetype/lib/freetype.lib" + fi + FREETYPE2_LIB_PATH="$with_freetype/lib" + FREETYPE2_CFLAGS="-I$with_freetype/include" + if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then + FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include" + fi + FREETYPE2_FOUND=yes + if test "x$FREETYPE2_FOUND" = xyes; then + # Verify that the directories exist + if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then + AC_ERROR([Could not find the expected directories $with_freetype/lib and $with_freetype/include]) + fi + # List the contents of the lib. + FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null` + if test "x$FREETYPELIB" = x; then + AC_ERROR([Could not find libfreetype.se nor freetype.dll in $with_freetype/lib]) + fi + # Check one h-file + if ! test -s "$with_freetype/include/ft2build.h"; then + AC_ERROR([Could not find $with_freetype/include/ft2build.h]) + fi + fi + fi + if test "x$FREETYPE2_FOUND" = xno; then + BDEPS_CHECK_MODULE(FREETYPE2, freetype2, xxx, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no]) + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + PKG_CHECK_MODULES(FREETYPE2, freetype2, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no]) + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + AC_MSG_CHECKING([for freetype in some standard locations]) + + if test -s /usr/X11/include/ft2build.h && test -d /usr/X11/include/freetype2/freetype; then + DEFAULT_FREETYPE_CFLAGS="-I/usr/X11/include/freetype2 -I/usr/X11/include" + DEFAULT_FREETYPE_LIBS="-L/usr/X11/lib -lfreetype" + fi + if test -s /usr/include/ft2build.h && test -d /usr/include/freetype2/freetype; then + DEFAULT_FREETYPE_CFLAGS="-I/usr/include/freetype2" + DEFAULT_FREETYPE_LIBS="-lfreetype" + fi + + PREV_CXXCFLAGS="$CXXFLAGS" + PREV_LDFLAGS="$LDFLAGS" + CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS" + LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS" + AC_LINK_IFELSE([AC_LANG_SOURCE([[#include + #include FT_FREETYPE_H + int main() { return 0; } + ]])], + [ + # Yes, the default cflags and libs did the trick. + FREETYPE2_FOUND=yes + FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS" + FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS" + ], + [ + FREETYPE2_FOUND=no + ]) + CXXCFLAGS="$PREV_CXXFLAGS" + LDFLAGS="$PREV_LDFLAGS" + AC_MSG_RESULT([$FREETYPE2_FOUND]) + USING_SYSTEM_FT_LIB=true + fi + if test "x$FREETYPE2_FOUND" = xno; then + help_on_build_dependency freetype2 + AC_ERROR([Could not find freetype2! $HELP_MSG ]) + fi +fi + +AC_SUBST(USING_SYSTEM_FT_LIB) +AC_SUBST(FREETYPE2_LIB_PATH) +AC_SUBST(FREETYPE2_CFLAGS) +AC_SUBST(FREETYPE2_LIBS) + +############################################################################### +# +# Check for alsa headers and libraries. Used on Linux/GNU systems. +# +AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa], + [specify prefix directory for the alsa package + (expecting the libraries under PATH/lib and the headers under PATH/include)])]) +AC_ARG_WITH(alsa-include, [AS_HELP_STRING([--with-alsa-include], + [specify directory for the alsa include files])]) +AC_ARG_WITH(alsa-lib, [AS_HELP_STRING([--with-alsa-lib], + [specify directory for the alsa library])]) + +if test "x$ALSA_NOT_NEEDED" = xyes; then + if test "x$with_alsa" != x || test "x$with_alsa-include" != x || test "x$with_alsa-lib" != x; then + AC_MSG_WARN([alsa not used, so --with-alsa is ignored]) + fi + ALSA_CFLAGS= + ALSA_LIBS= +else + ALSA_FOUND=no + + if test "x$with_alsa" = xno || test "x$with_alsa-include" = xno || test "x$with_alsa-lib" = xno; then + AC_ERROR([It is not possible to disable the use of alsa. Remove the --without-alsa option.]) + fi + + if test "x$with_alsa" != x; then + ALSA_LIBS="-L$with_alsa/lib -lalsa" + ALSA_CFLAGS="-I$with_alsa/include" + ALSA_FOUND=yes + fi + if test "x$with_alsa-include" != x; then + ALSA_CFLAGS="-I$with_alsa/include" + ALSA_FOUND=yes + fi + if test "x$with_alsa-lib" != x; then + ALSA_LIBS="-L$with_alsa/lib -lalsa" + ALSA_FOUND=yes + fi + if test "x$ALSA_FOUND" = xno; then + BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no]) + fi + if test "x$ALSA_FOUND" = xno; then + PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no]) + fi + if test "x$ALSA_FOUND" = xno; then + AC_CHECK_HEADERS([alsa/asoundlib.h], + [ALSA_FOUND=yes + ALSA_CFLAGS=-Iignoreme + ALSA_LIBS=-lasound + DEFAULT_ALSA=yes], + [ALSA_FOUND=no]) + fi + if test "x$ALSA_FOUND" = xno; then + help_on_build_dependency alsa + AC_ERROR([Could not find alsa! $HELP_MSG ]) + fi +fi + +AC_SUBST(ALSA_CFLAGS) +AC_SUBST(ALSA_LIBS) + +############################################################################### +# +# Check for pulse audio headers and libraries. +# +PULSE_FOUND=no +AC_ARG_WITH(pulse, [AS_HELP_STRING([--with-pulse], + [specify prefix directory for the pulseaudio package + (expecting the libraries under PATH/lib and the headers under PATH/include)])]) +AC_ARG_WITH(pulse-include, [AS_HELP_STRING([--with-pulse-include], + [specify directory for the pulseaudio include files])]) +AC_ARG_WITH(pulse-lib, [AS_HELP_STRING([--with-pulse-lib], + [specify directory for the pulseaudio library])]) + +if test "x$with_pulse" != x; then + PULSE_LIBS="-L$with_pulse/lib -lfreetype" + PULSE_CFLAGS="-I$with_pulse/include" + PULSE_FOUND=yes +fi +if test "x$with_pulse-include" != x; then + PULSE_CFLAGS="-I$with_pulse/include" + PULSE_FOUND=yes +fi +if test "x$with_pulse-lib" != x; then + PULSE_LIBS="-L$with_pulse/lib -lfreetype" + PULSE_FOUND=yes +fi +if test "x$PULSE_FOUND" = xno; then + BDEPS_CHECK_MODULE(PULSE, pulse, xxx, [PULSE_FOUND=yes], [PULSE_FOUND=no]) +fi +if test "x$PULSE_FOUND" = xno; then + PKG_CHECK_MODULES(LIBPULSE,[libpulse >= 0.9.11],[PULSE_FOUND=yes],[PULSE_FOUND=no]) +fi +if test "x$PULSE_FOUND" = xno; then + AC_CHECK_HEADERS([pulse/pulseaudio.h], + [PULSE_FOUND=yes + PULSE_CFLAGS=-Iignoreme + PULSE_LIBS= + DEFAULT_PULSE=yes], + [PULSE_FOUND=no]) +fi + +if test "x$PULSE_FOUND" = xno && test "x$PULSE_NOT_NEEDED" != xyes; then + help_on_build_dependency pulse + AC_ERROR([Could not find pulse audio libraries. $HELP_MSG ]) +fi + +AC_SUBST(PULSE_CFLAGS) +AC_SUBST(PULSE_LIBS) + +############################################################################### +# +# Check for the jpeg library +# + +USE_EXTERNAL_LIBJPEG=true +AC_CHECK_LIB(jpeg, main, [], + [ USE_EXTERNAL_LIBJPEG=false + AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source]) + ]) +AC_SUBST(USE_EXTERNAL_LIBJPEG) + +############################################################################### +# +# Check for the gif library +# + +USE_EXTERNAL_LIBJPEG=true +AC_CHECK_LIB(gif, main, [], + [ USE_EXTERNAL_LIBGIF=false + AC_MSG_NOTICE([Will use gif decoder bundled with the OpenJDK source]) + ]) +AC_SUBST(USE_EXTERNAL_LIBGIF) + +############################################################################### +# +# Check for the zlib library +# + +USE_EXTERNAL_LIBZ=true +AC_CHECK_LIB(z, main, [], + [ USE_EXTERNAL_LIBZ=false + AC_MSG_NOTICE([Will use zlib bundled with the OpenJDK source]) + ]) +AC_SUBST(USE_EXTERNAL_LIBZ) + +############################################################################### +# +# Check if altzone exists in time.h +# + +AC_TRY_LINK([#include ], [return (int)altzone;], + has_altzone=yes, + has_altzone=no) +if test "x$has_altzone" = xyes; then + AC_DEFINE([HAVE_ALTZONE], 1, [Define if you have the external 'altzone' variable in time.h]) +fi + +############################################################################### +# +# Check the maths library +# + +AC_CHECK_LIB(m, main, [], + [ + AC_MSG_NOTICE([Maths library was not found]) + ]) +AC_SUBST(LIBM) + +############################################################################### +# +# Should we run the painfully slow javadoc tool? +# +AC_MSG_CHECKING([whether to build documentation]) +AC_ARG_ENABLE([docs], [AS_HELP_STRING([--enable-docs], + [enable generation of Javadoc documentation @<:@disabled@:>@])], + [ENABLE_DOCS="${enableval}"], [ENABLE_DOCS='no']) +AC_MSG_RESULT([$ENABLE_DOCS]) +AC_SUBST(ENABLE_DOCS) +GENERATE_DOCS=false +if test "x$ENABLE_DOCS" = xyes; then + GENERATE_DOCS=true +fi +AC_SUBST(GENERATE_DOCS) + +############################################################################### +# +# Should we compile nimbus swing L&F? We can probably remove this option +# since nimbus is officially part of javax now. +# +AC_MSG_CHECKING([whether to build nimbus L&F]) +AC_ARG_ENABLE([nimbus], [AS_HELP_STRING([--disable-nimbus], + [disable Nimbus L&F @<:@enabled@:>@])], + [ENABLE_NIMBUS="${enableval}"], [ENABLE_NIMBUS='yes']) +AC_MSG_RESULT([$ENABLE_NIMBUS]) +DISABLE_NIMBUS= +if test "x$ENABLE_NIMBUS" = xno; then + DISABLE_NIMBUS=true +fi +AC_SUBST(DISABLE_NIMBUS) + +############################################################################### +# +# Setup the opt flags for different compilers +# and different operating systems. +# +case $COMPILER_TYPE in + CC ) + D_FLAG="-g" + case $COMPILER_NAME in + gcc ) + case $PLATFORM in + macosx ) + # On MacOSX we optimize for size, something + # we should do for all platforms? + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-Os" + C_O_FLAG_NONE="-O0" + ;; + *) + C_O_FLAG_HI="-O3" + C_O_FLAG_NORM="-O2" + C_O_FLAG_NONE="-O0" + ;; + esac + CXX_O_FLAG_HI="$C_O_FLAG_HI" + CXX_O_FLAG_NORM="$C_O_FLAG_NORM" + CXX_O_FLAG_NONE="$C_O_FLAG_NONE" + ;; + ossc ) + case $LEGACY_HOST_CPU1 in + i586) + C_O_FLAG_HI="-xO4 -Wu,-O4~yz" + C_O_FLAG_NORM="-xO2 -Wu,-O2~yz" + C_O_FLAG_NONE="" + CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz" + CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz" + CXX_O_FLAG_NONE="" + ;; + sparc) + C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0" + C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0" + C_O_FLAG_NONE="" + CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0" + CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0" + CXX_O_FLAG_NONE="" + ;; + esac + esac + ;; + CL ) + D_FLAG= + C_O_FLAG_HI="-O2" + C_O_FLAG_NORM="-O1" + C_O_FLAG_NONE="-Od" + CXX_O_FLAG_HI="$C_O_FLAG_HI" + CXX_O_FLAG_NORM="$C_O_FLAG_NORM" + CXX_O_FLAG_NONE="$C_O_FLAG_NONE" + ;; +esac + +AC_SUBST(C_O_FLAG_HI) +AC_SUBST(C_O_FLAG_NORM) +AC_SUBST(C_O_FLAG_NONE) +AC_SUBST(CXX_O_FLAG_HI) +AC_SUBST(CXX_O_FLAG_NORM) +AC_SUBST(CXX_O_FLAG_NONE) + +############################################################################### +# +# Setup legacy vars/targets and new vars to deal with different debug levels. +# +case $DEBUG_LEVEL in + release ) + HOTSPOT_DEBUG_LEVEL="product" + HOTSPOT_EXPORT="product" + ;; + fastdebug ) + HOTSPOT_DEBUG_LEVEL="fastdebug" + HOTSPOT_EXPORT="fastdebug" + CFLAGS="$CFLAGS $D_FLAG" + JAVAC_FLAGS="$JAVAC_FLAGS -g" + ;; + slowdebug ) + HOTSPOT_DEBUG_LEVEL="jvmg" + HOTSPOT_EXPORT="debug" + CFLAGS="$CFLAGS $D_FLAG" + C_O_FLAG_HI="$C_O_FLAG_NONE" + C_O_FLAG_NORM="$C_O_FLAG_NONE" + CXX_O_FLAG_HI="$CXX_O_FLAG_NONE" + CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE" + JAVAC_FLAGS="$JAVAC_FLAGS -g" + ;; +esac + +############################################################################### +# +# Generate the legacy makefile targets for hotspot. +# The hotspot api for selecting the build artifacts, really, needs to be improved. +# +HOTSPOT_TARGET="" + +if test "x$JVM_VARIANT_SERVER" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} " +fi + +if test "x$JVM_VARIANT_CLIENT" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 " +fi + +if test "x$JVM_VARIANT_KERNEL" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel " +fi + +if test "x$JVM_VARIANT_ZERO" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero " +fi + +if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then + HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark " +fi + +HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT" + +############################################################################### +# +# Setup all directories for the subrepoes and the arguments to the sub makes. +# +LANGTOOLS_OUTPUTDIR="$OUTPUT_ROOT/langtools" +LANGTOOLS_DIST="$OUTPUT_ROOT/langtools/dist" +LANGTOOLS_MAKE_ARGS="" +AC_SUBST(LANGTOOLS_OUTPUTDIR) +AC_SUBST(LANGTOOLS_DIST) +AC_SUBST(LANGTOOLS_MAKE_ARGS) + +CORBA_OUTPUTDIR="$OUTPUT_ROOT/corba" +CORBA_DIST="$OUTPUT_ROOT/corba/dist" +CORBA_MAKE_ARGS="" +AC_SUBST(CORBA_OUTPUTDIR) +AC_SUBST(CORBA_DIST) +AC_SUBST(CORBA_MAKE_ARGS) + +JAXP_OUTPUTDIR="$OUTPUT_ROOT/jaxp" +JAXP_DIST="$OUTPUT_ROOT/jaxp/dist" +JAXP_MAKE_ARGS="" +AC_SUBST(JAXP_OUTPUTDIR) +AC_SUBST(JAXP_DIST) +AC_SUBST(JAXP_MAKE_ARGS) + +JAXWS_OUTPUTDIR="$OUTPUT_ROOT/jaxws" +JAXWS_DIST="$OUTPUT_ROOT/jaxws/dist" +JAXWS_MAKE_ARGS="" +AC_SUBST(JAXWS_OUTPUTDIR) +AC_SUBST(JAXWS_DIST) +AC_SUBST(JAXWS_MAKE_ARGS) + +HOTSPOT_OUTPUTDIR="$OUTPUT_ROOT/hotspot" +HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist" +HOTSPOT_MAKE_ARGS="ALT_OUTPUTDIR=$HOTSPOT_OUTPUTDIR ALT_EXPORT_PATH=$HOTSPOT_DIST $HOTSPOT_TARGET" +AC_SUBST(HOTSPOT_OUTPUTDIR) +AC_SUBST(HOTSPOT_DIST) +AC_SUBST(HOTSPOT_MAKE_ARGS) + +JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk" +JDK_MAKE_ARGS="ALT_OUTPUTDIR=\"$OUTPUT_ROOT/jdk\"" +AC_SUBST(JDK_OUTPUTDIR) +AC_SUBST(JDK_MAKE_ARGS) + +IMAGES_OUTPUTDIR=$OUTPUT_ROOT/images +IMAGES_MAKE_ARGS="ALT_OUTPUTDIR=$OUTPUT_ROOT/jdk \ + SHARE_SRC=$JDK_TOPDIR/src/share \ + PLATFORM_SRC=$JDK_TOPDIR/src/$LEGACY_HOST_OS_API \ + TEMPDIR=$IMAGES_OUTPUTDIR/tmp \ + ABS_TEMPDIR=$IMAGES_OUTPUTDIR/tmp " +AC_SUBST(IMAGES_OUTPUTDIR) +AC_SUBST(IMAGES_MAKE_ARGS) + +############################################################################### +# +# Now setup the CFLAGS and LDFLAGS for the JDK build. +# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build. +# +case $COMPILER_NAME in + gcc ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer \ + -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" + CFLAGS_JDK="$CFLAGS_JDK -fno-strict-aliasing" + ;; + ossc ) + CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa REQUIRED -v -mt -norunpath -xnolib" + CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt REQUIRED -features=no%except -DCC_NOEX" + ;; + cl ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \ + -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \ + -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \ + -DWIN32 -DIAL" + case $LEGACY_HOST_CPU1 in + i?86 ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86" + ;; + amd64 ) + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64" + ;; + esac + ;; +esac + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" + +# The package path is used only on macosx? +PACKAGE_PATH=/opt/local +AC_SUBST(PACKAGE_PATH) + +# Sometimes we use a cpu dir (.../lib/amd64/server) +# Sometimes not (.../lib/server) +LIBARCHDIR="$LEGACY_HOST_CPU2/" +if test "x$ENDIAN" = xlittle; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN" +else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN" +fi +if test "x$HOST_OS" = xlinux; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" +fi +if test "x$HOST_OS" = xwindows; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS" +fi +if test "x$HOST_OS" = xsolaris; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS" +fi +if test "x$HOST_OS" = xmacosx; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE" + LIBARCHDIR="" +fi +if test "x$HOST_OS" = xbsd; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" +fi +if test "x$DEBUG_LEVEL" = xrelease; then + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG" +else + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG" +fi + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$LEGACY_HOST_CPU1\"' -D$LEGACY_HOST_CPU1" +CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'" + +CCXXFLAGS_JDK="$CCXXFLAGS_JDK \ + -I${JDK_OUTPUTDIR}/include \ + -I${JDK_OUTPUTDIR}/include/$PLATFORM \ + -I${JDK_TOPDIR}/src/share/javavm/export \ + -I${JDK_TOPDIR}/src/$LEGACY_HOST_OS_API/javavm/export \ + -I${JDK_TOPDIR}/src/share/native/common \ + -I${JDK_TOPDIR}/src/$LEGACY_HOST_OS_API/native/common" + +# The shared libraries are compiled using the picflag. +CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" +CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG" + +# Executable flags +CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" +CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" + +# Now this is odd. The JDK native libraries have to link against libjvm.so +# On 32-bit machines there is normally two distinct libjvm.so:s, client and server. +# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library +# is identical for client and server? Yes. Which is picked at runtime (client or server)? +# Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following +# libraries will link to whatever is in memory. Yuck. +# +# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh. +if test "x$COMPILER_TYPE" = xCL; then + LDFLAGS_JDKLIB="$LDFLAGS -libpath:${JDK_OUTPUTDIR}/lib jvm.lib java.lib" + LDFLAGS_JDKLIB_SUFFIX="" + if test "x$HOST_CPU_BITS" = "x64"; then + LDFLAGS_JDKEXE="$CFLAGS ${JDK_OUTPUTDIR}/tmp/java/jli/obj64/jli.lib" + else + LDFLAGS_JDKEXE="$CFLAGS ${JDK_OUTPUTDIR}/tmp/java/jli/obj/jli.lib" + fi + LDFLAGS_JDKEXE_SUFFIX="" +else + # If this is a --hash-style=gnu system, use --hash-style=both, why? + HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'` + if test -n "$HAS_GNU_HASH"; then + # And since we now know that the linker is gnu, then add -z defs, to forbid + # undefined symbols in object files. + LDFLAGS="$LDFLAGS -Xlinker --hash-style=both -Xlinker -z -Xlinker defs" + if test "x$DEBUG_LEVEL" == "xrelease"; then + # When building release libraries, tell the linker optimize them. + # Should this be supplied to the OSS linker as well? + LDFLAGS="$LDFLAGS -Xlinker -O1" + fi + fi + + LDFLAGS_JDKLIB="$LDFLAGS $SHARED_LIBRARY_FLAGS -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}server \ + -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}client \ + -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}" + LDFLAGS_JDKLIB_SUFFIX="-ljvm -ljava" + if test "x$COMPILER_NAME" = xossc; then + LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc" + fi + + # Only the jli library is explicitly linked when the launchers are built. + # The libjvm is then dynamically loaded/linked by the launcher. + LDFLAGS_JDKEXE="$LDFLAGS -L${JDK_OUTPUTDIR}/lib/${LIBARCHDIR}jli" + LDFLAGS_JDKEXE_SUFFIX="-ljli" +fi + + +AC_SUBST(CFLAGS_JDKLIB) +AC_SUBST(CFLAGS_JDKEXE) + +AC_SUBST(CXXFLAGS_JDKLIB) +AC_SUBST(CXXFLAGS_JDKEXE) + +AC_SUBST(LDFLAGS_JDKLIB) +AC_SUBST(LDFLAGS_JDKEXE) +AC_SUBST(LDFLAGS_JDKLIB_SUFFIX) +AC_SUBST(LDFLAGS_JDKEXE_SUFFIX) + + +############################################################################### +# +# statically link libstdc++ before C++ ABI is stablized on Linux unless +# dynamic build is configured on command line. +# +AC_ARG_ENABLE([static-link-stdc++], [AS_HELP_STRING([--disable-static-link-stdc++], + [disable static linking of the C++ runtime on Linux @<:@enabled@:>@])],, + [ + enable_static_link_stdc__=yes + ]) + +if test "x$HOST_OS" = xlinux; then + # Test if -lstdc++ works. + AC_MSG_CHECKING([if dynamic link of stdc++ is possible]) + AC_LANG_PUSH(C++) + OLD_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -lstdc++" + AC_TRY_LINK([], [return 0;], + has_dynamic_libstdcxx=yes, + has_dynamic_libstdcxx=no) + CXXFLAGS="$OLD_CXXFLAGS" + AC_LANG_POP(C++) + AC_MSG_RESULT([$has_dynamic_libstdcxx]) + + # Test if stdc++ can be linked statically. + AC_MSG_CHECKING([if static link of stdc++ is possible]) + STATIC_STDCXX_FLAGS="-Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic" + AC_LANG_PUSH(C++) + OLD_LIBS="$LIBS" + OLD_CXX="$CXX" + LIBS="$STATIC_STDCXX_FLAGS" + CXX="$CC" + AC_TRY_LINK([], [return 0;], + has_static_libstdcxx=yes, + has_static_libstdcxx=no) + LIBS="$OLD_LIBS" + CXX="$OLD_CXX" + AC_LANG_POP(C++) + AC_MSG_RESULT([$has_static_libstdcxx]) + + if test "x$has_static_libcxx" = xno && test "x$has_dynamic_libcxx" = xno; then + AC_ERROR([I cannot link to stdc++! Neither dynamically nor statically.]) + fi + + if test "x$enable_static_link_stdc__" = xyes && test "x$has_static_libstdcxx" = xno; then + AC_MSG_NOTICE([Static linking of libstdc++ was not possible reverting to dynamic linking.]) + enable_static_link_stdc__=no + fi + + if test "x$enable_static_link_stdc__" = xno && test "x$has_dynamic_libstdcxx" = xno; then + AC_MSG_NOTICE([Dynamic linking of libstdc++ was not possible reverting to static linking.]) + enable_static_link_stdc__=yes + fi + + AC_MSG_CHECKING([how to link with libstdc++]) + if test "x$enable_static_link_stdc__" = xyes; then + LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS" + LDCXX="$CC" + AC_MSG_RESULT([static]) + else + LIBCXX="$LIBCXX -lstdc++" + LDCXX="$CXX" + AC_MSG_RESULT([dynamic]) + fi +fi + +############################################################################### +# +# Could someone enlighten this configure script with a comment about libCrun? +# The LEGACY_HOST_CPU3 is the setting for ISA_DIR. +# +if test "x$HOST_OS" = xsolaris; then + LIBCXX="$LIBCXX /usr/lib${LEGACY_HOST_CPU3}/libCrun.so.1" +fi + +AC_SUBST(LIBCXX) + +############################################################################### +# +# Misc +# + +# Control wether Hotspot runs Queens test after build. +AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build], + [enable running of Queens test after Hotspot build (not yet available) @<:@disabled@:>@])],, + [enable_hotspot_test_in_build=no]) +if test "x$enable_hotspot_test_in_build" = "xyes"; then + TEST_IN_BUILD=true +else + TEST_IN_BUILD=false +fi +AC_SUBST(TEST_IN_BUILD) + +############################################################################### +# +# A helpful message at the end of the configure run. +# +if test "x$CCACHE_FOUND" = x && test "x$GCC" = xyes; then + help_on_build_dependency ccache + + printf "\nTip of the day:\nYou should really install ccache version 3.1.4 or newer.\n" + printf "It gives a tremendous speedup for C++ recompilations with precompiled headers!\n" +fi + +if test "x$CCACHE_FOUND" != x && test "x$HAS_GOOD_CCACHE" = x; then + printf "You have a ccache installed, but it is a version prior to 3.1.4. Try upgrading.\n" +fi + +AC_OUTPUT --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/cores.m4 2012-04-04 16:38:58.356843645 +0200 @@ -0,0 +1,103 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +AC_DEFUN([CHECK_CORES], +[ + AC_MSG_CHECKING([for number of cores]) + NUM_CORES=1 + FOUND_CORES=no + + if test -f /proc/cpuinfo; then + # Looks like a Linux system + NUM_CORES=`cat /proc/cpuinfo | grep -c processor` + FOUND_CORES=yes + fi + + if test -x /usr/sbin/psrinfo; then + # Looks like a Solaris system + NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line` + FOUND_CORES=yes + fi + + if test -x /usr/sbin/system_profiler; then + # Looks like a MacOSX system + NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'` + FOUND_CORES=yes + fi + + if test "x$build_os" = xwindows; then + NUM_CORES=4 + fi + + # For c/c++ code we run twice as many concurrent build + # jobs than we have cores, otherwise we will stall on io. + CONCURRENT_BUILD_JOBS=`expr $NUM_CORES \* 2` + + if test "x$FOUND_CORES" = xyes; then + AC_MSG_RESULT([$NUM_CORES]) + else + AC_MSG_RESULT([could not detect number of cores, defaulting to 1!]) + fi + +]) + +AC_DEFUN([CHECK_MEMORY_SIZE], +[ + AC_MSG_CHECKING([for memory size]) + # Default to 1024MB + MEMORY_SIZE=1024 + FOUND_MEM=no + + if test -f /proc/cpuinfo; then + # Looks like a Linux system + MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'` + MEMORY_SIZE=`expr $MEMORY_SIZE / 1024` + FOUND_MEM=yes + fi + + if test -x /usr/sbin/prtconf; then + # Looks like a Solaris system + MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'` + FOUND_MEM=yes + fi + + if test -x /usr/sbin/system_profiler; then + # Looks like a MacOSX system + MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'` + MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024` + FOUND_MEM=yes + fi + + if test "x$build_os" = xwindows; then + MEMORY_SIZE=`systeminfo | grep 'Total Physical Memory:' | awk '{ print [$]4 }' | sed 's/,//'` + FOUND_MEM=yes + fi + + if test "x$FOUND_MEM" = xyes; then + AC_MSG_RESULT([$MEMORY_SIZE MB]) + else + AC_MSG_RESULT([could not detect memory size defaulting to 1024MB!]) + fi +]) --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/help.m4 2012-04-04 16:38:58.716837000 +0200 @@ -0,0 +1,110 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +function help_on_build_dependency { + # Print a helpful message on how to acquire the necessary build dependency. + # $1 is the help tag: freetyp2, cups, pulse, alsa etc + MISSING_DEPENDENCY=$1 + PKGHANDLER_COMMAND= + + AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd) + + case $PKGHANDLER in + apt-get) + apt_help $MISSING_DEPENDENCY ;; + yum) + yum_help $MISSING_DEPENDENCY ;; + port) + port_help $MISSING_DEPENDENCY ;; + pkgutil) + pkgutil_help $MISSING_DEPENDENCY ;; + pkgadd) + pkgadd_help $MISSING_DEPENDENCY ;; + * ) + break ;; + esac + + if test "x$PKGHANDLER_COMMAND" != x; then + HELP_MSG="Try running '$PKGHANDLER_COMMAND'." + fi +} + +function apt_help { + case $1 in + devkit) + PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;; + openjdk) + PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;; + alsa) + PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;; + cups) + PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;; + freetype2) + PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;; + pulse) + PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;; + x11) + PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev" ;; + ccache) + PKGHANDLER_COMMAND="sudo apt-get install ccache" ;; + * ) + break ;; + esac +} + +function yum_help { + case $1 in + devkit) + PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;; + openjdk) + PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;; + alsa) + PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;; + cups) + PKGHANDLER_COMMAND="sudo yum install cups-devel" ;; + freetype2) + PKGHANDLER_COMMAND="sudo yum install freetype2-devel" ;; + pulse) + PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;; + x11) + PKGHANDLER_COMMAND="sudo yum install libXtst-devel" ;; + ccache) + PKGHANDLER_COMMAND="sudo yum install ccache" ;; + * ) + break ;; + esac +} + +function port_help { + PKGHANDLER_COMMAND="" +} + +function pkgutil_help { + PKGHANDLER_COMMAND="" +} + +function pkgadd_help { + PKGHANDLER_COMMAND="" +} --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/platform.m4 2012-04-04 16:38:59.076830355 +0200 @@ -0,0 +1,517 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +AC_DEFUN([CHECK_FIND_DELETE], +[ + # Test if find supports -delete + AC_MSG_CHECKING([if find supports -delete]) + FIND_DELETE="-delete" + + DELETEDIR=`mktemp -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?) + + echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete + + TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1` + if test -f $DELETEDIR/TestIfFindSupportsDelete; then + # No, it does not. + rm $DELETEDIR/TestIfFindSupportsDelete + FIND_DELETE="-exec rm \{\} \+" + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) + fi + rmdir $DELETEDIR +]) + +AC_DEFUN([CHECK_NONEMPTY], +[ + # Test that variable $1 is not empty. + if test "" = "[$]$1"; then AC_ERROR(Could not find translit($1,A-Z,a-z) !); fi +]) + +AC_DEFUN([ADD_JVM_ARG_IF_OK], +[ + # Test if $1 is a valid argument to $3 (often is $JAVA passed as $3) + # If so, then append $1 to $2 + FOUND_WARN=`$3 $1 -version 2>&1 | grep -i warn` + FOUND_VERSION=`$3 $1 -version 2>&1 | grep " version \""` + if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then + $2="[$]$2 $1" + fi +]) + +AC_DEFUN([WHICHCMD], +[ + # Translate "gcc -E" into "`which gcc` -E" ie + # extract the full path to the binary and at the + # same time maintain any arguments passed to it. + # The command MUST exist in the path, or else! + tmp="[$]$1" + car="${tmp%% *}" + tmp="[$]$1 EOL" + cdr="${tmp#* }" + # On windows we want paths without spaces. + if test "x$BUILD_OS" = "xwindows"; then + WHICHCMD_SPACESAFE(car) + else + # "which" is not portable, but is used here + # because we know that the command exists! + car=`which $car` + fi + if test "x$cdr" != xEOL; then + $1="$car ${cdr% *}" + else + $1="$car" + fi +]) + +AC_DEFUN([SPACESAFE], +[ + # Fail with message $2 if var $1 contains a path with no spaces in it. + # Unless on Windows, where we can rewrite the path. + HAS_SPACE=`echo "[$]$1" | grep " "` + if test "x$HAS_SPACE" != x; then + if test "x$BUILD_OS" = "xwindows"; then + $1=`$CYGPATH -s -m -a "[$]$1"` + $1=`$CYGPATH -u "[$]$1"` + else + AC_ERROR([You cannot have spaces in $2! "[$]$1"]) + fi + fi +]) + +AC_DEFUN([WHICHCMD_SPACESAFE], +[ + # Translate long cygdrive or C:\sdfsf path + # into a short mixed mode path that has no + # spaces in it. + tmp="[$]$1" + if test "x$BUILD_OS" = "xwindows"; then + tmp=`$CYGPATH -u "[$]$1"` + tmp=`which "$tmp"` + # If file exists with .exe appended, that's the real filename + # and cygpath needs that to convert to short style path. + if test -f "${tmp}.exe"; then + tmp="${tmp}.exe" + elif test -f "${tmp}.cmd"; then + tmp="${tmp}.cmd" + fi + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + fi + $1="$tmp" +]) + +AC_DEFUN([REMOVE_SYMBOLIC_LINKS], +[ + if test "x$BUILD_OS" != xwindows; then + # Follow a chain of symbolic links. Use readlink + # where it exists, else fall back to horribly + # complicated shell code. + AC_PATH_PROG(READLINK, readlink) + if test "x$READLINK_TESTED" != yes; then + # On MacOSX there is a readlink tool with a different + # purpose than the GNU readlink tool. Check the found readlink. + ISGNU=`$READLINK --help 2>&1 | grep GNU` + if test "x$ISGNU" = x; then + # A readlink that we do not know how to use. + # Are there other non-GNU readlinks out there? + READLINK_TESTED=yes + READLINK= + fi + fi + + if test "x$READLINK" != x; then + $1=`$READLINK -f [$]$1` + else + STARTDIR=$PWD + COUNTER=0 + DIR=`dirname [$]$1` + FIL=`basename [$]$1` + while test $COUNTER -lt 20; do + ISLINK=`ls -l $DIR/$FIL | grep '\->' | sed -e 's/.*-> \(.*\)/\1/'` + if test "x$ISLINK" == x; then + # This is not a symbolic link! We are done! + break + fi + # The link might be relative! We have to use cd to travel safely. + cd $DIR + cd `dirname $ISLINK` + DIR=`pwd` + FIL=`basename $ISLINK` + let COUNTER=COUNTER+1 + done + cd $STARTDIR + $1=$DIR/$FIL + fi + fi +]) + +AC_DEFUN([TESTFOR_PROG_CCACHE], +[ + AC_ARG_ENABLE([ccache], + [AS_HELP_STRING([--disable-ccache], + [use ccache to speed up recompilations @<:@enabled@:>@])], + [ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes]) + if test "x$ENABLE_CCACHE" = xyes; then + AC_PATH_PROG(CCACHE, ccache) + else + AC_MSG_CHECKING([for ccache]) + AC_MSG_RESULT([explicitly disabled]) + CCACHE= + fi + AC_SUBST(CCACHE) + + AC_ARG_WITH([ccache-dir], + [AS_HELP_STRING([--with-ccache-dir], + [where to store ccache files @<:@~/.ccache@:>@])]) + + if test "x$with_ccache_dir" != x; then + # When using a non home ccache directory, assume the use is to share ccache files + # with other users. Thus change the umask. + SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002" + fi + CCACHE_FOUND="" + if test "x$CCACHE" != x; then + SETUP_CCACHE_USAGE + fi +]) + +AC_DEFUN([SETUP_CCACHE_USAGE], +[ + if test "x$CCACHE" != x; then + CCACHE_FOUND="true" + # Only use ccache if it is 3.1.4 or later, which supports + # precompiled headers. + AC_MSG_CHECKING([if ccache supports precompiled headers]) + HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null` + if test "x$HAS_GOOD_CCACHE" = x; then + AC_MSG_RESULT([no, disabling ccache]) + CCACHE= + else + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers]) + PUSHED_FLAGS="$CXXFLAGS" + CXXFLAGS="-fpch-preprocess $CXXFLAGS" + AC_TRY_COMPILE([], [], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no]) + CXXFLAGS="$PUSHED_FLAGS" + if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no, disabling ccaching of precompiled headers]) + CCACHE= + fi + fi + fi + + if test "x$CCACHE" != x; then + CCACHE_SLOPPINESS=time_macros + CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE" + CCACHE_FLAGS=-fpch-preprocess + + if test "x$SET_CCACHE_DIR" != x; then + mkdir -p $CCACHE_DIR > /dev/null 2>&1 + chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1 + fi + fi +]) + +AC_DEFUN([EXTRACT_HOST_AND_BUILD_AND_LEGACY_VARS], +[ + # Expects $host_os $host_cpu $build_os and $build_cpu + # and $with_data_model to have been setup! + # + # Translate the standard triplet(quadruplet) definition + # of the host/build system into + # HOST_OS=aix,bsd,hpux,linux,macosx,solaris,windows + # HOST_OS_FAMILY=bsd,gnu,sysv,win32,wince + # HOST_OS_API=posix,winapi + # + # HOST_CPU=ia32,x64,sparc,sparcv9,arm,arm64,ppc,ppc64 + # HOST_CPU_ARCH=x86,sparc,pcc,arm + # HOST_CPU_BITS=32,64 + # HOST_CPU_ENDIAN=big,little + # + # The same values are setup for BUILD_... + # + # And the legacy variables, for controlling the old makefiles. + # LEGACY_HOST_CPU1=i586,amd64,sparc,sparcv9,arm,arm64... + # LEGACY_HOST_CPU2=i386,amd64,sparc,sparcv9,arm,arm64... + # LEGACY_HOST_CPU3=sparcv9,amd64 (but only on solaris) + # LEGACY_HOST_OS_API=solaris,windows + # + # We also copy the autoconf trip/quadruplet + # verbatim to HOST and BUILD + AC_SUBST(HOST, ${host}) + AC_SUBST(BUILD, ${build}) + + EXTRACT_VARS_FROM_OS_TO(HOST,$host_os) + EXTRACT_VARS_FROM_CPU_TO(HOST,$host_cpu) + + EXTRACT_VARS_FROM_OS_TO(BUILD,$build_os) + EXTRACT_VARS_FROM_CPU_TO(BUILD,$build_cpu) + + if test "x$HOST_OS" != xsolaris; then + LEGACY_HOST_CPU3="" + LEGACY_BUILD_CPU3="" + fi +]) + +AC_DEFUN([EXTRACT_VARS_FROM_OS_TO], +[ + EXTRACT_VARS_FROM_OS($2) + $1_OS="$VAR_OS" + $1_OS_FAMILY="$VAR_OS_FAMILY" + $1_OS_API="$VAR_OS_API" + + AC_SUBST($1_OS) + AC_SUBST($1_OS_FAMILY) + AC_SUBST($1_OS_API) + + if test "x$$1_OS_API" = xposix; then + LEGACY_$1_OS_API="solaris" + fi + if test "x$$1_OS_API" = xwinapi; then + LEGACY_$1_OS_API="windows" + fi + AC_SUBST(LEGACY_$1_OS_API) +]) + +AC_DEFUN([EXTRACT_VARS_FROM_CPU_TO], +[ + EXTRACT_VARS_FROM_CPU($2) + $1_CPU="$VAR_CPU" + $1_CPU_ARCH="$VAR_CPU_ARCH" + $1_CPU_BITS="$VAR_CPU_BITS" + $1_CPU_ENDIAN="$VAR_CPU_ENDIAN" + + AC_SUBST($1_CPU) + AC_SUBST($1_CPU_ARCH) + AC_SUBST($1_CPU_BITS) + AC_SUBST($1_CPU_ENDIAN) + + # Also store the legacy naming of the cpu. + # Ie i586 and amd64 instead of ia32 and x64 + LEGACY_$1_CPU1="$VAR_LEGACY_CPU" + AC_SUBST(LEGACY_$1_CPU1) + + # And the second legacy naming of the cpu. + # Ie i386 and amd64 instead of ia32 and x64. + LEGACY_$1_CPU2="$LEGACY_$1_CPU1" + if test "x$LEGACY_$1_CPU1" = xi586; then + LEGACY_$1_CPU2=i386 + fi + AC_SUBST(LEGACY_$1_CPU2) + + # And the third legacy naming of the cpu. + # Ie only amd64 or sparcv9, used for the ISA_DIR on Solaris. + LEGACY_$1_CPU3="" + if test "x$$1_CPU" = xx64; then + LEGACY_$1_CPU3=amd64 + fi + if test "x$$1_CPU" = xsparcv9; then + LEGACY_$1_CPU3=sparvc9 + fi + AC_SUBST(LEGACY_$1_CPU3) +]) + +AC_DEFUN([EXTRACT_VARS_FROM_CPU], +[ + # First argument is the cpu name from the trip/quad + case "$1" in + x86_64) + VAR_CPU=x64 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=amd64 + ;; + i?86) + VAR_CPU=ia32 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=little + VAR_LEGACY_CPU=i586 + ;; + alpha*) + VAR_CPU=alpha + VAR_CPU_ARCH=alpha + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=alpha + ;; + arm*) + VAR_CPU=arm + VAR_CPU_ARCH=arm + VAR_CPU_BITS=3264 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=arm + ;; + mips) + VAR_CPU=mips + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mips + ;; + mipsel) + VAR_CPU=mipsel + VAR_CPU_ARCH=mips + VAR_CPU_BITS=woot + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=mipsel + ;; + powerpc) + VAR_CPU=ppc + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=ppc + ;; + powerpc64) + VAR_CPU=ppc64 + VAR_CPU_ARCH=ppc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=32 + VAR_LEGACY_CPU=ppc64 + ;; + sparc) + VAR_CPU=sparc + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc + ;; + sparc64) + VAR_CPU=sparcv9 + VAR_CPU_ARCH=sparc + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=big + VAR_LEGACY_CPU=sparc_sparcv9 + ;; + s390) + VAR_CPU=s390 + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390 + VAR_LEGACY_CPU=s390 + ;; + s390x) + VAR_CPU=s390x + VAR_CPU_ARCH=s390 + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=woot + VAR_LEGACY_CPU=s390x + ;; + *) + AC_ERROR([unsupported cpu $1]) + ;; + esac + + # Workaround cygwin not knowing about 64 bit. + if test "x$VAR_OS" = "xwindows"; then + if test "x$PROCESSOR_IDENTIFIER" != "x"; then + PROC_ARCH=`echo $PROCESSOR_IDENTIFIER | $CUT -f1 -d' '` + case "$PROC_ARCH" in + intel64|Intel64|INTEL64|em64t|EM64T|amd64|AMD64|8664|x86_64) + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + ;; + esac + fi + fi + + if test "x$VAR_CPU_ARCH" = "xx86"; then + if test "x$with_data_model" = "x64"; then + VAR_CPU=x64 + VAR_CPU_BITS=64 + VAR_LEGACY_CPU=amd64 + fi + if test "x$with_data_model" = "x32"; then + VAR_CPU=ia32 + VAR_CPU_BITS=32 + VAR_LEGACY_CPU=i586 + fi + fi +]) + +AC_DEFUN([EXTRACT_VARS_FROM_OS], +[ + case "$1" in + *linux*) + VAR_OS=linux + VAR_OS_API=posix + VAR_OS_FAMILY=gnu + ;; + *solaris*) + VAR_OS=solaris + VAR_OS_API=posix + VAR_OS_FAMILY=sysv + ;; + *darwin*) + VAR_OS=macosx + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *bsd*) + VAR_OS=bsd + VAR_OS_API=posix + VAR_OS_FAMILY=bsd + ;; + *cygwin*|*windows*) + VAR_OS=windows + VAR_OS_API=winapi + VAR_OS_FAMILY=windows + ;; + *) + AC_MSG_ERROR([unsupported host operating system $1]) + ;; + esac +]) + +AC_DEFUN([CHECK_COMPILER_VERSION], +[ + # Test the compilers that their versions are new enough. +# AC_MSG_CHECKING([version of GCC]) + gcc_ver=`${CC} -dumpversion` + gcc_major_ver=`echo ${gcc_ver}|cut -d'.' -f1` + gcc_minor_ver=`echo ${gcc_ver}|cut -d'.' -f2` +# AM_CONDITIONAL(GCC_OLD, test ! ${gcc_major_ver} -ge 4 -a ${gcc_minor_ver} -ge 3) +# AC_MSG_RESULT([${gcc_ver} (major version ${gcc_major_ver}, minor version ${gcc_minor_ver})]) +]) + +# Fixes paths on windows hosts to be mixed mode short. +AC_DEFUN([WIN_FIX_PATH], +[ + if test "x$BUILD_OS" = "xwindows"; then + AC_PATH_PROG(CYGPATH, cygpath) + tmp="[$]$1" + # Convert to C:/ mixed style path without spaces. + tmp=`$CYGPATH -s -m "$tmp"` + $1="$tmp" + fi +]) --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/spec.gmk.in 2012-04-04 16:38:59.446823524 +0200 @@ -0,0 +1,588 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Configured @DATE_WHEN_CONFIGURED@ to build for a @HOST@ system, +# using ./configure @CONFIGURE_COMMAND_LINE@ + +# When calling macros, the spaces between arguments are +# often semantically important! Sometimes we need to subst +# spaces and commas, therefore we need the following macros. +X:= +SPACE:=$(X) $(X) +COMMA:=, +HASH:=\# +SQUOTE:=' +#' +DQUOTE:=" +#" +define NEWLINE:= +endef + + +# Pass along the verbosity setting. +ifeq (,$(findstring VERBOSE=,$(MAKE))) + MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" +endif + +# No implicit variables or rules! +ifeq (,$(findstring -R,$(MAKE))) + MAKE:=$(MAKE) -R +endif + +# Specify where the spec file is. +ifeq (,$(findstring SPEC=,$(MAKE))) + MAKE:=$(MAKE) SPEC=@SPEC@ +endif + +# Specify where the common include directory for makefiles is. +ifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE))) + MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles +endif + +# A self-referential reference to this file. +SPEC:=@SPEC@ + +# The built jdk will run in this host system. +HOST:=@HOST@ +HOST_OS:=@HOST_OS@ +HOST_OS_FAMILY:=@HOST_OS_FAMILY@ +HOST_OS_API:=@HOST_OS_API@ + +HOST_CPU:=@HOST_CPU@ +HOST_CPU_ARCH:=@HOST_CPU_ARCH@ +HOST_CPU_BITS:=@HOST_CPU_BITS@ +HOST_CPU_ENDIAN:=@HOST_CPU_ENDIAN@ + +# We are building on this build system. +# When not cross-compiling, it is the same as the host. +BUILD:=@BUILD@ +BUILD_OS:=@BUILD_OS@ +BUILD_OS_FAMILY:=@BUILD_OS_FAMILY@ +BUILD_OS_API:=@BUILD_OS_API@ + +BUILD_CPU:=@BUILD_CPU@ +BUILD_CPU_ARCH:=@BUILD_CPU_ARCH@ +BUILD_CPU_BITS:=@BUILD_CPU_BITS@ +BUILD_CPU_ENDIAN:=@BUILD_CPU_ENDIAN@ + +# Old name for HOST_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc) +PLATFORM:=@HOST_OS@ +# Old name for HOST_CPU, uses i586 and amd64, instead of ia32 and x64. +ARCH:=@LEGACY_HOST_CPU1@ +# Yet another name for arch used for an extra subdir below the jvm lib. +# Uses i386 and amd64, instead of ia32 and x64. +LIBARCH:=@LEGACY_HOST_CPU2@ +# Use to switch between solaris and windows subdirs in the jdk. +LEGACY_HOST_OS_API:=@LEGACY_HOST_OS_API@ +# 32 or 64 bit +ARCH_DATA_MODEL:=@HOST_CPU_BITS@ +# Legacy setting for building for a 64 bit machine. +# If yes then this expands to _LP64:=1 +@LP64@ +ENDIAN:=@HOST_CPU_ENDIAN@ +@SET_OPENJDK@ +JIGSAW:=@JIGSAW@ +LIBM:=-lm + +# colon or semicolon +PATH_SEP:=@PATH_SEP@ + +# Set special env variables, to be passed to external tools. +# Used for cygwin setups. +@SETUPDEVENV@ + +# The sys root where standard headers and libraries are found. +# Usually not needed since the configure script should have +# taken it into account already when setting CFLAGS et al. +SYS_ROOT:=@SYS_ROOT@ + +# Paths to the source code +SRC_ROOT:=@SRC_ROOT@ +ADD_SRC_ROOT:=@ADD_SRC_ROOT@ +OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@ +TOPDIR:=@SRC_ROOT@ +OUTPUT_ROOT:=@OUTPUT_ROOT@ +JDK_MAKE_SHARED_DIR:=@JDK_TOPDIR@/makefiles/common/shared +JDK_TOPDIR:=@JDK_TOPDIR@ +LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@ +CORBA_TOPDIR:=@CORBA_TOPDIR@ +JAXP_TOPDIR:=@JAXP_TOPDIR@ +JAXWS_TOPDIR:=@JAXWS_TOPDIR@ +HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@ +COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ + +# Information gathered from the version.numbers file. +JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@ +JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@ +JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@ +JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@ +JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@ +MILESTONE:=@MILESTONE@ +LAUNCHER_NAME:=@LAUNCHER_NAME@ +PRODUCT_NAME:=@PRODUCT_NAME@ +PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@ +JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@ +COMPANY_NAME:=@COMPANY_NAME@ + +# Different version strings generated from the above information. +JDK_VERSION:=@JDK_VERSION@ +RUNTIME_NAME:=@RUNTIME_NAME@ +FULL_VERSION:=@FULL_VERSION@ +JRE_RELEASE_VERSION:=@FULL_VERSION@ +RELEASE:=@RELEASE@ +COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@ + +# How to compile the code: release, fastdebug or slowdebug +DEBUG_LEVEL:=@DEBUG_LEVEL@ + +# This is the JDK variant to build. +# The JDK variant is a name for a specific set of modules to be compiled for the JDK. +JDK_VARIANT:=@JDK_VARIANT@ + +# Legacy defines controlling the JDK variant embedded. +@JAVASE_EMBEDDED@ +@MINIMIZE_RAM_USAGE@ + +# Should we compile support for running with a graphical UI? (ie headful) +# Should we compile support for running without? (ie headless) +SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@ +SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@ +# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. +@BUILD_HEADLESS@ +@BUILD_HEADLESS_ONLY@ + +# These are the libjvms that we want to build. +# The java launcher uses the default. +# The other can be selected by specifying -client -server -kernel -zero or -zeroshark +# on the java launcher command line. +DEFAULT_JVM_VARIANT:=@DEFAULT_JVM_VARIANT@ +JVM_VARIANTS:=@JVM_VARIANTS@ +JVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@ +JVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@ +JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@ +JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@ +JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@ + +# Legacy setting: OPT or DBG +VARIANT:=@VARIANT@ +# Legacy setting: true or false +FASTDEBUG:=@FASTDEBUG@ +# Legacy setting: debugging the class files? +DEBUG_CLASSFILES:=@DEBUG_CLASSFILES@ +# Legacy setting: -debug or -fastdebug +BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@ + +LANGTOOLS_OUTPUTDIR:=@OUTPUT_ROOT@/langtools +LANGTOOLS_DIST:=@OUTPUT_ROOT@/langtools/dist +LANGTOOLS_MAKE_ARGS:=@LANGTOOLS_MAKE_ARGS@ + +CORBA_OUTPUTDIR:=@OUTPUT_ROOT@/corba +CORBA_DIST:=@OUTPUT_ROOT@/corba/dist +CORBA_MAKE_ARGS:=@CORBA_MAKE_ARGS@ + +JAXP_OUTPUTDIR:=@OUTPUT_ROOT@/jaxp +JAXP_DIST:=@OUTPUT_ROOT@/jaxp/dist +JAXP_MAKE_ARGS:=@JAXP_MAKE_ARGS@ + +JAXWS_OUTPUTDIR:=@OUTPUT_ROOT@/jaxws +JAXWS_DIST:=@OUTPUT_ROOT@/jaxws/dist +JAXWS_MAKE_ARGS:=@JAXWS_MAKE_ARGS@ + +HOTSPOT_OUTPUTDIR:=@OUTPUT_ROOT@/hotspot +HOTSPOT_DIST:=@OUTPUT_ROOT@/hotspot/dist +HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ + +# This where a working jvm is built. +# You can run $(JDK_OUTPUTDIR)/bin/java +# Though the layout of the contents of $(JDK_OUTPUTDIR) is not +# yet the same as a default installation. +HOTSPOT_IMPORT_PATH:=@OUTPUT_ROOT@/hotspot/dist +JDK_OUTPUTDIR:=@OUTPUT_ROOT@/jdk +JDK_MAKE_ARGS:=@JDK_MAKE_ARGS@ + +# When you run "make install" it will create the standardized +# layout for the jdk and the jre inside the images subdir. +# Then it will copy the contents of the jdk into the installation +# directory. +IMAGES_OUTPUTDIR:=@OUTPUT_ROOT@/images +IMAGES_MAKE_ARGS:=@IMAGES_MAKE_ARGS@ +# Legacy variables used by Release.gmk +JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2sdk-image +JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2re-image + +# Can be /sparcv9 or /amd64 on Solaris +ISA_DIR:=@LEGACY_HOST_CPU3@ +BINDIR:=$(JDK_OUTPUTDIR)/bin$(ISA_DIR) + +# The boot jdk to use +ALT_BOOTDIR:=@BOOT_JDK@ +BOOT_JDK:=@BOOT_JDK@ +BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@ +BOOT_JAVAC_ARGS:=@BOOT_JAVAC_ARGS@ +BOOT_RTJAR:=@BOOT_RTJAR@ +BOOT_TOOLSJAR:=@BOOT_TOOLSJAR@ + +# When compiling Java source to be run by the boot jdk +# use these extra flags, eg -source 6 -target 6 +BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@ + +# Information about the build system +NUM_CORES:=@NUM_CORES@ +# This is used from the libjvm build for C/C++ code. +HOTSPOT_BUILD_JOBS:=@CONCURRENT_BUILD_JOBS@ +# This is used from the jdk build for C/C++ code. +PARALLEL_COMPILE_JOBS:=@CONCURRENT_BUILD_JOBS@ +# Store javac server synchronization files here, and +# the javac server log files. +JAVAC_SERVERS:=@JAVAC_SERVERS@ +# Should we use a javac server or not? The javac server gives +# an enormous performance improvement since it reduces the +# startup costs of javac and reuses as much as possible of intermediate +# compilation work. But if we want to compile with a non-Java +# javac compiler, like gcj. Then we cannot use javac server and +# this variable is set to false. +JAVAC_USE_REMOTE:=@JAVAC_USE_REMOTE@ +# We can block the Javac server to never use more cores than this. +# This is not for performance reasons, but for memory usage, since each +# core requires its own JavaCompiler. We might have 64 cores and 4GB +# of memory, 64 JavaCompilers will currently not fit in a 3GB heap. +# Since there is no sharing of data between the JavaCompilers. +JAVAC_SERVER_CORES:=@JAVAC_SERVER_CORES@ +# Should we use dependency tracking between Java packages? true or false. +JAVAC_USE_DEPS:=@JAVAC_USE_DEPS@ +# We can invoke javac: SINGLE_THREADED_BATCH or MULTI_CORE_CONCURRENT +JAVAC_USE_MODE:=@JAVAC_USE_MODE@ + +# The OpenJDK makefiles should be changed to using the standard +# configure output ..._CFLAGS and ..._LIBS. In the meantime we +# extract the information here. +FREETYPE2_LIB_PATH:=@FREETYPE2_LIB_PATH@ +FREETYPE2_LIBS:=@FREETYPE2_LIBS@ +FREETYPE2_CFLAGS:=@FREETYPE2_CFLAGS@ +USING_SYSTEM_FT_LIB=@USING_SYSTEM_FT_LIB@ +ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@)) +CUPS_CFLAGS:=@CUPS_CFLAGS@ + +PACKAGE_PATH=@PACKAGE_PATH@ + +CACERTS_FILE:=$(SRC_ROOT)/jdk/src/share/lib/security/cacerts +#CACERTS_INT=$(CLOSED_SHARE_SRC)/lib/security/cacerts.internal + +#MOZILLA_HEADERS_PATH:= + +# Necessary additional compiler flags to compile X11 +X_CFLAGS:=@X_CFLAGS@ +X_LIBS:=@X_LIBS@ +OPENWIN_HOME:=@OPENWIN_HOME@ + +# There are two types: CC or CL +# CC is gcc and others behaving reasonably similar. +# CL is cl.exe only. +COMPILER_TYPE:=@COMPILER_TYPE@ + +CC_OUT_OPTION:=@CC_OUT_OPTION@ +EXE_OUT_OPTION:=@EXE_OUT_OPTION@ +LD_OUT_OPTION:=@LD_OUT_OPTION@ +AR_OUT_OPTION:=@AR_OUT_OPTION@ + +# Flags used for overriding the default opt setting for a C/C++ source file. +C_O_FLAG_HI:=@C_O_FLAG_HI@ +C_O_FLAG_NORM:=@C_O_FLAG_NORM@ +C_O_FLAG_NONE:=@C_O_FLAG_NONE@ +CXX_O_FLAG_HI:=@CXX_O_FLAG_HI@ +CXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@ +CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@ + +# Tools that potentially need to be cross compilation aware. +CC:=@UNCYGDRIVE@ @CCACHE@ @CC@ + +# CFLAGS used to compile the jdk native libraries (C-code) +CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@ +CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@ + +# CFLAGS used to compile the jdk native launchers (C-code) +CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@ +CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@ + +CXX:=@UNCYGDRIVE@ @CCACHE@ @CXX@ +#CXXFLAGS:=@CXXFLAGS@ + +OBJC:=@CCACHE@ @OBJC@ +#OBJCFLAGS:=@OBJCFLAGS@ + +CPP:=@UNCYGDRIVE@ @CPP@ +#CPPFLAGS:=@CPPFLAGS@ + +# The linker can be gcc or ld on posix systems, or link.exe on winapi systems. +LD:=@UNCYGDRIVE@ @LD@ + +# LDFLAGS used to link the jdk native libraries (C-code) +LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@ +LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@ + +# On some platforms the linker cannot be used to create executables, thus +# the need for a separate LDEXE command. +LDEXE:=@UNCYGDRIVE@ @LDEXE@ + +# LDFLAGS used to link the jdk native launchers (C-code) +LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@ +LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@ + +# Sometimes a different linker is needed for c++ libs +LDCXX:=@UNCYGDRIVE@ @LDCXX@ +# The flags for linking libstdc++ linker. +LIBCXX:=@LIBCXX@ + +# Sometimes a different linker is needed for c++ executables +LDEXECXX:=@UNCYGDRIVE@ @LDEXECXX@ + +# If cross compiling, then define CROSS_COMPILE_ARCH:=cpu_name here. +@DEFINE_CROSS_COMPILE_ARCH@ +# The HOSTCC should really be named BUILDCC, ie build executable for +# the build platform. Same as CC when not cross compiling. +HOSTCC:=@HOSTCC@ +HOSTCXX:=@HOSTCXX@ +# And of course, the jdk spells HOSTCC as NIO_CC/HOST_CC +HOST_CC:=@HOSTCC@ +NIO_CC:=@HOSTCC@ + +AS:=@AS@ +ASFLAGS:=@ASFLAGS@ + +# AR is used to create a static library (is ar in posix, lib.exe in winapi) +AR:=@UNCYGDRIVE@ @AR@ +ARFLAGS:=@ARFLAGS@ + +NM:=@NM@ +STRIP:=@STRIP@ +MCS:=@MCS@ + +# Command to create a shared library +SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@ + +# Options to linker to specify a mapfile. +# (Note absence of := assignment, because we do not want to evaluate the macro body here) +SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@ + +# Options to linker to specify the library name. +# (Note absence of := assignment, because we do not want to evaluate the macro body here) +SET_SHARED_LIBRARY_NAME=@SET_SHARED_LIBRARY_NAME@ + +# Set origin using the linker, ie use the relative path to the dependent library to find the dependees. +# (Note absence of := assignment, because we do not want to evaluate the macro body here) +SET_SHARED_LIBRARY_ORIGIN=@SET_SHARED_LIBRARY_ORIGIN@ + +# Different OS:es have different ways of naming shared libraries. +# The SHARED_LIBRARY macro takes "verify" as and argument and returns: +# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform. +# (Note absence of := assignment, because we do not want to evaluate the macro body here) +SHARED_LIBRARY=@SHARED_LIBRARY@ +STATIC_LIBRARY=@STATIC_LIBRARY@ +LIBRARY_PREFIX:=@LIBRARY_PREFIX@ +SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@ +STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@ +EXE_SUFFIX:=@EXE_SUFFIX@ +OBJ_SUFFIX:=@OBJ_SUFFIX@ + +JAVA_FLAGS:=@BOOT_JDK_JVMARGS@ + +JAVA=@UNCYGDRIVE@ @JAVA@ $(JAVA_FLAGS) + +JAVAC:=@UNCYGDRIVE@ @JAVAC@ +JAVAC_FLAGS:=@JAVAC_FLAGS@ + +JAVAH:=@UNCYGDRIVE@ @JAVAH@ + +JAR:=@UNCYGDRIVE@ @JAR@ + +RMIC:=@UNCYGDRIVE@ @RMIC@ + +BOOT_JAR_CMD:=@UNCYGDRIVE@ @JAR@ +BOOT_JAR_JFLAGS:= + +# Base flags for RC +# Guarding this against resetting value. Legacy make files include spec multiple +# times. +ifndef RC_FLAGS +RC_FLAGS:=@RC_FLAGS@ +endif + +# A specific java binary with specific options can be used to run +# the long running background javac server and other long running tasks. +SERVER_JAVA:=@UNCYGDRIVE@ @SERVER_JAVA@ + +# Tools adhering to a minimal and common standard of posix compliance. +AWK:=@AWK@ +CAT:=@CAT@ +CCACHE:=@CCACHE@ +# CD is going away, but remains to cater for legacy makefiles. +CD:=cd +CHMOD:=@CHMOD@ +CP:=@CP@ +CPIO:=@CPIO@ +CUT:=@CUT@ +DATE:=@DATE@ +DF:=@DF@ +DIFF:=@DIFF@ +FIND:=@FIND@ +FIND_DELETE:=@FIND_DELETE@ +ECHO:=@ECHO@ +EGREP:=@EGREP@ +FGREP:=@FGREP@ +GREP:=@GREP@ +HEAD:=@HEAD@ +LS:=@LS@ +LN:=@LN@ +MKDIR:=@MKDIR@ +MV:=@MV@ +NAWK:=@NAWK@ +PRINTF:=@PRINTF@ +PWD:=@THEPWDCMD@ +RM:=@RM@ +SED:=@SED@ +SH:=@SH@ +SORT:=@SORT@ +TAR:=@TAR@ +TAIL:=@TAIL@ +TEE:=@TEE@ +TR:=@TR@ +TOUCH:=@TOUCH@ +WC:=@WC@ +XARGS:=@XARGS@ +ZIPEXE:=@ZIP@ +ZIP:=@ZIP@ +UNZIP:=@UNZIP@ +MT:=@UNCYGDRIVE@ @MT@ +RC:=@UNCYGDRIVE@ @RC@ +DUMPBIN:=@UNCYGDRIVE@ @DUMPBIN@ +CYGPATH:=@CYGPATH@ +LDD:=@LDD@ +OTOOL:=@OTOOL@ +READELF:=@READELF@ +EXPR:=@EXPR@ +FILE:=@FILE@ + +UNCYGDRIVE:=@UNCYGDRIVE@ + +# Where the build output is stored for your convenience. +BUILD_LOG:=@BUILD_LOG@ +BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@ + +# Build setup +ENABLE_DOCS:=@ENABLE_DOCS@ +GENERATE_DOCS:=@ENABLE_DOCS@ +DISABLE_NIMBUS:=@DISABLE_NIMBUS@ +USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ +USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ +USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ +CHECK_FOR_VCINSTALLDIR=@CHECK_FOR_VCINSTALLDIR@ +MSVCRNN_DLL:=@MSVCR100DLL@ + +# ADD_SRCS takes a single argument with source roots +# and appends any corresponding source roots found +# below --with-add-source-root and below +# --with-override-source-root. It is the responsibility +# of the next macro to get rid of superfluous files. +ADD_SRCS=$1 +ifneq (,$(ADD_SRC_ROOT)) + # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT + ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1)) +endif +ifneq (,$(OVERRIDE_SRC_ROOT)) + # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT + ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1)) +endif + +# OVR_SRCS creates a filter expression to filter out sources in +# the original source directory that lie inside directories below +# --with-override-source-root. +# Use := here since we want to scan for these files here. To avoid recomputation later. +# We cannot do the scan in configure, since that would force us to rerun configure when +# we add overridden sources. +ifneq (,$(OVERRIDE_SRC_ROOT)) + OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f))))) +else + OVR_SRCS:= +endif + +#################################################### +# +# INSTALLATION +# + +# Common prefix for all installed files. Defaults to /usr/local, +# but /opt/myjdk is another common version. +INSTALL_PREFIX=@prefix@ + +# Directories containing architecture-dependent files should be relative to exec_prefix +INSTALL_EXECPREFIX=@exec_prefix@ + +# java,javac,javah,javap etc are installed here. +INSTALL_BINDIR=@bindir@ + +# Read only architecture-independent data +INSTALL_DATADIR=@datadir@ + +# Root of above. +INSTALL_DATAROOTDIR=@datarootdir@ + +# Doc files, other than info and man. +INSTALL_DOCDIR=@docdir@ + +# Html documentation +INSTALL_HTMLDIR=@htmldir@ + +# Installing C header files, JNI headers for example. +INSTALL_INCLUDEDIR=@includedir@ + +# Installing library files.... +INSTALL_INCLUDEDIR=@libdir@ + +# Executables that other programs run. +INSTALL_LIBEXECDIR=@libexecdir@ + +# Locale-dependent but architecture-independent data, such as message catalogs. +INSTALL_LOCALEDIR=@localedir@ + +# Modifiable single-machine data +INSTALL_LOCALSTATEDIR=@localstatedir@ + +# Man pages +INSTALL_MANDIR=@mandir@ + +# Modifiable architecture-independent data. +INSTALL_SHAREDSTATEDIR=@sharedstatedir@ + +# Read-only single-machine data +INSTALL_SYSCONFDIR=@sysconfdir@ + + +#################################################### +# +# Misc +# + +# Control wether Hotspot runs Queens test after building +TEST_IN_BUILD=@TEST_IN_BUILD@ --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/autoconf/version.numbers 2012-04-04 16:38:59.806816880 +0200 @@ -0,0 +1,36 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +JDK_MAJOR_VERSION=1 +JDK_MINOR_VERSION=8 +JDK_MICRO_VERSION=0 +JDK_UPDATE_VERSION= +JDK_BUILD_NUMBER= +MILESTONE=internal +LAUNCHER_NAME=openjdk +PRODUCT_NAME=OpenJDK +PRODUCT_SUFFIX="Runtime Environment" +JDK_RC_PLATFORM_NAME=Platform +COMPANY_NAME=N/A --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/compareimage.sh 2012-04-04 16:39:00.176810049 +0200 @@ -0,0 +1,283 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# MANUAL +# +# ./common/bin/compareimages.sh old_jdk_image new_jdk_image +# +# Compare the directory structure. +# Compare the filenames in the directories. +# Compare the contents of the zip archives +# Compare the contents of the jar archives +# Compare the native libraries +# Compare the native executables +# Compare the remaining files +# +# ./common/bin/compareimages.sh old_jdk_image new_jdk_image [zips jars libs execs other] +# +# Compare only the selected subset of the images. +# +# ./common/bin/compareimages.sh old_jdk_image new_jdk_image CodePointIM.jar +# +# Compare only the CodePointIM.jar file +# Can be used to compare zips, libraries and executables. +# + +if [ "x$1" = "x-h" ] || [ "x$1" = "x--help" ] || [ "x$1" == "x" ]; then + echo "./common/bin/compareimages.sh old_jdk_image new_jdk_image" + echo "" + echo "Compare the directory structure." + echo "Compare the filenames in the directories." + echo "Compare the contents of the zip archives" + echo "Compare the contents of the jar archives" + echo "Compare the native libraries" + echo "Compare the native executables" + echo "Compare the remaining files" + echo "" + echo "./common/bin/compareimages.sh old_jdk_image new_jdk_image [zips jars libs execs other]" + echo "" + echo "Compare only the selected subset of the images." + echo "" + echo "./common/bin/compareimages.sh old_jdk_image new_jdk_image CodePointIM.jar" + echo "" + echo "Compare only the CodePointIM.jar file" + echo "Can be used to compare zips, libraries and executables." + exit 10 +fi + +OLD="$1" +NEW="$2" +CMD="$3" + +DIFF_RESULT=0 + +CMP_ZIPS=false +CMP_JARS=false +CMP_LIBS=false +CMP_EXECS=false +CMP_OTHER=false + +FILTER="cat" + +if [ -n "$CMD" ]; then + case "$CMD" in + zips) + CMP_ZIPS=true + ;; + jars) + CMP_JARS=true + ;; + libs) + CMP_LIBS=true + ;; + execs) + CMP_EXECS=true + ;; + other) + CMP_OTHER=true + ;; + *) + CMP_ZIPS=true + CMP_JARS=true + CMP_LIBS=true + CMP_EXECS=true + CMP_OTHER=true + FILTER="grep $3" + ;; + esac +else + CMP_ZIPS=true + CMP_JARS=true + CMP_LIBS=true + CMP_EXECS=true + CMP_OTHER=true +fi + +DIFFJARZIP=`dirname $0`/diffjarzip.sh +DIFFLIB=`dirname $0`/difflib.sh +DIFFEXEC=`dirname $0`/diffexec.sh +export COMPARE_ROOT=/tmp/cimages +mkdir -p $COMPARE_ROOT + +# Load the correct exception list. +case "`uname -s`" in + Linux) + . `dirname $0`/exception_list_linux + ;; +esac + +echo +echo Comparing $OLD to $NEW +echo + +(cd $OLD && find . -type d | sort > $COMPARE_ROOT/from_dirs) +(cd $NEW && find . -type d | sort > $COMPARE_ROOT/to_dirs) + +echo -n Directory structure... +if diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs > /dev/null; then + echo Identical! +else + echo Differences found. + DIFF_RESULT=1 + # Differences in directories found. + ONLY_OLD=$(diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs | grep '<') + if [ "$ONLY_OLD" ]; then + echo Only in $OLD + echo $ONLY_OLD | sed 's|< ./|\t|g' | sed 's/ /\n/g' + fi + # Differences in directories found. + ONLY_NEW=$(diff $COMPARE_ROOT/from_dirs $COMPARE_ROOT/to_dirs | grep '>') + if [ "$ONLY_NEW" ]; then + echo Only in $NEW + echo $ONLY_NEW | sed 's|> ./|\t|g' | sed 's/ /\n/g' + fi +fi + +(cd $OLD && find . -type f | sort > $COMPARE_ROOT/from_files) +(cd $NEW && find . -type f | sort > $COMPARE_ROOT/to_files) + +echo -n File names... +if diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files > /dev/null; then + echo Identical! +else + echo Differences found. + DIFF_RESULT=1 + # Differences in directories found. + ONLY_OLD=$(diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files | grep '<') + if [ "$ONLY_OLD" ]; then + echo Only in $OLD + echo $ONLY_OLD | sed 's|< ./|\t|g' | sed 's/ /\n/g' + fi + # Differences in directories found. + ONLY_NEW=$(diff $COMPARE_ROOT/from_files $COMPARE_ROOT/to_files | grep '>') + if [ "$ONLY_NEW" ]; then + echo Only in $NEW + echo $ONLY_NEW | sed 's|> ./|\t|g' | sed 's/ /\n/g' + fi +fi + +if [ "x$CMP_ZIPS" == "xtrue" ]; then + ZIPS=$(cd $OLD && find . -type f -name "*.zip" | sort | $FILTER) + + if [ -n "$ZIPS" ]; then + echo Zip files... + + for f in $ZIPS + do + $DIFFJARZIP $OLD/$f $NEW/$f $OLD $NEW + if [ "$?" != "0" ]; then + DIFF_RESULT=1 + fi + done + fi +fi + +if [ "x$CMP_JARS" == "xtrue" ]; then + JARS=$(cd $OLD && find . -type f -name "*.jar" | sort | $FILTER) + + if [ -n "$JARS" ]; then + echo Jar files... + + for f in $JARS + do + DIFFJAR_OUTPUT=`$DIFFJARZIP $OLD/$f $NEW/$f $OLD $NEW` + DIFFJAR_RESULT=$? + if [ "$DIFFJAR_RESULT" != "0" ]; then + for diff in $LIST_DIFF_JAR; do + DIFFJAR_OUTPUT=`echo "$DIFFJAR_OUTPUT" | grep -v "$diff"` + done + if [ "`echo "$DIFFJAR_OUTPUT" | grep -v "Differing files in"`" != "" ]; then + DIFF_RESULT=1 + echo "$DIFFJAR_OUTPUT" + fi + fi + done + fi +fi + +if [ "x$FILTER" != "xcat" ]; then + VIEW=view +else + VIEW= +fi + +if [ "x$CMP_LIBS" == "xtrue" ]; then + LIBS=$(cd $OLD && find . -name 'lib*.so' -o -name '*.dylib' -o -name '*.dll' | sort | $FILTER) + + if [ -n "$LIBS" ]; then + echo Libraries... + for f in $LIBS + do + DIFFLIB_OUTPUT=`$DIFFLIB $OLD/$f $NEW/$f $OLD $NEW $VIEW` + DIFFLIB_RESULT=$? + if [ "$DIFFLIB_RESULT" = "0" ]; then + : + #echo "OK: $DIFFLIB_OUTPUT" + elif [ "$DIFFLIB_RESULT" = "2" ] && [[ "$LIST_DIFF_SIZE $LIST_DIFF_BYTE" == *"${f:2}"* ]]; then + : + #echo "OK: $DIFFLIB_OUTPUT" + elif [ "$DIFFLIB_RESULT" = "1" ] && [[ "$LIST_DIFF_BYTE" == *"${f:2}"* ]]; then + : + #echo "OK: $DIFFLIB_OUTPUT" + else + echo "$DIFFLIB_OUTPUT" + DIFF_RESULT=1 + fi + done + fi +fi + +if [ "x$CMP_EXECS" == "xtrue" ]; then + if [ $OSTYPE == "cygwin" ]; then + EXECS=$(cd $OLD && find . -type f -name '*.exe' | sort | $FILTER) + else + EXECS=$(cd $OLD && find . -type f -perm -100 \! \( -name '*.so' -o -name '*.dylib' -o -name '*.dll' \) | sort | $FILTER) + fi + + + if [ -n "$EXECS" ]; then + echo Executables... + + for f in $EXECS + do + DIFFEXEC_OUTPUT=`$DIFFEXEC $OLD/$f $NEW/$f $OLD $NEW $VIEW` + DIFFEXEC_RESULT=$? + if [ "$DIFFEXEC_RESULT" = "0" ]; then + : + #echo "OK: $DIFFEXEC_OUTPUT" + elif [ "$DIFFEXEC_RESULT" = "2" ] && [[ "$LIST_DIFF_SIZE $LIST_DIFF_BYTE" == *"${f:2}"* ]]; then + : + #echo "OK: $DIFFEXEC_OUTPUT" + elif [ "$DIFFEXEC_RESULT" = "1" ] && [[ "$LIST_DIFF_BYTE" == *"${f:2}"* ]]; then + : + #echo "OK: $DIFFEXEC_OUTPUT" + else + echo "$DIFFEXEC_OUTPUT" + DIFF_RESULT=1 + fi + done + fi +fi + +exit $DIFF_RESULT --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/diffexec.sh 2012-04-04 16:39:00.536803404 +0200 @@ -0,0 +1,150 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +if [ $# -lt 2 ] +then + echo "Diff two executables. Return codes:" + echo "0 - no diff" + echo "1 - Identical symbols AND size, BUT not bytewise identical" + echo "2 - Identical symbols BUT NEW size" + echo "3 - Differences, content BUT SAME size" + echo "4 - Differences, content AND size" + echo "10 - Could not perform diff" + echo "Use 'quiet' to disable any output." + echo "Syntax: $0 file1 file2 [quiet]" + exit 10 +fi + +if [ ! -f $1 ] +then + echo $1 does not exist + exit 10 +fi + +if [ ! -f $2 ] +then + echo $2 does not exist + exit 10 +fi + +if [ "`uname`" == "SunOS" ]; then + NM=gnm + STAT=gstat +elif [ $OSTYPE == "cygwin" ]; then + NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe" + NM_ARGS=/exports + STAT=stat +else + NM=nm + STAT=stat +fi + +# Should the differences be viewed? +VIEW= +# You can do export DIFF=meld to view +# any differences using meld instead. +if [ -n "$DIFF" ]; then + DIFF="$DIFF" +else + DIFF=diff +fi +OLD=$(cd $(dirname $1) && pwd)/$(basename $1) +NEW=$(cd $(dirname $2) && pwd)/$(basename $2) + +OLD_SIZE=$($STAT -c%s "$OLD") +NEW_SIZE=$($STAT -c%s "$NEW") + +if [ $# -gt 3 ] +then + ROOT1=$(cd $3 && pwd) + ROOT2=$(cd $4 && pwd) + OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||") + NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||") + if [ "x$5" == "xview" ]; then VIEW=view; fi +else + ROOT1=$(dirname $OLD)/ + ROOT2=$(dirname $NEW)/ + OLD_NAME=$OLD + NEW_NAME=$NEW + if [ "x$3" == "xview" ]; then VIEW=view; fi +fi + +if cmp $OLD $NEW > /dev/null +then + # The files were bytewise identical. + echo Identical: $OLD_NAME + exit 0 +fi + +OLD_SYMBOLS=$COMPARE_ROOT/$OLD_NAME.old +NEW_SYMBOLS=$COMPARE_ROOT/$NEW_NAME.new + +mkdir -p $(dirname $OLD_SYMBOLS) +mkdir -p $(dirname $NEW_SYMBOLS) + +if [ $OSTYPE == "cygwin" ]; then + "$NM" $NM_ARGS $OLD | grep " = " > $OLD_SYMBOLS + "$NM" $NM_ARGS $NEW | grep " = " > $NEW_SYMBOLS + "$NM" $NM_ARGS $OLD > $OLD_SYMBOLS.full + "$NM" $NM_ARGS $NEW > $NEW_SYMBOLS.full +else + # Strip the addresses, just compare the ordering of the symbols. + $NM $OLD | cut -f 2- -d ' ' > $OLD_SYMBOLS + $NM $NEW | cut -f 2- -d ' ' > $NEW_SYMBOLS + # But store the full information for easy diff access. + $NM $OLD > $OLD_SYMBOLS.full + $NM $NEW > $NEW_SYMBOLS.full +fi + +DIFFS=$(LANG=C diff $OLD_SYMBOLS $NEW_SYMBOLS) + +RESULT=0 + +if [ -n "$DIFFS" ]; then + if [ $OLD_SIZE -ne $NEW_SIZE ] + then + echo Differences, content AND size : $OLD_NAME + RESULT=4 + else + echo Differences, content BUT SAME size: $OLD_NAME + RESULT=3 + fi + if [ "x$VIEW" == "xview" ]; then + LANG=C $DIFF $OLD_SYMBOLS $NEW_SYMBOLS + fi +else + if [ $OLD_SIZE -ne $NEW_SIZE ] + then + echo Identical symbols BUT NEW size : $OLD_NAME + RESULT=2 + else + echo Identical symbols AND size, BUT not bytewise identical: $OLD_NAME + RESULT=1 + fi +fi + +exit $RESULT + + + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/diffjarzip.sh 2012-04-04 16:39:00.906796572 +0200 @@ -0,0 +1,151 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Simple tool to diff two jar or zip files. It unpacks the jar/zip files and +# reports if files differs and if files are new or missing. +# Assumes gnu diff. + +# There are a few source files that have DOS line endings in the +# jaxp/jaxws source drops, when the sources were added to the repository +# the source files were converted to UNIX line endings. +# For now we ignore these differences. +DIFF_FLAGS="--strip-trailing-cr" +#set -x + +if [ $# -lt 2 ] +then + echo "Diff two jar/zip files. Return codes: 0 - no diff, 1 - diff, 2 - couldn't perform diff" + echo "Syntax: $0 old_archive new_archive [old_root new_root]" + exit 2 +fi + +if [ ! -f $1 ] +then + echo $1 does not exist + exit 2 +fi + +if [ ! -f $2 ] +then + echo $2 does not exist + exit 2 +fi + +IGNORES="cat" +OLD=$(cd $(dirname $1) && pwd)/$(basename $1) +NEW=$(cd $(dirname $2) && pwd)/$(basename $2) + +if [ $# -gt 3 ] +then + ROOT1=$(cd $3 && pwd) + ROOT2=$(cd $4 && pwd) + OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||") + NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||") + if [ $# == 5 ]; then IGNORES="$5"; fi +else + ROOT1=$(dirname $OLD)/ + ROOT2=$(dirname $NEW)/ + OLD_NAME=$OLD + NEW_NAME=$NEW + if [ $# == 3 ]; then IGNORES="$3"; fi +fi + +if [ "`uname`" == "SunOS" ]; then + DIFF=gdiff +else + DIFF=diff +fi + +OLD_SUFFIX="${OLD##*.}" +NEW_SUFFIX="${NEW##*.}" +if [ "$OLD_SUFFIX" != "$NEW_SUFFIX" ]; then + echo The files do not have the same suffix type! + exit 2 +fi + +if [ "$OLD_SUFFIX" != "zip" ] && [ "$OLD_SUFFIX" != "jar" ]; then + echo The files have to be zip or jar! They are $OLD_SUFFIX + exit 2 +fi + +UNARCHIVE="unzip -q" + +TYPE="$OLD_SUFFIX" + +if cmp $OLD $NEW > /dev/null +then + # The files were bytewise identical. + exit 0 +fi + +# Not quite identical, the might still contain the same data. +# Unpack the jar/zip files in temp dirs +if test "x$COMPARE_ROOT" == "x"; then + COMPARE_ROOT=/tmp/compare_root.$$ + REMOVE_COMPARE_ROOT=true +fi +OLD_TEMPDIR=$COMPARE_ROOT/$OLD_NAME.old +NEW_TEMPDIR=$COMPARE_ROOT/$NEW_NAME.new +mkdir -p $OLD_TEMPDIR +mkdir -p $NEW_TEMPDIR +(cd $OLD_TEMPDIR && rm -rf * ; $UNARCHIVE $OLD) +(cd $NEW_TEMPDIR && rm -rf * ; $UNARCHIVE $NEW) + +ONLY1=$(LANG=C $DIFF -rq $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $OLD_TEMPDIR") + +if [ -n "$ONLY1" ]; then + echo " Only the OLD $OLD_NAME contains:" + LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $OLD_TEMPDIR" \ + | sed "s|Only in $OLD_TEMPDIR| |"g | sed 's|: |/|g' +fi + +ONLY2=$(LANG=C $DIFF -rq $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $NEW_TEMPDIR") + +if [ -n "$ONLY2" ]; then + echo " Only the NEW $NEW_NAME contains:" + LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep "^Only in $NEW_TEMPDIR" \ + | sed "s|Only in $NEW_TEMPDIR| |"g | sed 's|: |/|g' +fi + +DIFFTEXT=`dirname $0`/difftext.sh + +LANG=C $DIFF -rq $DIFF_FLAGS $OLD_TEMPDIR $NEW_TEMPDIR | grep differ | cut -f 2,4 -d ' ' | \ + awk "{ print \"$DIFFTEXT \"\$1\" \"\$2 }" > $COMPARE_ROOT/diffing + +/bin/bash $COMPARE_ROOT/diffing > $COMPARE_ROOT/diffs + +if [ -s "$COMPARE_ROOT/diffs" ]; then + echo " Differing files in $OLD_NAME" + cat $COMPARE_ROOT/diffs | grep differ | $IGNORES | cut -f 2 -d ' ' | \ + sed "s|$OLD_TEMPDIR| |g" +fi + +# Clean up + +if [ "x$REMOVE_COMPARE_ROOT" == xtrue ]; then + rm -rf $REMOVE_COMPARE_ROOT +fi + +exit 1 + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/difflib.sh 2012-04-04 16:39:01.276789743 +0200 @@ -0,0 +1,168 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Simple tool to diff two shared libraries. +# Criterias: two shared libraries are considered equal if: +# the file sizes are the same AND the symbols outputs from the nm command are equal + +if [ $# -lt 2 ] +then + echo "Diff two shared libs. Return codes:" + echo "0 - no diff" + echo "1 - Identical symbols AND size, BUT not bytewise identical" + echo "2 - Identical symbols BUT NEW size" + echo "3 - Differences, content BUT SAME size" + echo "4 - Differences, content AND size" + echo "10 - Could not perform diff" + echo "Use 'quiet' to disable any output." + echo "Syntax: $0 file1 file2 [quiet]" + exit 10 +fi + +if [ ! -f $1 ] +then + echo $1 does not exist + exit 10 +fi + +if [ ! -f $2 ] +then + echo $2 does not exist + exit 10 +fi + +if [ "`uname`" == "SunOS" ]; then + NM=gnm + STAT=gstat +elif [ $OSTYPE == "cygwin" ]; then + NM="$VS100COMNTOOLS/../../VC/bin/amd64/dumpbin.exe" + NM_ARGS=/exports + STAT=stat +else + NM=nm + STAT=stat +fi + +# Should the differences be viewed? +VIEW= +# You can do export DIFF=meld to view +# any differences using meld instead. +if [ -n "$DIFF" ]; then + DIFF="$DIFF" +else + DIFF=diff +fi +OLD=$(cd $(dirname $1) && pwd)/$(basename $1) +NEW=$(cd $(dirname $2) && pwd)/$(basename $2) + +OLD_SIZE=$($STAT -c%s "$OLD") +NEW_SIZE=$($STAT -c%s "$NEW") + +if [ $# -gt 3 ] +then + ROOT1=$(cd $3 && pwd) + ROOT2=$(cd $4 && pwd) + OLD_NAME=$(echo $OLD | sed "s|$ROOT1/||") + NEW_NAME=$(echo $NEW | sed "s|$ROOT2/||") + if [ "x$5" == "xview" ]; then VIEW=view; fi +else + ROOT1=$(dirname $OLD)/ + ROOT2=$(dirname $NEW)/ + OLD_NAME=$OLD + NEW_NAME=$NEW + if [ "x$3" == "xview" ]; then VIEW=view; fi +fi + +OLD_SUFFIX="${OLD##*.}" +NEW_SUFFIX="${NEW##*.}" +if [ "$OLD_SUFFIX" != "$NEW_SUFFIX" ]; then + echo The files do not have the same suffix type! + exit 10 +fi + +if [ "$OLD_SUFFIX" != "so" ] && [ "$OLD_SUFFIX" != "dylib" ] && [ "$OLD_SUFFIX" != "dll" ]; then + echo The files have to be .so, .dylib or .dll! They are $OLD_SUFFIX + exit 10 +fi + +TYPE="$OLD_SUFFIX" + +if cmp $OLD $NEW > /dev/null +then + # The files were bytewise identical. + echo Identical: $OLD_NAME + exit 0 +fi + +OLD_SYMBOLS=$COMPARE_ROOT/$OLD_NAME.old +NEW_SYMBOLS=$COMPARE_ROOT/$NEW_NAME.new + +mkdir -p $(dirname $OLD_SYMBOLS) +mkdir -p $(dirname $NEW_SYMBOLS) + +if [ $OSTYPE == "cygwin" ]; then + "$NM" $NM_ARGS $OLD | grep " = " > $OLD_SYMBOLS + "$NM" $NM_ARGS $NEW | grep " = " > $NEW_SYMBOLS + "$NM" $NM_ARGS $OLD > $OLD_SYMBOLS.full + "$NM" $NM_ARGS $NEW > $NEW_SYMBOLS.full +else + # Strip the addresses, just compare the ordering of the symbols. + $NM $OLD | cut -f 2- -d ' ' > $OLD_SYMBOLS + $NM $NEW | cut -f 2- -d ' ' > $NEW_SYMBOLS + # But store the full information for easy diff access. + $NM $OLD > $OLD_SYMBOLS.full + $NM $NEW > $NEW_SYMBOLS.full +fi + +DIFFS=$(LANG=C diff $OLD_SYMBOLS $NEW_SYMBOLS) + +RESULT=0 + +if [ -n "$DIFFS" ]; then + if [ $OLD_SIZE -ne $NEW_SIZE ] + then + echo Differences, content AND size : $OLD_NAME + RESULT=4 + else + echo Differences, content BUT SAME size: $OLD_NAME + RESULT=3 + fi + if [ "x$VIEW" == "xview" ]; then + LANG=C $DIFF $OLD_SYMBOLS $NEW_SYMBOLS + fi +else + if [ $OLD_SIZE -ne $NEW_SIZE ] + then + echo Identical symbols BUT NEW size : $OLD_NAME + RESULT=2 + else + echo Identical symbols AND size, BUT not bytewise identical: $OLD_NAME + RESULT=1 + fi +fi + +exit $RESULT + + + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/difftext.sh 2012-04-04 16:39:01.646782910 +0200 @@ -0,0 +1,157 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# The difftext.sh knows how to compare text files and +# ignore some specific differences. +# When difftext.sh is called, we already know that the +# files differ. But if the tests below trigger, then +# we ignore differences caused by: +# +# Timestamps in Java sources generated by idl2java +# Sorting order and cleanup style in .properties files. + +OLD="$1" +NEW="$2" +SUF="${OLD##*.}" +TMP=1 +if test "x$SUF" == "xjava"; then + TMP=$(LANG=C diff $OLD $NEW | \ + grep '^[<>]' | \ + sed '/[<>] \* from.*\.idl/d' | \ + sed '/[<>] \*.*201[12].*/d' | \ + sed '/\/\/ Generated from input file.*/d' | \ + sed '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' | \ + sed '/\/\/ java GenerateCharacter.*/d') +fi +if test "x$SUF" == "xproperties"; then + cat $OLD | sed -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ +-e 's/\\u0020/\x20/g' \ +-e 's/\\u003A/\x3A/g' \ +-e 's/\\u006B/\x6B/g' \ +-e 's/\\u0075/\x75/g' \ +-e 's/\\u00A0/\xA0/g' \ +-e 's/\\u00A3/\xA3/g' \ +-e 's/\\u00B0/\xB0/g' \ +-e 's/\\u00B7/\xB7/g' \ +-e 's/\\u00BA/\xBA/g' \ +-e 's/\\u00BF/\xBF/g' \ +-e 's/\\u00C0/\xC0/g' \ +-e 's/\\u00C1/\xC1/g' \ +-e 's/\\u00C2/\xC2/g' \ +-e 's/\\u00C4/\xC4/g' \ +-e 's/\\u00C5/\xC5/g' \ +-e 's/\\u00C8/\xC8/g' \ +-e 's/\\u00C9/\xC9/g' \ +-e 's/\\u00CA/\xCA/g' \ +-e 's/\\u00CD/\xCD/g' \ +-e 's/\\u00CE/\xCE/g' \ +-e 's/\\u00D3/\xD3/g' \ +-e 's/\\u00D4/\xD4/g' \ +-e 's/\\u00D6/\xD6/g' \ +-e 's/\\u00DA/\xDA/g' \ +-e 's/\\u00DC/\xDC/g' \ +-e 's/\\u00DD/\xDD/g' \ +-e 's/\\u00DF/\xDF/g' \ +-e 's/\\u00E0/\xE0/g' \ +-e 's/\\u00E1/\xE1/g' \ +-e 's/\\u00E2/\xE2/g' \ +-e 's/\\u00E3/\xE3/g' \ +-e 's/\\u00E4/\xE4/g' \ +-e 's/\\u00E5/\xE5/g' \ +-e 's/\\u00E6/\xE6/g' \ +-e 's/\\u00E7/\xE7/g' \ +-e 's/\\u00E8/\xE8/g' \ +-e 's/\\u00E9/\xE9/g' \ +-e 's/\\u00EA/\xEA/g' \ +-e 's/\\u00EB/\xEB/g' \ +-e 's/\\u00EC/\xEC/g' \ +-e 's/\\u00ED/\xED/g' \ +-e 's/\\u00EE/\xEE/g' \ +-e 's/\\u00EF/\xEF/g' \ +-e 's/\\u00F1/\xF1/g' \ +-e 's/\\u00F2/\xF2/g' \ +-e 's/\\u00F3/\xF3/g' \ +-e 's/\\u00F4/\xF4/g' \ +-e 's/\\u00F5/\xF5/g' \ +-e 's/\\u00F6/\xF6/g' \ +-e 's/\\u00F9/\xF9/g' \ +-e 's/\\u00FA/\xFA/g' \ +-e 's/\\u00FC/\xFC/g' \ +-e 's/\\u0020/\x20/g' \ +-e 's/\\u003f/\x3f/g' \ +-e 's/\\u006f/\x6f/g' \ +-e 's/\\u0075/\x75/g' \ +-e 's/\\u00a0/\xa0/g' \ +-e 's/\\u00a3/\xa3/g' \ +-e 's/\\u00b0/\xb0/g' \ +-e 's/\\u00ba/\xba/g' \ +-e 's/\\u00bf/\xbf/g' \ +-e 's/\\u00c1/\xc1/g' \ +-e 's/\\u00c4/\xc4/g' \ +-e 's/\\u00c5/\xc5/g' \ +-e 's/\\u00c8/\xc8/g' \ +-e 's/\\u00c9/\xc9/g' \ +-e 's/\\u00ca/\xca/g' \ +-e 's/\\u00cd/\xcd/g' \ +-e 's/\\u00d6/\xd6/g' \ +-e 's/\\u00dc/\xdc/g' \ +-e 's/\\u00dd/\xdd/g' \ +-e 's/\\u00df/\xdf/g' \ +-e 's/\\u00e0/\xe0/g' \ +-e 's/\\u00e1/\xe1/g' \ +-e 's/\\u00e2/\xe2/g' \ +-e 's/\\u00e3/\xe3/g' \ +-e 's/\\u00e4/\xe4/g' \ +-e 's/\\u00e5/\xe5/g' \ +-e 's/\\u00e7/\xe7/g' \ +-e 's/\\u00e8/\xe8/g' \ +-e 's/\\u00e9/\xe9/g' \ +-e 's/\\u00ea/\xea/g' \ +-e 's/\\u00eb/\xeb/g' \ +-e 's/\\u00ec/\xec/g' \ +-e 's/\\u00ed/\xed/g' \ +-e 's/\\u00ee/\xee/g' \ +-e 's/\\u00ef/\xef/g' \ +-e 's/\\u00f0/\xf0/g' \ +-e 's/\\u00f1/\xf1/g' \ +-e 's/\\u00f2/\xf2/g' \ +-e 's/\\u00f3/\xf3/g' \ +-e 's/\\u00f4/\xf4/g' \ +-e 's/\\u00f5/\xf5/g' \ +-e 's/\\u00f6/\xf6/g' \ +-e 's/\\u00f7/\xf7/g' \ +-e 's/\\u00f8/\xf8/g' \ +-e 's/\\u00f9/\xf9/g' \ +-e 's/\\u00fa/\xfa/g' \ +-e 's/\\u00fc/\xfc/g' \ +-e 's/\\u00ff/\xff/g' \ + | sed -e '/^#/d' -e '/^$/d' \ + -e :a -e '/\\$/N; s/\\\n//; ta' \ + -e 's/^[ \t]*//;s/[ \t]*$//' \ + -e 's/\\=/=/' | LANG=C sort > $OLD.cleaned + TMP=$(LANG=C diff $OLD.cleaned $NEW) +fi +if test -n "$TMP"; then + echo Files $OLD and $NEW differ +fi --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/exception_list_linux 2012-04-04 16:39:02.016776081 +0200 @@ -0,0 +1,114 @@ +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# List of files inside jar archives that are ok if they differ. +LIST_DIFF_JAR=" +/sun/misc/Version.class +/sun/tools/jconsole/Version.class +/com/sun/tools/javac/resources/version.class +/com/sun/tools/javah/resources/version.class +/com/sun/tools/javap/resources/version.class +" + +# List of binaries that only need to match symbols +LIST_DIFF_SIZE=" +jre/lib/amd64/libfontmanager.so +jre/lib/amd64/libjdwp.so +jre/lib/amd64/libt2k.so +bin/unpack200 +jre/bin/unpack200 +jre/lib/amd64/libjsig.debuginfo +jre/lib/amd64/libsaproc.debuginfo +jre/lib/amd64/server/libjvm.debuginfo +" + +# List of binares that need to match both symbols and size +LIST_DIFF_BYTE=" +jre/lib/amd64/libdt_socket.so +jre/lib/amd64/libattach.so +jre/lib/amd64/libjaas_unix.so +jre/lib/amd64/libjawt.so +jre/lib/amd64/libjpeg.so +jre/lib/amd64/libjsdt.so +jre/lib/amd64/libjsig.so +jre/lib/amd64/libsaproc.so +jre/lib/amd64/libsctp.so +jre/lib/amd64/libsunec.so +jre/lib/amd64/libunpack.so +jre/lib/amd64/libverify.so +jre/lib/amd64/libzip.so +jre/lib/amd64/server/libjsig.so +jre/lib/amd64/server/libjvm.so +jre/lib/amd64/liblcms.so +demo/jvmti/heapTracker/lib/libheapTracker.so +demo/jvmti/hprof/lib/libhprof.so +demo/jvmti/minst/lib/libminst.so +demo/jvmti/mtrace/lib/libmtrace.so +demo/jvmti/waiters/lib/libwaiters.so +bin/appletviewer +bin/extcheck +bin/idlj +bin/jar +bin/jarsigner +bin/java +bin/javac +bin/javadoc +bin/javah +bin/javap +bin/jcmd +bin/jconsole +bin/jdb +bin/jhat +bin/jinfo +bin/jmap +bin/jps +bin/jrunscript +bin/jsadebugd +bin/jstack +bin/jstat +bin/jstatd +bin/keytool +bin/native2ascii +bin/orbd +bin/pack200 +bin/policytool +bin/rmic +bin/rmid +bin/rmiregistry +bin/schemagen +bin/serialver +bin/servertool +bin/tnameserv +bin/wsgen +bin/wsimport +bin/xjc +jre/bin/java +jre/bin/keytool +jre/bin/orbd +jre/bin/pack200 +jre/bin/policytool +jre/bin/rmid +jre/bin/rmiregistry +jre/bin/servertool +jre/bin/tnameserv +" --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/extractvcvars.sh 2012-04-04 16:39:02.366769621 +0200 @@ -0,0 +1,53 @@ +#!/bin/bash +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Must be bash, but that is ok since we are running from cygwin. +# The first argument is the vcvarsall.bat file to run. +# The second argument is the arch arg to give to vcvars. +VCVARSALL="$1" +ARCH_ARG="$2" + +# Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment) +# but calculate the difference in Cygwin environment before/after running it and then +# apply the diff. +_vs10varsall=`cygpath -a -m -s "$VCVARSALL"` +_dosvs10varsall=`cygpath -a -w -s $_vs10varsall` +_dosbash=`cygpath -a -w -s \`which bash\`.*` + +# generate the set of exported vars before/after the vs10 setup +echo "@echo off" > localdevenvtmp.bat +echo "$_dosbash -c \"export -p\" > localdevenvtmp.export0" >> localdevenvtmp.bat +echo "call $_dosvs10varsall $ARCH_ARG" >> localdevenvtmp.bat +echo "$_dosbash -c \"export -p\" > localdevenvtmp.export1" >> localdevenvtmp.bat +cmd /c localdevenvtmp.bat + +# apply the diff (less some non-vs10 vars named by "!") +sort localdevenvtmp.export0 |grep -v "!" > localdevenvtmp.export0.sort +sort localdevenvtmp.export1 |grep -v "!" > localdevenvtmp.export1.sort +comm -1 -3 localdevenvtmp.export0.sort localdevenvtmp.export1.sort > localdevenv.sh +cat localdevenv.sh | sed 's/declare -x /export /g' | sed 's/="/:="/g' | sed 's/\\\\/\\/g' | sed 's/"//g' | \ + sed 's/#/\$\(HASH\)/g' > localdevenv.gmk + +# cleanup +rm -f localdevenvtmp* --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/hide_important_warnings_from_javac.sh 2012-04-04 16:39:02.736762796 +0200 @@ -0,0 +1,41 @@ +#!/bin/sh +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +if [ -x /usr/bin/ggrep ] ; then + # Gnu grep on Solaris + # (reference configure and build/solaris-i586-clientANDserver-release/spec.gmk + GREP=/usr/bin/ggrep +else + GREP=grep +fi +# +EXP="Note: Some input files use or override a deprecated API." +EXP="${EXP}|Note: Recompile with -Xlint:deprecation for details." +EXP="${EXP}|Note: Some input files use unchecked or unsafe operations." +EXP="${EXP}|Note: Recompile with -Xlint:unchecked for details." +EXP="${EXP}| warning" +EXP="${EXP}|uses or overrides a deprecated API." +EXP="${EXP}|uses unchecked or unsafe operations." +# +${GREP} --line-buffered -v -E "${EXP}" --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/bin/logger.sh 2012-04-04 16:39:03.096756145 +0200 @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Usage: ./logger.sh theloggfile acommand arg1 arg2 +# +# Execute acommand with args, in such a way that +# both stdout and stderr from acommand are appended to +# theloggfile. +# +# Preserve stdout and stderr, so that the stdout +# from logger.sh is the same from acommand and equally +# for stderr. +# +# Propagate the result code from acommand so that +# ./logger.sh exits with the same result code. + +# Create a temporary directory to store the result code from +# the wrapped command. +RCDIR=`mktemp -d tmp.XXXXXX` || exit $? +trap "rm -rf '$RCDIR'" EXIT +LOGFILE=$1 +shift +(exec 3>&1 ; ("$@" 2>&1 1>&3; echo $? > $RCDIR/rc) | tee -a $LOGFILE 1>&2 ; exec 3>&-) | tee -a $LOGFILE +exit `cat $RCDIR/rc` + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/IdlCompilation.gmk 2012-04-04 16:39:03.466749316 +0200 @@ -0,0 +1,114 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +PREFIXES=-pkgPrefix CORBA org.omg \ + -pkgPrefix CosNaming org.omg \ + -pkgPrefix CosTransactions org.omg \ + -pkgPrefix CosTSInteroperation org.omg \ + -pkgPrefix DynamicAny org.omg \ + -pkgPrefix Dynamic org.omg \ + -pkgPrefix IOP org.omg \ + -pkgPrefix Messaging org.omg \ + -pkgPrefix PortableInterceptor org.omg \ + -pkgPrefix PortableServer org.omg \ + -pkgPrefix activation com.sun.corba.se.spi \ + -pkgPrefix GIOP com.sun.corba.se \ + -pkgPrefix PortableActivationIDL com.sun.corba.se \ + -pkgPrefix messages com.sun.corba.se + +define add_idl_package + # param 1 = MYPACKAGE + # param 2 = src root + # param 3 = gensrc root + # param 4 = source idl to compile + # param 5 = target idl package + # param 6 = delete these files that were output from the idlj + # param 7 = idls that match these patterns should be compiled with -oldImplBase + # param 8 = the idlj command + # Save the generated java files to a temporary directory so + # that we can find them and create proper dependencies. + # After that, we move them to the real gensrc target dir. + $4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___ + ifneq ($$(filter $7,$4),) + $4_OLDIMPLBASE:=-oldImplBase + $4_OLDIMPLBASE_MSG:=with -oldImplBase + endif + $5 : $4 + mkdir -p $3/$$($4_TMPDIR) + rm -rf $3/$$($4_TMPDIR) + mkdir -p $(dir $5) + echo Compiling IDL $(patsubst $2/%,%,$4) + $8 -td $3/$$($4_TMPDIR) \ + -i $2/org/omg/CORBA \ + -i $2/org/omg/PortableInterceptor \ + -i $2/org/omg/PortableServer \ + -D CORBA3 -corba 3.0 \ + -fall \ + $$($4_OLDIMPLBASE) \ + $(PREFIXES) \ + $4 + rm -f $$(addprefix $3/$$($4_TMPDIR)/,$6) + cp -rp $3/$$($4_TMPDIR)/* $3 + (cd $3/$$($4_TMPDIR); find . -type f | sed 's!\./!$3/!g' | awk '{ print $$$$1 ": $4" }' > $5) + rm -rf $3/$$($4_TMPDIR) +endef + +define SetupIdlCompilation +# param 1 is for example BUILD_IDLS +# param 2,3,4,5,6,7,8 are named args. +# IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES +$(if $2,$1_$(strip $2)) +$(if $3,$1_$(strip $3)) +$(if $4,$1_$(strip $4)) +$(if $5,$1_$(strip $5)) +$(if $6,$1_$(strip $6)) +$(if $7,$1_$(strip $7)) +$(if $8,$1_$(strip $8)) +$(if $9,$1_$(strip $9)) +# Remove any relative addressing in the paths. +$1_SRC := $$(abspath $$($1_SRC)) +$1_BIN := $$(abspath $$($1_BIN)) +# Find all existing java files and existing class files. +$$(shell mkdir -p $$($1_SRC) $$($1_BIN)) +$1_SRCS := $$(shell find $$($1_SRC) -name "*.idl") +$1_BINS := $$(shell find $$($1_BIN) -name "*.java") +# Prepend the source/bin path to the filter expressions. +$1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES)) +$1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES)) +$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES)) +$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES)) +$1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES)) +# Now remove unwanted java/class files. +$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS)) +$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS)) +$1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS)) +$1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS)) +$1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS))) +# Now create the dependencies for each idl target. +$$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ)))) +endef + +.SUFFIXES: .java .class .package + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/JavaCompilation.gmk 2012-04-04 16:39:03.836742490 +0200 @@ -0,0 +1,887 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# The complexity of this makefile is not the fault of make, but the fault +# of javac and javah. The basic problems are: +# +# 1) Compiling a single Java source file unpredictably generates anything +# between zero (0!) and an infinite number of .class files! +# 2) There is no hint, for which classes javah needs to be run, +# and it happily generates .h files for classes with no native methods. +# 3) javac and javah do not cleanup anything, for example if an internal +# class (potentially with native methods) is removed from a Java source file. +# +# This makefile is a tribute to GNU make. And yes, it was harder to write than it is +# to read. The include/excludes of directories and files are only a temporary measure +# to work around the messy jdk sources that put platform specific code in src/share/classes. +# +# We should move most of the functionality of this makefile into a +# smart javac/javah/javadoc/jar combo tool. sjavac ? +# +# I.e. 1) It always generates a single output, a zip-file from a number of source roots. +# The zip file contains information that enable incremental builds with full +# dependency tracking between packages. +# 2) It automatically generates the right .h files. +# 3) It keeps its house clean. +# *) Generates intermediate files to be used for javadoc generation later. +# and does all the other useful things that this makefile does, such as: +# use all cores for compilation, reuse the running JVM for all compilations, +# and has pubapi dependency tracking to minimize the number of files +# that need to be recompiled during an incremental build. +# +# A zip file, or several zip files combined, can then be converted to a .jar file, or to a .jmod file. +# +# This would make this makefile much much simpler. I.e. make can be used +# for its real purpose, track dependencies and trigger a recompile if a +# dependency has changed. +# +# When you read this source. Remember that $(sort ...) has the side effect +# of removing duplicates. It is actually this side effect that is +# desired whenever sort is used below! + +ifeq (,$(_MAKEBASE_GMK)) + $(error You must include MakeBase.gmk prior to including JavaCompilation.gmk) +endif + +FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST + +# If compilation of java package fails, then the public api file for that +# package will not be genereated. We add this fallback rule to generate +# an empty pubapi file. +%.api: + if test ! -f $@; then $(MKDIR) -p $(@D); $(TOUCH) $@; fi + +define SetupJavaCompiler + # param 1 is for example BOOT_JAVAC or NEW_JAVAC + # This is the name later used to decide which java compiler to use. + # param 2-9 are named args. + # JVM:=The jvm used to run the javac/javah command + # JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out + # JAVAH:=The javah jar and bootstrap classpath changes, or just bin/javah if JVM is left out + # FLAGS:=Flags to be supplied to javac + # MODE:=SINGLE_THREADED_BATCH (primarily for old javac) or MULTI_CORE_CONCURRENT + # only for MULTI_CORE_CONCURRENT are the options below relevant: + # SERVER_DIR:=Use a javac server (-XDserver) and store the server related files here + # SERVER_JVM:=Use this JVM for the server. Defaults to the JVM above. + # USE_DEPS:=true means use -XDdeps,-XDpubapi and -XDnativeapi to track java dependencies + $(if $2,$1_$(strip $2)) + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + + ifeq ($$($1_MODE),MULTI_CORE_CONCURRENT) + ifneq (,$$($1_SERVER_DIR)) + # A javac server has been requested. + # The port file contains the tcp/ip on which the server listens + # and the cookie necessary to talk to the server. + $1_JAVAC_PORTFILE:=$$($1_SERVER_DIR)/$1.port + ifeq ($$($1_SERVER_JVM),) + # You can use a different JVM to run the background javac server. + # But if not set, it defaults to the same JVM that is used to start + # the javac command. + $1_SERVER_JVM:=$$($1_JVM) + endif + # Set the $1_REMOTE to spawn a background javac server. + $1_REMOTE:=-XDserver:portfile=$$($1_JAVAC_PORTFILE),poolsize=$(JAVAC_SERVER_CORES),javac=$$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_JAVAC)))) + endif + endif +endef + +define SetupArchive + # param 1 is for example ARCHIVE_MYPACKAGE + # param 2 are the dependecies + # param 3,4,5,6,7,8,9 are named args. + # SRCS:=List of directories in where to find files to add to archive + # SUFFIXES:=File suffixes to include in jar + # INCLUDES:=List of directories/packages in SRCS that should be included + # EXCLUDES:=List of directories/packages in SRCS that should be excluded + # EXCLUDE_FILES:=List of files in SRCS that should be excluded + # EXTRA_FILES:=List of files in SRCS that should be included regardless of suffix match. + # JAR:=Jar file to create + # MANIFEST:=Optional manifest file template. + # JARMAIN:=Optional main class to add to manifest + # SETUP:=The Java(h) compiler setup, needed to run javah. + # HEADERS:=Directory to put headers in + # SKIP_METAINF:=Set to prevent contents of an META-INF directory to be automatically + # added to the archive. + # EXTRA_MANIFEST_ATTR:=Extra attribute to add to manifest. + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + $(if $(10),$1_$(strip $(10))) + $(if $(11),$1_$(strip $(11))) + $(if $(12),$1_$(strip $(12))) + $(if $(13),$1_$(strip $(13))) + $(if $(14),$1_$(strip $(14))) + + $1_JVM := $$($$($1_SETUP)_JVM) + $1_JAVAH := $$($$($1_SETUP)_JAVAH) + $1_JARMAIN:=$(strip $$($1_JARMAIN)) + $1_JARNAME:=$$(notdir $$($1_JAR)) + $1_MANIFEST_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_manifest + $1_DELETESS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletess + $1_DELETES_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_deletes + $1_PUBAPI_NOTIFICATIONS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_pubapi_notifications + $1_NATIVEAPI_NOTIFICATIONS_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_native_notifications + $1_NATIVEAPI_FILE:=$$(dir $$($1_JAR))_the.$$($1_JARNAME)_native + $1_BIN:=$$(dir $$($1_JAR)) + ifeq (,$$($1_SUFFIXES)) + # No suffix was set, default to classes. + $1_SUFFIXES:=.class + endif + # Convert suffixes to a find expression + $1_FIND_PATTERNS:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES)) + ifneq (,$$($1_INCLUDES)) + $1_GREP_INCLUDES:=| $(GREP) $$(foreach src,$$($1_SRCS),$$(addprefix -e$(SPACE)$$(src)/,$$($1_INCLUDES))) + endif + ifneq (,$$($1_EXCLUDES)$$($1_EXCLUDE_FILES)) + $1_GREP_EXCLUDES:=| $(GREP) -v $$(foreach src,$$($1_SRCS),$$(addprefix -e$(SPACE)$$(src)/,$$($1_EXCLUDES) $$($1_EXCLUDE_FILES))) + endif + + # Utility macros, to make the shell script receipt somewhat easier to dechipher. + + # The capture contents macro finds all files (matching the patterns, typically + # .class and .prp) that are newer than the jar-file, ie the new content to be put into the jar. + $1_CAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),(($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) -a -newer $$@ $$($1_GREP_INCLUDES) $$($1_GREP_EXCLUDES) && $(ECHO) $$($1_EXTRA_FILES)) | $(SED) 's|$$(src)/||g' > $$(src)/_the.$$($1_JARNAME)_contents) && ) + # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file. + ifeq (,$$($1_SKIP_METAINF)) + $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS),($(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents ) && ) + endif + # The capture deletes macro finds all deleted files and concatenates them. The resulting file + # tells us what to remove from the jar-file. + $1_CAPTURE_DELETES=$$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.deleted -newer $$@ -exec $(SED) 's|$$(src)||g' \{\} >> $$($1_DELETES_FILE) \;) &&) + # The capture pubapi notifications scans for pubapi change notifications. If such notifications are + # found, then we will build the classes leading up to the jar again, to take into account the new timestamps + # on the changed pubapi files. + $1_CAPTURE_PUBAPI_NOTIFICATIONS=$$(foreach src,$$($1_SRCS),\ + (cd $$(src) && \ + $(FIND) . -name _the.package.api.notify -exec dirname \{\} \; >> $$($1_PUBAPI_NOTIFICATIONS_FILE) ; \ + true) &&) + # The capture nativeapi macro scans for native api change notificiations. If such notifications are + # found, then we will run javah on the changed classes. It also collects all classes with native methods + # to be used to find out which classes no longer has native methods, to trigger deletion of those .h files. + $1_CAPTURE_NATIVEAPI=$$(foreach src,$$($1_SRCS),\ + (cd $$(src) && \ + $(FIND) . -name _the.package.native.notify | $(SED) 's/package.native.notify/package.native/' | \ + $(XARGS) $(CAT) | $(GREP) '^TYPE ' | $(SED) 's/.*TYPE //' >> $$($1_NATIVEAPI_NOTIFICATIONS_FILE) ; \ + $(FIND) . -name _the.package.native -exec $(CAT) \{\} \; | $(SED) -n 's/^TYPE //p' >> $$($1_NATIVEAPI_FILE) ; \ + true) &&) + # The update contents macro updates the jar file with the previously capture contents. + $1_UPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\ + (cd $$(src) && \ + if [ -s _the.$$($1_JARNAME)_contents ]; then \ + $(ECHO) " updating" `$(WC) -l _the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \ + $(JAR) uf $$@ @_the.$$($1_JARNAME)_contents; \ + fi) &&) + # The s-variants of the above macros are used when the jar is created from scratch. + $1_SCAPTURE_CONTENTS=$$(foreach src,$$($1_SRCS),\ + (($(FIND) $$(src) -type f -a \( $$($1_FIND_PATTERNS) \) $$($1_GREP_INCLUDES) $$($1_GREP_EXCLUDES) && $(ECHO) $$($1_EXTRA_FILES)) | $(SED) 's|$$(src)/||g' > $$(src)/_the.$$($1_JARNAME)_contents) && ) + ifeq (,$$($1_SKIP_METAINF)) + $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS),\ + ($(FIND) $$(src)/META-INF -type f 2> /dev/null | $(SED) 's|$$(src)/||g' >> $$(src)/_the.$$($1_JARNAME)_contents) && ) + endif + $1_SUPDATE_CONTENTS=$$(foreach src,$$($1_SRCS),\ + (cd $$(src) && $(JAR) uf $$@ @$$(src)/_the.$$($1_JARNAME)_contents) &&) + # The TOUCH macro is used to make sure all timestamps are identical for package files and the pubapi files. + # If we do not do this, we get random recompilations, the next time we run make, since the order of package building is random, + # ie independent of package --dependes on-> public api of another package. This is of course + # due to the fact that Java source often (always?) has circular dependencies. (Thus there is no correct order + # to compile packages, and we can just as well do them in a random order. Which we do.) + $1_TOUCH_API_FILES=$$(foreach src,$$($1_SRCS),\ + ($(FIND) $$(src) -name _the.package.api -exec $(TOUCH) -r $$($1_JAR) \{\} \; ; true) && \ + ($(FIND) $$(src) -name _the.package -exec $(TOUCH) -r $$($1_JAR) \{\} \; ; true) &&) + # Use a slightly shorter name for logging, but with enough path to identify this jar. + $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_JAR)) + # Here is the rule that creates/updates the jar file. + $$($1_JAR) : $2 + $(MKDIR) -p $$($1_BIN) + if [ -n "$$($1_MANIFEST)" ]; then \ + $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ + -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE); \ + else \ + $(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE); \ + fi + $(ECHO) "Main-Class: $$(strip $$($1_JARMAIN))" >> $$($1_MANIFEST_FILE) + if [ -n "$$($1_EXTRA_MANIFEST_ATTR)" ]; then \ + $(ECHO) "$$($1_EXTRA_MANIFEST_ATTR)" >> $$($1_MANIFEST_FILE); \ + fi + +if [ -s $$@ ]; then \ + $(RM) -r $$($1_PUBAPI_NOTIFICATIONS_FILE) && \ + $$($1_CAPTURE_PUBAPI_NOTIFICATIONS) \ + if [ -s $$($1_PUBAPI_NOTIFICATIONS_FILE) ]; then \ + $(ECHO) Public api change detected in: && \ + $(CAT) $$($1_PUBAPI_NOTIFICATIONS_FILE) | $(TR) '/' '.' | $(SED) 's|^..||g' | $(SED) 's|\.$$$$||g' | $(AWK) '{print " "$$$$1}' && \ + $$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.api.notify $(FIND_DELETE); true) &&) \ + $(MAKE) -f $(word 1,$(MAKEFILE_LIST)) $$($1_JAR) ; \ + else \ + $(ECHO) Modifying $$($1_NAME) && \ + $$($1_CAPTURE_CONTENTS) \ + $$($1_CAPTURE_METAINF) \ + $(RM) $$($1_DELETES_FILE) && \ + $$($1_CAPTURE_DELETES) \ + $(CAT) $$($1_DELETES_FILE) > $$($1_DELETESS_FILE) && \ + if [ -s $$($1_DELETESS_FILE) ]; then \ + $(ECHO) " deleting" `$(WC) -l $$($1_DELETESS_FILE) | $(AWK) '{ print $$$$1 }'` files && \ + $(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \ + fi && \ + $$($1_UPDATE_CONTENTS) true && \ + $$($1_TOUCH_API_FILES) true && \ + $(RM) -r $$($1_NATIVEAPI_NOTIFICATIONS_FILE) $$($1_NATIVEAPI_FILE) && \ + $$($1_CAPTURE_NATIVEAPI) true && \ + if [ "x$$($1_JAVAH)" != "x" ] && [ -s $$($1_NATIVEAPI_NOTIFICATIONS_FILE) ]; then \ + $(ECHO) Native api change detected in: && $(CAT) $$($1_NATIVEAPI_NOTIFICATIONS_FILE) && \ + $$($1_JVM) $$($1_JAVAH) "-Xbootclasspath/p:$$($1_JAR)" -d $$($1_HEADERS) @$$($1_NATIVEAPI_NOTIFICATIONS_FILE) ; \ + fi && \ + $(TOUCH) $$($1_NATIVEAPI_FILE)_prev ; \ + ($(GREP) -xvf $$($1_NATIVEAPI_FILE) $$($1_NATIVEAPI_FILE)_prev > $$($1_NATIVEAPI_FILE)_deleted; true) && \ + $(CP) $$($1_NATIVEAPI_FILE) $$($1_NATIVEAPI_FILE)_prev && \ + if [ -s $$($1_NATIVEAPI_FILE)_deleted ]; then \ + $(ECHO) Native methods dropped from classes: && $(CAT) $$($1_NATIVEAPI_FILE)_deleted && \ + $(RM) `$(CAT) $$($1_NATIVEAPI_FILE)_deleted | $(SED) -e 's|\.|_|g' -e 's|.*|$$($1_HEADERS)/&.h $$($1_HEADERS)/&_*|'` ; \ + fi && \ + $$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name _the.package.api.notify $(FIND_DELETE); true) &&) true ; \ + fi ; \ + else \ + $(ECHO) Creating $$($1_NAME) && $(JAR) cfm $$@ $$($1_MANIFEST_FILE) && \ + $$($1_SCAPTURE_CONTENTS) \ + $$($1_SCAPTURE_METAINF) \ + $$($1_SUPDATE_CONTENTS) \ + $$($1_TOUCH_API_FILES) true && \ + $(RM) -r $$($1_NATIVEAPI_NOTIFICATIONS_FILE) $$($1_NATIVEAPI_FILE) && \ + $$($1_CAPTURE_NATIVEAPI) true && \ + if [ "x$$($1_JAVAH)" != "x" ] && [ -s $$($1_NATIVEAPI_FILE) ]; then \ + $(ECHO) Generating native api headers for `$(CAT) $$($1_NATIVEAPI_FILE) | $(WC) -l` classes && \ + $(RM) $$($1_HEADERS)/*.h && \ + $$($1_JVM) $$($1_JAVAH) "-Xbootclasspath/p:$$($1_JAR)" -d $$($1_HEADERS) @$$($1_NATIVEAPI_FILE) && \ + $(CP) $$($1_NATIVEAPI_FILE) $$($1_NATIVEAPI_FILE)_prev ; \ + fi && \ + $$(foreach src,$$($1_SRCS),($(FIND) $$(src) -name "*.notify" $(FIND_DELETE); true) &&) true ; \ + fi; + +endef + +define append_to + $(ECHO) "$1" >> $2 +endef + +define SetupZipArchive + # param 1 is for example ZIP_MYSOURCE + # param 2,3,4,5,6,7,8,9 are named args. + # SRC,ZIP,INCLUDES,EXCLUDES,EXCLUDE_FILES + $(if $2,$1_$(strip $2)) + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + + # Find all files in the source tree. + $1_ALL_SRCS := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i -type f -a ! -name "_the.*")) + + ifneq ($$($1_INCLUDES),) + $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES)))) + $1_ZIP_INCLUDES := $$(addprefix -i$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_INCLUDES))) + $1_ALL_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_SRCS)) + endif + ifneq ($$($1_EXCLUDES),) + $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES)))) + $1_ZIP_EXCLUDES := $$(addprefix -x$(SPACE)$(DQUOTE),$$(addsuffix /*$(DQUOTE),$$($1_EXCLUDES))) + $1_ALL_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS)) + endif + + # Use a slightly shorter name for logging, but with enough path to identify this zip. + $1_NAME:=$$(subst $$(OUTPUT_ROOT)/,,$$($1_ZIP)) + + # Now $1_ALL_SRCS should contain all sources that are going to be put into the zip. + # I.e. the zip -i and -x options should match the filtering done in the makefile. + # Explicitly excluded files can be given with absolute path. The patsubst solution + # isn't perfect but the likelyhood of an absolute path to match something in a src + # dir is very small. + $$($1_ZIP) : $$($1_ALL_SRCS) + $(MKDIR) -p $$(@D) + $(ECHO) Updating $$($1_NAME) + $$(foreach i,$$($1_SRC),(cd $$i && $(ZIP) -qru $$@ . $$($1_ZIP_INCLUDES) $$($1_ZIP_EXCLUDES) -x \*_the.\* $$(addprefix -x$(SPACE),$$(patsubst $$i/%,%,$$($1_EXCLUDE_FILES)))) ;) true + $(TOUCH) $$@ +endef + +define add_file_to_copy + # param 1 = BUILD_MYPACKAGE + # parma 2 = The source file to copy. + $2_TARGET:=$2 + # Remove the source prefix. + $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET))) + # Now we can setup the depency that will trigger the copying. + $$($1_BIN)$$($2_TARGET) : $2 + $(MKDIR) -p $$(@D) + $(CP) $$< $$@ + $(CHMOD) -f ug+w $$@ + + # And do not forget this target + $1_ALL_COPY_TARGETS += $$($1_BIN)$$($2_TARGET) +endef + + +# This macro is used only for properties files that are to be +# copied over to the classes directory in cleaned form: +# Previously this was inconsistently done in different repositories. +# This is the new clean standard. +define add_file_to_copy_and_clean + # param 1 = BUILD_MYPACKAGE + # parma 2 = The source file to copy and clean. + $2_TARGET:=$2 + # Remove the source prefix. + $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET))) + # Now we can setup the depency that will trigger the copying. + $$($1_BIN)$$($2_TARGET) : $2 + $(MKDIR) -p $$(@D) + $(ECHO) Cleaning $$($2_TARGET) + $(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ + | $(SED) \ +-e 's/\\u0020/\x20/g' \ +-e 's/\\u003A/\x3A/g' \ +-e 's/\\u006B/\x6B/g' \ +-e 's/\\u0075/\x75/g' \ +-e 's/\\u00A0/\xA0/g' \ +-e 's/\\u00A3/\xA3/g' \ +-e 's/\\u00B0/\xB0/g' \ +-e 's/\\u00B7/\xB7/g' \ +-e 's/\\u00BA/\xBA/g' \ +-e 's/\\u00BF/\xBF/g' \ +-e 's/\\u00C0/\xC0/g' \ +-e 's/\\u00C1/\xC1/g' \ +-e 's/\\u00C2/\xC2/g' \ +-e 's/\\u00C4/\xC4/g' \ +-e 's/\\u00C5/\xC5/g' \ +-e 's/\\u00C8/\xC8/g' \ +-e 's/\\u00C9/\xC9/g' \ +-e 's/\\u00CA/\xCA/g' \ +-e 's/\\u00CD/\xCD/g' \ +-e 's/\\u00CE/\xCE/g' \ +-e 's/\\u00D3/\xD3/g' \ +-e 's/\\u00D4/\xD4/g' \ +-e 's/\\u00D6/\xD6/g' \ +-e 's/\\u00DA/\xDA/g' \ +-e 's/\\u00DC/\xDC/g' \ +-e 's/\\u00DD/\xDD/g' \ +-e 's/\\u00DF/\xDF/g' \ +-e 's/\\u00E0/\xE0/g' \ +-e 's/\\u00E1/\xE1/g' \ +-e 's/\\u00E2/\xE2/g' \ +-e 's/\\u00E3/\xE3/g' \ +-e 's/\\u00E4/\xE4/g' \ +-e 's/\\u00E5/\xE5/g' \ +-e 's/\\u00E6/\xE6/g' \ +-e 's/\\u00E7/\xE7/g' \ +-e 's/\\u00E8/\xE8/g' \ +-e 's/\\u00E9/\xE9/g' \ +-e 's/\\u00EA/\xEA/g' \ +-e 's/\\u00EB/\xEB/g' \ +-e 's/\\u00EC/\xEC/g' \ +-e 's/\\u00ED/\xED/g' \ +-e 's/\\u00EE/\xEE/g' \ +-e 's/\\u00EF/\xEF/g' \ +-e 's/\\u00F1/\xF1/g' \ +-e 's/\\u00F2/\xF2/g' \ +-e 's/\\u00F3/\xF3/g' \ +-e 's/\\u00F4/\xF4/g' \ +-e 's/\\u00F5/\xF5/g' \ +-e 's/\\u00F6/\xF6/g' \ +-e 's/\\u00F9/\xF9/g' \ +-e 's/\\u00FA/\xFA/g' \ +-e 's/\\u00FC/\xFC/g' \ +-e 's/\\u0020/\x20/g' \ +-e 's/\\u003f/\x3f/g' \ +-e 's/\\u006f/\x6f/g' \ +-e 's/\\u0075/\x75/g' \ +-e 's/\\u00a0/\xa0/g' \ +-e 's/\\u00a3/\xa3/g' \ +-e 's/\\u00b0/\xb0/g' \ +-e 's/\\u00ba/\xba/g' \ +-e 's/\\u00bf/\xbf/g' \ +-e 's/\\u00c1/\xc1/g' \ +-e 's/\\u00c4/\xc4/g' \ +-e 's/\\u00c5/\xc5/g' \ +-e 's/\\u00c8/\xc8/g' \ +-e 's/\\u00c9/\xc9/g' \ +-e 's/\\u00ca/\xca/g' \ +-e 's/\\u00cd/\xcd/g' \ +-e 's/\\u00d6/\xd6/g' \ +-e 's/\\u00dc/\xdc/g' \ +-e 's/\\u00dd/\xdd/g' \ +-e 's/\\u00df/\xdf/g' \ +-e 's/\\u00e0/\xe0/g' \ +-e 's/\\u00e1/\xe1/g' \ +-e 's/\\u00e2/\xe2/g' \ +-e 's/\\u00e3/\xe3/g' \ +-e 's/\\u00e4/\xe4/g' \ +-e 's/\\u00e5/\xe5/g' \ +-e 's/\\u00e7/\xe7/g' \ +-e 's/\\u00e8/\xe8/g' \ +-e 's/\\u00e9/\xe9/g' \ +-e 's/\\u00ea/\xea/g' \ +-e 's/\\u00eb/\xeb/g' \ +-e 's/\\u00ec/\xec/g' \ +-e 's/\\u00ed/\xed/g' \ +-e 's/\\u00ee/\xee/g' \ +-e 's/\\u00ef/\xef/g' \ +-e 's/\\u00f0/\xf0/g' \ +-e 's/\\u00f1/\xf1/g' \ +-e 's/\\u00f2/\xf2/g' \ +-e 's/\\u00f3/\xf3/g' \ +-e 's/\\u00f4/\xf4/g' \ +-e 's/\\u00f5/\xf5/g' \ +-e 's/\\u00f6/\xf6/g' \ +-e 's/\\u00f7/\xf7/g' \ +-e 's/\\u00f8/\xf8/g' \ +-e 's/\\u00f9/\xf9/g' \ +-e 's/\\u00fa/\xfa/g' \ +-e 's/\\u00fc/\xfc/g' \ +-e 's/\\u00ff/\xff/g' \ + | $(SED) -e '/^#/d' -e '/^$$$$/d' \ + -e :a -e '/\\$$$$/N; s/\\\n//; ta' \ + -e 's/^[ \t]*//;s/[ \t]*$$$$//' \ + -e 's/\\=/=/' | LANG=C sort > $$@ + $(CHMOD) -f ug+w $$@ + + # And do not forget this target + $1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET) +endef + +define add_java_package + # param 1 = BUILD_MYPACKAGE + # param 2 = the package target file (_the.package) + # param 3 = src roots, all of them, separated with space + # param 4 = bin root + # param 5 = include these dependecies + # param 6 = not used + # param 7 = if non-empty, then use -Xdeps and -Xpubapi + # param 8 = xremote configuration, or empty. + # param 9 = javac command + # param 10 = javac flags + # param 11 = exclude these files! + # param 12 = only include these files! + # param 13 = javah command + # param 14 = override src roots to be passed into -sourcepath, ugly ugly ugly, do not use this! + # it is only here to workaround ugly things in the source code in the jdk that ought + # to be fixed instead! + ifdef $2_USED_BY + $$(error Attempting to add the package $2 from $3 which is already added with sources from $$($2_USED_BY)) + endif + $2_USED_BY:=$3 + # Remove the _the.package file to get the target bin dir for the classes in this package. + $2_PACKAGE_BDIR:=$(dir $2) + # The source roots separated with a path separator (: or ; depending on os) + # (The patsubst is necessary to trim away unnecessary spaces.) + ifneq ($(14),) + $2_SRCROOTSC:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$(14)))) + else + $2_SRCROOTSC:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$3))) + endif + # Suffix the package path to the src roots, to get a list of all possible source locations + # for this package. + $2_PACKAGE_SDIRS:=$$(foreach i,$3,$$(subst $4,$$i,$$($2_PACKAGE_BDIR))) + # Use wildcard in all potential source locations to find the actual sources. + $2_PACKAGE_SRCS:=$$(filter-out $(11),$$(wildcard $$(addsuffix *.java,$$($2_PACKAGE_SDIRS)))) + ifneq ($(12),) + # Filter on include file filter if set. + $2_PACKAGE_SRCS:=$$(filter $(12),$$($2_PACKAGE_SRCS)) + endif + # Generate a proper package name from the file name. + $2_PACKAGE:=$(patsubst .%.,%,$(subst /,.,$(subst $4,,$(dir $2)))) + # Use a javac server for this package? + $2_REMOTE:=$8 + + # Include previously generated information about what classes are output by this package + # and what sources were used for the compile. + -include $$($2_PACKAGE_BDIR)_the.package.d + + # Include the notify, file, that exists if the package has been compiled during a previous make round. + # I.e. we are now dealing with a compile triggered by a pubapi change. + -include $$($2_PACKAGE_BDIR)_the.package.notify + + # If the notify file existed, then $$($2_NOTIFIED) will be equal to true. + # Use this information to block dependency tracking for this package. + # This is necessary to cut the circular dependency chains that are so common in Java sources. + + ifneq ($$($2_NOTIFIED),true) + # No need to block, since this package has not yet been recompiled. + # Thus include previously generated dependency information. (if it exists) + -include $$($2_PACKAGE_BDIR)_the.package.dddd +# else +# $$(info WAS NOTIFIED $2) + endif + + # Should we create proper dependencies between packages? + ifneq ($7,) + # The flag: -XDpubapi:file=foo,package=mypack,notify writes a file foo that contains a + # database of the public api of the classes supplied on the command line and are + # inside the package mypack. If foo already exists, javac will only write to foo, + # if there is a change in the pubapi. I.e. we can use the timestamp of this file + # for triggering dependencies. "notify" means create a "file" suffixed with notify + # if the pubapi really changed. + $2_PUBAPI=-XDpubapi=file=$$($2_PACKAGE_BDIR)_the.package.api,notify,package=$$($2_PACKAGE) + # The flag: -XDnativeapi:file=foo,package=mypack,notify works similar to pubabi, but + # instead tracks native methods. This file can be used to trigger dependencies for + # native compilations. + $2_NATIVEAPI=-XDnativeapi=file=$$($2_PACKAGE_BDIR)_the.package.native,notify,package=$$($2_PACKAGE) + # The flag -XDdeps:file=foo.deps,groupon=package writes a foo.deps file containing packages dependencies: + # java.net : java.io java.lang + # I.e. the classes in .net depend on the public apis of java.io and java.lang + # The dependencies can be grouped on classes instead (groupon=class) + # java.net.Bar : java.io.Socket java.lang.String + $2_DEPS:=-XDdeps=file=$$($2_PACKAGE_BDIR)_the.package.deps,groupon=package + # The next command rewrites the deps output from javac into a proper makefile dependency. + # The dependencies are always to an .api file generated by the pubapi option above. + # This is necessary since java package dependencies are almost always circular. + $2_APPEND_DEPS:=($(CAT) $$($2_PACKAGE_BDIR)_the.package.deps | $(TR) '.' '/' | $(AWK) '{ print "$4/" $$$$3 }' | sort > $$($2_PACKAGE_BDIR)_the.package.ddd && $(GREP) -f $$($2_PACKAGE_BDIR)_the.package.ddd $5 | $(AWK) '{ print "$(dir $2)_the.package : " $$$$1 "_the.package.api" }' > $$($2_PACKAGE_BDIR)_the.package.dddd ; true) + else + # If not using dependencies, use $2 as fallback to trigger regeneration of javah header files. + # This will generate a surplus of header files, but this does not hurt compilation. + $2_NATIVEAPICHANGE_TRIGGER:=$2 + $2_FETCH_NATIVEAPICHANGE_CLASSES:=$(CAT) $$($2_PACKAGE_BDIR)_the.package.now|$(GREP) -v '\$$$$'|$(SED) -e 's|$4/||g'|$(SED) 's|.class||g'| $(TR) '/' '.' + endif + + # The _the.package file is dependent on the java files inside the package. + # Fill the _the.package file with a list of the java files and compile them + # to class files. + $2 : $$($2_PACKAGE_SRCS) + $(MKDIR) -p $$($2_PACKAGE_BDIR) + $(RM) $2.tmp + $$(call ListPathsSafely,$2_PACKAGE_SRCS,\n, >> $2.tmp) + $(ECHO) $$($2_PACKAGE_BDIR)*.class | $(GREP) -v \*.class | $(TR) ' ' '\n' > $$($2_PACKAGE_BDIR)_the.package.prev + $(RM) $$($2_PACKAGE_BDIR)*.class $$($2_PACKAGE_BDIR)*.notify $$($2_PACKAGE_BDIR)*.deleted + $(ECHO) Compiling `$(WC) $2.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files in package $(patsubst $4/%/,%,$(dir $2.tmp)) + $9 $$($2_REMOTE) $$($2_DEPS) $$($2_PUBAPI) $$($2_NATIVEAPI) $(10) -implicit:none -sourcepath "$$($2_SRCROOTSC)" -d $4 @$2.tmp + $(ECHO) $$($2_PACKAGE_BDIR)*.class | $(GREP) -v \*.class | $(TR) ' ' '\n' > $$($2_PACKAGE_BDIR)_the.package.now + ($(GREP) -xvf $$($2_PACKAGE_BDIR)_the.package.now $$($2_PACKAGE_BDIR)_the.package.prev > $$($2_PACKAGE_BDIR)_the.package.deleted;true) + $(ECHO) $1_CLASSES += `$(CAT) $$($2_PACKAGE_BDIR)_the.package.now` | \ + $(SED) 's/\$$$$/\$$$$\$$$$/g' > $$($2_PACKAGE_BDIR)_the.package.d + $(ECHO) $1_JAVAS += $$($2_PACKAGE_SRCS) >> $$($2_PACKAGE_BDIR)_the.package.d + $(ECHO) $2_NOTIFIED:=true > $$($2_PACKAGE_BDIR)_the.package.notify + $$($2_APPEND_DEPS) + $$($2_COPY_FILES) + $(MV) -f $2.tmp $2 +endef + +define remove_string + $2 := $$(subst $1,,$$($2)) +endef + +define replace_space_with_pathsep + $1:=$(subst $(SPACE),$(PATH_SEP),$(strip $(patsubst %,%,$2))) +endef + +define SetupJavaCompilation + # param 1 is for example BUILD_MYPACKAGE + # param 2,3,4,5,6,7,8 are named args. + # SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC + # JVM:=path to ..bin/java + # ADD_JAVAC_FLAGS:=javac flags to append to the default ones. + # SRC:=one or more directories to search for sources + # BIN:=store classes here + # INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages. + # EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages. + # COPY:=.prp means copy all prp files to the corresponding package in BIN. + # CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN. + # COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo + # SRCZIP:=Create a src.zip based on the found sources and copied files. + # INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file! + # EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file! + # "SolarisFoobar.java" means do not compile SolarisFoobar, wherever it is found. + # JAVAC_SOURCE_PATH_UGLY_OVERRIDE:=Don't use this. This forces an explicit -sourcepath to javac. + # Its only here until we cleanup some nasty source code pasta in the jdk. + # HEADERS:=path to directory where all generated c-headers are written. + $(if $2,$1_$(strip $2)) + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + $(if $(10),$1_$(strip $(10))) + $(if $(11),$1_$(strip $(11))) + $(if $(12),$1_$(strip $(12))) + $(if $(13),$1_$(strip $(13))) + $(if $(14),$1_$(strip $(14))) + +# Extract the info from the java compiler setup. +$1_MODE := $$($$($1_SETUP)_MODE) +ifneq (SINGLE_THREADED_BATCH,$$($1_MODE)) + ifneq (MULTI_CORE_CONCURRENT,$$($1_MODE)) + $$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP)) + endif +endif +$1_USE_DEPS := $$($$($1_SETUP)_USE_DEPS) +$1_REMOTE := $$($$($1_SETUP)_REMOTE) +$1_JVM := $$($$($1_SETUP)_JVM) +$1_JAVAC := $$($$($1_SETUP)_JAVAC) +$1_JAVAH := $$($$($1_SETUP)_JAVAH) +$1_FLAGS := $$($$($1_SETUP)_FLAGS) $(JAVAC_FLAGS) $$($1_ADD_JAVAC_FLAGS) +ifeq (,$$($1_HEADERS)) + $1_HEADERS := $$($1_BIN) +endif + +# Handle addons and overrides. +$1_SRC:=$$(call ADD_SRCS,$$($1_SRC)) +# Make sure the dirs exist. +$$(shell $(MKDIR) -p $$($1_SRC) $$($1_BIN)) +# Find all files in the source trees. +$1_ALL_SRCS := $$(filter-out $(OVR_SRCS),$$(foreach i,$$($1_SRC),$$(shell $(FIND) $$i -type f))) +# Extract the java files. +ifneq ($$($1_EXCLUDE_FILES),) + $1_EXCLUDE_FILES_PATTERN:=$$(addprefix %,$$($1_EXCLUDE_FILES)) +endif +$1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$(filter %.java,$$($1_ALL_SRCS))) +ifneq ($$($1_INCLUDE_FILES),) + $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES))) + $1_SRCS := $$(filter $$($1_INCLUDE_FILES), $$($1_SRCS)) +endif +$1_PKGS := $$(sort $$(dir $$($1_SRCS))) +# Remove the source root from each found path. +$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$1_PKGS))) +$1_PKGS := $$(sort $$($1_PKGS)) +# There can be only a single bin dir root, no need to foreach over the roots. +$1_BINS := $$(shell $(FIND) $$($1_BIN) -name "*.class") + +# Now we have a list of all java files to compile: $$($1_SRCS) +# and we have a list of all existing class files: $$($1_BINS) + +# Prepend the source/bin path to the filter expressions. +ifneq ($$($1_INCLUDES),) + $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES)))) + $1_PKG_INCLUDES := $$(addprefix /,$$(addsuffix /%,$$($1_INCLUDES))) + $1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$(addsuffix /%,$$($1_INCLUDES))) + $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS)) + $1_PKGS := $$(filter $$($1_PKG_INCLUDES),$$($1_PKGS)) + $1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS)) +endif +ifneq ($$($1_EXCLUDES),) + $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES)))) + $1_PKG_EXCLUDES := $$(addprefix /,$$(addsuffix /%,$$($1_EXCLUDES))) + $1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$(addsuffix /%,$$($1_EXCLUDES))) + $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS)) + $1_PKGS := $$(filter-out $$($1_PKG_EXCLUDES),$$($1_PKGS)) + $1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS)) +endif + +# Find all files to be copied from source to bin. +ifneq (,$$($1_COPY)) + # Rewrite list of patterns into a find statement. + $1_COPY_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_COPY)) + # Search for all files to be copied. + $1_ALL_COPIES := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i \( $$($1_COPY_PATTERN) \) -a -type f)) + # Copy these explicitly + $1_ALL_COPIES += $$($1_COPY_FILES) + # Copy must also respect filters. + ifneq (,$$($1_INCLUDES)) + $1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES)) + endif + ifneq (,$$($1_EXCLUDES)) + $1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES)) + endif + ifneq (,$$($1_EXCLUDE_FILES)) + $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES)) + endif + # All files below META-INF are always copied. + $1_ALL_COPIES += $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i/META-INF -type f 2> /dev/null)) + ifneq (,$$($1_ALL_COPIES)) + # Yep, there are files to be copied! + $1_ALL_COPY_TARGETS:= + $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i))) + # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files! + endif +endif + +# Find all property files to be copied and cleaned from source to bin. +ifneq (,$$($1_CLEAN)) + # Rewrite list of patterns into a find statement. + $1_CLEAN_PATTERN:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_CLEAN)) + # Search for all files to be copied. + $1_ALL_CLEANS := $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i \( $$($1_CLEAN_PATTERN) \) -a -type f)) + # Copy and clean must also respect filters. + ifneq (,$$($1_INCLUDES)) + $1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS)) + endif + ifneq (,$$($1_EXCLUDES)) + $1_ALL_CLEANS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_CLEANS)) + endif + ifneq (,$$($1_EXCLUDE_FILES)) + $1_ALL_CLEANS := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_CLEANS)) + endif + ifneq (,$$($1_ALL_CLEANS)) + # Yep, there are files to be copied and cleaned! + $1_ALL_COPY_CLEAN_TARGETS:= + $$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i))) + # Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files! + endif +endif + +# Find all the directories that contain java sources, each directory +# corresponds to a package because we expect the source +# code to be organized in this standardized way! +$1_SDIRS := $$(sort $$(dir $$($1_SRCS))) +# Now prefix each package with the bin root. +$1_BDIRS := $$(foreach i,$$($1_PKGS),$$(addprefix $$($1_BIN),$$i)) +# Now create a list of the packages that are about to compile. This list is +# later used to filter out dependencies that point outside of this set. +$$(shell $(RM) $$($1_BIN)/_the.list_of_packages) +$$(eval $$(call ListPathsSafelyNow,$1_BDIRS,\n, >> $$($1_BIN)/_the.list_of_packages)) + +ifeq ($$($1_MODE),SINGLE_THREADED_BATCH) + # Ok, we will feed all the found java files into a single javac invocation. + # There can be no dependency checking, nor incremental builds. It is + # the best we can do with the old javac. If the javac supports a javac server + # then we can use the javac server. + + # We can depend on this target file to trigger a regeneration of all the sources + $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/_the.batch + + # Prep the source paths. + ifneq ($$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE),) + $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE))) + else + $$(eval $$(call replace_space_with_pathsep,$1_SRCROOTSC,$$($1_SRC))) + endif + + # Create a sed expression to remove the source roots and to replace / with . + # and remove .java at the end. + $1_REWRITE_INTO_CLASSES:=$$(foreach i,$$($1_SRC),-e 's|$$i/||g') -e 's|/|.|g' -e 's|.java$$$$||g' + + # Here is the batch rules that depends on all the sources. + $$($1_BIN)/_the.batch: $$($1_SRCS) + $(MKDIR) -p $$(@D) + $(RM) $$($1_BIN)/_the.batch $$($1_BIN)/_the.batch.tmp + $$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.batch.tmp) + $(ECHO) Compiling `$(WC) $$($1_BIN)/_the.batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files in batch $1 + ($$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) -implicit:none -sourcepath "$$($1_SRCROOTSC)" -d $$($1_BIN) @$$($1_BIN)/_the.batch.tmp && \ + $$(if $$($1_JAVAH),\ + $(CAT) $$($1_BIN)/_the.batch.tmp | $(XARGS) $(GREP) -E "[[:space:]]native[[:space:]]|@GenerateNativeHeader" |\ + $(GREP) -v '*' | $(GREP) -v '//' | $(CUT) -f 1 -d ':' | $(SORT) -u |\ + $(SED) $$($1_REWRITE_INTO_CLASSES) > $$($1_BIN)/_the.batch.natives && \ + if test -s $$($1_BIN)/_the.batch.natives; then \ + $$($1_JVM) $$($1_JAVAH) "-Xbootclasspath/p:$$($1_BIN)" -d $$($1_HEADERS) @$$($1_BIN)/_the.batch.natives ; \ + fi &&) \ + $(MV) $$($1_BIN)/_the.batch.tmp $$($1_BIN)/_the.batch) +else + # Ok, we have a modern javac server running! + # Since a single Java file can generate zero to an infinity number of .class files + # the exact number and names of the .class files will only be known after the compile. + # Thus after the compile, a list of the generated classes will be stored in _the.package.d + # which is included by the makefile during the next compile. These .d files will + # add the generated class names to the BUILD_MYPACKAGE_CLASSES variable and used java file names + # to the BUILD_MYPACKAGE_JAVAS variable. + $1_CLASSES := + $1_JAVAS := + # Create a file in each package that represents the package dependency. + # This file (_the.package) will also contain a list of the source files + # to be compiled for this package. + $1 := $$(sort $$(patsubst %,%_the.package,$$($1_BDIRS))) + # Now call add_java_package for each package to create the dependencies. + $$(foreach p,$$($1),$$(eval $$(call add_java_package,$1,$$p,$$($1_SRC),$$($1_BIN),$$($1_BIN)/_the.list_of_packages,NOTUSED,$$($1_USE_DEPS),$$($1_REMOTE),$$($1_JVM) $$($1_JAVAC),$$($1_FLAGS),$$($1_EXCLUDE_FILES_PATTERN) $(OVR_SRCS),$$($1_INCLUDE_FILES),$$($1_JVM) $$($1_JAVAH),$$($1_JAVAC_SOURCE_PATH_UGLY_OVERRIDE)))) + # All dependencies are setup, now we only need to depend on $1 (aka $(BUILD_MYPACKAGE)) + # and they will automatically be built! + + # Now add on any files to copy targets + $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1) + # Remove the set of found classes from the set of all previously known classes + # and the remainder is the set of missing classes. + $1_MISSING_CLASSES:=$$(filter-out $$($1_BINS),$$($1_CLASSES)) + $1_PKGS_MISSING_CLASSES:=$$(sort $$(dir $$($1_MISSING_CLASSES))) + # Remove the set of found java files from the set of all previously known java files + # the remainder is Java files that have gone missing. + $1_MISSING_JAVAS:=$$(filter-out $$($1_SRCS),$$($1_JAVAS)) + $1_PKGS_MISSING_JAVAS:=$$(sort $$(dir $$($1_MISSING_JAVAS))) + # Remove each source root from the found paths. + $$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$1_PKGS_MISSING_JAVAS))) + # Finally remove duplicates and prefix with the binary path instead. + $1_PKGS_MISSING_JAVAS:= $$(addprefix $$($1_BIN),$$(sort $$($1_PKGS_MISSING_JAVAS))) + + # Remove the set of all theoretical classes from the set of found classes. + # the remainder is the set of superfluous classes. + $1_SUPERFLUOUS_CLASSES:=$$(sort $$(filter-out $$($1_CLASSES),$$($1_BINS))) + $1_PKGS_SUPERFLUOUS_CLASSES:=$$(sort $$(dir $$($1_SUPERFLUOUS_CLASSES))) + + # Now delete the _the.package files inside the problematic dirs. + # This will force a rebuild of these packages! + $1_FOO:=$$(sort $$($1_PKGS_MISSING_CLASSES) \ + $$($1_PKGS_SUPERFLUOUS_CLASSES) \ + $$($1_PKGS_MISSING_JAVAS)) +# ifneq (,$$($1_FOO)) +# $$(info MESSED UP PACKAGES $$($1_FOO)) +# endif + + $$(shell $(RM) $$(addsuffix _the.package,$$(sort $$($1_PKGS_MISSING_CLASSES) \ + $$($1_PKGS_SUPERFLUOUS_CLASSES) \ + $$($1_PKGS_MISSING_JAVAS)))) + + # Normal makefile dependencies based on timestamps will detect the normal use case + # when Java files are simply added or modified. +endif + +ifneq (,$$($1_JAR)) + + ifeq (,$$($1_SUFFIXES)) + $1_SUFFIXES:=.class $$($1_CLEAN) $$($1_COPY) + endif + + # A jar file was specified. Set it up. + $$(eval $$(call SetupArchive,ARCHIVE_$1,$$($1),\ + SRCS:=$$($1_BIN),\ + SUFFIXES:=$$($1_SUFFIXES),\ + EXCLUDE:=$$($1_EXCLUDES),\ + INCLUDES:=$$($1_INCLUDES),\ + EXTRA_FILES:=$$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS),\ + JAR:=$$($1_JAR),\ + JARMAIN:=$$($1_JARMAIN),\ + MANIFEST:=$$($1_MANIFEST),\ + EXTRA_MANIFEST_ATTR:=$$($1_EXTRA_MANIFEST_ATTR),\ + HEADERS:=$$($1_HEADERS),\ + SETUP:=$$($1_SETUP))) +endif + +ifneq (,$$($1_SRCZIP)) + # A srczip file was specified. Set it up. + $$(eval $$(call SetupZipArchive,ARCHIVE_$1,\ + SRC:=$$($1_SRC),\ + ZIP:=$$($1_SRCZIP),\ + INCLUDES:=$$($1_INCLUDES),\ + EXCLUDES:=$$($1_EXCLUDES),\ + EXCLUDE_FILES:=$$($1_EXCLUDE_FILES))) +endif + +endef + + --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/MakeBase.gmk 2012-04-04 16:39:04.196735839 +0200 @@ -0,0 +1,327 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +################################################################ +# +# Check that GNU make and cygwin are recent enough. +# Setup common utility functions. +# +################################################################ + +ifndef _MAKEBASE_GMK +_MAKEBASE_GMK := 1 + +ifeq (,$(findstring 3.81,$(MAKE_VERSION))) + ifeq (,$(findstring 3.82,$(MAKE_VERSION))) + $(error This version of GNU Make is too low ($(MAKE_VERSION)). Please upgrade to 3.81 or newer.) + endif +endif + +ifneq (,$(CYGPATH)) + # Cygwin styff, if needed but most is going to be + # done in configure! + ifeq (yes,$(CHECK_FOR_VCINSTALLDIR)) + ifeq (,$(VCINSTALLDIR)) + $(info Could not find compiler paths!) + $(info You probably configured the build from within a) + $(info VS command prompt, but you are not using such a) + $(info prompt right now.) + $(info If you instead run configure from a plain cygwin shell, it) + $(info will attempt to setup VS for you! Please try that.) + $(error Giving up for now.) + endif + endif +endif + +# The build times report is turned off by setting REPORT_BUILD_TIMES to nothing. +# This is necessary for the target clean which will erase the +# directories where the buildtimes are stored. +REPORT_BUILD_TIMES=1 +# Store the build times in this directory. +BUILDTIMESDIR=$(OUTPUT_ROOT)/tmp/buildtimes + +# Record starting time for build of a sub repository. +define RecordStartTime +$(MKDIR) -p $(BUILDTIMESDIR) +$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1 +$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable +endef + +# Indicate that we started to build a sub repository and record starting time. +define MakeStart +$(call RecordStartTime,$1) +$(BUILD_LOG_WRAPPER) $(PRINTF) "\n\n%s\n%s\n##### %-60.60s #####\n%s\n\n" \ +"########################################################################" \ +"########################################################################" \ +"Entering $1 for target(s) $2" \ +"########################################################################" +endef + +# Record ending time and calculate the difference and store it in a +# easy to read format. Handles builds that cross midnight. Expects +# that a build will never take 24 hours or more. +define RecordEndTime +$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1 +$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable +$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \ + $(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \ + M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \ + > $(BUILDTIMESDIR)/build_time_diff_$1 +endef + +# Indicate that we are done. +# Record ending time and print out the total time it took to build. +define MakeFinish +$(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,$1),) +$(BUILD_LOG_WRAPPER) $(PRINTF) "%s\n##### %-60.60s #####\n%s\n##### %-60.60s #####\n%s\n\n" \ +"########################################################################" \ +"Leaving $1 for target(s) $2" \ +"########################################################################" \ +$(if $(REPORT_BUILD_TIMES),"Build time `$(CAT) $(BUILDTIMESDIR)/build_time_diff_$1` for target(s) $2","") \ +"########################################################################" +endef + +# Find all build_time_* files and print their contents in a list sorted +# on the name of the sub repository. +define ReportBuildTimes +$(BUILD_LOG_WRAPPER) $(PRINTF) -- "-- Build times ----------\nTarget %s\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \ +"$1" \ +"`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \ +"`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \ +"`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \ +"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`" +endef + +define ResetTimers +$$(shell $(MKDIR) -p $(BUILDTIMESDIR) && $(RM) $(BUILDTIMESDIR)/build_time_*) +endef + +define StartTimer + $(call RecordStartTime,TOTAL) +endef + +define StopTimer + $(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,TOTAL) && $(call ReportBuildTimes,$1),) +endef + +# If the variable that you want to send to stdout for piping into a file or otherwise, +# is potentially long, for example the a list of file paths, eg a list of all package directories. +# Then you need to use ListPathsSafely, which optimistically splits the output into several shell +# calls as well as use compression on recurrent file paths segments, to get around the potential +# command line length problem that exists in cygwin and other shells. +compress_pre:=$(strip $(shell cat $(SRC_ROOT)/common/makefiles/compress.pre)) +compress_post:=$(strip $(shell cat $(SRC_ROOT)/common/makefiles/compress.post)) +compress_paths=$(compress_pre)\ +$(subst $(SRC_ROOT),X97,\ +$(subst $(OUTPUT_ROOT),X98,\ +$(subst X,X00,\ +$(subst $(SPACE),\n,$(strip $1)))))\ +$(compress_post) + +decompress_paths=sed -f $(SRC_ROOT)/common/makefiles/uncompress.sed -e 's|X99|\\n|g' \ + -e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \ + -e 's|X00|X|g' | tr '\n' '$2' + +define ListPathsSafely_If + $(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1))))) +endef + +define ListPathsSafely_Printf + $(if $(strip $($1_LPS$4)),printf -- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3) +endef + +# Receipt example: +# rm -f thepaths +# $(call ListPathsSafely,THEPATHS,\n, >> thepaths) +# The \n argument means translate spaces into \n +# if instead , , (a space) is supplied, then spaces remain spaces. +define ListPathsSafely + $(if $(word 10001,$($1)),$(error Cannot list safely more than 10000 paths. $1 has $(words $($1)) paths!)) + $(call ListPathsSafely_If,$1,$2,1,250) + $(call ListPathsSafely_If,$1,$2,251,500) + $(call ListPathsSafely_If,$1,$2,501,750) + $(call ListPathsSafely_If,$1,$2,751,1000) + + $(call ListPathsSafely_If,$1,$2,1001,1250) + $(call ListPathsSafely_If,$1,$2,1251,1500) + $(call ListPathsSafely_If,$1,$2,1501,1750) + $(call ListPathsSafely_If,$1,$2,1751,2000) + + $(call ListPathsSafely_If,$1,$2,2001,2250) + $(call ListPathsSafely_If,$1,$2,2251,2500) + $(call ListPathsSafely_If,$1,$2,2501,2750) + $(call ListPathsSafely_If,$1,$2,2751,3000) + + $(call ListPathsSafely_If,$1,$2,3001,3250) + $(call ListPathsSafely_If,$1,$2,3251,3500) + $(call ListPathsSafely_If,$1,$2,3501,3750) + $(call ListPathsSafely_If,$1,$2,3751,4000) + + $(call ListPathsSafely_If,$1,$2,4001,4250) + $(call ListPathsSafely_If,$1,$2,4251,4500) + $(call ListPathsSafely_If,$1,$2,4501,4750) + $(call ListPathsSafely_If,$1,$2,4751,5000) + + $(call ListPathsSafely_If,$1,$2,5001,5250) + $(call ListPathsSafely_If,$1,$2,5251,5500) + $(call ListPathsSafely_If,$1,$2,5501,5750) + $(call ListPathsSafely_If,$1,$2,5751,6000) + + $(call ListPathsSafely_If,$1,$2,6001,6250) + $(call ListPathsSafely_If,$1,$2,6251,6500) + $(call ListPathsSafely_If,$1,$2,6501,6750) + $(call ListPathsSafely_If,$1,$2,6751,7000) + + $(call ListPathsSafely_If,$1,$2,7001,7250) + $(call ListPathsSafely_If,$1,$2,7251,7500) + $(call ListPathsSafely_If,$1,$2,7501,7750) + $(call ListPathsSafely_If,$1,$2,7751,8000) + + $(call ListPathsSafely_If,$1,$2,8001,8250) + $(call ListPathsSafely_If,$1,$2,8251,8500) + $(call ListPathsSafely_If,$1,$2,8501,8750) + $(call ListPathsSafely_If,$1,$2,8751,9000) + + $(call ListPathsSafely_If,$1,$2,9001,9250) + $(call ListPathsSafely_If,$1,$2,9251,9500) + $(call ListPathsSafely_If,$1,$2,9501,9750) + $(call ListPathsSafely_If,$1,$2,9751,10000) + + $(call ListPathsSafely_Printf,$1,$2,$3,1) + $(call ListPathsSafely_Printf,$1,$2,$3,251) + $(call ListPathsSafely_Printf,$1,$2,$3,501) + $(call ListPathsSafely_Printf,$1,$2,$3,751) + + $(call ListPathsSafely_Printf,$1,$2,$3,1001) + $(call ListPathsSafely_Printf,$1,$2,$3,1251) + $(call ListPathsSafely_Printf,$1,$2,$3,1501) + $(call ListPathsSafely_Printf,$1,$2,$3,1751) + + $(call ListPathsSafely_Printf,$1,$2,$3,2001) + $(call ListPathsSafely_Printf,$1,$2,$3,2251) + $(call ListPathsSafely_Printf,$1,$2,$3,2501) + $(call ListPathsSafely_Printf,$1,$2,$3,2751) + + $(call ListPathsSafely_Printf,$1,$2,$3,3001) + $(call ListPathsSafely_Printf,$1,$2,$3,3251) + $(call ListPathsSafely_Printf,$1,$2,$3,3501) + $(call ListPathsSafely_Printf,$1,$2,$3,3751) + + $(call ListPathsSafely_Printf,$1,$2,$3,4001) + $(call ListPathsSafely_Printf,$1,$2,$3,4251) + $(call ListPathsSafely_Printf,$1,$2,$3,4501) + $(call ListPathsSafely_Printf,$1,$2,$3,4751) + + $(call ListPathsSafely_Printf,$1,$2,$3,5001) + $(call ListPathsSafely_Printf,$1,$2,$3,5251) + $(call ListPathsSafely_Printf,$1,$2,$3,5501) + $(call ListPathsSafely_Printf,$1,$2,$3,5751) + + $(call ListPathsSafely_Printf,$1,$2,$3,6001) + $(call ListPathsSafely_Printf,$1,$2,$3,6251) + $(call ListPathsSafely_Printf,$1,$2,$3,6501) + $(call ListPathsSafely_Printf,$1,$2,$3,6751) + + $(call ListPathsSafely_Printf,$1,$2,$3,7001) + $(call ListPathsSafely_Printf,$1,$2,$3,7251) + $(call ListPathsSafely_Printf,$1,$2,$3,7501) + $(call ListPathsSafely_Printf,$1,$2,$3,7751) + + $(call ListPathsSafely_Printf,$1,$2,$3,8001) + $(call ListPathsSafely_Printf,$1,$2,$3,8251) + $(call ListPathsSafely_Printf,$1,$2,$3,8501) + $(call ListPathsSafely_Printf,$1,$2,$3,8751) + + $(call ListPathsSafely_Printf,$1,$2,$3,9001) + $(call ListPathsSafely_Printf,$1,$2,$3,9251) + $(call ListPathsSafely_Printf,$1,$2,$3,9501) + $(call ListPathsSafely_Printf,$1,$2,$3,9751) +endef + +define ListPathsSafelyNow_IfPrintf + ifneq (,$$(word $4,$$($1))) + $$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1)))) + $$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3) + endif +endef + +# And an non-receipt version: +define ListPathsSafelyNow + ifneq (,$$(word 10001,$$($1))) + $$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!) + endif + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000) + + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750) + $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000) + +endef + +endif # _MAKEBASE_GMK --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/Makefile 2012-04-04 16:39:04.556729195 +0200 @@ -0,0 +1,176 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Default to sane output from make. +# Override with empty string to get insane amount of output. +# Override with -d to get even more insane amount of debugging output. +# Override with "-d -p" to get it all. +VERBOSE=-s + +# Find all environment or command line variables that begin with ALT. +list_alt_overrides_with_origins = $(filter ALT_%=environment ALT_%=command,$(foreach var,$(.VARIABLES),$(var)=$(firstword $(origin $(var))))) +list_alt_overrides=$(subst =command,,$(subst =environment,,$(list_alt_overrides_with_origins))) +ifneq ($(list_alt_overrides),) + $(info You have set the following ALT_ variables:) + $(foreach var,$(list_alt_overrides), $(info $(var)=$($(var)))) + $(error Using ALT_ variables is deprecated! Please clean your environment!) +endif + +# The spec.gmk file contains the variables extracted by the configure script. +# It is usually set with SPEC=....spec.gmk on the make command line. +# However if you simply type make from the openjdk source root, it will go looking +# for a spec file, if only one is found, use it. If more than one is found, +# complain. If none is found, request the user to run configure! +SPEC ?= $(wildcard $(CURDIR)/../../build/*/spec.gmk) + +ifeq ($(words $(SPEC)),0) + $(error You must run configure!) +endif + +ifneq ($(words $(SPEC)),1) + ifeq ($(MAKECMDGOALS),all-conf) + SPECS:=$(shell echo $(SPEC) | sed -e 's|$(CURDIR)/build/||g' -e 's|/spec.gmk|\\n|g' -e 's| ||g') + allconf: + @echo Building configurations: + @printf "$(SPECS)" + @$(foreach s,$(SPEC),($(MAKE) SPEC=$s $(VERBOSE) VERBOSE=$(VERBOSE) images) &&) true + @echo Done building configurations: + @printf "$(SPECS)" + .PHONY: all-conf + else + $(error Since you have more than one output dir configured under build, \ + you have to either run make from the output dir of your choice \ + or specify run "make SPEC=build/.../spec.gmk" or run all the build configurations \ + using "make all-conf") + endif +else + +# Now load the spec +-include $(SPEC) + +# Load the vital tools for all the makefiles. +-include $(SRC_ROOT)/common/makefiles/MakeBase.gmk + +# Remove any build.log from a previous run +ifneq (,$(BUILD_LOG)) + $(shell $(RM) $(BUILD_LOG)) +endif + +# Remove any javac server logs and port files. This +# prevents a new make run to reuse the previous servers. +ifneq (,$(JAVAC_SERVERS)) + $(shell mkdir -p $(JAVAC_SERVERS) && rm -rf $(JAVAC_SERVERS)/*) +endif +# Reset the build timers. +$(eval $(call ResetTimers)) +# Clean out any notifications from the previous build. +$(shell find $(OUTPUT_ROOT) -name "_the.*.notify" $(FIND_DELETE)) + +all: jdk + @$(call StopTimer) + @$(if $(JAVAC_SERVERS),rm -rf $(JAVAC_SERVERS)/*.port) + +langtools: start-timer + @$(call MakeStart,langtools,all) + @($(CD) $(LANGTOOLS_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(LANGTOOLS_MAKE_ARGS)) + @$(call MakeFinish,langtools,all) + +corba: langtools + @$(call MakeStart,corba,all) + @($(CD) $(CORBA_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(CORBA_MAKE_ARGS)) + @$(call MakeFinish,corba,all) + +jaxp: langtools + @$(call MakeStart,jaxp,all) + @($(CD) $(JAXP_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(CORBA_MAKE_ARGS)) + @$(call MakeFinish,jaxp,all) + +jaxws: langtools jaxp + @$(call MakeStart,jaxws,all) + @($(CD) $(JAXWS_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(CORBA_MAKE_ARGS)) + @$(call MakeFinish,jaxws,all) + +hotspot: langtools + @$(call MakeStart,hotspot,all) + @($(CD) $(HOTSPOT_TOPDIR)/make && $(BUILD_LOG_WRAPPER) $(MAKE) -j1 $(HOTSPOT_MAKE_ARGS)) + @$(call MakeFinish,hotspot,all) + +jdk: langtools corba jaxp jaxws hotspot + @$(call MakeStart,jdk,all) + @($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(JDK_MAKE_ARGS)) + @$(call MakeFinish,jdk,all) + +images install packages: start-timer jdk langtools corba jaxp jaxws hotspot + @$(call MakeStart,jdk-images,$@) + @($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) -j$(NUM_CORES) $(JDK_MAKE_ARGS) $@) + @$(call MakeFinish,jdk-images,$@) + @$(call StopTimer) + @$(if $(JAVAC_SERVERS),rm -rf $(JAVAC_SERVERS)/*.port) + +start-timer: + @$(call StartTimer) + +.PHONY: jdk hotspot jaxws jaxp corba langtools install images packages start-timer + +# Remove everything, except the output from configure. +clean: + @(cd $(OUTPUT_ROOT) && $(RM) -r `$(LS) $(OUTPUT_ROOT) | grep -v spec.gmk | grep -v Makefile | grep -v config.status | grep -v config.log | grep -v config.h | grep -v configure-arguments | grep -v "localdevenv.*" | grep -v uncygdrive.exe`) + @$(ECHO) Cleaned everything except the build configuration. +.PHONY: clean + +# Remove everything, you have to rerun configure. +dist-clean: + @$(RM) -r $(OUTPUT_ROOT) + @$(ECHO) Cleaned everything, you will have to re-run configure. +.PHONY: dist-clean + +clean-jdk: + @(cd $(OUTPUT_ROOT) && $(RM) -r `$(LS) $(OUTPUT_ROOT) | grep -v spec.gmk | grep -v Makefile | grep -v config.status | grep -v config.log | grep -v config.h | grep -v configure-arguments | \ + grep -v langtools | grep -v corba | grep -v jaxp | grep -v jaxws | grep -v hotspot`) + @$(ECHO) "Cleaned jdk build artifacts (but not langtools,corba,jaxp,jaxws,hotspot nor the build configuration)" +.PHONY: clean + +help: + $(info ) + $(info Typical make commands:) + $(info make) + $(info make VERBOSE= # print all commands) + $(info make VERBOSE="-d -p" # debug make as well) + $(info make all-conf # build images for all configurations) + $(info make clean # remove build artifacts) + $(info make dist-clean # you have to rerun configure) +# $(info make test # run tests) + $(info make images # create the jdk and jre images) + $(info make install # install the jdk image) +# $(info make modules # EXPERIMENTAL: Migrate JDK into a modularized form!) + $(info make packages # create zips and other packages) + +# $(info make eclipse_workspace # Create an Eclipse workspace) +# $(info make netbeans_workspace # Create a NetBeans workspace) +# $(info make vs_workspace # Create a Visual Studio workspace) + +.PHONY: help + +endif --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/NativeCompilation.gmk 2012-04-04 16:39:04.916722548 +0200 @@ -0,0 +1,277 @@ +# +# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# When you read this source. Remember that $(sort ...) has the side effect +# of removing duplicates. It is actually this side effect that is +# desired whenever sort is used below! + +ifeq (,$(_MAKEBASE_GMK)) + $(error You must include MakeBase.gmk prior to including JavaCompilation.gmk) +endif + +ifeq ($(COMPILER_TYPE),CC) + COMPILING_MSG=echo Compiling $1 + LINKING_MSG=echo Linking $1 + LINKING_EXE_MSG=echo Linking executable $1 + ARCHIVING_MSG=echo Archiving $1 +else + COMPILING_MSG= + LINKING_MSG= + LINKING_EXE_MSG= + ARCHIVING_MSG= +endif + +define add_native_source + # param 1 = BUILD_MYPACKAGE + # parma 2 = the source file name (..../alfa.c or .../beta.cpp) + # param 3 = the bin dir that stores all .o (.obj) and .d files. + # param 4 = the c flags to the compiler + # param 5 = the c compiler + # param 6 = the c++ flags to the compiler + # param 7 = the c++ compiler + + ifneq (,$$(filter %.c,$2)) + # Compile as a C file + $1_$2_FLAGS=$4 + $1_$2_COMP=$5 + else + # Compile as a C++ file + $1_$2_FLAGS=$6 + $1_$2_COMP=$7 + endif + # Generate the .o (.obj) file name and place it in the bin dir. + $1_$2_OBJ:=$3/$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(notdir $2))) + # Only continue if this object file hasn't been processed already. This lets the first found + # source file override any other with the same name. + ifeq (,$$(findstring $$($1_$2_OBJ),$$($1_OBJS_SO_FAR))) + $1_OBJS_SO_FAR+=$$($1_$2_OBJ) + # And this is the dependency file for this obj file. + $1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ)) + # Include previously generated dependency information. (if it exists) + -include $$($1_$2_DEP) + + ifeq ($(COMPILER_TYPE),CL) + $1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \ + -Fm$$(patsubst %$(OBJ_SUFFIX),%.map,$$($1_$2_OBJ)) + endif + + $$($1_$2_OBJ) : $2 + ifeq ($(COMPILER_TYPE),CC) + $$(call COMPILING_MSG,$$(notdir $2)) + $$($1_$2_COMP) $$($1_$2_FLAGS) -MMD -MF $$($1_$2_DEP) -c $(CC_OUT_OPTION)$$($1_$2_OBJ) $2 + endif + ifeq ($(COMPILER_TYPE),CL) + $$(call COMPILING_MSG,$$(notdir $2)) + $$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEBUG_OUT_FLAGS) -c $(CC_OUT_OPTION)$$($1_$2_OBJ) $2 + endif + endif +endef + +define SetupNativeCompilation + # param 1 is for example BUILD_MYPACKAGE + # param 2,3,4,5,6,7,8 are named args. + # SRC one or more directory roots to scan for C/C++ files. + # LANG C or C++ + # CFLAGS the compiler flags to be used, used both for C and C++. + # CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS. + # LDFLAGS the linker flags to be used, used both for C and C++. + # LDFLAGS_SUFFIX the linker flags to be added last on the commandline + # typically the libraries linked to. + # ARFLAGS the archiver flags to be used + # BIN the directory where we store the object files + # LIB the resulting library file + # EXE the resulting exec file + # INCLUDES only pick source from these directories + # EXCLUDES do not pick source from these directories + # INCLUDE_FILES only compile exactly these files! + # EXCLUDE_FILES with these names + # VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run + # RC_FLAGS flags for RC. + $(if $2,$1_$(strip $2)) + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + $(if $(10),$1_$(strip $(10))) + $(if $(11),$1_$(strip $(11))) + $(if $(12),$1_$(strip $(12))) + $(if $(13),$1_$(strip $(13))) + $(if $(14),$1_$(strip $(14))) + $(if $(15),$1_$(strip $(15))) + $(if $(16),$1_$(strip $(16))) + $(if $(17),$1_$(strip $(17))) + $(if $(18),$1_$(strip $(18))) + $(if $(19),$1_$(strip $(19))) + $(if $(20),$1_$(strip $(20))) + + ifeq (,$$($1_LANG)) + $$(error You have to specify LANG for native compilation $1) + endif + ifeq (C,$$($1_LANG)) + $1_LD:=$(LD) + $1_LDEXE:=$(LDEXE) + else + ifeq (C++,$$($1_LANG)) + $1_LD:=$(LDCXX) + $1_LDEXE:=$(LDEXECXX) + else + $$(error Unknown native language $$($1_LANG) for $1) + endif + endif + + # Make sure the dirs exist. + $$(shell $(MKDIR) -p $$($1_SRC) $$($1_BIN) $$(dir $$($1_LIB)) $$(dir $$($1_EXE))) + # Find all files in the source trees. Sort to remove duplicates. + $1_ALL_SRCS := $$(sort $$(foreach i,$$($1_SRC), $$(shell $(FIND) $$i -type f))) + # Extract the C/C++ files. + $1_EXCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_EXCLUDE_FILES))) + $1_INCLUDE_FILES:=$$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$($1_INCLUDE_FILES))) + ifneq ($$($1_EXCLUDE_FILES),) + $1_EXCLUDE_FILES:=$$(addprefix %,$$($1_EXCLUDE_FILES)) + endif + $1_SRCS := $$(filter-out $$($1_EXCLUDE_FILES),$$(filter %.c %.cpp,$$($1_ALL_SRCS))) + ifneq (,$$(strip $$($1_INCLUDE_FILES))) + $1_SRCS := $$(filter $$($1_INCLUDE_FILES),$$($1_SRCS)) + endif + ifeq (,$$($1_SRCS)) + $$(error No sources found for $1 when looking inside the dirs $$($1_SRC)) + endif + # There can be only a single bin dir root, no need to foreach over the roots. + $1_BINS := $$(wildcard $$($1_BIN)/*$(OBJ_SUFFIX)) + # Now we have a list of all c/c++ files to compile: $$($1_SRCS) + # and we have a list of all existing object files: $$($1_BINS) + + # Prepend the source/bin path to the filter expressions. Then do the filtering. + ifneq ($$($1_INCLUDES),) + $1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES)))) + $1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS)) + endif + ifneq ($$($1_EXCLUDES),) + $1_SRC_EXCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_EXCLUDES)))) + $1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS)) + endif + + # Calculate the expected output from compiling the sources (sort to remove duplicates. Also provides + # a reproducable order on the input files to the linker). + $1_EXPECTED_OBJS:=$$(sort $$(addprefix $$($1_BIN)/,$$(patsubst %.cpp,%$(OBJ_SUFFIX),$$(patsubst %.c,%$(OBJ_SUFFIX),$$(notdir $$($1_SRCS)))))) + $1 := $$($1_EXPECTED_OBJS) + # Are there too many object files on disk? Perhaps because some source file was removed? + $1_SUPERFLOUS_OBJS:=$$(sort $$(filter-out $$($1_EXPECTED_OBJS),$$($1_BINS))) + # Clean out the superfluous object files. + $$(shell $(RM) -f $$($1_SUPERFLUOUS_OBJS)) + + # Pickup extra HOST_OS_API and/or PLATFORM dependent variables for CFLAGS. + $1_EXTRA_CFLAGS:=$$($1_CFLAGS_$(HOST_OS_API)) $$($1_CFLAGS_$(PLATFORM)) + ifneq ($(DEBUG_LEVEL),release) + # Pickup extra debug dependent variables for CFLAGS + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_debug) + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(HOST_OS_API)_debug) + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(PLATFORM)_debug) + else + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_release) + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(HOST_OS_API)_release) + $1_EXTRA_CFLAGS+=$$($1_CFLAGS_$(PLATFORM)_release) + endif + + # Pickup extra HOST_OS_API and/or PLATFORM dependent variables for CXXFLAGS. + $1_EXTRA_CXXFLAGS:=$$($1_CXXFLAGS_$(HOST_OS_API)) $$($1_CXXFLAGS_$(PLATFORM)) + ifneq ($(DEBUG_LEVEL),release) + # Pickup extra debug dependent variables for CXXFLAGS + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_debug) + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(HOST_OS_API)_debug) + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(PLATFORM)_debug) + else + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_release) + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(HOST_OS_API)_release) + $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(PLATFORM)_release) + endif + + ifeq ($$($1_CXXFLAGS),) + $1_CXXFLAGS:=$$($1_CFLAGS) + endif + ifeq ($$(strip $$($1_EXTRA_CXXFLAGS)),) + $1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS) + endif + + # Now create a list of the packages that are about to compile. Used when sending source + # in a batch to the compiler. + $$(shell $(RM) $$($1_BIN)/_the.list_of_sources) + $$(eval $$(call ListPathsSafelyNow,$1_SRCS,\n, >> $$($1_BIN)/_the.list_of_sources)) + + # Now call add_native_source for each source file we are going to compile. + $$(foreach p,$$($1_SRCS),\ + $$(eval $$(call add_native_source,$1,$$p,$$($1_BIN),\ + $$($1_CFLAGS) $$($1_EXTRA_CFLAGS),$(CC),\ + $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS),$(CXX)))) + + # On windows we need to create a resource file + ifeq ($(HOST_OS_API), winapi) + ifneq (,$$($1_VERSIONINFO_RESOURCE)) + ifneq (,$$($1_LIB)) + ifeq (dynamic,$$(patsubst %$(SHARED_LIBRARY_SUFFIX),dynamic,$$($1_LIB))) + $1_RES:=$$(patsubst %$(SHARED_LIBRARY_SUFFIX),%.res,$$($1_LIB)) + else + $1_RES:=$$(patsubst %$(STATIC_LIBRARY_SUFFIX),%.res,$$($1_LIB)) + endif + endif + ifneq (,$$($1_EXE)) + $1_RES:=$$(patsubst %$(EXE_SUFFIX),%.res,$$($1_EXE)) + endif + $$($1_RES): $$($1_VERSIONINFO_RESOURCE) + $(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE) + endif + endif + + # Pickup extra HOST_OS_API dependent variables (posix or winapi) and + # (linux,solaris,windows,bsd) for LDFLAGS and LDFLAGS_SUFFIX + $1_EXTRA_LDFLAGS:=$$($1_LDFLAGS_$(HOST_OS_API)) $$($1_LDFLAGS_$(PLATFORM)) + $1_EXTRA_LDFLAGS_SUFFIX:=$$($1_LDFLAGS_SUFFIX_$(HOST_OS_API)) $$($1_LDFLAGS_SUFFIX_$(PLATFORM)) + ifneq (,$$($1_LIB)) + ifeq (dynamic,$$(patsubst %$(SHARED_LIBRARY_SUFFIX),dynamic,$$($1_LIB))) + # Generating a dynamic library. + $1_EXTRA_LDFLAGS+=$$(call SET_SHARED_LIBRARY_NAME,$$(notdir $$($1_LIB))) + $$($1_LIB) : $$($1_EXPECTED_OBJS) $$($1_RES) + $$(call LINKING_MSG,$$(notdir $$($1_LIB))) + $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(LD_OUT_OPTION)$$($1_LIB) \ + $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + else + # Generating a static library, ie object file archive. + $$($1_LIB) : $$($1_EXPECTED_OBJS) $$($1_RES) + $$(call ARCHIVING_MSG,$$(notdir $$($1_LIB))) + $(AR) $$($1_AR_FLAGS) $(AR_OUT_OPTION)$$($1_LIB) $$($1_EXPECTED_OBJS) \ + $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + endif + endif + ifneq (,$$($1_EXE)) + # A executable binary has been specified, setup the target for it. + $$($1_EXE) : $$($1_EXPECTED_OBJS) $$($1_RES) + $$(call LINKING_EXE_MSG,$$(notdir $$($1_EXE))) + $$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_EXE) \ + $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + endif +endef --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/RMICompile.gmk 2012-04-04 16:39:05.276715903 +0200 @@ -0,0 +1,103 @@ +# +# Copyright (c) 2011, 2012 Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +define SetupRMICompilation + # param 1 is a name for a variable to depend on. + # param 2 and up are named args. + # CLASSES:=List of classes to generate stubs for + # CLASSES_DIR:=Directory where to look for classes + # STUB_CLASSES_DIR:=Directory in where to put stub classes + # RUN_V11:=Set to run rmic with -v1.1 + # RUN_V12:=Set to run rmic with -v1.2 + # RUN_IIOP:=Set to run rmic with -iiop + # RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage + # KEEP_GENERATED:=Set to keep generated sources around + $(if $2,$1_$(strip $2)) + $(if $3,$1_$(strip $3)) + $(if $4,$1_$(strip $4)) + $(if $5,$1_$(strip $5)) + $(if $6,$1_$(strip $6)) + $(if $7,$1_$(strip $7)) + $(if $8,$1_$(strip $8)) + $(if $9,$1_$(strip $9)) + + + $1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/$1_rmic + + $1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES)) + $1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH))) + $1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH))) + $1_TARGETS := $$($1_STUB_FILES) + $1_ARGS := + ifneq (,$$($1_RUN_V11)) + $1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH))) + $1_TARGETS += $$($1_SKEL_FILES) + $1_ARGS += -v1.1 + endif + ifneq (,$$($1_RUN_V12)) + $1_ARGS += -v1.2 + endif + + $1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f)) + $1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) + $1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES))) + + ifneq (,$$($1_RUN_IIOP)) + $1_TARGETS += $$($1_TIE_FILES) + $1_ARGS += -iiop + endif + ifneq (,$$($1_RUN_IIOP_STDPKG)) + $1_TARGETS += $$($1_TIE_STDPKG_FILES) + $1_ARGS2 := -iiop -standardPackage + endif + + ifneq (,$$($1_KEEP_GENERATED)) + $1_ARGS += -keepgenerated + $1_TARGETS += $$(subst .class,.java,$$($1_TARGETS)) + endif + + $1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES)) + + $$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES) + + $$($1_DEP_FILE): $$($1_CLASS_FILES) + $(MKDIR) -p $$($1_STUB_CLASSES_DIR) + if [ "x$$($1_ARGS)" != "x" ]; then \ + $(ECHO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) &&\ + $(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \ + -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\ + fi; + if [ "x$$($1_ARGS2)" != "x" ]; then \ + $(ECHO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) &&\ + $(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \ + -d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\ + fi; + + + $1 := $$($1_TARGETS) + + # By marking as secondary, this "touch" file doesn't need to be touched and will never exist. + .SECONDARY: $$($1_DEP_FILE) +endef --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/compress.post 2012-04-04 16:39:05.646709078 +0200 @@ -0,0 +1 @@ +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ No newline at end of file --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/compress.pre 2012-04-04 16:39:06.006702425 +0200 @@ -0,0 +1 @@ +$(subst com,X01,$(subst org,X02,$(subst sun,X03,$(subst java,X04,$(subst javax,X05,$(subst sun/io,X06,$(subst com/sun,X07,$(subst java/io,X08,$(subst org/omg,X09,$(subst org/w3c,X10,$(subst org/xml,X11,$(subst sun/awt,X12,$(subst sun/net,X13,$(subst sun/nio,X14,$(subst sun/rmi,X15,$(subst java/awt,X16,$(subst java/net,X17,$(subst java/nio,X18,$(subst java/rmi,X19,$(subst META-INF,X20,$(subst sun/font,X21,$(subst sun/misc,X22,$(subst sun/text,X23,$(subst sun/util,X24,$(subst java/lang,X25,$(subst java/math,X26,$(subst java/text,X27,$(subst java/util,X28,$(subst javax/jws,X29,$(subst javax/net,X30,$(subst javax/rmi,X31,$(subst javax/xml,X32,$(subst sun/corba,X33,$(subst sun/print,X34,$(subst sun/swing,X35,$(subst java/beans,X36,$(subst javax/lang,X37,$(subst sun/applet,X38,$(subst sun/java2d,X39,$(subst java/applet,X40,$(subst javax/print,X41,$(subst javax/sound,X42,$(subst javax/swing,X43,$(subst javax/tools,X44,$(subst jdk/classes,X45,$(subst org/relaxng,X46,$(subst sun/reflect,X47,$(subst javax/crypto,X48,$(subst javax/naming,X49,$(subst jaxp/classes,X50,$(subst sun/security,X51,$(subst corba/classes,X52,$(subst java/security,X53,$(subst javax/imageio,X54,$(subst jdk/btclasses,X55,$(subst javax/activity,X56,$(subst javax/security,X57,$(subst jdk/newclasses,X58,$(subst sun/instrument,X59,$(subst sun/management,X60,$(subst corba/btclasses,X61,$(subst jdk/democlasses,X62,$(subst javax/activation,X63,$(subst javax/annotation,X64,$(subst javax/management,X65,$(subst javax/transaction,X66,$(subst jaxws/jaf_classes,X67,$(subst langtools/classes,X68,$(subst META-INF/services,X69,$(subst jdk/newdemoclasses,X70,$(subst javax/accessibility,X71,$(subst jaxws/jaxws_classes,X72, \ No newline at end of file --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/makefiles/uncompress.sed 2012-04-04 16:39:06.366695781 +0200 @@ -0,0 +1,72 @@ +s|X01|com|g +s|X02|org|g +s|X03|sun|g +s|X04|java|g +s|X05|javax|g +s|X06|sun/io|g +s|X07|com/sun|g +s|X08|java/io|g +s|X09|org/omg|g +s|X10|org/w3c|g +s|X11|org/xml|g +s|X12|sun/awt|g +s|X13|sun/net|g +s|X14|sun/nio|g +s|X15|sun/rmi|g +s|X16|java/awt|g +s|X17|java/net|g +s|X18|java/nio|g +s|X19|java/rmi|g +s|X20|META-INF|g +s|X21|sun/font|g +s|X22|sun/misc|g +s|X23|sun/text|g +s|X24|sun/util|g +s|X25|java/lang|g +s|X26|java/math|g +s|X27|java/text|g +s|X28|java/util|g +s|X29|javax/jws|g +s|X30|javax/net|g +s|X31|javax/rmi|g +s|X32|javax/xml|g +s|X33|sun/corba|g +s|X34|sun/print|g +s|X35|sun/swing|g +s|X36|java/beans|g +s|X37|javax/lang|g +s|X38|sun/applet|g +s|X39|sun/java2d|g +s|X40|java/applet|g +s|X41|javax/print|g +s|X42|javax/sound|g +s|X43|javax/swing|g +s|X44|javax/tools|g +s|X45|jdk/classes|g +s|X46|org/relaxng|g +s|X47|sun/reflect|g +s|X48|javax/crypto|g +s|X49|javax/naming|g +s|X50|jaxp/classes|g +s|X51|sun/security|g +s|X52|corba/classes|g +s|X53|java/security|g +s|X54|javax/imageio|g +s|X55|jdk/btclasses|g +s|X56|javax/activity|g +s|X57|javax/security|g +s|X58|jdk/newclasses|g +s|X59|sun/instrument|g +s|X60|sun/management|g +s|X61|corba/btclasses|g +s|X62|jdk/democlasses|g +s|X63|javax/activation|g +s|X64|javax/annotation|g +s|X65|javax/management|g +s|X66|javax/transaction|g +s|X67|jaxws/jaf_classes|g +s|X68|langtools/classes|g +s|X69|META-INF/services|g +s|X70|jdk/newdemoclasses|g +s|X71|javax/accessibility|g +s|X72|jaxws/jaxws_classes|g --- /dev/null 2012-03-14 08:46:51.216087328 +0100 +++ new/common/src/uncygdrive.c 2012-04-04 16:39:06.726689137 +0200 @@ -0,0 +1,254 @@ +/* + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#include +#include +#include +#include +#include + +/* + * Test if pos points to /cygdrive/_/ where _ can + * be any character. + */ +int is_cygdrive_here(int pos, char *in, int len) +{ + // Length of /cygdrive/c/ is 12 + if (pos+12 > len) return 0; + if (in[pos+11]=='/' && + in[pos+9]=='/' && + in[pos+8]=='e' && + in[pos+7]=='v' && + in[pos+6]=='i' && + in[pos+5]=='r' && + in[pos+4]=='d' && + in[pos+3]=='g' && + in[pos+2]=='y' && + in[pos+1]=='c' && + in[pos+0]=='/') { + return 1; + } + return 0; +} + +/* + * Replace /cygdrive/_/ with _:/ + * Works in place since drive letter is always + * shorter than /cygdrive/ + */ +char *replace_cygdrive(char *in) +{ + int len = strlen(in); + char *out = malloc(len+1); + int i,j; + + if (len < 12) { + strcpy(out, in); + return out; + } + for (i = 0, j = 0; i *bl) { + *bl *= 2; + *b = realloc(*b, *bl); + } + memcpy(*b+*u, add, addlen); + *u += addlen; +} + +/* + * Creates a new string from in where the first occurance of sub is + * replaced by rep. + */ +char *replace_substring(char *in, char *sub, char *rep) +{ + int in_len = strlen(in); + int sub_len = strlen(sub); + int rep_len = strlen(rep); + char *out = malloc(in_len - sub_len + rep_len + 1); + char *p; + + if (!(p = strstr(in, sub))) { + // If sub isn't a substring of in, just return in. + return in; + } + + // Copy characters from beginning of in to start of sub. + strncpy(out, in, p - in); + out[p - in] = '\0'; + + sprintf(out + (p - in), "%s%s", rep, p + sub_len); + + return out; +} + +char *files_to_delete[1024]; +int num_files_to_delete = 0; + +char *fix_at_file(char *in) +{ + char *tmpdir; + char name[2048]; + char *atname; + char *buffer; + size_t buflen=65536; + size_t used=0; + size_t len; + int rc; + FILE *atout; + FILE *atin; + char block[2048]; + size_t blocklen; + char *fixed; + + atin = fopen(in+1, "r"); + if (atin == NULL) { + fprintf(stderr, "Could not read at file %s\n", in+1); + exit(-1); + } + + tmpdir = getenv("TMP"); + if (tmpdir == NULL) { + tmpdir = "c:/cygwin/tmp"; + } + _snprintf(name, sizeof(name), "%s\\atfile_XXXXXX", tmpdir); + + rc = _mktemp_s(name, strlen(name)+1); + if (rc) { + fprintf(stderr, "Could not create temporary file name for at file!\n"); + exit(-1); + } + + atout = fopen(name, "w"); + if (atout == NULL) { + fprintf(stderr, "Could open temporary file for writing! %s\n", name); + exit(-1); + } + + buffer = malloc(buflen); + while((blocklen = fread(block,1,sizeof(block),atin)) > 0) { + append(&buffer, &buflen, &used, block, blocklen); + } + buffer[used] = 0; + fixed = replace_cygdrive(buffer); + fwrite(fixed, strlen(fixed), 1, atout); + fclose(atin); + fclose(atout); + free(fixed); + free(buffer); + files_to_delete[num_files_to_delete] = malloc(strlen(name)+1); + strcpy(files_to_delete[num_files_to_delete], name); + num_files_to_delete++; + atname = malloc(strlen(name)+2); + atname[0] = '@'; + strcpy(atname+1, name); + return atname; +} + +int main(int argc, char **argv) +{ + STARTUPINFO si; + PROCESS_INFORMATION pi; + unsigned short rc; + + char *new_at_file; + char *old_at_file; + char *line; + int i; + DWORD exitCode; + + if (argc<2) { + fprintf(stderr, "Usage: uncygdrive.exe /cygdrive/c/WINDOWS/notepad.exe /cygdrive/c/x/test.txt"); + exit(0); + } + + line = replace_cygdrive(strstr(GetCommandLine(), argv[1])); + + for (i=1; i%s<\n", line); + } + + ZeroMemory(&si,sizeof(si)); + si.cb=sizeof(si); + ZeroMemory(&pi,sizeof(pi)); + + rc = CreateProcess(NULL, + line, + 0, + 0, + TRUE, + 0, + 0, + 0, + &si, + &pi); + if(!rc) + { + //Could not start process; + fprintf(stderr, "Could not start process!\n"); + exit(-1); + } + + WaitForSingleObject(pi.hProcess,INFINITE); + GetExitCodeProcess(pi.hProcess,&exitCode); + + if (getenv("DEBUG_UNCYGDRIVE") != NULL) { + for (i=0; i