# HG changeset patch # User lana # Date 1362512762 28800 # Node ID c022bc48b7ed63883c806f491812f5fb9fa37a96 # Parent cb0ac8979caab8b0958df8019c79bb1c7166c78f# Parent 0adf9c626bb107d84f409ebc72efe3966421783f Merge diff -r cb0ac8979caa -r c022bc48b7ed .hgtags --- a/.hgtags Tue Feb 26 09:25:44 2013 -0800 +++ b/.hgtags Tue Mar 05 11:46:02 2013 -0800 @@ -199,3 +199,5 @@ 2a713921952cbd77a1e699626976cb6cdfe3e57e jdk8-b75 278af9fc67e7eba2884936b49ec07345f423aabb jdk8-b76 3933eebc659d58c597aa8cb4b3e58f2250ce3e1a jdk8-b77 +fd1a5574cf68af24bfd52decc37ac6361afb278a jdk8-b78 +91d35211e74464dca5edf9b66ab01d0d0d8cded7 jdk8-b79 diff -r cb0ac8979caa -r c022bc48b7ed README --- a/README Tue Feb 26 09:25:44 2013 -0800 +++ b/README Tue Mar 05 11:46:02 2013 -0800 @@ -1,45 +1,40 @@ README: This file should be located at the top of the OpenJDK Mercurial root - repository. This root repository will include a "make" directory, - and a Makefile for building the entire OpenJDK. - A full OpenJDK repository set (forest) should also include the following - 6 nested repositories: + repository. A full OpenJDK repository set (forest) should also include + the following 6 nested repositories: "jdk", "hotspot", "langtools", "corba", "jaxws" and "jaxp". - There are also several source downloads for the jax* repositories that - will be needed. - This one root repository can be obtained with something like: - + The root repository can be obtained with something like: hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk8 - To make sure you have all the nested repositories, you can run the - get_source.sh script located in the same respository as this file: - + You can run the get_source.sh script located in the root repository to get + the other needed repositories: cd openjdk8 && sh ./get_source.sh People unfamiliar with Mercurial should read the first few chapters of the Mercurial book: http://hgbook.red-bean.com/read/ - See http://openjdk.java.net/ for more information about the OpenJDK. + See http://openjdk.java.net/ for more information about OpenJDK. Simple Build Instructions: 0. Get the necessary system software/packages installed on your system, see - http://hg.openjdk.java.net/jdk8/build/raw-file/tip/README-builds.html + http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html - 1. If you don't have a jdk6 installed, download and install a JDK 6 from + 1. If you don't have a jdk7u7 or newer jdk, download and install it from http://java.sun.com/javase/downloads/index.jsp - Set the environment variable ALT_BOOTDIR to the location of JDK 6. + Add the /bin directory of this installation to your PATH environment + variable. - 2. Check the sanity of doing a build with your current system: - make sanity - See README-builds.html if you run into problems. + 2. Configure the build: + bash ./configure - 3. Do a complete build of the OpenJDK: + 3. Build the OpenJDK: make all - The resulting JDK image should be found in build/*/j2sdk-image + The resulting JDK image should be found in build/*/images/j2sdk-image where make is GNU make 3.81 or newer, /usr/bin/make on Linux usually -is 3.81 or newer. +is 3.81 or newer. Note that on Solaris, GNU make is called "gmake". -Complete details are available in README-builds.html. +Complete details are available in the file: + http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html diff -r cb0ac8979caa -r c022bc48b7ed README-builds.html --- a/README-builds.html Tue Feb 26 09:25:44 2013 -0800 +++ b/README-builds.html Tue Mar 05 11:46:02 2013 -0800 @@ -3,14 +3,15 @@ OpenJDK Build README - + + @@ -19,109 +20,116 @@
OpenJDK + width=256>
- + +

Introduction

-

- This README file contains build instructions for the - OpenJDK. - Building the source code for the - OpenJDK - requires - a certain degree of technical expertise. + This README file contains build instructions for the + OpenJDK. + Building the source code for the + OpenJDK + requires + a certain degree of technical expertise. + + +

!!!!!!!!!!!!!!! THIS IS A MAJOR RE-WRITE of this document. !!!!!!!!!!!!!

+
+ Some Headlines: + +
- + +

Contents

+
+
- +

Use of Mercurial

The OpenJDK sources are maintained with the revision control system Mercurial. If you are new to Mercurial, please see the - Beginner Guides - or refer to the Mercurial Book. + + Beginner Guides + or refer to the + Mercurial Book. The first few chapters of the book provide an excellent overview of Mercurial, what it is and how it works.
@@ -130,578 +138,1631 @@ Developer Guide: Installing and Configuring Mercurial section for more information. -

Getting the Source

To get the entire set of OpenJDK Mercurial repositories - use the script get_source.sh located in the root repository: + use the script get_source.sh located in the + root repository:
- - hg clone http://hg.openjdk.java.net/jdk8/jdk8 YourOpenJDK -
cd YourOpenJDK -
sh ./get_source.sh -
+ + hg clone http://hg.openjdk.java.net/jdk8/jdk8 + YourOpenJDK +
+ cd YourOpenJDK +
+ bash ./get_source.sh +
+
+ Once you have all the repositories, keep in mind that each + repository is it's own independent repository. + You can also re-run ./get_source.sh anytime to + pull over all the latest changesets in all the repositories. + This set of nested repositories has been given the term + "forest" and there are various ways to apply the same + hg command to each of the repositories. + For example, the script make/scripts/hgforest.sh + can be used to repeat the same hg + command on every repository, e.g. +
+ + cd YourOpenJDK +
+ bash ./make/scripts/hgforest.sh status +
- Once you have all the repositories, the - script make/scripts/hgforest.sh - can be used to repeat the same hg - command on every repository in the forest, e.g. -
- - cd YourOpenJDK -
sh ./make/scripts/hgforest.sh pull -u -
-
+
+ +

Repositories

+
+

The set of repositories and what they contain:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RepositoryContains
+ . (root) + + common configure and makefile logic +
+ hotspot + + source code and make files for building + the OpenJDK Hotspot Virtual Machine +
+ langtools + + source code for the OpenJDK javac and language tools +
+ jdk + + source code and make files for building + the OpenJDK runtime libraries and misc files +
+ jaxp + + source code for the OpenJDK JAXP functionality +
+ jaxws + + source code for the OpenJDK JAX-WS functionality +
+ corba + + source code for the OpenJDK Corba functionality +
+
+ +

Repository Source Guidelines

+
+ There are some very basic guidelines: +
- +
-

Minimum Build Environments

-
- This file often describes specific requirements for what we call the - "minimum build environments" (MBE) for this - specific release of the JDK, - Building with the MBE will generate the most compatible - bits that install on, and run correctly on, the most variations - of the same base OS and hardware architecture. - These usually represent what is often called the - least common denominator platforms. - It is understood that most developers will NOT be using these - specific platforms, and in fact creating these specific platforms - may be difficult due to the age of some of this software. -

- The minimum OS and C/C++ compiler versions needed for building the - OpenJDK: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Base OS and ArchitectureOSC/C++ CompilerBOOT JDK
Linux X86 (32-bit)Fedora 9gcc 4.3 JDK 6u18
Linux X64 (64-bit)Fedora 9gcc 4.3 JDK 6u18
Solaris SPARC (32-bit)Solaris 10 Update 6Sun Studio 12 Update 1 + patchesJDK 6u18
Solaris SPARCV9 (64-bit)Solaris 10 Update 6Sun Studio 12 Update 1 + patchesJDK 6u18
Solaris X86 (32-bit)Solaris 10 Update 6Sun Studio 12 Update 1 + patchesJDK 6u18
Solaris X64 (64-bit)Solaris 10 Update 6Sun Studio 12 Update 1 + patchesJDK 6u18
Windows X86 (32-bit)Windows XPMicrosoft Visual Studio C++ 2010 Professional EditionJDK 6u18
Windows X64 (64-bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Visual Studio C++ 2010 Professional EditionJDK 6u18
Mac OS X X64 (64-bit)Mac OS X 10.7.3 "Lion"XCode 4.1 or laterJava for OS X Lion Update 1
-

- These same sources do indeed build on many more systems than the - above older generation systems, again the above is just a minimum. -

- Compilation problems with newer or different C/C++ compilers is a - common problem. - Similarly, compilation problems related to changes to the - /usr/include or system header files is also a - common problem with newer or unreleased OS versions. - Please report these types of problems as bugs so that they - can be dealt with accordingly. -

- -
-

Specific Developer Build Environments

-
- We won't be listing all the possible environments, but - we will try to provide what information we have available to us. -
- -

Fedora

+

Building

-

Fedora 9

-

-

- After installing Fedora 9 - you need to install several build dependencies. The simplest - way to do it is to execute the following commands as user - root: -

- yum-builddep java-1.6.0-openjdk -

- yum install gcc gcc-c++ -

- In addition, it's necessary to set a few environment variables for the build: - -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk -

-

Fedora 10

-

+ The very first step in building the OpenJDK is making sure the + system itself has everything it needs to do OpenJDK builds. + Once a system is setup, it generally doesn't need to be done again. +
+ Building the OpenJDK is now done with running a + configure + script which will try and find and verify you have everything + you need, followed by running + make, e.g.

- After installing Fedora 10 - you need to install several build dependencies. The simplest - way to do it is to execute the following commands as user - root: -

- yum-builddep java-1.6.0-openjdk -

- yum install gcc gcc-c++ -

- In addition, it's necessary to set a few environment variables for the build: - -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk -

-

Fedora 11

-

-

- After installing Fedora 11 - you need to install several build dependencies. The simplest - way to do it is to execute the following commands as user - root: -

- yum-builddep java-1.6.0-openjdk -

- yum install gcc gcc-c++ -

- In addition, it's necessary to set a few environment variables for the build: - -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk + + + bash ./configure
+ make all +
+

-
- -

CentOS 5.5

-
- After installing - CentOS 5.5 - you need to make sure you have - the following Development bundles installed: + Where possible the configure script will attempt to located the + various components in the default locations or via component + specific variable settings. + When the normal defaults fail or components cannot be found, + additional configure options may be necessary to help configure + find the necessary tools for the build, or you may need to + re-visit the setup of your system due to missing software + packages. +
+ NOTE: The configure script + file does not have + execute permissions and will need to be explicitly run with + bash, + see the source guidelines. + + +
+

System Setup

+ Before even attempting to use a system to build the OpenJDK + there are some very basic system setups needed. + For all systems: -
-

- Plus the following packages: -

- + And for specific systems: + + + + + + + + + + + + + + + + + +
LinuxSolarisWindowsMac OS X
+ Install all the software development + packages needed including + alsa, + freetype, + cups, and + xrender. +
+ See + specific system packages. +
+ Install all the software development + packages needed including + Studio Compilers, + freetype, + cups, and + xrender. +
+ See + specific system packages. +
+ + + Install + XCode 4.5.2 + and also install the "Command line tools" found under the + preferences pane "Downloads" +
+ +

Linux

+
+ With Linux, try and favor the system packages over + building your own + or getting packages from other areas. + Most Linux builds should be possible with the system's + available packages. +
+ Note that some Linux systems have a habit of pre-populating + your environment variables for you, for example JAVA_HOME + might get pre-defined for you to refer to the JDK installed on + your Linux system. + You will need to unset JAVA_HOME. + It's a good idea to run env and verify the + environment variables you are getting from the default system + settings make sense for building the OpenJDK. + +
+ +

Solaris

+
+
Studio Compilers
+
+ At a minimum, the + + Studio 12 Update 1 Compilers + (containing version 5.10 of the C and C++ compilers) is required, + including specific patches. +

+ The Solaris SPARC patch list is: +

    +
  • + 118683-05: SunOS 5.10: Patch for profiling libraries and assembler +
  • +
  • + 119963-21: SunOS 5.10: Shared library patch for C++ +
  • +
  • + 120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch +
  • +
  • + 128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler +
  • +
  • + 141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95 +
  • +
  • + 141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler +
  • +
  • + 142371-01: Sun Studio 12.1 Update 1: Patch for dbx +
  • +
  • + 143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling +
  • +
  • + 143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95 +
  • +
  • + 142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools +
  • +
+

+ The Solaris X86 patch list is: +

    +
  • + 119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler +
  • +
  • + 119964-21: SunOS 5.10_x86: Shared library patch for C++_x86 +
  • +
  • + 120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch +
  • +
  • + 141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 backend +
  • +
  • + 128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler +
  • +
  • + 142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler +
  • +
  • + 142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools +
  • +
+

+ Place the bin directory in PATH. +

+ The Oracle Solaris Studio Express compilers at: + + Oracle Solaris Studio Express Download site + are also an option, although these compilers have not + been extensively used yet. +

+ +
+ +

Windows

+
+ +
Windows Unix Toolkit
+
+ Building on Windows requires a Unix-like environment, notably a + Unix-like shell. + There are several such environments available of which + Cygwin and + MinGW/MSYS are + currently supported for + the OpenJDK build. One of the differences of these + systems from standard Windows tools is the way + they handle Windows path names, particularly path names which contain + spaces, backslashes as path separators and possibly drive letters. + Depending + on the use case and the specifics of each environment these path + problems can + be solved by a combination of quoting whole paths, translating + backslashes to + forward slashes, escaping backslashes with additional backslashes and + translating the path names to their + + "8.3" version. + +
CYGWIN
+
+ CYGWIN is an open source, Linux-like environment which tries to emulate + a complete POSIX layer on Windows. It tries to be smart about path names + and can usually handle all kinds of paths if they are correctly quoted + or escaped although internally it maps drive letters <drive>: + to a virtual directory /cygdrive/<drive>. +

+ You can always use the cygpath utility to map pathnames with spaces + or the backslash character into the C:/ style of pathname + (called 'mixed'), e.g. cygpath -s -m "path". +

+

+ Note that the use of CYGWIN creates a unique problem with regards to + setting PATH. Normally on Windows + the PATH variable contains directories + separated with the ";" character (Solaris and Linux use ":"). + With CYGWIN, it uses ":", but that means that paths like "C:/path" + cannot be placed in the CYGWIN version of PATH and + instead CYGWIN uses something like /cygdrive/c/path + which CYGWIN understands, but only CYGWIN understands. +

+

+ The OpenJDK build requires CYGWIN version 1.7.16 or newer. + Information about CYGWIN can + be obtained from the CYGWIN website at + www.cygwin.com. +

+

+ By default CYGWIN doesn't install all the tools required for building + the OpenJDK. + Along with the default installation, you need to install + the following tools. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Binary NameCategoryPackageDescription
ar.exeDevelbinutils + The GNU assembler, linker and binary utilities +
make.exeDevelmake + The GNU version of the 'make' utility built for CYGWIN +
m4.exeInterpretersm4 + GNU implementation of the traditional Unix macro + processor +
cpio.exeUtilscpio + A program to manage archives of files +
gawk.exeUtilsawk + Pattern-directed scanning and processing language +
file.exeUtilsfile + Determines file type using 'magic' numbers +
zip.exeArchivezip + Package and compress (archive) files +
unzip.exeArchiveunzip + Extract compressed files in a ZIP archive +
free.exeSystemprocps + Display amount of free and used memory in the system +
+
+ Note that the CYGWIN software can conflict with other non-CYGWIN + software on your Windows system. + CYGWIN provides a + FAQ for + known issues and problems, of particular interest is the + section on + + BLODA (applications that interfere with CYGWIN). +
+ +
MinGW/MSYS
+
+ MinGW ("Minimalist GNU for Windows") is a collection of free Windows + specific header files and import libraries combined with GNU toolsets that + allow one to produce native Windows programs that do not rely on any + 3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building + applications and programs which rely on traditional UNIX tools to + be present. Among others this includes tools like bash + and make. + See MinGW/MSYS + for more information. +

+ Like Cygwin, MinGW/MSYS can handle different types of path formats. They + are internally converted to paths with forward slashes and drive letters + <drive>: replaced by a virtual + directory /<drive>. Additionally, MSYS automatically + detects binaries compiled for the MSYS environment and feeds them with the + internal, Unix-style path names. If native Windows applications are called + from within MSYS programs their path arguments are automatically converted + back to Windows style path names with drive letters and backslashes as + path separators. This may cause problems for Windows applications which + use forward slashes as parameter separator (e.g. cl /nologo /I) + because MSYS may wrongly + replace such parameters by drive letters. +

+

+ In addition to the tools which will be installed + by default, you have + to manually install the + msys-zip and + msys-unzip packages. + This can be easily done with the MinGW command line installer: +

+ mingw-get.exe install msys-zip +
+ mingw-get.exe install msys-unzip +
+
+ +
+ +
Visual Studio 2010 Compilers
+
+

+ The 32-bit and 64-bit OpenJDK Windows build requires + Microsoft Visual Studio C++ 2010 (VS2010) Professional + Edition or Express compiler. + The compiler and other tools are expected to reside + in the location defined by the variable + VS100COMNTOOLS which + is set by the Microsoft Visual Studio installer. +

+

+ Only the C++ part of VS2010 is needed. + Try to let the installation go to the default + install directory. + Always reboot your system after installing VS2010. + The system environment variable VS100COMNTOOLS + should be + set in your environment. +

+

+ Make sure that TMP and TEMP are also set + in the environment + and refer to Windows paths that exist, + like C:\temp, + not /tmp, not /cygdrive/c/temp, + and not C:/temp. + C:\temp is just an example, + it is assumed that this area is + private to the user, so by default + after installs you should + see a unique user path in these variables. +

+
+ + +
+ +

Mac OS X

+
+ Make sure you get the right XCode version. +
+
-

- The freetype 2.3 packages don't seem to be available, - but the freetype 2.3 sources can be downloaded, built, - and installed easily enough from - - the freetype site. - Build and install with something like: + + +


+

Configure

- ./configure && make && sudo -u root make install + The basic invocation of the configure script + looks like: +
+ bash ./configure [options] +
+ This will create an output directory containing the + "configuration" and setup an area for the build result. + This directory typically looks like: +
+ build/linux-x64-normal-server-release +
+ configure will try to figure out what system you are running on + and where all necessary build components are. + If you have all prerequisites for building installed, + it should find everything. + If it fails to detect any component automatically, + it will exit and inform you about the problem. + When this happens, read more below in + the configure options. +

+ Some examples: +

+ + + + + + + + + + + + + + + + + +
DescriptionConfigure Command Line
Windows 32bit build with freetype specified + bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target-bits=32 +
Debug 64bit Build + bash ./configure --enable-debug --with-target-bits=64 +
+ + +

Configure Options

+
+ Complete details on all the OpenJDK configure options can + be seen with: +
+ bash ./configure --help=short +
+ Use -help to see all the configure options + available. + + You can generate any number of different configurations, + e.g. debug, release, 32, 64, etc. + + Some of the more commonly used configure options are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OpenJDK Configure OptionDescription
--enable-debug + set the debug level to fastdebug (this is a shorthand for + --with-debug-level=fastdebug) +
--with-alsa=path + select the location of the + Advanced Linux Sound Architecture (ALSA) +
+ Version 0.9.1 or newer of the ALSA files are + required for building the OpenJDK on Linux. + These Linux files are usually available from an "alsa" + of "libasound" + development package, + and it's highly recommended that you try and use + the package provided by the particular version of Linux that + you are using. +
--with-boot-jdk=path + select the Bootstrap JDK +
--with-boot-jdk-jvmargs="args" + provide the JVM options to be used to run the + Bootstrap JDK +
--with-cacerts=path + select the path to the cacerts file. +
+ See + http://en.wikipedia.org/wiki/Certificate_Authority + for a better understanding of the Certificate Authority (CA). + A certificates file named "cacerts" + represents a system-wide keystore with CA certificates. + In JDK and JRE + binary bundles, the "cacerts" file contains root CA certificates from + several public CAs (e.g., VeriSign, Thawte, and Baltimore). + The source contain a cacerts file + without CA root certificates. + Formal JDK builders will need to secure + permission from each public CA and include the certificates into their + own custom cacerts file. + Failure to provide a populated cacerts file + will result in verification errors of a certificate chain during runtime. + By default an empty cacerts file is provided and that should be + fine for most JDK developers. +
--with-cups=path + select the CUPS install location +
+ The + Common UNIX Printing System (CUPS) Headers + are required for building the + OpenJDK on Solaris and Linux. + The Solaris header files can be obtained by installing + the package SFWcups from the Solaris Software + Companion CD/DVD, these often will be installed into the + directory /opt/sfw/cups. +
+ The CUPS header files can always be downloaded from + www.cups.org. +
--with-cups-include=path + select the CUPS include directory location +
--with-debug-level=level + select the debug information level of release, + fastdebug, or slowdebug +
--with-dev-kit=path + select location of the compiler install or + developer install location +
--with-dxsdk=path + select location of the Windows Direct X SDK install +
+ The Microsoft DirectX 9.0 SDK + header files and libraries + from the Summer 2004 edition + are required for building OpenJDK. + This SDK can be downloaded from + + Microsoft DirectX 9.0 SDK (Summer 2004). + If the link above becomes obsolete, the SDK can be found from + the Microsoft Download Site + (search with "DirectX 9.0 SDK Update Summer 2004"). + Installation usually will set the environment variable + DXSDK_DIR to it's install location. +
--with-freetype=path + select the freetype files to use. +
+ Expecting the + freetype libraries under + lib/ and the + headers under include/. +
+ Version 2.3 or newer of FreeType is required. + On Unix systems required files can be available as part of your + distribution (while you still may need to upgrade them). + Note that you need development version of package that + includes both the FreeType library and header files. +
+ You can always download latest FreeType version from the + FreeType website. +
+ Building the freetype 2 libraries from scratch is also possible, + however on Windows refer to the + + Windows FreeType DLL build instructions. +
+ Note that by default FreeType is built with byte code hinting + support disabled due to licensing restrictions. + In this case, text appearance and metrics are expected to + differ from Sun's official JDK build. + See + + the SourceForge FreeType2 Home Page + + for more information. +
--with-import-hotspot=path + select the location to find hotspot + binaries from a previous build to avoid building + hotspot +
--with-target-bits=arg + select 32 or 64 bit build +
--with-jvm-variants=variants + select the JVM variants to build from, comma + separated list that can include: + server, client, kernel, zero and zeroshark +
--with-memory-size=size + select the RAM size that GNU make will think + this system has +
--with-msvcr-dll=path + select the msvcr100.dll + file to include in the + Windows builds (C/C++ runtime library for + Visual Studio). +
+ This is usually picked up automatically + from the redist + directories of Visual Studio 2010. +
--with-num-cores=cores + select the number of cores to use (processor + count or CPU count) +
--with-x=path + select the location of the X11 and xrender files. +
+ The + XRender Extension Headers + are required for building the + OpenJDK on Solaris and Linux. +
+ The Linux header files are usually available from a "Xrender" + development package, it's recommended that you try and use + the package provided by the particular distribution of Linux that + you are using. +
+ The Solaris XRender header files is + included with the other X11 header files + in the package SFWxwinc + on new enough versions of + Solaris and will be installed in + /usr/X11/include/X11/extensions/Xrender.h or + /usr/openwin/share/include/X11/extensions/Xrender.h +
+
+
-

- Mercurial packages could not be found easily, but a Google - search should find ones, and they usually include Python if - it's needed. -

- -

Debian

-
-

Debian 5.0 (Lenny)

-

+ + +


+

Make

- After installing Debian 5 - you need to install several build dependencies. - The simplest way to install the build dependencies is to - execute the following commands as user root: -

- aptitude build-dep openjdk-6 -

- aptitude install openjdk-6-jdk libmotif-dev -

- In addition, it's necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk + The basic invocation of the make utility + looks like: +

+ make all +
+ This will start the build to the output directory containing the + "configuration" that was created by the configure + script. Run make help for more information on + the available targets. +
+ There are some of the make targets that + are of general interest: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Make TargetDescription
emptybuild everything but no images
allbuild everything including images
all-confbuild all configurations
imagescreate complete j2sdk and j2re images
installinstall the generated images locally, + typically in /usr/local
cleanremove all files generated by make, + but not those generated by configure
dist-cleanremove all files generated by both + and configure (basically killing the configuration)
helpgive some help on using make, + including some interesting make targets
+ -

Ubuntu

-
-

Ubuntu 8.04

-

-

- After installing Ubuntu 8.04 - you need to install several build dependencies. -

- First, you need to enable the universe repository in the - Software Sources application and reload the repository - information. The Software Sources application is available - under the System/Administration menu. -

- The simplest way to install the build dependencies is to - execute the following commands: -

- sudo aptitude build-dep openjdk-6 -

- sudo aptitude install openjdk-6-jdk -

- In addition, it's necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk -

-

Ubuntu 8.10

-

-

- After installing Ubuntu 8.10 - you need to install several build dependencies. The simplest - way to do it is to execute the following commands: -

- sudo aptitude build-dep openjdk-6 -

- sudo aptitude install openjdk-6-jdk -

- In addition, it's necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk -

-

Ubuntu 9.04

-

-

- After installing Ubuntu 9.04 - you need to install several build dependencies. The simplest - way to do it is to execute the following commands: -

- sudo aptitude build-dep openjdk-6 -

- sudo aptitude install openjdk-6-jdk -

- In addition, it's necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk -

-
- -

OpenSUSE

+
+

Testing

-

OpenSUSE 11.1

-

-

- After installing OpenSUSE 11.1 - you need to install several build dependencies. - The simplest way to install the build dependencies is to - execute the following commands: -

- sudo zypper source-install -d java-1_6_0-openjdk -

- sudo zypper install make -

- In addition, it is necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk -

- Finally, you need to unset the JAVA_HOME environment variable: -

- export -n JAVA_HOME -

-
- -

Mandriva

-
-

Mandriva Linux One 2009 Spring

-

+ When the build is completed, you should see the generated + binaries and associated files in the j2sdk-image + directory in the output directory. + In particular, the + build/*/images/j2sdk-image/bin + directory should contain executables for the + OpenJDK tools and utilities for that configuration. + The testing tool jtreg will be needed + and can be found at: + + the jtreg site. + The provided regression tests in the repositories + can be run with the command:

- After installing Mandriva Linux One 2009 Spring - you need to install several build dependencies. - The simplest way to install the build dependencies is to - execute the following commands as user root: -

- urpmi java-1.6.0-openjdk-devel ant make gcc gcc-c++ freetype-devel zip unzip libcups2-devel libxrender1-devel libalsa2-devel libstc++-static-devel libxtst6-devel libxi-devel -

- In addition, it is necessary to set a few environment variables for the build: -

- export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk -

-
- -

OpenSolaris

-
-

OpenSolaris 2009.06

-

-

- After installing OpenSolaris 2009.06 - you need to install several build dependencies. - The simplest way to install the build dependencies is to - execute the following commands: -

- pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2 -

- In addition, it is necessary to set a few environment variables for the build: -

- export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/ -

- Finally, you need to make sure that the build process can find the Sun Studio compilers: -

- export PATH=$PATH:/opt/SunStudioExpress/bin/ + cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all

- + + + + + + + + + + + +
-

Source Directory Structure

+

Appendix A: Hints and Tips

-

- The source code for the OpenJDK is delivered in a set of - directories: - hotspot, - langtools, - corba, - jaxws, - jaxp, - and - jdk. - The hotspot directory contains the source code and make - files for building the OpenJDK Hotspot Virtual Machine. - The langtools directory contains the source code and make - files for building the OpenJDK javac and language tools. - The corba directory contains the source code and make - files for building the OpenJDK Corba files. - The jaxws directory contains the source code and make - files for building the OpenJDK JAXWS files. - The jaxp directory contains the source code and make - files for building the OpenJDK JAXP files. - The jdk directory contains the source code and make files for - building the OpenJDK runtime libraries and misc files. - The top level Makefile - is used to build the entire OpenJDK. + +

FAQ

+
-

Managing the Source Drops

-
+

+ Q: The configure file looks horrible! + How are you going to edit it? +
+ A: The configure file is generated (think + "compiled") by the autoconf tools. The source code is + in configure.ac various .m4 files in common/autoconf, + which are + much more readable. +

+

- The repositories jaxp and jaxws actually - do not contain the sources for JAXP or JAX-WS. - These products have their own open source procedures at their - JAXP and - JAX-WS home pages. - The OpenJDK project does need access to these sources to build - a complete JDK image because JAXP and JAX-WS are part of the JDK. - The current process for delivery of the JAXP and JAX-WS sources - involves so called "source drop bundles" downloaded from a public - website. - There are many reasons for this current mechanism, and it is - understood that this is not ideal for the open source community. - It is possible this process could change in the future. + Q: + Why is the configure file checked in, + if it is generated?
- NOTE: The - Complete OpenJDK Source Bundles will contain the JAXP and - JAX-WS sources. + A: + If it was not generated, every user would need to have the autoconf + tools installed, and re-generate the configure file + as the first step. + Our goal is to minimize the work needed to be done by the user + to start building OpenJDK, and to minimize + the number of external dependencies required.

-

Creation of New Source Drop Bundles

+

+ Q: + Do you require a specific version of autoconf for regenerating + configure? +
+ A: + Currently, no, but this will likely be the case when things have + settled down a bit more. (The reason for this is to avoid + large spurious changes in configure + in commits that made small changes to configure.ac). +

+ +

+ Q: + What are the files in common/makefiles/support/* for? + They look like gibberish. +
+ A: + They are a somewhat ugly hack to compensate for command line length + limitations on certain platforms (Windows, Solaris). + Due to a combination of limitations in make and the shell, + command lines containing too many files will not work properly. + These + helper files are part of an elaborate hack that will compress the + command line in the makefile and then uncompress it safely. + We're + not proud of it, but it does fix the problem. + If you have any better suggestions, we're all ears! :-) +

+ +

+ Q: + I want to see the output of the commands that make runs, + like in the old build. How do I do that? +
+ A: + You specify the LOG variable to make. There are + several log levels: +

-
    +
    • - The JAXP or JAX-WS team prepares a new zip bundle, - places a copy in a public download area on java.net, - sends us a link and a list of CRs (Change Request Numbers). - The older download bundles should not be deleted. - It is the responsibility of the JAXP and JAX-WS team to - place the proper GPL legal notices on the sources - and do any filtering or java re-packaging for the - OpenJDK instances of these classes. + warn — Default and very quiet.
    • - The OpenJDK team copies this new bundle into shared - area (e.g. /java/devtools/share/jdk8-drops). - Older bundles are never deleted so we retain the history. + info — Shows more progress information + than warn.
    • - The OpenJDK team edits the ant property file - jaxp/jaxp.properties or - jaxws/jaxws.properties to update the - base URL, the zip bundle name, and the MD5 checksum - of the zip bundle - (on Solaris: sum -c md5 bundlename) + debug — Echos all command lines and + prints all macro calls for compilation definitions.
    • - OpenJDK team reviews and commits those changes with the - given CRs. + trace — Echos all $(shell) command + lines as well.
    • -
+
-

Using Source Drop Bundles

+

+ Q: + When do I have to re-run configure? +
+ A: + Normally you will run configure only once for creating a + configuration. + You need to re-run configuration only if you want to change any + configuration options, + or if you pull down changes to the configure script. +

+ +

+ Q: + I have added a new source file. Do I need to modify the makefiles? +
+ A: + Normally, no. If you want to create e.g. a new native + library, + you will need to modify the makefiles. But for normal file + additions or removals, no changes are needed. There are certan + exceptions for some native libraries where the source files are spread + over many directories which also contain courses for other + libraries. In these cases it was simply easier to create include lists + rather thane excludes. +

+ +

+ Q: + When I run configure --help, I see many strange options, + like --dvidir. What is this? +
+ A: + Configure provides a slew of options by default, to all projects + that use autoconf. Most of them are not used in OpenJDK, + so you can safely ignore them. To list only OpenJDK specific features, + use configure --help=short instead. +

+ +

+ Q: + configure provides OpenJDK-specific features such as + --enable-jigsaw or --with-builddeps-server + that are not described in this document. What about those? +
+ A: + Try them out if you like! But be aware that most of these are + experimental features. + Many of them don't do anything at all at the moment; the option + is just a placeholder. Other depends on + pieces of code or infrastructure that is currently + not ready for prime time. +

+ +

+ Q: + How will you make sure you don't break anything? +
+ A: + We have a script that compares the result of the new build system + with the result of the old. For most part, we aim for (and achieve) + byte-by-byte identical output. There are however technical issues + with e.g. native binaries, which might differ in a byte-by-byte + comparison, even + when building twice with the old build system. + For these, we compare relevant aspects + (e.g. the symbol table and file size). + Note that we still don't have 100% + equivalence, but we're close. +

+ +

+ Q: + I noticed this thing X in the build that looks very broken by design. + Why don't you fix it? +
+ A: + Our goal is to produce a build output that is as close as + technically possible to the old build output. + If things were weird in the old build, + they will be weird in the new build. + Often, things were weird before due to obscurity, + but in the new build system the weird stuff comes up to the surface. + The plan is to attack these things at a later stage, + after the new build system is established. +

+ +

+ Q: + The code in the new build system is not that well-structured. + Will you fix this? +
+ A: + Yes! The new build system has grown bit by bit as we converted + the old system. When all of the old build system is converted, + we can take a step back and clean up the structure of the new build + system. Some of this we plan to do before replacing the old build + system and some will need to wait until after. +

+ +

+ Q: What is @GenerateNativeHeaders? +
+ A: + To speed up compilation, we added a flag to javac which makes it + do the job of javah as well, as a by-product; that is, generating + native .h header files. These files are only generated + if a class contains native methods. However, sometimes + a class contains no native method, + but still contains constants that native code needs to use. + The new GenerateNativeHeaders annotation tells javac to + force generation of a + header file in these cases. (We don't want to generate + native headers for all classes that contains constants + but no native methods, since + that would slow down the compilation process needlessly.) +

+ +

+ Q: + Is anything able to use the results of the new build's default make target? +
+ A: + Yes, this is the minimal (or roughly minimal) + set of compiled output needed for a developer to actually + execute the newly built JDK. The idea is that in an incremental + development fashion, when doing a normal make, + you should only spend time recompiling what's changed + (making it purely incremental) and only do the work that's + needed to actually run and test your code. + The packaging stuff that is part of the images + target is not needed for a normal developer who wants to + test his new code. Even if it's quite fast, it's still unnecessary. + We're targeting sub-second incremental rebuilds! ;-) + (Or, well, at least single-digit seconds...) +

+ +

+ Q: + I usually set a specific environment variable when building, + but I can't find the equivalent in the new build. + What should I do? +
+ A: + It might very well be that we have missed to add support for + an option that was actually used from outside the build system. + Email us and we will + add support for it! +

+ +
+ +

Build Performance Tips

+
+ +

Building OpenJDK requires a lot of horsepower. + Some of the build tools can be adjusted to utilize more or less + of resources such as + parallel threads and memory. + The configure script analyzes your system and selects reasonable + values for such options based on your hardware. + If you encounter resource problems, such as out of memory conditions, + you can modify the detected values with:

+ +
    +
  • + --with-num-cores + — + number of cores in the build system, + e.g. --with-num-cores=8 +
  • +
  • + --with-memory-size + — memory (in MB) available in the build system, + e.g. --with-memory-size=1024 +
  • +
+ +

It might also be necessary to specify the JVM arguments passed + to the Bootstrap JDK, using e.g. + --with-boot-jdk-jvmargs="-Xmx8G -enableassertions". + Doing this will override the default JVM arguments + passed to the Bootstrap JDK.

+ + +

One of the top goals of the new build system is to improve the + build performance and decrease the time needed to build. This will + soon also apply to the java compilation when the Smart Javac wrapper + is making its way into jdk8. It can be tried in the build-infra + repository already. You are likely to find that the new build system + is faster than the old one even without this feature.

+ +

At the end of a successful execution of configure, + you will get a performance summary, + indicating how well the build will perform. Here you will + also get performance hints. + If you want to build fast, pay attention to those!

+ +

Building with ccache

+ +

A simple way to radically speed up compilation of native code + (typically hotspot and native libraries in JDK) is to install + ccache. This will cache and reuse prior compilation results, if the + source code is unchanged. However, ccache versions prior to 3.1.4 + does not work correctly with the precompiled headers used in + OpenJDK. So if your platform supports ccache at 3.1.4 or later, we + highly recommend installing it. This is currently only supported on + linux.

+ +

Building on local disk

+ +

If you are using network shares, e.g. via NFS, for your source code, + make sure the build directory is situated on local disk. + The performance + penalty is extremely high for building on a network share, + close to unusable.

+ +

Building only one JVM

+ +

The old build builds multiple JVMs on 32-bit systems (client and + server; and on Windows kernel as well). In the new build we have + changed this default to only build server when it's available. This + improves build times for those not interested in multiple JVMs. To + mimic the old behavior on platforms that support it, + use --with-jvm-variants=client,server.

+ +

Selecting the number of cores to build on

+ +

By default, configure will analyze your machine and run the make + process in parallel with as many threads as you have cores. This + behavior can be overridden, either "permanently" (on a configure + basis) using --with-num-cores=N or for a single build + only (on a make basis), using make JOBS=N.

+ +

If you want to make a slower build just this time, to save some CPU + power for other processes, you can run + e.g. make JOBS=2. This will force the makefiles + to only run 2 parallel processes, or even make JOBS=1 + which will disable parallelism.

+ +

If you want to have it the other way round, namely having slow + builds default and override with fast if you're + impatient, you should call configure with + --with-num-cores=2, making 2 the default. + If you want to run with more + cores, run make JOBS=8

+ +
+ +

Troubleshooting

+
+ +

Solving build problems

+
-

- The ant scripts that build jaxp and jaxws - will attempt to locate these zip bundles from the directory - in the environment variable - ALT_DROPS_DIR. - The checksums protect from getting the wrong, corrupted, or - improperly modified sources. - Once the sources are made available, the population will not - happen again unless a make clobber is requested - or the jaxp/drop/ or jaxws/drop/ - directory is explicitly deleted. -
- NOTE: The default Makefile and ant script behavior - is to NOT download these bundles from the public http site. - In general, doing downloads - during the build process is not advised, it creates too much - unpredictability in the build process. - However, you can use make ALLOW_DOWNLOADS=true to - tell the ant script that the download of the zip bundle is - acceptable. -

-

- The recommended procedure for keeping a cache of these - source bundles would be to download them once, place them - in a directory outside the repositories, and then set - ALT_DROPS_DIR to refer - to that directory. - These drop bundles do change occasionally, so the newer - bundles may need to be added to this area from time to time. -

+ If the build fails (and it's not due to a compilation error in + a source file you've changed), the first thing you should do + is to re-run the build with more verbosity. + Do this by adding LOG=debug to your make command line. +
+ The build log (with both stdout and stderr intermingled, + basically the same as you see on your console) can be found as + build.log in your build directory. +
+ You can ask for help on build problems with the new build system + on either the + + build-dev + or the + + build-infra-dev + mailing lists. Please include the relevant parts + of the build log. +
+ A build can fail for any number of reasons. + Most failures + are a result of trying to build in an environment in which all the + pre-build requirements have not been met. + The first step in + troubleshooting a build failure is to recheck that you have satisfied + all the pre-build requirements for your platform. + Scanning the configure log is a good first step, making + sure that what it found makes sense for your system. + Look for strange error messages or any difficulties that + configure had in finding things. +
+ Some of the more common problems with builds are briefly + described + below, with suggestions for remedies. +
    +
  • + Corrupted Bundles on Windows: +
    + Some virus scanning software has been known to + corrupt the + downloading of zip bundles. + It may be necessary to disable the 'on access' or + 'real time' + virus scanning features to prevent this corruption. + This type of "real time" virus scanning can also + slow down the + build process significantly. + Temporarily disabling the feature, or excluding the build + output directory may be necessary to get correct and + faster builds. +
    +
  • +
  • + Slow Builds: +
    + If your build machine seems to be overloaded from too many + simultaneous C++ compiles, try setting the + JOBS=1 on the make command line. + Then try increasing the count slowly to an acceptable + level for your system. Also: +
    + Creating the javadocs can be very slow, + if you are running + javadoc, consider skipping that step. +
    + Faster CPUs, more RAM, and a faster DISK usually helps. + The VM build tends to be CPU intensive + (many C++ compiles), + and the rest of the JDK will often be disk intensive. +
    + Faster compiles are possible using a tool called + ccache. +
    +
    +
  • +
  • + File time issues: +
    + If you see warnings that refer to file time stamps, e.g. +
    + Warning message: + File `xxx' has modification time in + the future. +
    + Warning message: Clock skew detected. + Your build may + be incomplete. +
    + These warnings can occur when the clock on the build + machine is out of + sync with the timestamps on the source files. + Other errors, apparently + unrelated but in fact caused by the clock skew, + can occur along with + the clock skew warnings. + These secondary errors may tend to obscure the + fact that the true root cause of the problem + is an out-of-sync clock. +

    + If you see these warnings, reset the clock on the + build + machine, run "gmake clobber" + or delete the directory + containing the build output, and restart the + build from the beginning. +

    +
  • +
  • + Error message: + Trouble writing out table to disk +
    + Increase the amount of swap space on your build machine. + This could be caused by overloading the system and + it may be necessary to use: +
    + make JOBS=1 +
    + to reduce the load on the system. +
    +
  • +
  • + Error Message: + libstdc++ not found: +
    + This is caused by a missing libstdc++.a library. + This is installed as part of a specific package + (e.g. libstdc++.so.devel.386). + By default some 64-bit Linux versions (e.g. Fedora) + only install the 64-bit version of the libstdc++ package. + Various parts of the JDK build require a static + link of the C++ runtime libraries to allow for maximum + portability of the built images. +
    +
  • +
  • + Linux Error Message: + cannot restore segment prot after reloc +
    + This is probably an issue with SELinux (See + + http://en.wikipedia.org/wiki/SELinux). + Parts of the VM is built without the -fPIC for + performance reasons. +

    + To completely disable SELinux: +

      +
    1. $ su root
    2. +
    3. # system-config-securitylevel
    4. +
    5. In the window that appears, select the SELinux tab
    6. +
    7. Disable SELinux
    8. +
    +

    + Alternatively, instead of completely disabling it you could + disable just this one check. +

      +
    1. Select System->Administration->SELinux Management
    2. +
    3. In the SELinux Management Tool which appears, + select "Boolean" from the menu on the left
    4. +
    5. Expand the "Memory Protection" group
    6. +
    7. Check the first item, labeled + "Allow all unconfined executables to use + libraries requiring text relocation ..."
    8. +
    +
    +
  • +
  • + Windows Error Messages: +
    + *** fatal error - couldn't allocate heap, ... +
    + rm fails with "Directory not empty" +
    + unzip fails with "cannot create ... Permission denied" +
    + unzip fails with "cannot create ... Error 50" +
    +
    + The CYGWIN software can conflict with other non-CYGWIN + software. See the CYGWIN FAQ section on + + BLODA (applications that interfere with CYGWIN). +
    +
  • +
  • + Windows Error Message: spawn failed +
    + Try rebooting the system, or there could be some kind of + issue with the disk or disk partition being used. + Sometimes it comes with a "Permission Denied" message. +
    +
  • +
-
-
- + +
+ + + +
-

Build Information

+

Appendix B: GNU make

- Building the OpenJDK - is done with a GNU make command line - and various - environment or make variable settings that direct the makefile rules - to where various components have been installed. - Where possible the makefiles will attempt to located the various - components in the default locations or any component specific - variable settings. - When the normal defaults fail or components cannot be found, - the various - ALT_* variables (alternates) - can be used to help the makefiles locate components. -

- Refer to the bash/sh/ksh setup file - jdk/make/jdk_generic_profile.sh - if you need help in setting up your environment variables. - A build could be as simple as: -

-

-                bash
-                . jdk/make/jdk_generic_profile.sh
-                make sanity && make
-                
-
-

- Of course ksh or sh would work too. - But some customization will probably be necessary. - The sanity rule will make some basic checks on build - dependencies and generate appropriate warning messages - regarding missing, out of date, or newer than expected components - found on your system. -

- -
-

GNU make (gmake)

-
+ The Makefiles in the OpenJDK are only valid when used with the - GNU version of the utility command make - (gmake). + GNU version of the utility command make + (usually called gmake on Solaris). A few notes about using GNU make:

@@ -714,1539 +1775,728 @@ ftp.gnu.org/pub/gnu/make/.

- -

Building GNU make

+ +

Building GNU make

- First step is to get the GNU make 3.81 (or newer) source from + First step is to get the GNU make 3.81 or newer source from ftp.gnu.org/pub/gnu/make/. - Building is a little different depending on the OS and unix toolset - on Windows: - -
-
- -
-

Basic Linux System Setup

-
- i586 only: - The minimum recommended hardware for building the Linux version - is a Pentium class processor or better, at least 256 MB of RAM, and - approximately 1.5 GB of free disk space. -

- X64 only: - The minimum recommended hardware for building the Linux - version is an AMD Opteron class processor, at least 512 MB of RAM, and - approximately 4 GB of free disk space. -

- The build will use the tools contained in - /bin and - /usr/bin - of a standard installation of the Linux operating environment. - You should ensure that these directories are in your - PATH. -

- Note that some Linux systems have a habit of pre-populating - your environment variables for you, for example JAVA_HOME - might get pre-defined for you to refer to the JDK installed on - your Linux system. - You will need to unset JAVA_HOME. - It's a good idea to run env and verify the - environment variables you are getting from the default system - settings make sense for building the - OpenJDK. -

- -

Basic Linux Check List

-
-
    -
  1. - Install the - Bootstrap JDK, set - ALT_BOOTDIR. -
  2. -
  3. - Optional Import JDK, set - ALT_JDK_IMPORT_PATH. -
  4. -
  5. - Install or upgrade the FreeType development - package. -
  6. -
  7. - Install - Ant 1.7.1 or newer, - make sure it is in your PATH. -
  8. -
-
- -
-

Basic Solaris System Setup

-
- The minimum recommended hardware for building the - Solaris SPARC version is an UltraSPARC with 512 MB of RAM. - For building - the Solaris x86 version, a Pentium class processor or better and at - least 512 MB of RAM are recommended. - Approximately 1.4 GB of free disk - space is needed for a 32-bit build. -

- If you are building the 64-bit version, you should - run the command "isainfo -v" to verify that you have a - 64-bit installation, it should say sparcv9 or - amd64. - An additional 7 GB of free disk space is needed - for a 64-bit build. -

- The build uses the tools contained in /usr/ccs/bin - and /usr/bin of a standard developer or full installation of - the Solaris operating environment. -

- Solaris patches specific to the JDK can be downloaded from the - - SunSolve JDK Solaris patches download page. - You should ensure that the latest patch cluster for - your version of the Solaris operating environment has also - been installed. -

- -

Basic Solaris Check List

-
-
    -
  1. - Install the - Bootstrap JDK, set - ALT_BOOTDIR. -
  2. -
  3. - Optional Import JDK, set - ALT_JDK_IMPORT_PATH. -
  4. -
  5. - Install the - Sun Studio Compilers, set - ALT_COMPILER_PATH. -
  6. -
  7. - Install the - CUPS Include files, set - ALT_CUPS_HEADERS_PATH. -
  8. -
  9. - Install the XRender Include files. -
  10. -
  11. - Install - Ant 1.7.1 or newer, - make sure it is in your PATH. -
  12. -
-
- -
-

Basic Windows System Setup

-
- i586 only: - The minimum recommended hardware for building the 32-bit or X86 - Windows version is an Pentium class processor or better, at least - 512 MB of RAM, and approximately 600 MB of free disk space. - - NOTE: The Windows build machines need to use the - file system NTFS. - Build machines formatted to FAT32 will not work - because FAT32 doesn't support case-sensitivity in file names. - -

- X64 only: - The minimum recommended hardware for building - the Windows X64 version is an AMD Opteron class processor, at least 1 - GB of RAM, and approximately 10 GB of free disk space. -

- -

Windows Paths

-
- Windows: - Note that GNU make, the shell and other Unix-tools required during the build - do not tolerate the Windows habit - of having spaces in pathnames or the use of the \characters in pathnames. - Luckily on most Windows systems, you can use /instead of \, and - there is always a short - "8.3" pathname without spaces for any path that contains spaces. - Unfortunately, this short pathname is somewhat dynamic (i.e. dependant on the - other files and directories inside a given directory) and can not be - algorithmicly calculated by only looking at a specific path name. -

- The makefiles will try to translate any pathnames supplied - to it into the C:/ style automatically. -

-

- Special care has to be taken if native Windows applications - like nmake or cl are called with file arguments processed - by Unix-tools like make or sh! -

-
- -

Windows build environments

-
- Building on Windows requires a Unix-like environment, notably a Unix-like shell. - There are several such environments available of which - MKS, - Cygwin and - MinGW/MSYS are currently supported for - the OpenJDK build. One of the differences of these three systems is the way - they handle Windows path names, particularly path names which contain - spaces, backslashes as path separators and possibly drive letters. Depending - on the use case and the specifics of each environment these path problems can - be solved by a combination of quoting whole paths, translating backslashes to - forward slashes, escaping backslashes with additional backslashes and - translating the path names to their - "8.3" version. -

- As of this writing (MKS ver. 9.4, Cygwin ver. 1.7.9, MinGW/MSYS 1.0.17), - MKS builds are known to be the fastest Windows builds while MingGW/MSYS - builds are slightly slower (about 10%) than MKS builds and Cygwin builds - require nearly twice the time (about 180%) of MKS builds (e.g. on a - DualCore i7 notebook with 8GB of RAM, HDD and 64-bit Windows 7 operating system - the complete OpenJDK 8 product build takes about 49min with MKS, 54min with - MinGW/MSYS and 88min with Cygwin). -

-

- Mixing tools from the different Unix emulation environments is not a good - idea and will probably not work! -

-

- MKS: is a commercial product which includes - all the Unix utilities which are required to build the OpenJDK except GNU - make. In pre-OpenJDK times it was the only supported build environment on - Windows. The MKS tools support Windows paths with drive letters and - forward slashes as path separator. Paths in environment variables like (for - example) PATH are separated by semicolon ';'. -

-

- Recent versions of MKS provide the dosname utility to convert paths - with spaces to short (8.3) path names,e .g. - dosname -s "path". -

-

- If you are using the MKS environment, you need a native Windows version - of Gnu make which you can easily build yourself. -

-

- Cygwin: - is an open source, Linux-like environment which tries to emulate - a complete POSIX layer on Windows. It tries to be smart about path names - and can usually handle all kinds of paths if they are correctly quoted - or escaped although internally it maps drive letters <drive>: - to a virtual directory /cygdrive/<drive>. -

-

- You can always use the cygpath utility to map pathnames with spaces - or the backslash character into the C:/ style of pathname - (called 'mixed'), e.g. cygpath -s -m "path". -

-

- Note that the use of CYGWIN creates a unique problem with regards to - setting PATH. Normally on Windows - the PATH variable contains directories - separated with the ";" character (Solaris and Linux use ":"). - With CYGWIN, it uses ":", but that means that paths like "C:/path" - cannot be placed in the CYGWIN version of PATH and - instead CYGWIN uses something like /cygdrive/c/path - which CYGWIN understands, but only CYGWIN understands. -

-

- If you are using the Cygwin environment, you need to - compile your own version - of GNU make because the default Cygwin make can not handle drive letters in paths. -

-

- MinGW/MSYS: - MinGW ("Minimalist GNU for Windows") is a collection of free Windows - specific header files and import libraries combined with GNU toolsets that - allow one to produce native Windows programs that do not rely on any - 3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building - applications and programs which rely on traditional UNIX tools to - be present. Among others this includes tools like bash and make. -

-

- Like Cygwin, MinGW/MSYS can handle different types of path formats. They - are internally converted to paths with forward slashes and drive letters - <drive>: replaced by a virtual - directory /<drive>. Additionally, MSYS automatically - detects binaries compiled for the MSYS environment and feeds them with the - internal, Unix-style path names. If native Windows applications are called - from within MSYS programs their path arguments are automatically converted - back to Windows style path names with drive letters and backslashes as - path separators. This may cause problems for Windows applications which - use forward slashes as parameter separator (e.g. cl /nologo /I) - because MSYS may wrongly - replace such parameters by drive letters. -

-

- If you are using the MinGW/MSYS system you can use the default make - version supplied by the environment. -

-
- -

Basic Windows Check List

-
-
    -
  1. - Install one of the - CYGWIN, MinGW/MSYS or - MKS environments. -
  2. -
  3. - Install the - Bootstrap JDK, set - ALT_BOOTDIR. -
  4. -
  5. - Optional Import JDK, set - ALT_JDK_IMPORT_PATH. -
  6. -
  7. - Install the - Microsoft Visual Studio Compilers). -
  8. -
  9. - Setup all environment variables for compilers - (see compilers). -
  10. -
  11. - Install - Microsoft DirectX SDK. -
  12. -
  13. - Install - Ant 1.7.1 or newer, - make sure it is in your PATH and set - ANT_HOME. -
  14. -
-
- -
-

Basic Mac OS X System Setup

-
- X64 only: - The minimum recommended hardware for building - the Mac OS X version is any 64-bit capable Intel processor, at least 2 - GB of RAM, and approximately 3 GB of free disk space. You should also - have OS X Lion 10.7.3 installed. -
- - -

Basic Mac OS X Check List

-
-
    -
  1. - Install XCode 4.1 or newer. - If you install XCode 4.3 or newer, make sure you also install - "Command line tools" found under the preferences pane "Downloads". -
  2. -
  3. - Install "Java for OS X Lion Update 1", - set ALT_BOOTDIR to `/usr/libexec/java_home -v 1.6` -
  4. -
  5. - Optional Import JDK, set - ALT_JDK_IMPORT_PATH. -
  6. -
-
- -
-

Build Dependencies

-
- Depending on the platform, the OpenJDK build process has some basic - dependencies on components not part of the OpenJDK sources. - Some of these are specific to a platform, some even specific to - an architecture. - Each dependency will have a set of ALT variables that can be set - to tell the makefiles where to locate the component. - In most cases setting these ALT variables may not be necessary - and the makefiles will find defaults on the system in standard - install locations or through component specific variables. - -

Bootstrap JDK

-
- All OpenJDK builds require access to the previously released - JDK 6, this is often called a bootstrap JDK. - The JDK 6 binaries can be downloaded from Sun's - JDK 6 download site. - For build performance reasons - is very important that this bootstrap JDK be made available on the - local disk of the machine doing the build. - You should always set - ALT_BOOTDIR - to point to the location of - the bootstrap JDK installation, this is the directory pathname - that contains a bin, lib, and include - It's also a good idea to also place its bin directory - in the PATH environment variable, although it's - not required. -

- Solaris: - Some pre-installed JDK images may be available to you in the - directory /usr/jdk/instances. - If you don't set - ALT_BOOTDIR - the makefiles will look in that location for a JDK it can use. -

- -

Optional Import JDK

-
- The ALT_JDK_IMPORT_PATH - setting is only needed if you are not building the entire - JDK. For example, if you have built the entire JDK once, and - wanted to avoid repeatedly building the Hotspot VM, you could - set this to the location of the previous JDK install image - and the build will copy the needed files from this import area. -
- -

Ant

-
- All OpenJDK builds require access to least Ant 1.7.1. - The Ant tool is available from the - - Ant 1.7.1 archive download site. - You should always make sure ant is in your PATH, and - on Windows you may also need to set - ANT_HOME - to point to the location of - the Ant installation, this is the directory pathname - that contains a bin and lib. -
- WARNING: Ant versions used from IDE tools like NetBeans - or installed via system packages may not operate the same - as the one obtained from the Ant download bundles. - These system and IDE installers sometimes choose to change - the ant installation enough to cause differences. -
- -

Certificate Authority File (cacert)

-
- See - http://en.wikipedia.org/wiki/Certificate_Authority - for a better understanding of the Certificate Authority (CA). - A certificates file named "cacerts" - represents a system-wide keystore with CA certificates. - In JDK and JRE - binary bundles, the "cacerts" file contains root CA certificates from - several public CAs (e.g., VeriSign, Thawte, and Baltimore). - The source contain a cacerts file - without CA root certificates. - Formal JDK builders will need to secure - permission from each public CA and include the certificates into their - own custom cacerts file. - Failure to provide a populated cacerts file - will result in verification errors of a certificate chain during runtime. - The variable - ALT_CACERTS_FILE - can be used to override the default location of the - cacerts file that will get placed in your build. - By default an empty cacerts file is provided and that should be - fine for most JDK developers. -
- -

Compilers

-
- Linux gcc/binutils + Building is a little different depending on the OS but is + basically done with:
- The GNU gcc compiler version should be 4.3 or newer. - The compiler used should be the default compiler installed - in /usr/bin. -
- Solaris: Sun Studio -
- At a minimum, the - - Sun Studio 12 Update 1 Compilers - (containing version 5.10 of the C and C++ compilers) is required, - including specific patches. -

- The Solaris SPARC patch list is: -

    -
  • - 118683-05: SunOS 5.10: Patch for profiling libraries and assembler -
  • -
  • - 119963-21: SunOS 5.10: Shared library patch for C++ -
  • -
  • - 120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch -
  • -
  • - 128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler -
  • -
  • - 141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95 -
  • -
  • - 141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler -
  • -
  • - 142371-01: Sun Studio 12.1 Update 1: Patch for dbx -
  • -
  • - 143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling -
  • -
  • - 143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95 -
  • -
  • - 142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools -
  • -
-

- The Solaris X86 patch list is: -

    -
  • - 119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler -
  • -
  • - 119964-21: SunOS 5.10_x86: Shared library patch for C++_x86 -
  • -
  • - 120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch -
  • -
  • - 141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 backend -
  • -
  • - 128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler -
  • -
  • - 142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler -
  • -
  • - 142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools -
  • -
-

- Set - ALT_COMPILER_PATH - to point to the location of - the compiler binaries, and place this location in the PATH. -

- The Oracle Solaris Studio Express compilers at: - - Oracle Solaris Studio Express Download site - are also an option, although these compilers have not - been extensively used yet. -

- Windows i586: Microsoft Visual Studio 2010 Compilers -
-

- BEGIN WARNING: JDK 7 has transitioned to - use the newest VS2010 Microsoft compilers. - No other compilers are known to build the entire JDK, - including non-open portions. - Visual Studio 2010 Express compilers are now able to build all the - open source repositories, but this is 32 bit only. To build 64 bit - Windows binaries use the the 7.1 Windows SDK. - END WARNING. -

- The 32-bit OpenJDK Windows build requires - Microsoft Visual Studio C++ 2010 (VS2010) Professional - Edition or Express compiler. - The compiler and other tools are expected to reside - in the location defined by the variable - VS100COMNTOOLS which - is set by the Microsoft Visual Studio installer. -

- Once the compiler is installed, - it is recommended that you run VCVARS32.BAT - to set the compiler environment variables - INCLUDE, - LIB, and - PATH - prior to building the - OpenJDK. - The above environment variables MUST be set. - This compiler also contains the Windows SDK v 7.0a, - which is an update to the Windows 7 SDK. -

- WARNING: Make sure you check out the - CYGWIN link.exe WARNING. - The path /usr/bin must be after the path to the - Visual Studio product. -

- Windows x64: Microsoft Visual Studio 2010 Professional Compiler -
- For X64, the set up is much the same as 32 bit - except that you run amd64\VCVARS64.BAT - to set the compiler environment variables. - Previously 64 bit builds had to use the 64 bit compiler in - an unbundled Windows SDK but this is no longer necessary if - you have VS2010 Professional. -
- Windows x64: Microsoft Windows 7.1 SDK 64 bit compilers. - For a free alternative for 64 bit builds, use the 7.1 SDK. - Microsoft say that to set up your paths for this run -
-    c:\Program Files\Microsoft SDKs\Windows\v7.1\bin\setenv.cmd /x64.
-                
- What was tested is just directly setting up LIB, INCLUDE, - PATH and based on the installation directories using the - DOS short name appropriate for the system, (you will - need to set them for yours, not just blindly copy this) eg : -
-    set VSINSTALLDIR=c:\PROGRA~2\MICROS~1.0
-    set WindowsSdkDir=c:\PROGRA~1\MICROS~1\Windows\v7.1
-    set PATH=%VSINSTALLDIR%\vc\bin\amd64;%VSINSTALLDIR%\Common7\IDE;%WindowsSdkDir%\bin;%PATH%
-    set INCLUDE=%VSINSTALLDIR%\vc\include;%WindowsSdkDir%\include
-    set LIB=%VSINSTALLDIR%\vc\lib\amd64;%WindowsSdkDir%\lib\x64
-                
- OS X Lion 10.7.3: LLVM GCC -
- LLVM GCC is bundled with XCode. The version should be at least 4.2.1. + bash ./configure +
+ make
- -

Zip and Unzip

-
- Version 2.2 (November 3rd 1997) or newer of the zip utility - and version 5.12 or newer of the unzip utility is needed - to build the JDK. - With Solaris, Linux, and Windows CYGWIN, the zip and unzip - utilities installed on the system should be fine. - Information and the source code for - ZIP.EXE and UNZIP.EXE is available on the - info-zip web site. -
- -

Common UNIX Printing System (CUPS) Headers (Solaris & Linux)

-
- Solaris: - CUPS header files are required for building the - OpenJDK on Solaris. - The Solaris header files can be obtained by installing - the package SFWcups from the Solaris Software - Companion CD/DVD, these often will be installed into - /opt/sfw/cups. -

- Linux: - CUPS header files are required for building the - OpenJDK on Linux. - The Linux header files are usually available from a "cups" - development package, it's recommended that you try and use - the package provided by the particular version of Linux that - you are using. -

- The CUPS header files can always be downloaded from - www.cups.org. - The variable - ALT_CUPS_HEADERS_PATH - can be used to override the default location of the - CUPS Header files. -

- -

XRender Extension Headers (Solaris & Linux)

-
-

- Solaris: - XRender header files are required for building the - OpenJDK on Solaris. - The XRender header file is included with the other X11 header files - in the package SFWxwinc on new enough versions of - Solaris and will be installed in - /usr/X11/include/X11/extensions/Xrender.h or - /usr/openwin/share/include/X11/extensions/Xrender.h -

- Linux: - XRender header files are required for building the - OpenJDK on Linux. - The Linux header files are usually available from a "Xrender" - development package, it's recommended that you try and use - the package provided by the particular distribution of Linux that - you are using. -

-
- -

FreeType 2

-
- Version 2.3 or newer of FreeType is required for building the OpenJDK. - On Unix systems required files can be available as part of your - distribution (while you still may need to upgrade them). - Note that you need development version of package that - includes both FreeType library and header files. -

- You can always download latest FreeType version from the - FreeType website. -

- Makefiles will try to pick FreeType from /usr/lib and /usr/include. - In case it is installed elsewhere you will need to set environment - variables - ALT_FREETYPE_LIB_PATH - and - ALT_FREETYPE_HEADERS_PATH - to refer to place where library and header files are installed. -

- Building the freetype 2 libraries from scratch is also possible, - however on Windows refer to the - - Windows FreeType DLL build instructions. -

- Note that by default FreeType is built with byte code hinting - support disabled due to licensing restrictions. - In this case, text appearance and metrics are expected to - differ from Sun's official JDK build. - See - - the SourceForge FreeType2 Home Page - - for more information. -

- -

Advanced Linux Sound Architecture (ALSA) (Linux only)

-
- Linux only: - Version 0.9.1 or newer of the ALSA files are - required for building the OpenJDK on Linux. - These Linux files are usually available from an "alsa" - of "libasound" - development package, it's highly recommended that you try and use - the package provided by the particular version of Linux that - you are using. - The makefiles will check this emit a sanity error if it is - missing or the wrong version. -

- In particular, older Linux systems will likely not have the - right version of ALSA installed, for example - Redhat AS 2.1 U2 and SuSE 8.1 do not include a sufficiently - recent ALSA distribution. - On rpm-based systems, you can see if ALSA is installed by - running this command: -

-                    rpm -qa | grep alsa
-                
- Both alsa and alsa-devel packages are needed. -

- If your distribution does not come with ALSA, and you can't - find ALSA packages built for your particular system, - you can try to install the pre-built ALSA rpm packages from - - www.freshrpms.net. - Note that installing a newer ALSA could - break sound output if an older version of ALSA was previously - installed on the system, but it will enable JDK compilation. -

- Installation: execute as root
- [i586]: rpm -Uv --force alsa-lib-devel-0.9.1-rh61.i386.rpm
- [x64]: rpm -Uv --force alsa-lib-devel-0.9.8-amd64.x86_64.rpm
- Uninstallation:
- [i586]: rpm -ev alsa-lib-devel-0.9.1-rh61
- [x64]:rpm -ev alsa-lib-devel-0.9.8-amd64
- Make sure that you do not link to the static library - (libasound.a), - by verifying that the dynamic library (libasound.so) is - correctly installed in /usr/lib. -
- As a last resort you can go to the - - Advanced Linux Sound Architecture Site and build it from - source. -
- Download driver and library - source tarballs from - ALSA's homepage. - As root, execute the following - commands (you may need to adapt the version number): -
-                        
-                            $ tar xjf alsa-driver-0.9.1.tar.bz2
-                            $ cd alsa-driver-0.9.1
-                            $ ./configure
-                            $ make install
-                            $ cd ..
-                            $ tar xjf alsa-lib-0.9.1.tar.bz2
-                            $ cd alsa-lib-0.9.1
-                            $ ./configure
-                            $ make install
-                        
-                    
- Should one of the above steps fail, refer to the documentation on - ALSA's home page. -
- Note that this is a minimum install that enables - building the JDK platform. To actually use ALSA sound drivers, more - steps are necessary as outlined in the documentation on ALSA's homepage. -

- ALSA can be uninstalled by executing make uninstall first in - the alsa-lib-0.9.1 directory and then in - alsa-driver-0.9.1. -

- There are no ALT* variables to change the assumed locations of ALSA, - the makefiles will expect to find the ALSA include files and library at: - /usr/include/alsa and /usr/lib/libasound.so. -
- -

Windows Specific Dependencies

-
- Unix Command Tools (CYGWIN) -
- The OpenJDK requires access to a set of unix command tools - on Windows which can be supplied by - CYGWIN. -

- The OpenJDK build requires CYGWIN version 1.5.12 or newer. - Information about CYGWIN can - be obtained from the CYGWIN website at - www.cygwin.com. -

- By default CYGWIN doesn't install all the tools required for building - the OpenJDK. - Along with the default installation, you need to install - the following tools. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Binary NameCategoryPackageDescription
ar.exeDevelbinutilsThe GNU assembler, linker and binary - utilities
make.exeDevelmakeThe GNU version of the 'make' utility built for CYGWIN.
- NOTE: the Cygwin make can not be used to build the - OpenJDK. You only need it to build your own version of make - (see the GNU make section)
m4.exeInterpretersm4GNU implementation of the traditional Unix macro - processor
cpio.exeUtilscpioA program to manage archives of files
gawk.exeUtilsawkPattern-directed scanning and processing language
file.exeUtilsfileDetermines file type using 'magic' numbers
zip.exeArchivezipPackage and compress (archive) files
unzip.exeArchiveunzipExtract compressed files in a ZIP archive
free.exeSystemprocpsDisplay amount of free and used memory in the system
-
-

- Note that the CYGWIN software can conflict with other non-CYGWIN - software on your Windows system. - CYGWIN provides a - FAQ for - known issues and problems, of particular interest is the - section on - - BLODA (applications that interfere with CYGWIN). -

- WARNING: - Be very careful with link.exe, it will conflict - with the Visual Studio version. You need the Visual Studio - version of link.exe, not the CYGWIN one. - So it's important that the Visual Studio paths in PATH preceed - the CYGWIN path /usr/bin. -

- Minimalist GNU for Windows (MinGW/MSYS) -
- Alternatively, the set of unix command tools for the OpenJDK build on - Windows can be supplied by - MinGW/MSYS. -

- In addition to the tools which will be installed by default, you have - to manually install the msys-zip and msys-unzip packages. - This can be easily done with the MinGW command line installer:
-
- mingw-get.exe install msys-zip
- mingw-get.exe install msys-unzip
-
-

-
- Microsoft DirectX 9.0 SDK header files and libraries -
- Microsoft DirectX 9.0 SDK (Summer 2004) - headers are required for building - OpenJDK. - This SDK can be downloaded from - - Microsoft DirectX 9.0 SDK (Summer 2004). - If the link above becomes obsolete, the SDK can be found from - the Microsoft Download Site - (search with "DirectX 9.0 SDK Update Summer 2004"). - The location of this SDK can be set with - ALT_DXSDK_PATH - but it's normally found via the DirectX environment variable - DXSDK_DIR. -
- MSVCR100.DLL -
- The OpenJDK build requires access to a redistributable - MSVCR100.DLL. - This is usually picked up automatically from the redist - directories of Visual Studio 2010. - If this cannot be found set the - ALT_MSVCRNN_DLL_PATH - variable to the location of this file. -

-

-
- + + + +
-

Creating the Build

-
- Once a machine is setup to build the OpenJDK, - the steps to create the build are fairly simple. - The various ALT settings can either be made into variables - or can be supplied on the - gmake - command. -
    -
  1. Use the sanity rule to double check all the ALT settings: -
    - - gmake - sanity - [ARCH_DATA_MODEL=32 or 64] - [other "ALT_" overrides] - -
    -
  2. -
  3. Start the build with the command: -
    - - gmake - [ARCH_DATA_MODEL=32 or 64] - [ALT_OUTPUTDIR=output_directory] - [other "ALT_" overrides] - -
    -
  4. -
-

- Solaris: - Note that ARCH_DATA_MODEL is really only needed on Solaris to - indicate you want to built the 64-bit version. - And before the Solaris 64-bit binaries can be used, they - must be merged with the binaries from a separate 32-bit build. - The merged binaries may then be used in either 32-bit or 64-bit mode, with - the selection occurring at runtime - with the -d32 or -d64 options. -

- -
-

Testing the Build

-
- When the build is completed, you should see the generated - binaries and associated files in the j2sdk-image - directory in the output directory. - The default output directory is - build/platform, - where platform is one of -
- -
- In particular, the - build/platform/j2sdk-image/bin - directory should contain executables for the - OpenJDK tools and utilities. -

- You can test that the build completed properly by using the build - to run the various demos that you will find in the - build/platform/j2sdk-image/demo - directory. -

- The provided regression tests can be run with the jtreg - utility from - the jtreg site. -

- -
-

Environment/Make Variables

-

- Some of the - environment or make variables (just called variables in this - document) that can impact the build are: +

Appendix C: Build Environments

-
-
PATH
-
Typically you want to set the PATH to include: -
    -
  • The location of the GNU make binary
  • -
  • The location of the Bootstrap JDK java - (see Bootstrap JDK)
  • -
  • The location of the C/C++ compilers - (see compilers)
  • -
  • The location or locations for the Unix command utilities - (e.g. /usr/bin)
  • -
-
-
MILESTONE
-
- The milestone name for the build (e.g."beta"). - The default value is "internal". -
-
BUILD_NUMBER
-
- The build number for the build (e.g. "b27"). - The default value is "b00". -
-
ARCH_DATA_MODEL
-
The ARCH_DATA_MODEL variable - is used to specify whether the build is to generate 32-bit or 64-bit - binaries. - The Solaris build supports either 32-bit or 64-bit builds, but - Windows and Linux will support only one, depending on the specific - OS being used. - Normally, setting this variable is only necessary on Solaris. - Set ARCH_DATA_MODEL to 32 for generating 32-bit binaries, - or to 64 for generating 64-bit binaries. -
-
ALT_BOOTDIR
-
- The location of the bootstrap JDK installation. - See Bootstrap JDK for more information. - You should always install your own local Bootstrap JDK and - always set ALT_BOOTDIR explicitly. -
-
ALT_JDK_IMPORT_PATH
-
- The location of a previously built JDK installation. - See Optional Import JDK for more information. -
-
ALT_OUTPUTDIR
-
- An override for specifying the (absolute) path of where the - build output is to go. - The default output directory will be build/platform. -
-
ALT_COMPILER_PATH
-
- The location of the C/C++ compiler. - The default varies depending on the platform. -
-
ALT_CACERTS_FILE
-
- The location of the cacerts file. - The default will refer to - jdk/src/share/lib/security/cacerts. -
-
ALT_CUPS_HEADERS_PATH
-
- The location of the CUPS header files. - See CUPS information for more information. - If this path does not exist the fallback path is - /usr/include. -
-
ALT_FREETYPE_LIB_PATH
-
- The location of the FreeType shared library. - See FreeType information for details. -
-
ALT_FREETYPE_HEADERS_PATH
-
- The location of the FreeType header files. - See FreeType information for details. -
-
ALT_JDK_DEVTOOLS_PATH
-
- The default root location of the devtools. - The default value is - $(ALT_SLASH_JAVA)/devtools. -
-
ALT_DEVTOOLS_PATH
-
- The location of tools like the - zip and unzip - binaries, but might also contain the GNU make utility - (gmake). - So this area is a bit of a grab bag, especially on Windows. - The default value depends on the platform and - Unix Commands being used. - On Linux the default will be - $(ALT_JDK_DEVTOOLS_PATH)/linux/bin, - on Solaris - $(ALT_JDK_DEVTOOLS_PATH)/{sparc,i386}/bin, - and on Windows with CYGWIN - /usr/bin. -
-
ALT_DROPS_DIR
-
- The location of any source drop bundles - (see Managing the Source Drops). - The default will be - $(ALT_JDK_DEVTOOLS_PATH)/share/jdk8-drops. -
-
ALT_UNIXCCS_PATH
-
- Solaris only: - An override for specifying where the Unix CCS - command set are located. - The default location is /usr/ccs/bin -
-
ALT_SLASH_JAVA
-
- The default root location for many of the ALT path locations - of the following ALT variables. - The default value is - "/java" on Solaris and Linux, - "J:" on Windows. -
-
ALT_BUILD_JDK_IMPORT_PATH
-
- These are useful in managing builds on multiple platforms. - The default network location for all of the import JDK images - for all platforms. - If ALT_JDK_IMPORT_PATH - is not set, this directory will be used and should contain - the following directories: - solaris-sparc, - solaris-i586, - solaris-sparcv9, - solaris-amd64, - linux-i586, - linux-amd64, - windows-i586, - and - windows-amd64. - Where each of these directories contain the import JDK image - for that platform. -
-
ALT_OPENWIN_HOME
-
- The top-level directory of the libraries and include files for the platform's - graphical programming environment. The default location is platform specific. - For example, on Linux it defaults to /usr/X11R6/. -
-
Windows specific:
-
-
-
ALT_WINDOWSSDKDIR
-
- The location of the - Microsoft Windows SDK where some tools will be - located. - The default is whatever WINDOWSSDKDIR is set to - (or WindowsSdkDir) or the path -
- c:\Program Files\Microsoft SDKs\Windows\v7.0a -
-
ALT_DXSDK_PATH
-
- The location of the - Microsoft DirectX 9 SDK. - The default will be to try and use the DirectX environment - variable DXSDK_DIR, - failing that, look in C:/DXSDK. -
-
ALT_MSVCRNN_DLL_PATH
-
- The location of the - MSVCR100.DLL. -
-
-
-
Cross-Compilation Support:
-
-
-
CROSS_COMPILE_ARCH
-
- Set to the target architecture of a cross-compilation build. If set, this - variable is used to signify that we are cross-compiling. The expectation - is that ALT_COMPILER_PATH is set - to point to the cross-compiler and that any cross-compilation specific flags - are passed using EXTRA_CFLAGS. - The ALT_OPENWIN_HOME variable should - also be set to point to the graphical header files (e.g. X11) provided with - the cross-compiler. - When cross-compiling we skip execution of any demos etc that may be built, and - also skip binary-file verification. -
-
EXTRA_CFLAGS
-
- Used to pass cross-compilation options to the cross-compiler. - These are added to the CFLAGS and CXXFLAGS variables. -
-
USE_ONLY_BOOTDIR_TOOLS
-
- Used primarily for cross-compilation builds (and always set in that case) - this variable indicates that tools from the boot JDK should be used during - the build process, not the tools (javac, javah, jar) - just built (which can't execute on the build host). -
-
HOST_CC
-
- The location of the C compiler to generate programs to run on the build host. - Some parts of the build generate programs that are then compiled and executed - to produce other parts of the build. Normally the primary C compiler is used - to do this, but when cross-compiling that would be the cross-compiler and the - resulting program could not be executed. - On Linux this defaults to /usr/bin/gcc; on other platforms it must be - set explicitly. -
-
-
Specialized Build Options:
-
- Some build variables exist to support specialized build environments and/or specialized - build products. Their use is only supported in those contexts: -
-
BUILD_CLIENT_ONLY
-
- Indicates this build will only contain the Hotspot client VM. In addition to - controlling the Hotspot build target, it ensures that we don't try to copy - any server VM files/directories, and defines a default jvm.cfg file - suitable for a client-only environment. Using this in a 64-bit build will - generate a sanity warning as 64-bit client builds are not directly supported. -
-
BUILD_HEADLESS_ONLY
-
- Used when the build environment has no graphical capabilities at all. This - excludes building anything that requires graphical libraries to be available. -
-
JAVASE_EMBEDDED
-
- Used to indicate this is a build of the Oracle Java SE Embedded product. - This will enable the directives included in the SE-Embedded specific build - files. -
-
LIBZIP_CAN_USE_MMAP
-
- If set to false, disables the use of mmap by the zip utility. Otherwise, - mmap will be used. -
-
COMPRESS_JARS
-
- If set to true, causes certain jar files that would otherwise be built without - compression, to use compression. -
-
-
-
-
- + +

Minimum Build Environments

+
+ This file often describes specific requirements for what we + call the + "minimum build environments" (MBE) for this + specific release of the JDK. + What is listed below is what the Oracle Release + Engineering Team will use to build the Oracle JDK product. + Building with the MBE will hopefully generate the most compatible + bits that install on, and run correctly on, the most variations + of the same base OS and hardware architecture. + In some cases, these represent what is often called the + least common denominator, but each Operating System has different + aspects to it. +

+ In all cases, the Bootstrap JDK version minimum is critical, + we cannot guarantee builds will work with older Bootstrap JDK's. + Also in all cases, more RAM and more processors is better, + the minimums listed below are simply recommendations. +

+ With Solaris and Mac OS X, the version listed below is the + oldest release we can guarantee builds and works, and the + specific version of the compilers used could be critical. +

+ With Windows the critical aspect is the Visual Studio compiler + used, which due to it's runtime, generally dictates what Windows + systems can do the builds and where the resulting bits can + be used.
+ NOTE: We expect a change here off these older Windows OS releases + and to a 'less older' one, probably Windows 2008R2 X64. +

+ With Linux, it was just a matter of picking a + stable distribution that is a good representative for Linux + in general.
+ NOTE: We expect a change here from Fedora 9 to something else, + but it has not been completely determined yet, possibly + Ubuntu 12.04 X64, unbiased community feedback would be welcome on + what a good choice would be here. +

+ It is understood that most developers will NOT be using these + specific versions, and in fact creating these specific versions + may be difficult due to the age of some of this software. + It is expected that developers are more often using the more + recent releases and distributions of these operating systems. +

+ Compilation problems with newer or different C/C++ compilers is a + common problem. + Similarly, compilation problems related to changes to the + /usr/include or system header files is also a + common problem with older, newer, or unreleased OS versions. + Please report these types of problems as bugs so that they + can be dealt with accordingly. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Base OS and ArchitectureOSC/C++ CompilerBootstrap JDKProcessorsRAM MinimumDISK Needs
Linux X86 (32-bit) and X64 (64-bit)Fedora 9gcc 4.3 JDK 7u72 or more1 GB6 GB
Solaris SPARC (32-bit) and SPARCV9 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Solaris X86 (32-bit) and X64 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Windows X86 (32-bit)Windows XPMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Windows X64 (64-bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Mac OS X X64 (64-bit)Mac OS X 10.7 "Lion"XCode 4.5.2 or newerJDK 7u72 or more4 GB6 GB
+
+ + +
+

Specific Developer Build Environments

+
+ We won't be listing all the possible environments, but + we will try to provide what information we have available to us. +

+ NOTE: The community can help out by updating + this part of the document. + + +

Fedora

+
+ After installing the latest + Fedora + you need to install several build dependencies. + The simplest way to do it is to execute the + following commands as user root: +
+ yum-builddep java-1.7.0-openjdk +
+ yum install gcc gcc-c++ +
+

+ In addition, it's necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/usr/lib/jvm/java-openjdk/bin:${PATH}" +
+
+ + +

CentOS 5.5

+
+ After installing + CentOS 5.5 + you need to make sure you have + the following Development bundles installed: +
+
    +
  • Development Libraries
  • +
  • Development Tools
  • +
  • Java Development
  • +
  • X Software Development (Including XFree86-devel)
  • +
+
+

+ Plus the following packages: +

+
    +
  • cups devel: Cups Development Package
  • +
  • alsa devel: Alsa Development Package
  • +
  • Xi devel: libXi.so Development Package
  • +
+
+

+ The freetype 2.3 packages don't seem to be available, + but the freetype 2.3 sources can be downloaded, built, + and installed easily enough from + + the freetype site. + Build and install with something like: +

+ bash ./configure +
+ make +
+ sudo -u root make install +
+

+ Mercurial packages could not be found easily, but a Google + search should find ones, and they usually include Python if + it's needed. +

+ +

Debian 5.0 (Lenny)

+
+ After installing Debian 5 + you need to install several build dependencies. + The simplest way to install the build dependencies is to + execute the following commands as user root: +
+ aptitude build-dep openjdk-7 +
+ aptitude install openjdk-7-jdk libmotif-dev +
+

+ In addition, it's necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}" +
+
+ +

Ubuntu 12.04

+
+ After installing Ubuntu 12.04 + you need to install several build dependencies. The simplest + way to do it is to execute the following commands: +
+ sudo aptitude build-dep openjdk-7 +
+ sudo aptitude install openjdk-7-jdk +
+

+ In addition, it's necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}" +
+
+ +

OpenSUSE 11.1

+
+ After installing OpenSUSE 11.1 + you need to install several build dependencies. + The simplest way to install the build dependencies is to + execute the following commands: +
+ sudo zypper source-install -d java-1_7_0-openjdk +
+ sudo zypper install make +
+

+ In addition, it is necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:$[PATH}" +
+

+ Finally, you need to unset the JAVA_HOME + environment variable: +

+ export -n JAVA_HOME +
+
+ +

Mandriva Linux One 2009 Spring

+
+ After installing Mandriva + Linux One 2009 Spring + you need to install several build dependencies. + The simplest way to install the build dependencies is to + execute the following commands as user root: +
+ urpmi java-1.7.0-openjdk-devel make gcc gcc-c++ + freetype-devel zip unzip libcups2-devel libxrender1-devel + libalsa2-devel libstc++-static-devel libxtst6-devel + libxi-devel +
+

+ In addition, it is necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:${PATH}" +
+
+ +

OpenSolaris 2009.06

+
+ After installing OpenSolaris 2009.06 + you need to install several build dependencies. + The simplest way to install the build dependencies is to + execute the following commands: +
+ pfexec pkg install SUNWgmake SUNWj7dev + sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl + SUNWxorg-headers SUNWaudh SUNWfreetype2 +
+

+ In addition, it is necessary to set a few environment + variables for the build: +

+ export LANG=C +
+ export PATH="/opt/SunStudioExpress/bin:${PATH}" +
+
+ +
+ + + + + + + +
-

Hints and Tips

-
- You don't have to use all these hints and tips, and in fact people do actually - build with systems that contradict these, but they might prove to be - helpful to some. - -
- +

End of OpenJDK README-builds.html document.
Please come again!


-

Troubleshooting

-
- A build can fail for any number of reasons. - Most failures - are a result of trying to build in an environment in which all the - pre-build requirements have not been met. - The first step in - troubleshooting a build failure is to recheck that you have satisfied - all the pre-build requirements for your platform. - Look for the check list of the platform you are building on in the - Table of Contents. -

- You can validate your build environment by using the sanity - target. - Any errors listed - will stop the build from starting, and any warnings may result in - a flawed product build. - We strongly encourage you to evaluate every - sanity check warning and fix it if required, before you proceed - further with your build. -

- Some of the more common problems with builds are briefly described - below, with suggestions for remedies. -

-
- -
-

The New Build

-
- The - Build Infrastructure project is working on a new - build. For information on how to try it out, please see the - - Build Infra User Guide -
-
+ diff -r cb0ac8979caa -r c022bc48b7ed common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Tue Feb 26 09:25:44 2013 -0800 +++ b/common/autoconf/generated-configure.sh Tue Mar 05 11:46:02 2013 -0800 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for OpenJDK jdk8. +# Generated by GNU Autoconf 2.67 for OpenJDK jdk8. # # Report bugs to . # @@ -91,7 +91,6 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -217,18 +216,11 @@ # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : @@ -649,7 +641,7 @@ CXXFLAGS_JDKLIB CFLAGS_JDKEXE CFLAGS_JDKLIB -MACOSX_REQUIRED_VERSION +MACOSX_VERSION_MIN PACKAGE_PATH LEGACY_EXTRA_LDFLAGS LEGACY_EXTRA_CXXFLAGS @@ -1443,7 +1435,7 @@ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac @@ -1868,7 +1860,7 @@ if $ac_init_version; then cat <<\_ACEOF OpenJDK configure jdk8 -generated by GNU Autoconf 2.68 +generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -1914,7 +1906,7 @@ ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1952,7 +1944,7 @@ ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile @@ -1990,7 +1982,7 @@ ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_objc_try_compile @@ -2027,7 +2019,7 @@ ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -2064,7 +2056,7 @@ ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp @@ -2077,10 +2069,10 @@ ac_fn_cxx_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : + if eval "test \"\${$3+set}\"" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2147,7 +2139,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2156,7 +2148,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_cxx_check_header_mongrel @@ -2197,7 +2189,7 @@ ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_run @@ -2211,7 +2203,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2229,7 +2221,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_cxx_check_header_compile @@ -2406,7 +2398,7 @@ rm -f conftest.val fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_compute_int @@ -2452,7 +2444,7 @@ # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_cxx_try_link @@ -2465,7 +2457,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2520,7 +2512,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_cxx_check_func @@ -2533,7 +2525,7 @@ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if eval "test \"\${$3+set}\"" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2551,7 +2543,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_header_compile cat >config.log <<_ACEOF @@ -2559,7 +2551,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by OpenJDK $as_me jdk8, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2817,7 +2809,7 @@ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi done @@ -3771,7 +3763,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BASENAME+:} false; then : +if test "${ac_cv_path_BASENAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BASENAME in @@ -3830,7 +3822,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BASH+:} false; then : +if test "${ac_cv_path_BASH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BASH in @@ -3889,7 +3881,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CAT+:} false; then : +if test "${ac_cv_path_CAT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CAT in @@ -3948,7 +3940,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHMOD+:} false; then : +if test "${ac_cv_path_CHMOD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHMOD in @@ -4007,7 +3999,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CMP+:} false; then : +if test "${ac_cv_path_CMP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CMP in @@ -4066,7 +4058,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_COMM+:} false; then : +if test "${ac_cv_path_COMM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $COMM in @@ -4125,7 +4117,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CP+:} false; then : +if test "${ac_cv_path_CP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CP in @@ -4184,7 +4176,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CPIO+:} false; then : +if test "${ac_cv_path_CPIO+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CPIO in @@ -4243,7 +4235,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CUT+:} false; then : +if test "${ac_cv_path_CUT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CUT in @@ -4302,7 +4294,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DATE+:} false; then : +if test "${ac_cv_path_DATE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DATE in @@ -4361,7 +4353,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DIFF+:} false; then : +if test "${ac_cv_path_DIFF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DIFF in @@ -4420,7 +4412,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DIRNAME+:} false; then : +if test "${ac_cv_path_DIRNAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DIRNAME in @@ -4479,7 +4471,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ECHO+:} false; then : +if test "${ac_cv_path_ECHO+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ECHO in @@ -4538,7 +4530,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_EXPR+:} false; then : +if test "${ac_cv_path_EXPR+set}" = set; then : $as_echo_n "(cached) " >&6 else case $EXPR in @@ -4597,7 +4589,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_FILE+:} false; then : +if test "${ac_cv_path_FILE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $FILE in @@ -4656,7 +4648,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_FIND+:} false; then : +if test "${ac_cv_path_FIND+set}" = set; then : $as_echo_n "(cached) " >&6 else case $FIND in @@ -4715,7 +4707,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_HEAD+:} false; then : +if test "${ac_cv_path_HEAD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $HEAD in @@ -4774,7 +4766,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LN+:} false; then : +if test "${ac_cv_path_LN+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LN in @@ -4833,7 +4825,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LS+:} false; then : +if test "${ac_cv_path_LS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LS in @@ -4892,7 +4884,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MKDIR+:} false; then : +if test "${ac_cv_path_MKDIR+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MKDIR in @@ -4951,7 +4943,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MKTEMP+:} false; then : +if test "${ac_cv_path_MKTEMP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MKTEMP in @@ -5010,7 +5002,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MV+:} false; then : +if test "${ac_cv_path_MV+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MV in @@ -5069,7 +5061,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PRINTF+:} false; then : +if test "${ac_cv_path_PRINTF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PRINTF in @@ -5128,7 +5120,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_THEPWDCMD+:} false; then : +if test "${ac_cv_path_THEPWDCMD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $THEPWDCMD in @@ -5187,7 +5179,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RM+:} false; then : +if test "${ac_cv_path_RM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $RM in @@ -5246,7 +5238,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SH+:} false; then : +if test "${ac_cv_path_SH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SH in @@ -5305,7 +5297,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SORT+:} false; then : +if test "${ac_cv_path_SORT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SORT in @@ -5364,7 +5356,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TAIL+:} false; then : +if test "${ac_cv_path_TAIL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TAIL in @@ -5423,7 +5415,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TAR+:} false; then : +if test "${ac_cv_path_TAR+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TAR in @@ -5482,7 +5474,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TEE+:} false; then : +if test "${ac_cv_path_TEE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TEE in @@ -5541,7 +5533,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TOUCH+:} false; then : +if test "${ac_cv_path_TOUCH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TOUCH in @@ -5600,7 +5592,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TR+:} false; then : +if test "${ac_cv_path_TR+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TR in @@ -5659,7 +5651,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNAME+:} false; then : +if test "${ac_cv_path_UNAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $UNAME in @@ -5718,7 +5710,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNIQ+:} false; then : +if test "${ac_cv_path_UNIQ+set}" = set; then : $as_echo_n "(cached) " >&6 else case $UNIQ in @@ -5777,7 +5769,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_WC+:} false; then : +if test "${ac_cv_path_WC+set}" = set; then : $as_echo_n "(cached) " >&6 else case $WC in @@ -5836,7 +5828,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_WHICH+:} false; then : +if test "${ac_cv_path_WHICH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $WHICH in @@ -5895,7 +5887,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XARGS+:} false; then : +if test "${ac_cv_path_XARGS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XARGS in @@ -5955,7 +5947,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -6005,7 +5997,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : +if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -6080,7 +6072,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : +if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -6159,7 +6151,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : +if test "${ac_cv_path_FGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 @@ -6238,7 +6230,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : +if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -6324,7 +6316,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_NAWK+:} false; then : +if test "${ac_cv_path_NAWK+set}" = set; then : $as_echo_n "(cached) " >&6 else case $NAWK in @@ -6384,7 +6376,7 @@ set dummy cygpath; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CYGPATH+:} false; then : +if test "${ac_cv_path_CYGPATH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CYGPATH in @@ -6424,7 +6416,7 @@ set dummy readlink; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_READLINK+:} false; then : +if test "${ac_cv_path_READLINK+set}" = set; then : $as_echo_n "(cached) " >&6 else case $READLINK in @@ -6464,7 +6456,7 @@ set dummy df; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_DF+:} false; then : +if test "${ac_cv_path_DF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DF in @@ -6504,7 +6496,7 @@ set dummy SetFile; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SETFILE+:} false; then : +if test "${ac_cv_path_SETFILE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SETFILE in @@ -6550,7 +6542,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : +if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias @@ -6566,7 +6558,7 @@ $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -6584,7 +6576,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : +if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then @@ -6599,7 +6591,7 @@ $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -6617,7 +6609,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : +if test "${ac_cv_target+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then @@ -6632,7 +6624,7 @@ $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' @@ -8098,7 +8090,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PKGHANDLER+:} false; then : +if test "${ac_cv_prog_PKGHANDLER+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PKGHANDLER"; then @@ -8463,7 +8455,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHECK_GMAKE+:} false; then : +if test "${ac_cv_path_CHECK_GMAKE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHECK_GMAKE in @@ -8817,7 +8809,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHECK_MAKE+:} false; then : +if test "${ac_cv_path_CHECK_MAKE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHECK_MAKE in @@ -9176,7 +9168,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHECK_TOOLSDIR_GMAKE+:} false; then : +if test "${ac_cv_path_CHECK_TOOLSDIR_GMAKE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHECK_TOOLSDIR_GMAKE in @@ -9529,7 +9521,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHECK_TOOLSDIR_MAKE+:} false; then : +if test "${ac_cv_path_CHECK_TOOLSDIR_MAKE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHECK_TOOLSDIR_MAKE in @@ -9925,7 +9917,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNZIP+:} false; then : +if test "${ac_cv_path_UNZIP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $UNZIP in @@ -9984,7 +9976,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZIP+:} false; then : +if test "${ac_cv_path_ZIP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ZIP in @@ -10043,7 +10035,7 @@ set dummy ldd; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LDD+:} false; then : +if test "${ac_cv_path_LDD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LDD in @@ -10089,7 +10081,7 @@ set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_OTOOL+:} false; then : +if test "${ac_cv_path_OTOOL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $OTOOL in @@ -10134,7 +10126,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_READELF+:} false; then : +if test "${ac_cv_path_READELF+set}" = set; then : $as_echo_n "(cached) " >&6 else case $READELF in @@ -10177,7 +10169,7 @@ set dummy hg; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_HG+:} false; then : +if test "${ac_cv_path_HG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $HG in @@ -10217,7 +10209,7 @@ set dummy stat; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_STAT+:} false; then : +if test "${ac_cv_path_STAT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $STAT in @@ -10257,7 +10249,7 @@ set dummy time; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TIME+:} false; then : +if test "${ac_cv_path_TIME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TIME in @@ -10302,7 +10294,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_COMM+:} false; then : +if test "${ac_cv_path_COMM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $COMM in @@ -10366,7 +10358,7 @@ set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in @@ -10409,7 +10401,7 @@ set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in @@ -10582,7 +10574,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_BDEPS_UNZIP+:} false; then : +if test "${ac_cv_prog_BDEPS_UNZIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$BDEPS_UNZIP"; then @@ -10628,7 +10620,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_BDEPS_FTP+:} false; then : +if test "${ac_cv_prog_BDEPS_FTP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$BDEPS_FTP"; then @@ -11895,7 +11887,7 @@ set dummy javac; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_JAVAC_CHECK+:} false; then : +if test "${ac_cv_path_JAVAC_CHECK+set}" = set; then : $as_echo_n "(cached) " >&6 else case $JAVAC_CHECK in @@ -11935,7 +11927,7 @@ set dummy java; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_JAVA_CHECK+:} false; then : +if test "${ac_cv_path_JAVA_CHECK+set}" = set; then : $as_echo_n "(cached) " >&6 else case $JAVA_CHECK in @@ -16009,7 +16001,7 @@ set dummy link; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CYGWIN_LINK+:} false; then : +if test "${ac_cv_path_CYGWIN_LINK+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CYGWIN_LINK in @@ -16998,7 +16990,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BUILD_CC+:} false; then : +if test "${ac_cv_path_BUILD_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BUILD_CC in @@ -17309,7 +17301,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BUILD_CXX+:} false; then : +if test "${ac_cv_path_BUILD_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BUILD_CXX in @@ -17618,7 +17610,7 @@ set dummy ld; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_BUILD_LD+:} false; then : +if test "${ac_cv_path_BUILD_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BUILD_LD in @@ -18130,7 +18122,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TOOLS_DIR_CC+:} false; then : +if test "${ac_cv_path_TOOLS_DIR_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TOOLS_DIR_CC in @@ -18182,7 +18174,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_POTENTIAL_CC+:} false; then : +if test "${ac_cv_path_POTENTIAL_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else case $POTENTIAL_CC in @@ -18595,7 +18587,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PROPER_COMPILER_CC+:} false; then : +if test "${ac_cv_prog_PROPER_COMPILER_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PROPER_COMPILER_CC"; then @@ -18639,7 +18631,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_PROPER_COMPILER_CC"; then @@ -19089,7 +19081,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -19133,7 +19125,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -19186,7 +19178,7 @@ test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -19301,7 +19293,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -19344,7 +19336,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -19403,7 +19395,7 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@ -19414,7 +19406,7 @@ ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : +if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19455,7 +19447,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -19465,7 +19457,7 @@ ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19502,7 +19494,7 @@ ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : +if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -19580,7 +19572,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -19699,7 +19691,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TOOLS_DIR_CXX+:} false; then : +if test "${ac_cv_path_TOOLS_DIR_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else case $TOOLS_DIR_CXX in @@ -19751,7 +19743,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_POTENTIAL_CXX+:} false; then : +if test "${ac_cv_path_POTENTIAL_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else case $POTENTIAL_CXX in @@ -20164,7 +20156,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PROPER_COMPILER_CXX+:} false; then : +if test "${ac_cv_prog_PROPER_COMPILER_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PROPER_COMPILER_CXX"; then @@ -20208,7 +20200,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+:} false; then : +if test "${ac_cv_prog_ac_ct_PROPER_COMPILER_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_PROPER_COMPILER_CXX"; then @@ -20662,7 +20654,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : +if test "${ac_cv_prog_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -20706,7 +20698,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -20784,7 +20776,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -20821,7 +20813,7 @@ ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : +if test "${ac_cv_prog_cxx_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag @@ -20919,7 +20911,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJC+:} false; then : +if test "${ac_cv_prog_OBJC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJC"; then @@ -20963,7 +20955,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJC+:} false; then : +if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJC"; then @@ -21039,7 +21031,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5 $as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } -if ${ac_cv_objc_compiler_gnu+:} false; then : +if test "${ac_cv_objc_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -21076,7 +21068,7 @@ ac_save_OBJCFLAGS=$OBJCFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5 $as_echo_n "checking whether $OBJC accepts -g... " >&6; } -if ${ac_cv_prog_objc_g+:} false; then : +if test "${ac_cv_prog_objc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_objc_werror_flag=$ac_objc_werror_flag @@ -21452,7 +21444,7 @@ set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : +if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -21492,7 +21484,7 @@ set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -21834,7 +21826,7 @@ set dummy link; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_WINLD+:} false; then : +if test "${ac_cv_prog_WINLD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$WINLD"; then @@ -22173,7 +22165,7 @@ set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MT+:} false; then : +if test "${ac_cv_prog_MT+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$MT"; then @@ -22494,7 +22486,7 @@ set dummy rc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RC+:} false; then : +if test "${ac_cv_prog_RC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RC"; then @@ -22885,7 +22877,7 @@ set dummy lib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_WINAR+:} false; then : +if test "${ac_cv_prog_WINAR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$WINAR"; then @@ -23191,7 +23183,7 @@ set dummy dumpbin; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : +if test "${ac_cv_prog_DUMPBIN+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then @@ -23510,7 +23502,7 @@ CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -23626,7 +23618,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=cpp @@ -23910,7 +23902,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if ${ac_cv_prog_CXXCPP+:} false; then : + if test "${ac_cv_prog_CXXCPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded @@ -24026,7 +24018,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=cpp @@ -24328,7 +24320,7 @@ set dummy as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_AS+:} false; then : +if test "${ac_cv_path_AS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $AS in @@ -24642,7 +24634,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_NM+:} false; then : +if test "${ac_cv_path_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $NM in @@ -24951,7 +24943,7 @@ set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_STRIP+:} false; then : +if test "${ac_cv_path_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $STRIP in @@ -25257,7 +25249,7 @@ set dummy mcs; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MCS+:} false; then : +if test "${ac_cv_path_MCS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MCS in @@ -25565,7 +25557,7 @@ set dummy ${ac_tool_prefix}nm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NM+:} false; then : +if test "${ac_cv_prog_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then @@ -25605,7 +25597,7 @@ set dummy nm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NM+:} false; then : +if test "${ac_cv_prog_ac_ct_NM+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NM"; then @@ -25923,7 +25915,7 @@ set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -25963,7 +25955,7 @@ set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -26288,7 +26280,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJCOPY+:} false; then : +if test "${ac_cv_prog_OBJCOPY+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJCOPY"; then @@ -26332,7 +26324,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJCOPY+:} false; then : +if test "${ac_cv_prog_ac_ct_OBJCOPY+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJCOPY"; then @@ -26659,7 +26651,7 @@ set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : +if test "${ac_cv_prog_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then @@ -26703,7 +26695,7 @@ set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then @@ -27027,7 +27019,7 @@ set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LIPO+:} false; then : +if test "${ac_cv_path_LIPO+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LIPO in @@ -27342,7 +27334,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -27518,7 +27510,7 @@ for ac_header in stdio.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" -if test "x$ac_cv_header_stdio_h" = xyes; then : +if test "x$ac_cv_header_stdio_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDIO_H 1 _ACEOF @@ -27547,7 +27539,7 @@ # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int *" >&5 $as_echo_n "checking size of int *... " >&6; } -if ${ac_cv_sizeof_int_p+:} false; then : +if test "${ac_cv_sizeof_int_p+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (int *))" "ac_cv_sizeof_int_p" "$ac_includes_default"; then : @@ -27557,7 +27549,7 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int *) -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5 ; } else ac_cv_sizeof_int_p=0 fi @@ -27604,7 +27596,7 @@ # { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : +if test "${ac_cv_c_bigendian+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown @@ -28258,10 +28250,17 @@ fi if test "x$OPENJDK_TARGET_OS" = xmacosx; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE" - # Adding these macros will make it an error to link to mac APIs newer than OS version 10.7 - MACOSX_REQUIRED_VERSION=1070 - - CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(MACOSX_REQUIRED_VERSION) -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(MACOSX_REQUIRED_VERSION)" + # Setting these parameters makes it an error to link to macosx APIs that are + # newer than the given OS version and makes the linked binaries compatible even + # if built on a newer version of the OS. + # The expected format is X.Y.Z + MACOSX_VERSION_MIN=10.7.0 + + # The macro takes the version with no dots, ex: 1070 + # Let the flags variables get resolved in make for easier override on make + # command line. + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" + LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" fi if test "x$OPENJDK_TARGET_OS" = xbsd; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE" @@ -28608,8 +28607,8 @@ have_x=disabled else case $x_includes,$x_libraries in #( - *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( - *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. @@ -28886,7 +28885,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } -if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then : +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28920,14 +28919,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } -if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then : +if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } -if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then : +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28961,7 +28960,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } -if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then : +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" fi @@ -28980,14 +28979,14 @@ # The functions gethostbyname, getservbyname, and inet_addr are # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. ac_fn_cxx_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" -if test "x$ac_cv_func_gethostbyname" = xyes; then : +if test "x$ac_cv_func_gethostbyname" = x""yes; then : fi if test $ac_cv_func_gethostbyname = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_gethostbyname+:} false; then : +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29021,14 +29020,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } -if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : +if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" fi if test $ac_cv_lib_nsl_gethostbyname = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 $as_echo_n "checking for gethostbyname in -lbsd... " >&6; } -if ${ac_cv_lib_bsd_gethostbyname+:} false; then : +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29062,7 +29061,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } -if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then : +if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" fi @@ -29077,14 +29076,14 @@ # must be given before -lnsl if both are needed. We assume that # if connect needs -lnsl, so does gethostbyname. ac_fn_cxx_check_func "$LINENO" "connect" "ac_cv_func_connect" -if test "x$ac_cv_func_connect" = xyes; then : +if test "x$ac_cv_func_connect" = x""yes; then : fi if test $ac_cv_func_connect = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 $as_echo_n "checking for connect in -lsocket... " >&6; } -if ${ac_cv_lib_socket_connect+:} false; then : +if test "${ac_cv_lib_socket_connect+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29118,7 +29117,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 $as_echo "$ac_cv_lib_socket_connect" >&6; } -if test "x$ac_cv_lib_socket_connect" = xyes; then : +if test "x$ac_cv_lib_socket_connect" = x""yes; then : X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" fi @@ -29126,14 +29125,14 @@ # Guillermo Gomez says -lposix is necessary on A/UX. ac_fn_cxx_check_func "$LINENO" "remove" "ac_cv_func_remove" -if test "x$ac_cv_func_remove" = xyes; then : +if test "x$ac_cv_func_remove" = x""yes; then : fi if test $ac_cv_func_remove = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 $as_echo_n "checking for remove in -lposix... " >&6; } -if ${ac_cv_lib_posix_remove+:} false; then : +if test "${ac_cv_lib_posix_remove+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29167,7 +29166,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 $as_echo "$ac_cv_lib_posix_remove" >&6; } -if test "x$ac_cv_lib_posix_remove" = xyes; then : +if test "x$ac_cv_lib_posix_remove" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" fi @@ -29175,14 +29174,14 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. ac_fn_cxx_check_func "$LINENO" "shmat" "ac_cv_func_shmat" -if test "x$ac_cv_func_shmat" = xyes; then : +if test "x$ac_cv_func_shmat" = x""yes; then : fi if test $ac_cv_func_shmat = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 $as_echo_n "checking for shmat in -lipc... " >&6; } -if ${ac_cv_lib_ipc_shmat+:} false; then : +if test "${ac_cv_lib_ipc_shmat+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29216,7 +29215,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 $as_echo "$ac_cv_lib_ipc_shmat" >&6; } -if test "x$ac_cv_lib_ipc_shmat" = xyes; then : +if test "x$ac_cv_lib_ipc_shmat" = x""yes; then : X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" fi @@ -29234,7 +29233,7 @@ # John Interrante, Karl Berry { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } -if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then : +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29268,7 +29267,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } -if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then : +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then : X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" fi @@ -30281,7 +30280,7 @@ LDFLAGS="$FREETYPE2_LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5 $as_echo_n "checking for FT_Init_FreeType in -lfreetype... " >&6; } -if ${ac_cv_lib_freetype_FT_Init_FreeType+:} false; then : +if test "${ac_cv_lib_freetype_FT_Init_FreeType+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30315,7 +30314,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_freetype_FT_Init_FreeType" >&5 $as_echo "$ac_cv_lib_freetype_FT_Init_FreeType" >&6; } -if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = xyes; then : +if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = x""yes; then : FREETYPE2_FOUND=true else as_fn_error $? "Could not find freetype2! $HELP_MSG " "$LINENO" 5 @@ -30603,7 +30602,7 @@ for ac_header in alsa/asoundlib.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default" -if test "x$ac_cv_header_alsa_asoundlib_h" = xyes; then : +if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ALSA_ASOUNDLIB_H 1 _ACEOF @@ -30662,7 +30661,7 @@ USE_EXTERNAL_LIBJPEG=true { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ljpeg" >&5 $as_echo_n "checking for main in -ljpeg... " >&6; } -if ${ac_cv_lib_jpeg_main+:} false; then : +if test "${ac_cv_lib_jpeg_main+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30690,7 +30689,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_main" >&5 $as_echo "$ac_cv_lib_jpeg_main" >&6; } -if test "x$ac_cv_lib_jpeg_main" = xyes; then : +if test "x$ac_cv_lib_jpeg_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBJPEG 1 _ACEOF @@ -30714,7 +30713,7 @@ USE_EXTERNAL_LIBJPEG=true { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgif" >&5 $as_echo_n "checking for main in -lgif... " >&6; } -if ${ac_cv_lib_gif_main+:} false; then : +if test "${ac_cv_lib_gif_main+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30742,7 +30741,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_main" >&5 $as_echo "$ac_cv_lib_gif_main" >&6; } -if test "x$ac_cv_lib_gif_main" = xyes; then : +if test "x$ac_cv_lib_gif_main" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGIF 1 _ACEOF @@ -30772,7 +30771,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5 $as_echo_n "checking for compress in -lz... " >&6; } -if ${ac_cv_lib_z_compress+:} false; then : +if test "${ac_cv_lib_z_compress+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30806,7 +30805,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5 $as_echo "$ac_cv_lib_z_compress" >&6; } -if test "x$ac_cv_lib_z_compress" = xyes; then : +if test "x$ac_cv_lib_z_compress" = x""yes; then : ZLIB_FOUND=yes else ZLIB_FOUND=no @@ -30899,7 +30898,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5 $as_echo_n "checking for cos in -lm... " >&6; } -if ${ac_cv_lib_m_cos+:} false; then : +if test "${ac_cv_lib_m_cos+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30933,7 +30932,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5 $as_echo "$ac_cv_lib_m_cos" >&6; } -if test "x$ac_cv_lib_m_cos" = xyes; then : +if test "x$ac_cv_lib_m_cos" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -30957,7 +30956,7 @@ LIBS="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : +if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -30991,7 +30990,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF @@ -31635,7 +31634,7 @@ set dummy ccache; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CCACHE+:} false; then : +if test "${ac_cv_path_CCACHE+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CCACHE in @@ -31896,21 +31895,10 @@ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then + test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi + cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -31942,7 +31930,7 @@ -: "${CONFIG_STATUS=./config.status}" +: ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -32043,7 +32031,6 @@ IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -32351,7 +32338,7 @@ # values after options handling. ac_log=" This file was extended by OpenJDK $as_me jdk8, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -32414,7 +32401,7 @@ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ OpenJDK config.status jdk8 -configured by $0, generated by GNU Autoconf 2.68, +configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. @@ -32543,7 +32530,7 @@ "$OUTPUT_ROOT/spec.sh") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in" ;; "$OUTPUT_ROOT/Makefile") CONFIG_FILES="$CONFIG_FILES $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@ -32565,10 +32552,9 @@ # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= ac_tmp= + tmp= trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -32576,13 +32562,12 @@ { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" + test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -32604,7 +32589,7 @@ ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF @@ -32632,7 +32617,7 @@ rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -32680,7 +32665,7 @@ rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && +cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -32712,7 +32697,7 @@ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF @@ -32746,7 +32731,7 @@ # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || +cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -32758,8 +32743,8 @@ # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then + ac_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 @@ -32860,7 +32845,7 @@ esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -32879,7 +32864,7 @@ for ac_f do case $ac_f in - -) ac_f="$ac_tmp/stdin";; + -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -32888,7 +32873,7 @@ [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -32914,8 +32899,8 @@ esac case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -33040,22 +33025,21 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$ac_tmp/stdin" + rm -f "$tmp/stdin" case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; @@ -33066,20 +33050,20 @@ if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ + mv "$tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; diff -r cb0ac8979caa -r c022bc48b7ed common/autoconf/spec.gmk.in --- a/common/autoconf/spec.gmk.in Tue Feb 26 09:25:44 2013 -0800 +++ b/common/autoconf/spec.gmk.in Tue Mar 05 11:46:02 2013 -0800 @@ -286,7 +286,7 @@ OPENWIN_HOME:=@OPENWIN_HOME@ # The lowest required version of macosx to enforce compatiblity for -MACOSX_REQUIRED_VERSION=@MACOSX_REQUIRED_VERSION@ +MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@ # There are two types: CC or CL # CC is gcc and others behaving reasonably similar. diff -r cb0ac8979caa -r c022bc48b7ed common/autoconf/toolchain.m4 --- a/common/autoconf/toolchain.m4 Tue Feb 26 09:25:44 2013 -0800 +++ b/common/autoconf/toolchain.m4 Tue Mar 05 11:46:02 2013 -0800 @@ -876,10 +876,17 @@ fi if test "x$OPENJDK_TARGET_OS" = xmacosx; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE" - # Adding these macros will make it an error to link to mac APIs newer than OS version 10.7 - MACOSX_REQUIRED_VERSION=1070 - AC_SUBST(MACOSX_REQUIRED_VERSION) - CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(MACOSX_REQUIRED_VERSION) -DMAC_OS_X_VERSION_MIN_REQUIRED=\$(MACOSX_REQUIRED_VERSION)" + # Setting these parameters makes it an error to link to macosx APIs that are + # newer than the given OS version and makes the linked binaries compatible even + # if built on a newer version of the OS. + # The expected format is X.Y.Z + MACOSX_VERSION_MIN=10.7.0 + AC_SUBST(MACOSX_VERSION_MIN) + # The macro takes the version with no dots, ex: 1070 + # Let the flags variables get resolved in make for easier override on make + # command line. + CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" + LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" fi if test "x$OPENJDK_TARGET_OS" = xbsd; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"