README-builds.html

changeset 49
541bdc5ad32f
parent 42
4b4f5fea8d7d
child 51
60aab86966e9
equal deleted inserted replaced
48:8c34e4abcb43 49:541bdc5ad32f
96 <!-- ------------------------------------------------------ --> 96 <!-- ------------------------------------------------------ -->
97 <hr> 97 <hr>
98 <h2><a name="MBE">Minimum Build Environments</a></h2> 98 <h2><a name="MBE">Minimum Build Environments</a></h2>
99 <blockquote> 99 <blockquote>
100 This file often describes specific requirements for what we call the 100 This file often describes specific requirements for what we call the
101 "minimum build environments" (MBE) for the JDK. 101 "minimum build environments" (MBE) for this
102 specific release of the JDK,
102 Building with the MBE will generate the most compatible 103 Building with the MBE will generate the most compatible
103 bits that install on, and run correctly on, the most variations 104 bits that install on, and run correctly on, the most variations
104 of the same base OS and hardware architecture. 105 of the same base OS and hardware architecture.
105 These usually represent what is often called the 106 These usually represent what is often called the
106 least common denominator platforms. 107 least common denominator platforms.
114 <table border="1"> 115 <table border="1">
115 <thead> 116 <thead>
116 <tr> 117 <tr>
117 <th>Base OS and Architecture</th> 118 <th>Base OS and Architecture</th>
118 <th>OS</th> 119 <th>OS</th>
119 <th>Compiler</th> 120 <th>C/C++ Compiler</th>
120 </tr> 121 </tr>
121 </thead> 122 </thead>
122 <tbody> 123 <tbody>
123 <tr> 124 <tr>
124 <td>Linux X86 (32bit)</td> 125 <td>Linux X86 (32-bit)</td>
125 <td>Red Hat Enterprise Linux 4 </td> 126 <td>Fedora 9</td>
126 <td>gcc 4 </td> 127 <td>gcc 4 </td>
127 </tr> 128 </tr>
128 <tr> 129 <tr>
129 <td>Linux X64 (64bit)</td> 130 <td>Linux X64 (64-bit)</td>
130 <td>Red Hat Enterprise Linux 4 </td> 131 <td>Fedora 9</td>
131 <td>gcc 4 </td> 132 <td>gcc 4 </td>
132 </tr> 133 </tr>
133 <tr> 134 <tr>
134 <td>Solaris SPARC (32bit)</td> 135 <td>Solaris SPARC (32-bit)</td>
135 <td>Solaris 10 + patches 136 <td>Solaris 10 + patches
136 <br> 137 <br>
137 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 138 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
138 SunSolve</a> for patch downloads. 139 SunSolve</a> for patch downloads.
139 </td> 140 </td>
140 <td>Sun Studio 12</td> 141 <td>Sun Studio 12</td>
141 </tr> 142 </tr>
142 <tr> 143 <tr>
143 <td>Solaris SPARCV9 (64bit)</td> 144 <td>Solaris SPARCV9 (64-bit)</td>
144 <td>Solaris 10 + patches 145 <td>Solaris 10 + patches
145 <br> 146 <br>
146 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 147 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
147 SunSolve</a> for patch downloads. 148 SunSolve</a> for patch downloads.
148 </td> 149 </td>
149 <td>Sun Studio 12</td> 150 <td>Sun Studio 12</td>
150 </tr> 151 </tr>
151 <tr> 152 <tr>
152 <td>Solaris X86 (32bit)</td> 153 <td>Solaris X86 (32-bit)</td>
153 <td>Solaris 10 + patches 154 <td>Solaris 10 + patches
154 <br> 155 <br>
155 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 156 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
156 SunSolve</a> for patch downloads. 157 SunSolve</a> for patch downloads.
157 </td> 158 </td>
158 <td>Sun Studio 12</td> 159 <td>Sun Studio 12</td>
159 </tr> 160 </tr>
160 <tr> 161 <tr>
161 <td>Solaris X64 (64bit)</td> 162 <td>Solaris X64 (64-bit)</td>
162 <td>Solaris 10 + patches 163 <td>Solaris 10 + patches
163 <br> 164 <br>
164 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 165 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank">
165 SunSolve</a> for patch downloads. 166 SunSolve</a> for patch downloads.
166 </td> 167 </td>
167 <td>Sun Studio 12</td> 168 <td>Sun Studio 12</td>
168 </tr> 169 </tr>
169 <tr> 170 <tr>
170 <td>Windows X86 (32bit)</td> 171 <td>Windows X86 (32-bit)</td>
171 <td>Windows XP</td> 172 <td>Windows XP</td>
172 <td>Microsoft Visual Studio .NET 2003 Professional</td> 173 <td>Microsoft Visual Studio C++ 2008 Standard Edition</td>
173 </tr> 174 </tr>
174 <tr> 175 <tr>
175 <td>Windows X64 (64bit)</td> 176 <td>Windows X64 (64-bit)</td>
176 <td>Windows Server 2003 - Enterprise x64 Edition</td> 177 <td>Windows Server 2003 - Enterprise x64 Edition</td>
177 <td>Microsoft Platform SDK - April 2005</td> 178 <td>Microsoft Platform SDK - April 2005</td>
178 </tr> 179 </tr>
179 </tbody> 180 </tbody>
180 </table> 181 </table>
182 <p>
183 These same sources do indeed build on many more systems than the
184 above older generation systems, again the above is just a minimum.
185 <p>
186 Compilation problems with newer or different C/C++ compilers is a
187 common problem.
188 Similarly, compilation problems related to changes to the
189 <tt>/usr/include</tt> or system header files is also a
190 common problem with newer or unreleased OS versions.
191 Please report these types of problems as bugs so that they
192 can be dealt with accordingly.
181 </blockquote> 193 </blockquote>
182 <!-- ------------------------------------------------------ --> 194 <!-- ------------------------------------------------------ -->
183 <hr> 195 <hr>
184 <h2><a name="SDBE">Specific Developer Build Environments</a></h2> 196 <h2><a name="SDBE">Specific Developer Build Environments</a></h2>
185 <blockquote> 197 <blockquote>
486 <br> 498 <br>
487 <b>WARNING:</b> Watch out for make version 3.81, it may 499 <b>WARNING:</b> Watch out for make version 3.81, it may
488 not work due to a lack of support for MS-DOS drive letter paths 500 not work due to a lack of support for MS-DOS drive letter paths
489 like <tt>C:/</tt> or <tt>C:\</tt>. 501 like <tt>C:/</tt> or <tt>C:\</tt>.
490 Use a 3.80 version, or find a newer 502 Use a 3.80 version, or find a newer
491 version that has this problem fixed, like 3.82. 503 version that has this problem fixed.
492 The older 3.80 version of make.exe can be downloaded with this 504 The older 3.80 version of make.exe can be downloaded with this
493 <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank"> 505 <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank">
494 link</a>. 506 link</a>.
495 Use of this older 3.80 make.exe may require that you install the 507 Use of this older 3.80 make.exe may require that you install the
496 libintl2.dll library or libintl2 cygwin package which is 508 libintl2.dll library or libintl2 cygwin package which is
573 Install or upgrade the <a href="#freetype">FreeType development 585 Install or upgrade the <a href="#freetype">FreeType development
574 package</a>. 586 package</a>.
575 </li> 587 </li>
576 <li> 588 <li>
577 Install 589 Install
578 <a href="#ant">Ant</a>, set 590 <a href="#ant">Ant</a>,
579 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>. 591 make sure it is in your PATH.
580 </li> 592 </li>
581 </ol> 593 </ol>
582 </blockquote> 594 </blockquote>
583 <!-- ------------------------------------------------------ --> 595 <!-- ------------------------------------------------------ -->
584 <hr> 596 <hr>
590 the Solaris x86 version, a Pentium class processor or better and at 602 the Solaris x86 version, a Pentium class processor or better and at
591 least 512 MB of RAM are recommended. 603 least 512 MB of RAM are recommended.
592 Approximately 1.4 GB of free disk 604 Approximately 1.4 GB of free disk
593 space is needed for a 32-bit build. 605 space is needed for a 32-bit build.
594 <p> 606 <p>
595 If you are building the 64bit version, you should 607 If you are building the 64-bit version, you should
596 run the command "isainfo -v" to verify that you have a 608 run the command "isainfo -v" to verify that you have a
597 64-bit installation, it should say <tt>sparcv9</tt> or 609 64-bit installation, it should say <tt>sparcv9</tt> or
598 <tt>amd64</tt>. 610 <tt>amd64</tt>.
599 An additional 7 GB of free disk space is needed 611 An additional 7 GB of free disk space is needed
600 for a 64-bit build. 612 for a 64-bit build.
638 <a href="#cups">CUPS Include files</a>, set 650 <a href="#cups">CUPS Include files</a>, set
639 <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>. 651 <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>.
640 </li> 652 </li>
641 <li> 653 <li>
642 Install 654 Install
643 <a href="#ant">Ant</a>, set 655 <a href="#ant">Ant</a>,
644 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>. 656 make sure it is in your PATH.
645 </li> 657 </li>
646 </ol> 658 </ol>
647 </blockquote> 659 </blockquote>
648 <!-- ------------------------------------------------------ --> 660 <!-- ------------------------------------------------------ -->
649 <hr> 661 <hr>
650 <h3><a name="windows">Basic Windows System Setup</a></h3> 662 <h3><a name="windows">Basic Windows System Setup</a></h3>
651 <blockquote> 663 <blockquote>
652 <strong>i586 only:</strong> 664 <strong>i586 only:</strong>
653 The minimum recommended hardware for building the 32bit or X86 665 The minimum recommended hardware for building the 32-bit or X86
654 Windows version is an Pentium class processor or better, at least 666 Windows version is an Pentium class processor or better, at least
655 512 MB of RAM, and approximately 600 MB of free disk space. 667 512 MB of RAM, and approximately 600 MB of free disk space.
656 <strong> 668 <strong>
657 NOTE: The Windows 2000 build machines need to use the 669 NOTE: The Windows build machines need to use the
658 file system NTFS. 670 file system NTFS.
659 Build machines formatted to FAT32 will not work 671 Build machines formatted to FAT32 will not work
660 because FAT32 doesn't support case-sensitivity in file names. 672 because FAT32 doesn't support case-sensitivity in file names.
661 </strong> 673 </strong>
662 <p> 674 <p>
717 <a href="#importjdk">Optional Import JDK</a>, set 729 <a href="#importjdk">Optional Import JDK</a>, set
718 <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>. 730 <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>.
719 </li> 731 </li>
720 <li> 732 <li>
721 Install the 733 Install the
722 <a href="#msvc">Microsoft Visual Studio .NET 2003 Professional</a> (32bit) or the 734 <a href="#msvc">Microsoft Visual Studio Compilers</a> (32-bit).
723 <a href="#mssdk">Microsoft Platform SDK</a> (64bit). 735 </li>
736 <li>
737 Install the
738 <a href="#mssdk">Microsoft Platform SDK</a>.
724 </li> 739 </li>
725 <li> 740 <li>
726 Setup all environment variables for compilers 741 Setup all environment variables for compilers
727 (see <a href="#msvc">compilers</a>). 742 (see <a href="#msvc">compilers</a>).
728 </li> 743 </li>
730 Install 745 Install
731 <a href="#dxsdk">Microsoft DirectX SDK</a>. 746 <a href="#dxsdk">Microsoft DirectX SDK</a>.
732 </li> 747 </li>
733 <li> 748 <li>
734 Install 749 Install
735 <a href="#ant">Ant</a>, set 750 <a href="#ant">Ant</a>,
751 make sure it is in your PATH and set
736 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>. 752 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
737 </li> 753 </li>
738 </ol> 754 </ol>
739 </blockquote> 755 </blockquote>
740 <!-- ------------------------------------------------------ --> 756 <!-- ------------------------------------------------------ -->
785 replaced with fully open source replacements as soon as possible. 801 replaced with fully open source replacements as soon as possible.
786 So currently, in order to build a complete OpenJDK image, 802 So currently, in order to build a complete OpenJDK image,
787 you must first download and install the appropriate 803 you must first download and install the appropriate
788 binary plug bundles for the OpenJDK, go to the 804 binary plug bundles for the OpenJDK, go to the
789 <a href="http://openjdk.java.net" target="_blank">OpenJDK</a> site and select 805 <a href="http://openjdk.java.net" target="_blank">OpenJDK</a> site and select
790 the "<b>Bundles(7)</b>" link and download the binaryplugs for 806 the
807 "<b>Bundles(7)</b>"
808 link and download the binaryplugs for
791 your particular platform. 809 your particular platform.
792 The file downloaded is a jar file that must be extracted by running 810 The file downloaded is a jar file that must be extracted by running
793 the jar file with: 811 the jar file with:
794 <blockquote> 812 <blockquote>
795 <pre> 813 <pre>
821 <blockquote> 839 <blockquote>
822 All OpenJDK builds require access to least Ant 1.6.5. 840 All OpenJDK builds require access to least Ant 1.6.5.
823 The Ant tool is available from the 841 The Ant tool is available from the
824 <a href="http://ant.apache.org/antlibs/bindownload.cgi" target="_blank"> 842 <a href="http://ant.apache.org/antlibs/bindownload.cgi" target="_blank">
825 Ant download site</a>. 843 Ant download site</a>.
826 You should always set 844 You should always make sure <tt>ant</tt> is in your PATH, and
845 on Windows you may also need to set
827 <tt><a href="#ANT_HOME">ANT_HOME</a></tt> 846 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>
828 to point to the location of 847 to point to the location of
829 the Ant installation, this is the directory pathname 848 the Ant installation, this is the directory pathname
830 that contains a <tt>bin and lib</tt>. 849 that contains a <tt>bin and lib</tt>.
831 It's also a good idea to also place its <tt>bin</tt> directory
832 in the <tt>PATH</tt> environment variable, although it's
833 not absolutely required.
834 </blockquote> 850 </blockquote>
835 <!-- ------------------------------------------------------ --> 851 <!-- ------------------------------------------------------ -->
836 <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4> 852 <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4>
837 <blockquote> 853 <blockquote>
838 See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank"> 854 See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank">
860 <!-- ------------------------------------------------------ --> 876 <!-- ------------------------------------------------------ -->
861 <h4><a name="compilers">Compilers</a></h4> 877 <h4><a name="compilers">Compilers</a></h4>
862 <blockquote> 878 <blockquote>
863 <strong><a name="gcc">Linux gcc/binutils</a></strong> 879 <strong><a name="gcc">Linux gcc/binutils</a></strong>
864 <blockquote> 880 <blockquote>
865 The GNU gcc compiler version should be 3.2.2 or newer. 881 The GNU gcc compiler version should be 4 or newer.
866 The binutils package should be 2.11.93.0.2-11 or newer.
867 The compiler used should be the default compiler installed 882 The compiler used should be the default compiler installed
868 in <tt>/usr/bin</tt>. 883 in <tt>/usr/bin</tt>.
869 <p>
870 Older Linux systems may require a gcc and bunutils update.
871 The Redhat Enterprise Advanced Server 2.1 update 2 system
872 is one of these systems.
873 RedHat Linux users can obtain this binutils package from
874 <a href="http://www.redhat.com"
875 target="_blank">Redhat web site</a>.
876 You will need to remove the default compiler and binutils
877 packages and install the required packages
878 into the default location on the system.
879 However if you have a new video card driver, like
880 Geforce 4 it is best to use
881 the same compiler as the kernel was built with to
882 build the new video card driver module.
883 So you should build the modules before making this change.
884 </blockquote> 884 </blockquote>
885 <strong><a name="studio">Solaris: Sun Studio</a></strong> 885 <strong><a name="studio">Solaris: Sun Studio</a></strong>
886 <blockquote> 886 <blockquote>
887 At a minimum, the 887 At a minimum, the
888 <a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank"> 888 <a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank">
901 <a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank"> 901 <a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank">
902 Sun Studio Express Download site</a> 902 Sun Studio Express Download site</a>
903 are also an option, although these compilers have not 903 are also an option, although these compilers have not
904 been extensively used yet. 904 been extensively used yet.
905 </blockquote> 905 </blockquote>
906 <strong><a name="msvc">Windows i586: Microsoft Visual Studio .NET 2003 Professional</a></strong> 906 <strong><a name="msvc">Windows i586: Microsoft Visual Studio Compilers</a></strong>
907 <blockquote> 907 <blockquote>
908 The 32-bit OpenJDK Windows build 908 The 32-bit OpenJDK Windows build
909 requires Microsoft Visual Studio .NET 2003 (VS2003) Professional 909 requires
910 Microsoft Visual Studio C++ 2008 (VS2008) Standard
910 Edition compiler. 911 Edition compiler.
911 The compiler and other tools are expected to reside 912 The compiler and other tools are expected to reside
912 in the location defined by the variable <tt>VS71COMNTOOLS</tt> which 913 in the location defined by the variable
913 is set by the Microsoft Visual Studio .NET installer. 914 <tt>VS90COMNTOOLS</tt> which
915 is set by the Microsoft Visual Studio installer.
914 <p> 916 <p>
915 Once the compiler is installed, 917 Once the compiler is installed,
916 it is recommended that you run <tt>VCVARS32.BAT</tt> 918 it is recommended that you run <tt>VCVARS32.BAT</tt>
917 to set the compiler environment variables 919 to set the compiler environment variables
918 <tt>MSVCDIR</tt>,
919 <tt>INCLUDE</tt>, 920 <tt>INCLUDE</tt>,
920 <tt>LIB</tt>, and 921 <tt>LIB</tt>, and
921 <tt>PATH</tt> 922 <tt>PATH</tt>
922 prior to building the 923 prior to building the
923 OpenJDK. 924 OpenJDK.
924 The above environment variables <b>MUST</b> be set. 925 The above environment variables <b>MUST</b> be set.
925 <p> 926 <p>
926 The Microsoft Visual Studio .NET 2005 (VS2005) compiler
927 will not work at this time due to the new runtime dll
928 and the manifest requirements.
929 <p>
930 <b>WARNING:</b> Make sure you check out the 927 <b>WARNING:</b> Make sure you check out the
931 <a href="#cygwin">CYGWIN link.exe WARNING</a>. 928 <a href="#cygwin">CYGWIN link.exe WARNING</a>.
932 The path <tt>/usr/bin</tt> must be after the path to the 929 The path <tt>/usr/bin</tt> must be after the path to the
933 Visual Studio product. 930 Visual Studio product.
934 </blockquote> 931 </blockquote>
935 <strong><a name="mssdk">Windows X64: Microsoft Platform SDK April 2005</a></strong> 932 <strong><a name="mssdk">Windows: Microsoft Platform SDK</a></strong>
936 <blockquote> 933 <blockquote>
937 On <b>X64</b>, the Microsoft Platform Software 934 On <b>X64</b>, the Microsoft Platform Software
938 Development Kit (SDK), April 2005 Edition compiler, 935 Development Kit (SDK), April 2005 Edition compiler,
939 is required for building the OpenJDK 936 is required for building the OpenJDK
940 because it contains the C/C++ compiler. 937 because it contains the C/C++ compiler.
951 <tt>PATH</tt> 948 <tt>PATH</tt>
952 prior to building the 949 prior to building the
953 OpenJDK. 950 OpenJDK.
954 The above environment variables <b>MUST</b> be set. 951 The above environment variables <b>MUST</b> be set.
955 <p> 952 <p>
956 Note that this compiler may say it's version is a 953 This Platform SDK compiler is only used on X64 builds
957 Microsoft Visual Studio .NET 2005 (VS2005), but be careful, 954 but other parts of the Platform SDK may be used
958 it will not match the official VS2005 product. 955 for the X86 builds.
959 This Platform SDK compiler is only used on X64 builds.
960 </blockquote> 956 </blockquote>
961 </blockquote> 957 </blockquote>
962 <!-- ------------------------------------------------------ --> 958 <!-- ------------------------------------------------------ -->
963 <h4><a name="zip">Zip and Unzip</a></h4> 959 <h4><a name="zip">Zip and Unzip</a></h4>
964 <blockquote> 960 <blockquote>
1239 <tt>DXSDK_DIR</tt>. 1235 <tt>DXSDK_DIR</tt>.
1240 </blockquote> 1236 </blockquote>
1241 <strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong> 1237 <strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong>
1242 <blockquote> 1238 <blockquote>
1243 <strong>i586 only:</strong> 1239 <strong>i586 only:</strong>
1244 The OpenJDK 32bit build requires access to 1240 The OpenJDK 32-bit build requires access to a redistributable
1245 <tt>MSVCRT.DLL</tt> version 6.00.8337.0 or newer. 1241 <tt>MSVCRT.DLL</tt>.
1246 If the <tt>MSVCRT.DLL</tt> is not installed in 1242 If the <tt>MSVCRT.DLL</tt> is not installed in
1247 the system32 directory set the 1243 the system32 directory set the
1248 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1244 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
1249 variable to the location. 1245 variable to the location of this file.
1250 <p> 1246 <p>
1251 <strong>X64 only:</strong> 1247 <strong>X64 only:</strong>
1252 The OpenJDK 64bit build requires access to 1248 The OpenJDK 64-bit build requires access to a redistributable
1253 <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is 1249 <tt>MSVCRT.DLL</tt>, which is
1254 usually supplied by the 1250 usually supplied by the
1255 <a href="#mssdk">Platform SDK</a>. 1251 <a href="#mssdk">Platform SDK</a>.
1256 If it is not available from the Platform SDK, 1252 If it is not available from the Platform SDK,
1257 set the 1253 set the
1258 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1254 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
1259 variable to the location. 1255 variable to the location of this file.
1260 </blockquote> 1256 </blockquote>
1261 <strong><tt><a name="msvcr71">MSVCR71.DLL</a></tt></strong> 1257 <strong><tt><a name="msvcr90">MSVCR90.DLL</a></tt></strong>
1262 <blockquote> 1258 <blockquote>
1263 <strong>i586 only:</strong> 1259 <strong>i586 only:</strong>
1264 The 1260 The
1265 OpenJDK 1261 OpenJDK
1266 build requires access to 1262 build requires access to a redistributable
1267 MSVCR71.DLL version 7.10.3052.4 or newer which should be 1263 <tt>MSVCR90.DLL</tt> which should be
1268 supplied by the 1264 supplied by the
1269 <a href="#msvc">Visual Studio product</a> 1265 <a href="#msvc">Visual Studio product</a>.
1270 If the <tt>MSVCR71.DLL</tt> is not available from the 1266 If the <tt>MSVCR90.DLL</tt> is not available from the
1271 Visual Studio product 1267 Visual Studio product
1272 set the 1268 set the
1273 <a href="#ALT_MSVCR71_DLL_PATH"><tt>ALT_MSVCR71_DLL_PATH</tt></a> 1269 <a href="#ALT_MSVCR90_DLL_PATH"><tt>ALT_MSVCR90_DLL_PATH</tt></a>
1274 variable to the location. 1270 variable to the location of this file.
1275 </blockquote> 1271 </blockquote>
1276 </blockquote> 1272 </blockquote>
1277 <!-- ------------------------------------------------------ --> 1273 <!-- ------------------------------------------------------ -->
1278 <hr> 1274 <hr>
1279 <h2><a name="creating">Creating the Build</a></h2> 1275 <h2><a name="creating">Creating the Build</a></h2>
1357 Some of the 1353 Some of the
1358 environment or make variables (just called <b>variables</b> in this 1354 environment or make variables (just called <b>variables</b> in this
1359 document) that can impact the build are: 1355 document) that can impact the build are:
1360 <blockquote> 1356 <blockquote>
1361 <dl> 1357 <dl>
1358 <dt><a name="path"><tt>PATH</tt></a> </dt>
1359 <dd>Typically you want to set the <tt>PATH</tt> to include:
1360 <ul>
1361 <li>The location of the GNU make binary</li>
1362 <li>The location of the Bootstrap JDK <tt>java</tt>
1363 (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
1364 <li>The location of the C/C++ compilers
1365 (see <a href="#compilers"><tt>compilers</tt></a>)</li>
1366 <li>The location or locations for the Unix command utilities
1367 (e.g. <tt>/usr/bin</tt>)</li>
1368 </ul>
1369 </dd>
1370 <dt><tt>MILESTONE</tt> </dt>
1371 <dd>
1372 The milestone name for the build (<i>e.g.</i>"beta").
1373 The default value is "internal".
1374 </dd>
1375 <dt><tt>BUILD_NUMBER</tt> </dt>
1376 <dd>
1377 The build number for the build (<i>e.g.</i> "b27").
1378 The default value is "b00".
1379 </dd>
1380 <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt>
1381 <dd>The <tt>ARCH_DATA_MODEL</tt> variable
1382 is used to specify whether the build is to generate 32-bit or 64-bit
1383 binaries.
1384 The Solaris build supports either 32-bit or 64-bit builds, but
1385 Windows and Linux will support only one, depending on the specific
1386 OS being used.
1387 Normally, setting this variable is only necessary on Solaris.
1388 Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries,
1389 or to <tt>64</tt> for generating 64-bit binaries.
1390 </dd>
1391 <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt>
1392 <dd>
1393 The location of the bootstrap JDK installation.
1394 See <a href="#bootjdk">Bootstrap JDK</a> for more information.
1395 You should always install your own local Bootstrap JDK and
1396 always set <tt>ALT_BOOTDIR</tt> explicitly.
1397 </dd>
1362 <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt> 1398 <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt>
1363 <dd> 1399 <dd>
1364 The location of the binary plugs installation. 1400 The location of the binary plugs installation.
1365 See <a href="#binaryplugs">Binary Plugs</a> for more information. 1401 See <a href="#binaryplugs">Binary Plugs</a> for more information.
1366 You should always have a local copy of a 1402 You should always have a local copy of a
1367 recent Binary Plugs install image 1403 recent Binary Plugs install image
1368 and set this variable to that location. 1404 and set this variable to that location.
1369 </dd> 1405 </dd>
1370 <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt> 1406 <dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt>
1371 <dd> 1407 <dd>
1372 The location of the bootstrap JDK installation. 1408 The location of a previously built JDK installation.
1373 See <a href="#bootjdk">Bootstrap JDK</a> for more information. 1409 See <a href="#importjdk">Optional Import JDK</a> for more information.
1374 You should always install your own local Bootstrap JDK and 1410 </dd>
1375 always set <tt>ALT_BOOTDIR</tt> explicitly. 1411 <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt>
1412 <dd>
1413 An override for specifying the (absolute) path of where the
1414 build output is to go.
1415 The default output directory will be build/<i>platform</i>.
1416 </dd>
1417 <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt>
1418 <dd>
1419 The location of the C/C++ compiler.
1420 The default varies depending on the platform.
1421 </dd>
1422 <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt>
1423 <dd>
1424 The location of the <a href="#cacerts">cacerts</a> file.
1425 The default will refer to
1426 <tt>jdk/src/share/lib/security/cacerts</tt>.
1427 </dd>
1428 <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt>
1429 <dd>
1430 The location of the CUPS header files.
1431 See <a href="#cups">CUPS information</a> for more information.
1432 If this path does not exist the fallback path is
1433 <tt>/usr/include</tt>.
1434 </dd>
1435 <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt>
1436 <dd>
1437 The location of the FreeType shared library.
1438 See <a href="#freetype">FreeType information</a> for details.
1439 </dd>
1440 <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt>
1441 <dd>
1442 The location of the FreeType header files.
1443 See <a href="#freetype">FreeType information</a> for details.
1444 </dd>
1445 <dt><a name="ALT_JDK_DEVTOOLS_PATH"><tt>ALT_JDK_DEVTOOLS_PATH</tt></a></dt>
1446 <dd>
1447 The default root location of the devtools.
1448 The default value is
1449 <tt>$(ALT_SLASH_JAVA)/devtools</tt>.
1450 </dd>
1451 <dt><tt><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></tt> </dt>
1452 <dd>
1453 The location of tools like the
1454 <a href="#zip"><tt>zip</tt> and <tt>unzip</tt></a>
1455 binaries, but might also contain the GNU make utility
1456 (<tt><i>gmake</i></tt>).
1457 So this area is a bit of a grab bag, especially on Windows.
1458 The default value depends on the platform and
1459 Unix Commands being used.
1460 On Linux the default will be
1461 <tt>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</tt>,
1462 on Solaris
1463 <tt>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</tt>,
1464 and on Windows with CYGWIN
1465 <tt>/usr/bin</tt>.
1466 </dd>
1467 <dt><a name="ALT_UNIXCCS_PATH"><tt>ALT_UNIXCCS_PATH</tt></a></dt>
1468 <dd>
1469 <strong>Solaris only:</strong>
1470 An override for specifying where the Unix CCS
1471 command set are located.
1472 The default location is <tt>/usr/ccs/bin</tt>
1473 </dd>
1474 <dt><a name="ALT_SLASH_JAVA"><tt>ALT_SLASH_JAVA</tt></a></dt>
1475 <dd>
1476 The default root location for many of the ALT path locations
1477 of the following ALT variables.
1478 The default value is
1479 <tt>"/java"</tt> on Solaris and Linux,
1480 <tt>"J:"</tt> on Windows.
1481 </dd>
1482 <dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt>
1483 <dd>
1484 These are useful in managing builds on multiple platforms.
1485 The default network location for all of the import JDK images
1486 for all platforms.
1487 If <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>
1488 is not set, this directory will be used and should contain
1489 the following directories:
1490 <tt>solaris-sparc</tt>,
1491 <tt>solaris-i586</tt>,
1492 <tt>solaris-sparcv9</tt>,
1493 <tt>solaris-amd64</tt>,
1494 <tt>linux-i586</tt>,
1495 <tt>linux-amd64</tt>,
1496 <tt>windows-i586</tt>,
1497 and
1498 <tt>windows-amd64</tt>.
1499 Where each of these directories contain the import JDK image
1500 for that platform.
1376 </dd> 1501 </dd>
1377 <dt><a name="ALT_BUILD_BINARY_PLUGS_PATH"><tt>ALT_BUILD_BINARY_PLUGS_PATH</tt></a></dt> 1502 <dt><a name="ALT_BUILD_BINARY_PLUGS_PATH"><tt>ALT_BUILD_BINARY_PLUGS_PATH</tt></a></dt>
1378 <dd> 1503 <dd>
1379 These are useful in managing builds on multiple platforms. 1504 These are useful in managing builds on multiple platforms.
1380 The default network location for all of the binary plug images 1505 The default network location for all of the binary plug images
1392 and 1517 and
1393 <tt>windows-amd64</tt>. 1518 <tt>windows-amd64</tt>.
1394 Where each of these directories contain the binary plugs image 1519 Where each of these directories contain the binary plugs image
1395 for that platform. 1520 for that platform.
1396 </dd> 1521 </dd>
1397 <dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt> 1522 <dt><strong>Windows specific:</strong></dt>
1398 <dd> 1523 <dd>
1399 These are useful in managing builds on multiple platforms. 1524 <dl>
1400 The default network location for all of the import JDK images 1525 <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
1401 for all platforms. 1526 <dd>
1402 If <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt> 1527 The location of the
1403 is not set, this directory will be used and should contain 1528 Microsoft Visual Studio
1404 the following directories: 1529 tools 'bin' directory.
1405 <tt>solaris-sparc</tt>, 1530 The default is usually derived from
1406 <tt>solaris-i586</tt>, 1531 <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
1407 <tt>solaris-sparcv9</tt>, 1532 </dd>
1408 <tt>solaris-amd64</tt>, 1533 <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
1409 <tt>linux-i586</tt>, 1534 <dd>
1410 <tt>linux-amd64</tt>, 1535 The location of the
1411 <tt>windows-i586</tt>, 1536 <a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
1412 and 1537 The default will be to try and use the DirectX environment
1413 <tt>windows-amd64</tt>. 1538 variable <tt>DXSDK_DIR</tt>,
1414 Where each of these directories contain the import JDK image 1539 failing that, look in <tt>C:/DXSDK</tt>.
1415 for that platform. 1540 </dd>
1416 </dd> 1541 <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt>
1417 <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt> 1542 <dd>
1418 <dd> 1543 The location of the
1419 The location of the <a href="#cacerts">cacerts</a> file. 1544 <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>.
1420 The default will refer to 1545 </dd>
1421 <tt>jdk/src/share/lib/security/cacerts</tt>. 1546 <dt><tt><a name="ALT_MSVCR90_DLL_PATH">ALT_MSVCR90_DLL_PATH</a></tt> </dt>
1422 </dd> 1547 <dd>
1423 <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt> 1548 <strong>i586 only:</strong>
1424 <dd> 1549 The location of the
1425 The location of the C/C++ compiler. 1550 <a href="#msvcr90"><tt>MSVCR90.DLL</tt></a>.
1426 The default varies depending on the platform. 1551 </dd>
1427 </dd> 1552 </dl>
1428 <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt>
1429 <dd>
1430 The location of the CUPS header files.
1431 See <a href="#cups">CUPS information</a> for more information.
1432 If this path does not exist the fallback path is
1433 <tt>/usr/include</tt>.
1434 </dd>
1435 <dt><tt><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></tt> </dt>
1436 <dd>
1437 The location of tools like the
1438 <a href="#zip"><tt>zip</tt> and <tt>unzip</tt></a>
1439 binaries, but might also contain the GNU make utility
1440 (<tt><i>gmake</i></tt>).
1441 So this area is a bit of a grab bag, especially on Windows.
1442 The default value depends on the platform and
1443 Unix Commands being used.
1444 On Linux the default will be
1445 <tt>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</tt>,
1446 on Solaris
1447 <tt>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</tt>,
1448 on Windows with MKS
1449 <tt>%SYSTEMDRIVE%/UTILS</tt>,
1450 and on Windows with CYGWIN
1451 <tt>/usr/bin</tt>.
1452 </dd>
1453 <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
1454 <dd>
1455 <strong>Windows Only:</strong>
1456 The location of the
1457 <a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
1458 The default will be to try and use the DirectX environment
1459 variable <tt>DXSDK_DIR</tt>,
1460 failing that, look in <tt>C:/DXSDK</tt>.
1461 </dd>
1462 <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt>
1463 <dd>
1464 The location of the FreeType header files.
1465 See <a href="#freetype">FreeType information</a> for details.
1466 </dd>
1467 <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt>
1468 <dd>
1469 The location of the FreeType shared library.
1470 See <a href="#freetype">FreeType information</a> for details.
1471 </dd>
1472 <dt><a name="ALT_JDK_DEVTOOLS_PATH"><tt>ALT_JDK_DEVTOOLS_PATH</tt></a></dt>
1473 <dd>
1474 The default root location of the devtools.
1475 The default value is
1476 <tt>$(ALT_SLASH_JAVA)/devtools</tt>.
1477 </dd>
1478 <dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt>
1479 <dd>
1480 The location of a previously built JDK installation.
1481 See <a href="#importjdk">Optional Import JDK</a> for more information.
1482 </dd>
1483 <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
1484 <dd>
1485 <strong>Windows Only:</strong>
1486 The location of the Microsoft Visual Studio .NET 2003
1487 tools 'bin' directory.
1488 The default is usually derived from
1489 <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
1490 </dd>
1491 <dt><tt><a name="ALT_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt>
1492 <dd>
1493 <strong>Windows i586 only:</strong>
1494 The location of the
1495 <a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>.
1496 </dd>
1497 <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt>
1498 <dd>
1499 <strong>Windows Only:</strong>
1500 The location of the
1501 <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>.
1502 </dd>
1503 <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt>
1504 <dd>
1505 An override for specifying the (absolute) path of where the
1506 build output is to go.
1507 The default output directory will be build/<i>platform</i>.
1508 </dd>
1509 <dt><a name="ALT_SLASH_JAVA"><tt>ALT_SLASH_JAVA</tt></a></dt>
1510 <dd>
1511 The default root location for many of the ALT path locations
1512 of the following ALT variables.
1513 The default value is
1514 <tt>"/java"</tt> on Solaris and Linux,
1515 <tt>"J:"</tt> on Windows.
1516 </dd>
1517 <dt><a name="ALT_UNIXCCS_PATH"><tt>ALT_UNIXCCS_PATH</tt></a></dt>
1518 <dd>
1519 <strong>Solaris only:</strong>
1520 An override for specifying where the Unix CCS
1521 command set are located.
1522 The default location is <tt>/usr/ccs/bin</tt>
1523 </dd>
1524 <dt><a name="ALT_UNIXCOMMAND_PATH"><tt>ALT_UNIXCOMMAND_PATH</tt></a> </dt>
1525 <dd>
1526 An override for specifying where the
1527 Unix command set are located.
1528 The default location varies depending on the platform,
1529 <tt>"%SYSTEMDRIVE%/MKSNT"</tt> or
1530 <tt>$(ROOTDIR)</tt> on Windows with MKS, otherwise it's
1531 <tt>"/bin"</tt> or <tt>/usr/bin</tt>.
1532 </dd>
1533 <dt><a name="ALT_USRBIN_PATH"><tt>ALT_USRBIN_PATH</tt></a></dt>
1534 <dd>
1535 An override for specifying where the
1536 Unix <tt>/usr/bin</tt> commands are located. You usually do not need
1537 to set this variable: the default location is <tt>/usr/bin</tt>)
1538 </dd>
1539 <dt><a name="ANT_HOME"><tt>ANT_HOME</tt></a></dt>
1540 <dd>
1541 The location of the Ant installation.
1542 See <a href="#ant">Ant</a> for more information.
1543 You should always set <tt>ANT_HOME</tt> explicitly.
1544 </dd>
1545 <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt>
1546 <dd>The <tt>ARCH_DATA_MODEL</tt> variable
1547 is used to specify whether the build is to generate 32-bit or 64-bit
1548 binaries.
1549 The Solaris build supports either 32-bit or 64-bit builds, but
1550 Windows and Linux will support only one, depending on the specific
1551 OS being used.
1552 Normally, setting this variable is only necessary on Solaris.
1553 Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries,
1554 or to <tt>64</tt> for generating 64-bit binaries.
1555 </dd>
1556 <dt><tt>BUILD_NUMBER</tt> </dt>
1557 <dd>
1558 The build number for the build (<i>e.g.</i> "b27").
1559 The default value is "b00".
1560 </dd>
1561 <dt><tt>MILESTONE</tt> </dt>
1562 <dd>
1563 The milestone name for the build (<i>e.g.</i>"beta").
1564 The default value is "internal".
1565 </dd>
1566 <dt><a name="path"><tt>PATH</tt></a> </dt>
1567 <dd>Typically you want to set the <tt>PATH</tt> to include:
1568 <ul>
1569 <li>The location of the GNU make binary</li>
1570 <li>The location of the Bootstrap JDK <tt>java</tt>
1571 (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
1572 <li>The location of the C/C++ compilers
1573 (see <a href="#compilers"><tt>compilers</tt></a>)</li>
1574 <li>The location or locations for the Unix command utilities
1575 (e.g. <tt>/usr/bin</tt>)</li>
1576 </ul>
1577 </dd> 1553 </dd>
1578 </dl> 1554 </dl>
1579 </blockquote> 1555 </blockquote>
1580 <!-- ------------------------------------------------------ --> 1556 <!-- ------------------------------------------------------ -->
1581 <hr> 1557 <hr>
1659 <b>Error Message: <tt>libstdc++ not found:</tt></b> 1635 <b>Error Message: <tt>libstdc++ not found:</tt></b>
1660 <blockquote> 1636 <blockquote>
1661 This is caused by a missing libstdc++.a library. 1637 This is caused by a missing libstdc++.a library.
1662 This is installed as part of a specific package 1638 This is installed as part of a specific package
1663 (e.g. libstdc++.so.devel.386). 1639 (e.g. libstdc++.so.devel.386).
1664 By default some 64bit Linux versions (e.g. Fedora) 1640 By default some 64-bit Linux versions (e.g. Fedora)
1665 only install the 64bit version of the libstdc++ package. 1641 only install the 64-bit version of the libstdc++ package.
1666 Various parts of the JDK build require a static 1642 Various parts of the JDK build require a static
1667 link of the C++ runtime libraries to allow for maximum 1643 link of the C++ runtime libraries to allow for maximum
1668 portability of the built images. 1644 portability of the built images.
1669 </blockquote> 1645 </blockquote>
1670 </li> 1646 </li>

mercurial