48 <li><a href="#fedora">Fedora Linux</a> </li>
49 <li><a href="#centos">CentOS Linux</a> </li>
50 <li><a href="#debian">Debian GNU/Linux</a></li>
51 <li><a href="#ubuntu">Ubuntu Linux</a> </li>
52 <li><a href="#opensuse">OpenSUSE</a></li>
53 <li><a href="#mandriva">Mandriva</a></li>
54 <li><a href="#opensolaris">OpenSolaris</a></li>
55 </ul>
56 </li>
57 <li><a href="#directories">Source Directory Structure</a>
58 <ul>
59 <li><a href="#drops">Managing the Source Drops</a></li>
60 </ul>
61 </li>
62 <li><a href="#building">Build Information</a>
63 <ul>
64 <li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li>
65 <li><a href="#linux">Basic Linux System Setup</a> </li>
66 <li><a href="#solaris">Basic Solaris System Setup</a> </li>
67 <li><a href="#windows">Basic Windows System Setup</a> </li>
68 <li><a href="#dependencies">Build Dependencies</a>
69 <ul>
70 <li><a href="#bootjdk">Bootstrap JDK</a> </li>
71 <li><a href="#importjdk">Optional Import JDK</a> </li>
72 <li><a href="#ant">Ant 1.7.1</a> </li>
73 <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
74 <li><a href="#compilers">Compilers</a>
75 <ul>
76 <li><a href="#msvc32">Microsoft Visual Studio Professional/Express for 32 bit</a> </li>
77 <li><a href="#msvc64">Microsoft Visual Studio Professional for 64 bit</a> </li>
78 <li><a href="#mssdk64">Microsoft Windows SDK for 64 bit</a> </li>
79 <li><a href="#gcc">Linux gcc/binutils</a> </li>
80 <li><a href="#studio">Sun Studio</a> </li>
81 </ul>
82 </li>
83 <li><a href="#zip">Zip and Unzip</a> </li>
84 <li><a href="#freetype">FreeType2 Fonts</a> </li>
85 <li>Linux and Solaris:
86 <ul>
87 <li><a href="#cups">CUPS Include files</a> </li>
213 <td>JDK 6u18</td>
214 </tr>
215 <tr>
216 <td>Solaris X64 (64-bit)</td>
217 <td>Solaris 10 Update 6</td>
218 <td>Sun Studio 12 Update 1 + patches</td>
219 <td>JDK 6u18</td>
220 </tr>
221 <tr>
222 <td>Windows X86 (32-bit)</td>
223 <td>Windows XP</td>
224 <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
225 <td>JDK 6u18</td>
226 </tr>
227 <tr>
228 <td>Windows X64 (64-bit)</td>
229 <td>Windows Server 2003 - Enterprise x64 Edition</td>
230 <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
231 <td>JDK 6u18</td>
232 </tr>
233 </tbody>
234 </table>
235 <p>
236 These same sources do indeed build on many more systems than the
237 above older generation systems, again the above is just a minimum.
238 <p>
239 Compilation problems with newer or different C/C++ compilers is a
240 common problem.
241 Similarly, compilation problems related to changes to the
242 <tt>/usr/include</tt> or system header files is also a
243 common problem with newer or unreleased OS versions.
244 Please report these types of problems as bugs so that they
245 can be dealt with accordingly.
246 </blockquote>
247 <!-- ------------------------------------------------------ -->
248 <hr>
249 <h2><a name="SDBE">Specific Developer Build Environments</a></h2>
250 <blockquote>
251 We won't be listing all the possible environments, but
252 we will try to provide what information we have available to us.
934 <a href="#msvc32">Microsoft Visual Studio Compilers</a>).
935 </li>
936 <li>
937 Setup all environment variables for compilers
938 (see <a href="#msvc32">compilers</a>).
939 </li>
940 <li>
941 Install
942 <a href="#dxsdk">Microsoft DirectX SDK</a>.
943 </li>
944 <li>
945 Install
946 <a href="#ant">Ant 1.7.1 or newer</a>,
947 make sure it is in your PATH and set
948 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
949 </li>
950 </ol>
951 </blockquote>
952 <!-- ------------------------------------------------------ -->
953 <hr>
954 <h3><a name="dependencies">Build Dependencies</a></h3>
955 <blockquote>
956 Depending on the platform, the OpenJDK build process has some basic
957 dependencies on components not part of the OpenJDK sources.
958 Some of these are specific to a platform, some even specific to
959 an architecture.
960 Each dependency will have a set of ALT variables that can be set
961 to tell the makefiles where to locate the component.
962 In most cases setting these ALT variables may not be necessary
963 and the makefiles will find defaults on the system in standard
964 install locations or through component specific variables.
965 <!-- ------------------------------------------------------ -->
966 <h4><a name="bootjdk">Bootstrap JDK</a></h4>
967 <blockquote>
968 All OpenJDK builds require access to the previously released
969 JDK 6, this is often called a bootstrap JDK.
970 The JDK 6 binaries can be downloaded from Sun's
971 <a href="http://java.sun.com/javase/downloads/index.jsp"
972 target="_blank">JDK 6 download site</a>.
973 For build performance reasons
1177 an unbundled Windows SDK but this is no longer necessary if
1178 you have VS2010 Professional.
1179 </blockquote>
1180 <strong><a name="mssdk64">Windows x64: Microsoft Windows 7.1 SDK 64 bit compilers.</a></strong>
1181 For a free alternative for 64 bit builds, use the 7.1 SDK.
1182 Microsoft say that to set up your paths for this run
1183 <pre>
1184 c:\Program Files\Microsoft SDKs\Windows\v7.1\bin\setenv.cmd /x64.
1185 </pre>
1186 What was tested is just directly setting up LIB, INCLUDE,
1187 PATH and based on the installation directories using the
1188 DOS short name appropriate for the system, (you will
1189 need to set them for yours, not just blindly copy this) eg :
1190 <pre>
1191 set VSINSTALLDIR=c:\PROGRA~2\MICROS~1.0
1192 set WindowsSdkDir=c:\PROGRA~1\MICROS~1\Windows\v7.1
1193 set PATH=%VSINSTALLDIR%\vc\bin\amd64;%VSINSTALLDIR%\Common7\IDE;%WindowsSdkDir%\bin;%PATH%
1194 set INCLUDE=%VSINSTALLDIR%\vc\include;%WindowsSdkDir%\include
1195 set LIB=%VSINSTALLDIR%\vc\lib\amd64;%WindowsSdkDir%\lib\x64
1196 </pre>
1197 </blockquote>
1198 <!-- ------------------------------------------------------ -->
1199 <h4><a name="zip">Zip and Unzip</a></h4>
1200 <blockquote>
1201 Version 2.2 (November 3rd 1997) or newer of the zip utility
1202 and version 5.12 or newer of the unzip utility is needed
1203 to build the JDK.
1204 With Solaris, Linux, and Windows CYGWIN, the zip and unzip
1205 utilities installed on the system should be fine.
1206 Information and the source code for
1207 ZIP.EXE and UNZIP.EXE is available on the
1208 <a href="http://www.info-zip.org"
1209 target="_blank">info-zip web site</a>.
1210 </blockquote>
1211 <!-- ------------------------------------------------------ -->
1212 <h4><a name="cups">Common UNIX Printing System (CUPS) Headers (Solaris & Linux)</a></h4>
1213 <blockquote>
1214 <strong>Solaris:</strong>
1215 CUPS header files are required for building the
1216 OpenJDK on Solaris.
|
48 <li><a href="#fedora">Fedora Linux</a> </li>
49 <li><a href="#centos">CentOS Linux</a> </li>
50 <li><a href="#debian">Debian GNU/Linux</a></li>
51 <li><a href="#ubuntu">Ubuntu Linux</a> </li>
52 <li><a href="#opensuse">OpenSUSE</a></li>
53 <li><a href="#mandriva">Mandriva</a></li>
54 <li><a href="#opensolaris">OpenSolaris</a></li>
55 </ul>
56 </li>
57 <li><a href="#directories">Source Directory Structure</a>
58 <ul>
59 <li><a href="#drops">Managing the Source Drops</a></li>
60 </ul>
61 </li>
62 <li><a href="#building">Build Information</a>
63 <ul>
64 <li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li>
65 <li><a href="#linux">Basic Linux System Setup</a> </li>
66 <li><a href="#solaris">Basic Solaris System Setup</a> </li>
67 <li><a href="#windows">Basic Windows System Setup</a> </li>
68 <li><a href="#macosx">Basic Mac OS X System Setup</a></li>
69 <li><a href="#dependencies">Build Dependencies</a>
70 <ul>
71 <li><a href="#bootjdk">Bootstrap JDK</a> </li>
72 <li><a href="#importjdk">Optional Import JDK</a> </li>
73 <li><a href="#ant">Ant 1.7.1</a> </li>
74 <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
75 <li><a href="#compilers">Compilers</a>
76 <ul>
77 <li><a href="#msvc32">Microsoft Visual Studio Professional/Express for 32 bit</a> </li>
78 <li><a href="#msvc64">Microsoft Visual Studio Professional for 64 bit</a> </li>
79 <li><a href="#mssdk64">Microsoft Windows SDK for 64 bit</a> </li>
80 <li><a href="#gcc">Linux gcc/binutils</a> </li>
81 <li><a href="#studio">Sun Studio</a> </li>
82 </ul>
83 </li>
84 <li><a href="#zip">Zip and Unzip</a> </li>
85 <li><a href="#freetype">FreeType2 Fonts</a> </li>
86 <li>Linux and Solaris:
87 <ul>
88 <li><a href="#cups">CUPS Include files</a> </li>
214 <td>JDK 6u18</td>
215 </tr>
216 <tr>
217 <td>Solaris X64 (64-bit)</td>
218 <td>Solaris 10 Update 6</td>
219 <td>Sun Studio 12 Update 1 + patches</td>
220 <td>JDK 6u18</td>
221 </tr>
222 <tr>
223 <td>Windows X86 (32-bit)</td>
224 <td>Windows XP</td>
225 <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
226 <td>JDK 6u18</td>
227 </tr>
228 <tr>
229 <td>Windows X64 (64-bit)</td>
230 <td>Windows Server 2003 - Enterprise x64 Edition</td>
231 <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
232 <td>JDK 6u18</td>
233 </tr>
234 <tr>
235 <td>Mac OS X X64 (64-bit)</td>
236 <td>Mac OS X 10.7.3 "Lion"</td>
237 <td>XCode 4.1 or later</td>
238 <td>Java for OS X Lion Update 1</td>
239 </tr>
240 </tbody>
241 </table>
242 <p>
243 These same sources do indeed build on many more systems than the
244 above older generation systems, again the above is just a minimum.
245 <p>
246 Compilation problems with newer or different C/C++ compilers is a
247 common problem.
248 Similarly, compilation problems related to changes to the
249 <tt>/usr/include</tt> or system header files is also a
250 common problem with newer or unreleased OS versions.
251 Please report these types of problems as bugs so that they
252 can be dealt with accordingly.
253 </blockquote>
254 <!-- ------------------------------------------------------ -->
255 <hr>
256 <h2><a name="SDBE">Specific Developer Build Environments</a></h2>
257 <blockquote>
258 We won't be listing all the possible environments, but
259 we will try to provide what information we have available to us.
941 <a href="#msvc32">Microsoft Visual Studio Compilers</a>).
942 </li>
943 <li>
944 Setup all environment variables for compilers
945 (see <a href="#msvc32">compilers</a>).
946 </li>
947 <li>
948 Install
949 <a href="#dxsdk">Microsoft DirectX SDK</a>.
950 </li>
951 <li>
952 Install
953 <a href="#ant">Ant 1.7.1 or newer</a>,
954 make sure it is in your PATH and set
955 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>.
956 </li>
957 </ol>
958 </blockquote>
959 <!-- ------------------------------------------------------ -->
960 <hr>
961 <h3><a name="macosx">Basic Mac OS X System Setup</a></h3>
962 <blockquote>
963 <strong>X64 only:</strong>
964 The minimum recommended hardware for building
965 the Mac OS X version is any 64-bit capable Intel processor, at least 2
966 GB of RAM, and approximately 3 GB of free disk space. You should also
967 have OS X Lion 10.7.3 installed.
968 </blockquote>
969 <!-- ------------------------------------------------------ -->
970
971 <h4><a name="macosx_checklist">Basic Mac OS X Check List</a></h4>
972 <blockquote>
973 <ol>
974 <li>
975 Install <a href="https://developer.apple.com/xcode/">XCode 4.1</a> or newer.
976 If you install XCode 4.3 or newer, make sure you also install
977 "Command line tools" found under the preferences pane "Downloads".
978 </li>
979 <li>
980 Install <a href="http://support.apple.com/kb/dl1421" target="_blank">"Java for OS X Lion Update 1"</a>,
981 set <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a> to <code>`/usr/libexec/java_home -v 1.6`</code></tt>
982 </li>
983 <li>
984 <a href="#importjdk">Optional Import JDK</a>, set
985 <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>.
986 </li>
987 </ol>
988 </blockquote>
989 <!-- ------------------------------------------------------ -->
990 <hr>
991 <h3><a name="dependencies">Build Dependencies</a></h3>
992 <blockquote>
993 Depending on the platform, the OpenJDK build process has some basic
994 dependencies on components not part of the OpenJDK sources.
995 Some of these are specific to a platform, some even specific to
996 an architecture.
997 Each dependency will have a set of ALT variables that can be set
998 to tell the makefiles where to locate the component.
999 In most cases setting these ALT variables may not be necessary
1000 and the makefiles will find defaults on the system in standard
1001 install locations or through component specific variables.
1002 <!-- ------------------------------------------------------ -->
1003 <h4><a name="bootjdk">Bootstrap JDK</a></h4>
1004 <blockquote>
1005 All OpenJDK builds require access to the previously released
1006 JDK 6, this is often called a bootstrap JDK.
1007 The JDK 6 binaries can be downloaded from Sun's
1008 <a href="http://java.sun.com/javase/downloads/index.jsp"
1009 target="_blank">JDK 6 download site</a>.
1010 For build performance reasons
1214 an unbundled Windows SDK but this is no longer necessary if
1215 you have VS2010 Professional.
1216 </blockquote>
1217 <strong><a name="mssdk64">Windows x64: Microsoft Windows 7.1 SDK 64 bit compilers.</a></strong>
1218 For a free alternative for 64 bit builds, use the 7.1 SDK.
1219 Microsoft say that to set up your paths for this run
1220 <pre>
1221 c:\Program Files\Microsoft SDKs\Windows\v7.1\bin\setenv.cmd /x64.
1222 </pre>
1223 What was tested is just directly setting up LIB, INCLUDE,
1224 PATH and based on the installation directories using the
1225 DOS short name appropriate for the system, (you will
1226 need to set them for yours, not just blindly copy this) eg :
1227 <pre>
1228 set VSINSTALLDIR=c:\PROGRA~2\MICROS~1.0
1229 set WindowsSdkDir=c:\PROGRA~1\MICROS~1\Windows\v7.1
1230 set PATH=%VSINSTALLDIR%\vc\bin\amd64;%VSINSTALLDIR%\Common7\IDE;%WindowsSdkDir%\bin;%PATH%
1231 set INCLUDE=%VSINSTALLDIR%\vc\include;%WindowsSdkDir%\include
1232 set LIB=%VSINSTALLDIR%\vc\lib\amd64;%WindowsSdkDir%\lib\x64
1233 </pre>
1234 <strong><a name="llvmgcc">OS X Lion 10.7.3: LLVM GCC</a></strong>
1235 <blockquote>
1236 LLVM GCC is bundled with XCode. The version should be at least 4.2.1.
1237 </blockquote>
1238 </blockquote>
1239 <!-- ------------------------------------------------------ -->
1240 <h4><a name="zip">Zip and Unzip</a></h4>
1241 <blockquote>
1242 Version 2.2 (November 3rd 1997) or newer of the zip utility
1243 and version 5.12 or newer of the unzip utility is needed
1244 to build the JDK.
1245 With Solaris, Linux, and Windows CYGWIN, the zip and unzip
1246 utilities installed on the system should be fine.
1247 Information and the source code for
1248 ZIP.EXE and UNZIP.EXE is available on the
1249 <a href="http://www.info-zip.org"
1250 target="_blank">info-zip web site</a>.
1251 </blockquote>
1252 <!-- ------------------------------------------------------ -->
1253 <h4><a name="cups">Common UNIX Printing System (CUPS) Headers (Solaris & Linux)</a></h4>
1254 <blockquote>
1255 <strong>Solaris:</strong>
1256 CUPS header files are required for building the
1257 OpenJDK on Solaris.
|