# HG changeset patch # User duke # Date 1499265833 -7200 # Node ID 5f64a7d3cfb4b6ef27856836892f1e1b1cbf5789 # Parent 49f1a8464e11472434e5ee59f48aaab2954b5c2b# Parent 9d3c7a336f9372504ad0eea7b48190f6cca857cc Merge diff -r 49f1a8464e11 -r 5f64a7d3cfb4 .hgtags-top-repo --- a/.hgtags-top-repo Fri Nov 21 16:11:18 2008 -0800 +++ b/.hgtags-top-repo Wed Jul 05 16:43:53 2017 +0200 @@ -14,3 +14,4 @@ 744554f5a3290e11c71cd2ddb1aff49e431f9ed0 jdk7-b37 cc47a76899ed33a2c513cb688348244c9b5a1288 jdk7-b38 ab523b49de1fc73fefe6855ce1e0349bdbd7af29 jdk7-b39 +44be42de6693063fb191989bf0e188de2fa51e7c jdk7-b40 diff -r 49f1a8464e11 -r 5f64a7d3cfb4 README-builds.html --- a/README-builds.html Fri Nov 21 16:11:18 2008 -0800 +++ b/README-builds.html Wed Jul 05 16:43:53 2017 +0200 @@ -98,7 +98,8 @@

Minimum Build Environments

This file often describes specific requirements for what we call the - "minimum build environments" (MBE) for the JDK. + "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. @@ -116,22 +117,22 @@ Base OS and Architecture OS - Compiler + C/C++ Compiler - Linux X86 (32bit) - Red Hat Enterprise Linux 4 + Linux X86 (32-bit) + Fedora 9 gcc 4 - Linux X64 (64bit) - Red Hat Enterprise Linux 4 + Linux X64 (64-bit) + Fedora 9 gcc 4 - Solaris SPARC (32bit) + Solaris SPARC (32-bit) Solaris 10 + patches
See @@ -140,7 +141,7 @@ Sun Studio 12 - Solaris SPARCV9 (64bit) + Solaris SPARCV9 (64-bit) Solaris 10 + patches
See
@@ -149,7 +150,7 @@ Sun Studio 12 - Solaris X86 (32bit) + Solaris X86 (32-bit) Solaris 10 + patches
See
@@ -158,7 +159,7 @@ Sun Studio 12 - Solaris X64 (64bit) + Solaris X64 (64-bit) Solaris 10 + patches
See
@@ -167,17 +168,28 @@ Sun Studio 12 - Windows X86 (32bit) + Windows X86 (32-bit) Windows XP - Microsoft Visual Studio .NET 2003 Professional + Microsoft Visual Studio C++ 2008 Standard Edition - Windows X64 (64bit) + Windows X64 (64-bit) Windows Server 2003 - Enterprise x64 Edition Microsoft Platform SDK - April 2005 +

+ 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.


@@ -488,7 +500,7 @@ not work due to a lack of support for MS-DOS drive letter paths like C:/ or C:\. Use a 3.80 version, or find a newer - version that has this problem fixed, like 3.82. + version that has this problem fixed. The older 3.80 version of make.exe can be downloaded with this
link. @@ -575,8 +587,8 @@
  • Install - Ant, set - ANT_HOME. + Ant, + make sure it is in your PATH.
  • @@ -592,7 +604,7 @@ Approximately 1.4 GB of free disk space is needed for a 32-bit build.

    - If you are building the 64bit version, you should + 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. @@ -640,8 +652,8 @@

  • Install - Ant, set - ANT_HOME. + Ant, + make sure it is in your PATH.
  • @@ -650,11 +662,11 @@

    Basic Windows System Setup

    i586 only: - The minimum recommended hardware for building the 32bit or X86 + 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 2000 build machines need to use the + 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. @@ -719,8 +731,11 @@
  • Install the - Microsoft Visual Studio .NET 2003 Professional (32bit) or the - Microsoft Platform SDK (64bit). + Microsoft Visual Studio Compilers (32-bit). +
  • +
  • + Install the + Microsoft Platform SDK.
  • Setup all environment variables for compilers @@ -732,7 +747,8 @@
  • Install - Ant, set + Ant, + make sure it is in your PATH and set ANT_HOME.
  • @@ -787,7 +803,9 @@ you must first download and install the appropriate binary plug bundles for the OpenJDK, go to the OpenJDK site and select - the "Bundles(7)" link and download the binaryplugs for + the + "Bundles(7)" + link and download the binaryplugs for your particular platform. The file downloaded is a jar file that must be extracted by running the jar file with: @@ -823,14 +841,12 @@ The Ant tool is available from the Ant download site. - You should always set + 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. - It's also a good idea to also place its bin directory - in the PATH environment variable, although it's - not absolutely required.

    Certificate Authority File (cacert)

    @@ -862,25 +878,9 @@
    Linux gcc/binutils
    - The GNU gcc compiler version should be 3.2.2 or newer. - The binutils package should be 2.11.93.0.2-11 or newer. + The GNU gcc compiler version should be 4 or newer. The compiler used should be the default compiler installed in /usr/bin. -

    - Older Linux systems may require a gcc and bunutils update. - The Redhat Enterprise Advanced Server 2.1 update 2 system - is one of these systems. - RedHat Linux users can obtain this binutils package from - Redhat web site. - You will need to remove the default compiler and binutils - packages and install the required packages - into the default location on the system. - However if you have a new video card driver, like - Geforce 4 it is best to use - the same compiler as the kernel was built with to - build the new video card driver module. - So you should build the modules before making this change.

    Solaris: Sun Studio
    @@ -903,19 +903,20 @@ are also an option, although these compilers have not been extensively used yet.
    - Windows i586: Microsoft Visual Studio .NET 2003 Professional + Windows i586: Microsoft Visual Studio Compilers
    The 32-bit OpenJDK Windows build - requires Microsoft Visual Studio .NET 2003 (VS2003) Professional + requires + Microsoft Visual Studio C++ 2008 (VS2008) Standard Edition compiler. The compiler and other tools are expected to reside - in the location defined by the variable VS71COMNTOOLS which - is set by the Microsoft Visual Studio .NET installer. + in the location defined by the variable + VS90COMNTOOLS 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 - MSVCDIR, INCLUDE, LIB, and PATH @@ -923,16 +924,12 @@ OpenJDK. The above environment variables MUST be set.

    - The Microsoft Visual Studio .NET 2005 (VS2005) compiler - will not work at this time due to the new runtime dll - and the manifest requirements. -

    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 Platform SDK April 2005 + Windows: Microsoft Platform SDK
    On X64, the Microsoft Platform Software Development Kit (SDK), April 2005 Edition compiler, @@ -953,10 +950,9 @@ OpenJDK. The above environment variables MUST be set.

    - Note that this compiler may say it's version is a - Microsoft Visual Studio .NET 2005 (VS2005), but be careful, - it will not match the official VS2005 product. - This Platform SDK compiler is only used on X64 builds. + This Platform SDK compiler is only used on X64 builds + but other parts of the Platform SDK may be used + for the X86 builds.

    @@ -1241,37 +1237,37 @@ MSVCRT.DLL
    i586 only: - The OpenJDK 32bit build requires access to - MSVCRT.DLL version 6.00.8337.0 or newer. + The OpenJDK 32-bit build requires access to a redistributable + MSVCRT.DLL. If the MSVCRT.DLL is not installed in the system32 directory set the ALT_MSVCRT_DLL_PATH - variable to the location. + variable to the location of this file.

    X64 only: - The OpenJDK 64bit build requires access to - MSVCRT.DLL version 7.0.3790.0 or newer, which is + The OpenJDK 64-bit build requires access to a redistributable + MSVCRT.DLL, which is usually supplied by the Platform SDK. If it is not available from the Platform SDK, set the ALT_MSVCRT_DLL_PATH - variable to the location. + variable to the location of this file.

    - MSVCR71.DLL + MSVCR90.DLL
    i586 only: The OpenJDK - build requires access to - MSVCR71.DLL version 7.10.3052.4 or newer which should be + build requires access to a redistributable + MSVCR90.DLL which should be supplied by the - Visual Studio product - If the MSVCR71.DLL is not available from the + Visual Studio product. + If the MSVCR90.DLL is not available from the Visual Studio product set the - ALT_MSVCR71_DLL_PATH - variable to the location. + ALT_MSVCR90_DLL_PATH + variable to the location of this file.
    @@ -1359,13 +1355,38 @@ document) that can impact the build are:
    -
    ALT_BINARY_PLUGS_PATH
    +
    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 location of the binary plugs installation. - See Binary Plugs for more information. - You should always have a local copy of a - recent Binary Plugs install image - and set this variable to that location. + 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
    @@ -1374,25 +1395,89 @@ You should always install your own local Bootstrap JDK and always set ALT_BOOTDIR explicitly.
    -
    ALT_BUILD_BINARY_PLUGS_PATH
    +
    ALT_BINARY_PLUGS_PATH
    +
    + The location of the binary plugs installation. + See Binary Plugs for more information. + You should always have a local copy of a + recent Binary Plugs install image + and set this variable to that location. +
    +
    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
    - These are useful in managing builds on multiple platforms. - The default network location for all of the binary plug images - for all platforms. - If ALT_BINARY_PLUGS_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 binary plugs image - for that platform. + 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_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
    @@ -1414,166 +1499,57 @@ Where each of these directories contain the import JDK image for that platform.
    -
    ALT_CACERTS_FILE
    -
    - The location of the cacerts file. - The default will refer to - jdk/src/share/lib/security/cacerts. -
    -
    ALT_COMPILER_PATH
    -
    - The location of the C/C++ compiler. - The default varies depending on the platform. -
    -
    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_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, - on Windows with MKS - %SYSTEMDRIVE%/UTILS, - and on Windows with CYGWIN - /usr/bin. -
    -
    ALT_DXSDK_PATH
    +
    ALT_BUILD_BINARY_PLUGS_PATH
    - Windows Only: - 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_FREETYPE_HEADERS_PATH
    -
    - The location of the FreeType header files. - See FreeType information for details. -
    -
    ALT_FREETYPE_LIB_PATH
    -
    - The location of the FreeType shared library. - 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_JDK_IMPORT_PATH
    -
    - The location of a previously built JDK installation. - See Optional Import JDK for more information. -
    -
    ALT_MSDEVTOOLS_PATH
    -
    - Windows Only: - The location of the Microsoft Visual Studio .NET 2003 - tools 'bin' directory. - The default is usually derived from - ALT_COMPILER_PATH. -
    -
    ALT_MSVCR71_DLL_PATH
    -
    - Windows i586 only: - The location of the - MSVCR71.DLL. + These are useful in managing builds on multiple platforms. + The default network location for all of the binary plug images + for all platforms. + If ALT_BINARY_PLUGS_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 binary plugs image + for that platform.
    -
    ALT_MSVCRT_DLL_PATH
    -
    - Windows Only: - The location of the - MSVCRT.DLL. -
    -
    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_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_UNIXCCS_PATH
    -
    - Solaris only: - An override for specifying where the Unix CCS - command set are located. - The default location is /usr/ccs/bin -
    -
    ALT_UNIXCOMMAND_PATH
    -
    - An override for specifying where the - Unix command set are located. - The default location varies depending on the platform, - "%SYSTEMDRIVE%/MKSNT" or - $(ROOTDIR) on Windows with MKS, otherwise it's - "/bin" or /usr/bin. -
    -
    ALT_USRBIN_PATH
    +
    Windows specific:
    - An override for specifying where the - Unix /usr/bin commands are located. You usually do not need - to set this variable: the default location is /usr/bin) -
    -
    ANT_HOME
    -
    - The location of the Ant installation. - See Ant for more information. - You should always set ANT_HOME explicitly. -
    -
    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. -
    -
    BUILD_NUMBER
    -
    - The build number for the build (e.g. "b27"). - The default value is "b00". -
    -
    MILESTONE
    -
    - The milestone name for the build (e.g."beta"). - The default value is "internal". -
    -
    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)
    • -
    +
    +
    ALT_MSDEVTOOLS_PATH
    +
    + The location of the + Microsoft Visual Studio + tools 'bin' directory. + The default is usually derived from + ALT_COMPILER_PATH. +
    +
    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_MSVCRT_DLL_PATH
    +
    + The location of the + MSVCRT.DLL. +
    +
    ALT_MSVCR90_DLL_PATH
    +
    + i586 only: + The location of the + MSVCR90.DLL. +
    +
    @@ -1661,8 +1637,8 @@ 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 64bit Linux versions (e.g. Fedora) - only install the 64bit version of the libstdc++ package. + 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.