README-builds.html
changeset 14069 2ca7a2522cb4
parent 12801 948f8ad66ee7
child 15787 496cd89abcc5
equal deleted inserted replaced
14066:cdaa6122185f 14069:2ca7a2522cb4
    94                                         <li><a href="#alsa">ALSA files</a> </li>
    94                                         <li><a href="#alsa">ALSA files</a> </li>
    95                                     </ul>
    95                                     </ul>
    96                                 </li>
    96                                 </li>
    97                                 <li>Windows only:
    97                                 <li>Windows only:
    98                                     <ul>
    98                                     <ul>
    99                                         <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li>
    99                                         <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>) <strong>or</strong></li>
       
   100                                         <li>Minimalist GNU for Windows (<a href="#msys">MinGW/MSYS</a>)</li>
   100                                         <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li>
   101                                         <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li>
   101                                     </ul>
   102                                     </ul>
   102                                 </li>
   103                                 </li>
   103                             </ul>
   104                             </ul>
   104                         </li>
   105                         </li>
   159         <hr>
   160         <hr>
   160         <h2><a name="MBE">Minimum Build Environments</a></h2>
   161         <h2><a name="MBE">Minimum Build Environments</a></h2>
   161         <blockquote>
   162         <blockquote>
   162             This file often describes specific requirements for what we call the
   163             This file often describes specific requirements for what we call the
   163             "minimum build environments" (MBE) for this 
   164             "minimum build environments" (MBE) for this 
   164 	    specific release of the JDK,
   165             specific release of the JDK,
   165             Building with the MBE will generate the most compatible
   166             Building with the MBE will generate the most compatible
   166             bits that install on, and run correctly on, the most variations
   167             bits that install on, and run correctly on, the most variations
   167             of the same base OS and hardware architecture.
   168             of the same base OS and hardware architecture.
   168             These usually represent what is often called the
   169             These usually represent what is often called the
   169             least common denominator platforms.
   170             least common denominator platforms.
   239                         <td>Java for OS X Lion Update 1</td>
   240                         <td>Java for OS X Lion Update 1</td>
   240                     </tr>
   241                     </tr>
   241                 </tbody>
   242                 </tbody>
   242             </table>
   243             </table>
   243             <p>
   244             <p>
   244 	    These same sources do indeed build on many more systems than the
   245             These same sources do indeed build on many more systems than the
   245 	    above older generation systems, again the above is just a minimum.
   246             above older generation systems, again the above is just a minimum.
   246             <p>
   247             <p>
   247 	    Compilation problems with newer or different C/C++ compilers is a
   248             Compilation problems with newer or different C/C++ compilers is a
   248 	    common problem.
   249             common problem.
   249 	    Similarly, compilation problems related to changes to the
   250             Similarly, compilation problems related to changes to the
   250                 <tt>/usr/include</tt> or system header files is also a
   251                 <tt>/usr/include</tt> or system header files is also a
   251 	    common problem with newer or unreleased OS versions.
   252             common problem with newer or unreleased OS versions.
   252 	    Please report these types of problems as bugs so that they
   253             Please report these types of problems as bugs so that they
   253 	    can be dealt with accordingly.
   254             can be dealt with accordingly.
   254         </blockquote>
   255         </blockquote>
   255         <!-- ------------------------------------------------------ -->
   256         <!-- ------------------------------------------------------ -->
   256         <hr>
   257         <hr>
   257         <h2><a name="SDBE">Specific Developer Build Environments</a></h2>
   258         <h2><a name="SDBE">Specific Developer Build Environments</a></h2>
   258         <blockquote>
   259         <blockquote>
   264         <blockquote>
   265         <blockquote>
   265             <h4>Fedora 9</h4>
   266             <h4>Fedora 9</h4>
   266             <p>
   267             <p>
   267             <blockquote>
   268             <blockquote>
   268                 After installing <a href="http://fedoraproject.org">Fedora</a> 9
   269                 After installing <a href="http://fedoraproject.org">Fedora</a> 9
   269 	      you need to install several build dependencies. The simplest
   270               you need to install several build dependencies. The simplest
   270 	      way to do it is to execute the following commands as user 
   271               way to do it is to execute the following commands as user 
   271                 <tt>root</tt>:
   272                 <tt>root</tt>:
   272                 <p/>
   273                 <p/>
   273                 <code>yum-builddep java-1.6.0-openjdk</code>
   274                 <code>yum-builddep java-1.6.0-openjdk</code>
   274                 <p/>
   275                 <p/>
   275                 <code>yum install gcc gcc-c++</code>
   276                 <code>yum install gcc gcc-c++</code>
   276                 <p/>
   277                 <p/>
   277 	      In addition, it's necessary to set a few environment variables for the build:
   278               In addition, it's necessary to set a few environment variables for the build:
   278 
   279 
   279                 <p/>
   280                 <p/>
   280                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   281                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   281             </blockquote>
   282             </blockquote>
   282             <h4>Fedora 10</h4>
   283             <h4>Fedora 10</h4>
   283             <p>
   284             <p>
   284             <blockquote>
   285             <blockquote>
   285                 After installing <a href="http://fedoraproject.org">Fedora</a> 10
   286                 After installing <a href="http://fedoraproject.org">Fedora</a> 10
   286 	      you need to install several build dependencies. The simplest
   287               you need to install several build dependencies. The simplest
   287 	      way to do it is to execute the following commands as user 
   288               way to do it is to execute the following commands as user 
   288                 <tt>root</tt>:
   289                 <tt>root</tt>:
   289                 <p/>
   290                 <p/>
   290                 <code>yum-builddep java-1.6.0-openjdk</code>
   291                 <code>yum-builddep java-1.6.0-openjdk</code>
   291                 <p/>
   292                 <p/>
   292                 <code>yum install gcc gcc-c++</code>
   293                 <code>yum install gcc gcc-c++</code>
   293                 <p/>
   294                 <p/>
   294 	      In addition, it's necessary to set a few environment variables for the build:
   295               In addition, it's necessary to set a few environment variables for the build:
   295 
   296 
   296                 <p/>
   297                 <p/>
   297                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   298                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   298             </blockquote>
   299             </blockquote>
   299             <h4>Fedora 11</h4>
   300             <h4>Fedora 11</h4>
   300             <p>
   301             <p>
   301             <blockquote>
   302             <blockquote>
   302                 After installing <a href="http://fedoraproject.org">Fedora</a> 11
   303                 After installing <a href="http://fedoraproject.org">Fedora</a> 11
   303 	      you need to install several build dependencies. The simplest
   304               you need to install several build dependencies. The simplest
   304 	      way to do it is to execute the following commands as user 
   305               way to do it is to execute the following commands as user 
   305                 <tt>root</tt>:
   306                 <tt>root</tt>:
   306                 <p/>
   307                 <p/>
   307                 <code>yum-builddep java-1.6.0-openjdk</code>
   308                 <code>yum-builddep java-1.6.0-openjdk</code>
   308                 <p/>
   309                 <p/>
   309                 <code>yum install gcc gcc-c++</code>
   310                 <code>yum install gcc gcc-c++</code>
   310                 <p/>
   311                 <p/>
   311 	      In addition, it's necessary to set a few environment variables for the build:
   312               In addition, it's necessary to set a few environment variables for the build:
   312 
   313 
   313                 <p/>
   314                 <p/>
   314                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   315                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code>
   315             </blockquote>
   316             </blockquote>
   316         </blockquote>
   317         </blockquote>
   358         <h3><a name="debian">Debian</a></h3>
   359         <h3><a name="debian">Debian</a></h3>
   359         <blockquote>
   360         <blockquote>
   360             <h4>Debian 5.0 (Lenny)</h4>
   361             <h4>Debian 5.0 (Lenny)</h4>
   361             <p>
   362             <p>
   362             <blockquote>
   363             <blockquote>
   363 		After installing <a href="http://debian.org">Debian</a> 5 
   364                 After installing <a href="http://debian.org">Debian</a> 5 
   364 		you need to install several build dependencies. 
   365                 you need to install several build dependencies. 
   365 		The simplest way to install the build dependencies is to 
   366                 The simplest way to install the build dependencies is to 
   366 		execute the following commands as user <tt>root</tt>:
   367                 execute the following commands as user <tt>root</tt>:
   367                 <p/>
   368                 <p/>
   368                 <code>aptitude build-dep openjdk-6</code>
   369                 <code>aptitude build-dep openjdk-6</code>
   369                 <p/>
   370                 <p/>
   370                 <code>aptitude install openjdk-6-jdk libmotif-dev</code>
   371                 <code>aptitude install openjdk-6-jdk libmotif-dev</code>
   371                 <p/>
   372                 <p/>
   372 		In addition, it's necessary to set a few environment variables for the build:
   373                 In addition, it's necessary to set a few environment variables for the build:
   373                 <p/>
   374                 <p/>
   374                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   375                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   375             </blockquote>
   376             </blockquote>
   376         </blockquote>
   377         </blockquote>
   377         <!-- ====================================================== -->
   378         <!-- ====================================================== -->
   378         <h3><a name="ubuntu">Ubuntu</a></h3>
   379         <h3><a name="ubuntu">Ubuntu</a></h3>
   379         <blockquote>
   380         <blockquote>
   380             <h4>Ubuntu 8.04</h4>
   381             <h4>Ubuntu 8.04</h4>
   381             <p>
   382             <p>
   382             <blockquote>
   383             <blockquote>
   383 		After installing <a href="http://ubuntu.org">Ubuntu</a> 8.04 
   384                 After installing <a href="http://ubuntu.org">Ubuntu</a> 8.04 
   384 		you need to install several build dependencies. 
   385                 you need to install several build dependencies. 
   385                 <p/>
   386                 <p/>
   386 		First, you need to enable the universe repository in the 
   387                 First, you need to enable the universe repository in the 
   387 		Software Sources application and reload the repository 
   388                 Software Sources application and reload the repository 
   388 		information. The Software Sources application is available 
   389                 information. The Software Sources application is available 
   389 		under the System/Administration menu. 
   390                 under the System/Administration menu. 
   390                 <p/>
   391                 <p/>
   391 		The simplest way to install the build dependencies is to 
   392                 The simplest way to install the build dependencies is to 
   392 		execute the following commands:
   393                 execute the following commands:
   393                 <p/>
   394                 <p/>
   394                 <code>sudo aptitude build-dep openjdk-6</code>
   395                 <code>sudo aptitude build-dep openjdk-6</code>
   395                 <p/>
   396                 <p/>
   396                 <code>sudo aptitude install openjdk-6-jdk</code>
   397                 <code>sudo aptitude install openjdk-6-jdk</code>
   397                 <p/>
   398                 <p/>
   398 		In addition, it's necessary to set a few environment variables for the build:
   399                 In addition, it's necessary to set a few environment variables for the build:
   399                 <p/>
   400                 <p/>
   400                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   401                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   401             </blockquote>
   402             </blockquote>
   402             <h4>Ubuntu 8.10</h4>
   403             <h4>Ubuntu 8.10</h4>
   403             <p>
   404             <p>
   404             <blockquote>
   405             <blockquote>
   405 		After installing <a href="http://ubuntu.org">Ubuntu</a> 8.10 
   406                 After installing <a href="http://ubuntu.org">Ubuntu</a> 8.10 
   406 		you need to install several build dependencies. The simplest
   407                 you need to install several build dependencies. The simplest
   407 		way to do it is to execute the following commands:
   408                 way to do it is to execute the following commands:
   408                 <p/>
   409                 <p/>
   409                 <code>sudo aptitude build-dep openjdk-6</code>
   410                 <code>sudo aptitude build-dep openjdk-6</code>
   410                 <p/>
   411                 <p/>
   411                 <code>sudo aptitude install openjdk-6-jdk</code>
   412                 <code>sudo aptitude install openjdk-6-jdk</code>
   412                 <p/>
   413                 <p/>
   413 		In addition, it's necessary to set a few environment variables for the build:
   414                 In addition, it's necessary to set a few environment variables for the build:
   414                 <p/>
   415                 <p/>
   415                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   416                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   416             </blockquote>
   417             </blockquote>
   417             <h4>Ubuntu 9.04</h4>
   418             <h4>Ubuntu 9.04</h4>
   418             <p>
   419             <p>
   419             <blockquote>
   420             <blockquote>
   420 		After installing <a href="http://ubuntu.org">Ubuntu</a> 9.04 
   421                 After installing <a href="http://ubuntu.org">Ubuntu</a> 9.04 
   421 		you need to install several build dependencies. The simplest
   422                 you need to install several build dependencies. The simplest
   422 		way to do it is to execute the following commands:
   423                 way to do it is to execute the following commands:
   423                 <p/>
   424                 <p/>
   424                 <code>sudo aptitude build-dep openjdk-6</code>
   425                 <code>sudo aptitude build-dep openjdk-6</code>
   425                 <p/>
   426                 <p/>
   426                 <code>sudo aptitude install openjdk-6-jdk</code>
   427                 <code>sudo aptitude install openjdk-6-jdk</code>
   427                 <p/>
   428                 <p/>
   428 		In addition, it's necessary to set a few environment variables for the build:
   429                 In addition, it's necessary to set a few environment variables for the build:
   429                 <p/>
   430                 <p/>
   430                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   431                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code>
   431             </blockquote>
   432             </blockquote>
   432         </blockquote>
   433         </blockquote>
   433         <!-- ====================================================== -->
   434         <!-- ====================================================== -->
   434         <h3><a name="opensuse">OpenSUSE</a></h3>
   435         <h3><a name="opensuse">OpenSUSE</a></h3>
   435         <blockquote>
   436         <blockquote>
   436             <h4>OpenSUSE 11.1</h4>
   437             <h4>OpenSUSE 11.1</h4>
   437             <p>
   438             <p>
   438             <blockquote>
   439             <blockquote>
   439 		After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 
   440                 After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 
   440 		you need to install several build dependencies. 
   441                 you need to install several build dependencies. 
   441 		The simplest way to install the build dependencies is to 
   442                 The simplest way to install the build dependencies is to 
   442 		execute the following commands:
   443                 execute the following commands:
   443                 <p/>
   444                 <p/>
   444                 <code>sudo zypper source-install -d java-1_6_0-openjdk</code>
   445                 <code>sudo zypper source-install -d java-1_6_0-openjdk</code>
   445                 <p/>
   446                 <p/>
   446                 <code>sudo zypper install make</code>
   447                 <code>sudo zypper install make</code>
   447                 <p/>
   448                 <p/>
   448 		In addition, it is necessary to set a few environment variables for the build:
   449                 In addition, it is necessary to set a few environment variables for the build:
   449                 <p/>
   450                 <p/>
   450                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
   451                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
   451                 <p/>
   452                 <p/>
   452 		Finally, you need to unset the <code>JAVA_HOME</code> environment variable:
   453                 Finally, you need to unset the <code>JAVA_HOME</code> environment variable:
   453                 <p/>
   454                 <p/>
   454                 <code>export -n JAVA_HOME</code>
   455                 <code>export -n JAVA_HOME</code>
   455             </blockquote>
   456             </blockquote>
   456         </blockquote>
   457         </blockquote>
   457         <!-- ====================================================== -->
   458         <!-- ====================================================== -->
   458         <h3><a name="mandriva">Mandriva</a></h3>
   459         <h3><a name="mandriva">Mandriva</a></h3>
   459         <blockquote>
   460         <blockquote>
   460             <h4>Mandriva Linux One 2009 Spring</h4>
   461             <h4>Mandriva Linux One 2009 Spring</h4>
   461             <p>
   462             <p>
   462             <blockquote>
   463             <blockquote>
   463 		After installing <a href="http://mandriva.org">Mandriva</a> Linux One 2009 Spring 
   464                 After installing <a href="http://mandriva.org">Mandriva</a> Linux One 2009 Spring 
   464 		you need to install several build dependencies. 
   465                 you need to install several build dependencies. 
   465 		The simplest way to install the build dependencies is to 
   466                 The simplest way to install the build dependencies is to 
   466 		execute the following commands as user <tt>root</tt>:
   467                 execute the following commands as user <tt>root</tt>:
   467                 <p/>
   468                 <p/>
   468                 <code>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</code>
   469                 <code>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</code>
   469                 <p/>
   470                 <p/>
   470 		In addition, it is necessary to set a few environment variables for the build:
   471                 In addition, it is necessary to set a few environment variables for the build:
   471                 <p/>
   472                 <p/>
   472                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
   473                 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code>
   473             </blockquote>
   474             </blockquote>
   474         </blockquote>
   475         </blockquote>
   475         <!-- ====================================================== -->
   476         <!-- ====================================================== -->
   476         <h3><a name="opensolaris">OpenSolaris</a></h3>
   477         <h3><a name="opensolaris">OpenSolaris</a></h3>
   477         <blockquote>
   478         <blockquote>
   478             <h4>OpenSolaris 2009.06</h4>
   479             <h4>OpenSolaris 2009.06</h4>
   479             <p>
   480             <p>
   480             <blockquote>
   481             <blockquote>
   481 		After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 
   482                 After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 
   482 		you need to install several build dependencies. 
   483                 you need to install several build dependencies. 
   483 		The simplest way to install the build dependencies is to 
   484                 The simplest way to install the build dependencies is to 
   484 		execute the following commands:
   485                 execute the following commands:
   485                 <p/>
   486                 <p/>
   486                 <code>pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
   487                 <code>pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
   487                 <p/>
   488                 <p/>
   488 		In addition, it is necessary to set a few environment variables for the build:
   489                 In addition, it is necessary to set a few environment variables for the build:
   489                 <p/>
   490                 <p/>
   490                 <code>export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/</code>
   491                 <code>export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/</code>
   491                 <p/>
   492                 <p/>
   492 		Finally, you need to make sure that the build process can find the Sun Studio compilers:
   493                 Finally, you need to make sure that the build process can find the Sun Studio compilers:
   493                 <p/>
   494                 <p/>
   494                 <code>export PATH=$PATH:/opt/SunStudioExpress/bin/</code>
   495                 <code>export PATH=$PATH:/opt/SunStudioExpress/bin/</code>
   495             </blockquote>
   496             </blockquote>
   496         </blockquote>
   497         </blockquote>
   497         <!-- ------------------------------------------------------ -->  
   498         <!-- ------------------------------------------------------ -->  
   685                     could be 3.80, you need 3.81, in which case,
   686                     could be 3.80, you need 3.81, in which case,
   686                     see the <a href="#buildgmake">"Building GNU make"</a> section.
   687                     see the <a href="#buildgmake">"Building GNU make"</a> section.
   687                 </li>
   688                 </li>
   688                 <li>
   689                 <li>
   689                     <strong>Windows:</strong>
   690                     <strong>Windows:</strong>
   690                     Make sure you start your build inside a bash/sh/ksh shell
   691                     Make sure you start your build inside a bash/sh/ksh shell and are
   691                     and are using a <tt>make.exe</tt> utility built for that
   692                     using a <tt>make.exe</tt> utility built for that environment.<br/>
   692                     environment (a cygwin <tt>make.exe</tt> is not the same
   693                     <strong>MKS</strong> builds need a native Windows version of GNU make
   693                     as a <tt>make.exe</tt> built for something like
   694                     (see <a href="#buildgmake">Building GNU make</a>).<br/>
   694                     <a href="http://www.mkssoftware.com/">MKS</a>). 
   695                     <strong>Cygwin</strong> builds need
   695                     <br>
   696                     a make version which was specially compiled for the Cygwin environment
   696                     <b>WARNING:</b> Watch out on some make 3.81 versions, it may
   697                     (see <a href="#buildgmake">Building GNU make</a>). <strong>WARNING:</strong>
   697                     not work due to a lack of support for MS-DOS drive letter paths
   698                     the OpenJDK build with the make utility provided by Cygwin will <strong>not</strong>
   698                     like <tt>C:/</tt> or <tt>C:\</tt>.
   699                     work because it does not support drive letters in paths. Make sure that
   699                     <br>
   700                     your version of make will be found before the Cygwins default make by 
   700                     You may be able to use the information at the
   701                     setting an appropriate <tt>PATH</tt> environment variable or by removing
   701                     <a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank">
   702                     Cygwin's make after you built your own make version.<br/>
   702                         mozilla developer center</a>
   703                     <strong>MinGW/MSYS</strong> builds can use the default make which 
   703                     on this topic.
   704                     comes with the environment.
   704                     <br>
       
   705                     It's hoped that when make 3.82 starts shipping in a future cygwin
       
   706                     release that this MS-DOS path issue will be fixed.
       
   707                     <br>
       
   708                     It may be possible to download the version at
       
   709                     <a href="http://www.cmake.org/files/cygwin/make.exe">
       
   710                         www.cmake.org make.exe</a>.
       
   711                     <br>
       
   712                     It might be necessary for you to build your own GNU make 3.81,
       
   713                     see the <a href="#buildgmake">"Building GNU make"</a> section
       
   714                     in that case.
       
   715                 </li>
   705                 </li>
   716             </ul>
   706             </ul>
   717             <p>
   707             <p>
   718                 Information on GNU make, and access to ftp download sites, are
   708                 Information on GNU make, and access to ftp download sites, are
   719                 available on the
   709                 available on the
   725                     ftp.gnu.org/pub/gnu/make/</a>.
   715                     ftp.gnu.org/pub/gnu/make/</a>.
   726             </p>
   716             </p>
   727             <!-- ------------------------------------------------------ -->
   717             <!-- ------------------------------------------------------ -->
   728             <h4><a name="buildgmake">Building GNU make</a></h4>
   718             <h4><a name="buildgmake">Building GNU make</a></h4>
   729             <blockquote>
   719             <blockquote>
   730                 First step is to get the GNU make 3.81 source from
   720                 First step is to get the GNU make 3.81 (or newer) source from
   731                 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank">
   721                 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank">
   732                     ftp.gnu.org/pub/gnu/make/</a>.
   722                     ftp.gnu.org/pub/gnu/make/</a>.
   733                 Building is a little different depending on the OS and unix toolset
   723                 Building is a little different depending on the OS and unix toolset
   734                 on Windows:
   724                 on Windows:
   735                 <ul>
   725                 <ul>
   740                     <li>
   730                     <li>
   741                         <strong>Solaris:</strong>
   731                         <strong>Solaris:</strong>
   742                         <tt>./configure && gmake CC=gcc</tt>
   732                         <tt>./configure && gmake CC=gcc</tt>
   743                     </li>
   733                     </li>
   744                     <li>
   734                     <li>
   745                         <strong>Windows for CYGWIN:</strong>
   735                         <strong>Windows for CYGWIN:</strong><br/>
   746                         <tt>./configure && make</tt>
   736                         <tt>./configure</tt><br/>
       
   737                         Add the line <tt>#define HAVE_CYGWIN_SHELL 1</tt> to the end of <tt>config.h</tt><br/>
       
   738                         <tt>make</tt><br/>
       
   739                         <br/>
       
   740                         This should produce <tt>make.exe</tt> in the current directory.
   747                     </li>
   741                     </li>
   748                     <li>
   742                     <li>
   749                         <strong>Windows for MKS: (CYGWIN is recommended)</strong>
   743                         <strong>Windows for MKS:</strong><br/>
   750                         <tt>./configure && make -f Makefile.win32</tt>
   744                         Edit <tt>config.h.W32</tt> and uncomment the line <tt>#define HAVE_MKS_SHELL 1</tt><br/>
       
   745                         Set the environment for your native compiler (e.g. by calling:<br/>
       
   746                         <tt>"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /Release /xp /x64)</tt>
       
   747                         <tt>nmake -f NMakefile.win32</tt>
       
   748                         <br/>
       
   749                         This should produce <tt>WinDebug/make.exe</tt> and <tt>WinRel/make.exe</tt>
       
   750                         <br/>
       
   751                         If you get the error: <tt>NMAKE : fatal error U1045: spawn failed : Permission denied</tt>
       
   752                         you have to set the <tt>Read &amp; execute</tt> permission for the file <tt>subproc.bat</tt>.
   751                     </li>
   753                     </li>
   752                 </ul>
   754                 </ul>
   753             </blockquote>
   755             </blockquote>
   754         </blockquote>
   756         </blockquote>
   755         <!-- ------------------------------------------------------ -->
   757         <!-- ------------------------------------------------------ -->
   892         </blockquote>
   894         </blockquote>
   893         <!-- ------------------------------------------------------ -->
   895         <!-- ------------------------------------------------------ -->
   894         <h4><a name="paths">Windows Paths</a></h4>
   896         <h4><a name="paths">Windows Paths</a></h4>
   895         <blockquote>
   897         <blockquote>
   896             <strong>Windows:</strong>
   898             <strong>Windows:</strong>
   897             Note that GNU make is a historic utility and is based very
   899             Note that GNU make, the shell and other Unix-tools required during the build
   898             heavily on shell scripting, so it does not tolerate the Windows habit
   900             do not tolerate the Windows habit
   899             of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames.
   901             of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames.
   900             Luckily on most Windows systems, you can use <tt>/</tt>instead of \, and
   902             Luckily on most Windows systems, you can use <tt>/</tt>instead of <tt>\</tt>, and
   901             there is always a 'short' pathname without spaces for any path that 
   903             there is always a short <a href="http://en.wikipedia.org/wiki/8.3_filename">
   902             contains spaces.
   904 	    "8.3" pathname</a> without spaces for any path that contains spaces.
   903             Unfortunately, this short pathname can be somewhat dynamic and the
   905             Unfortunately, this short pathname is somewhat dynamic (i.e. dependant on the
   904             formula is difficult to explain.
   906             other files and directories inside a given directory) and can not be 
   905             You can use <tt>cygpath</tt> utility to map pathnames with spaces
   907             algorithmicly calculated by only looking at a specific path name.
   906             or the <tt>\</tt>character into the <tt>C:/</tt> style of pathname
       
   907             (called 'mixed'), e.g.
       
   908             <tt>cygpath -s -m "<i>path</i>"</tt>.
       
   909             <p>
   908             <p>
   910                 The makefiles will try to translate any pathnames supplied
   909                 The makefiles will try to translate any pathnames supplied
   911                 to it into the <tt>C:/</tt> style automatically.
   910                 to it into the <tt>C:/</tt> style automatically.
   912             <p>
   911             </p>
   913                 Note that use of CYGWIN creates a unique problem with regards to
   912             <p>
       
   913                 Special care has to be taken if native Windows applications
       
   914                 like <tt>nmake</tt> or <tt>cl</tt> are called with file arguments processed
       
   915                 by Unix-tools like <tt>make</tt> or <tt>sh</tt>!
       
   916             </p>
       
   917         </blockquote>
       
   918         <!-- ------------------------------------------------------ -->
       
   919         <h4><a name="paths">Windows build environments</a></h4>
       
   920         <blockquote>
       
   921             Building on Windows requires a Unix-like environment, notably a Unix-like shell.
       
   922             There are several such environments available of which 
       
   923             <a href="http://www.mkssoftware.com/products/tk/ds_tkdev.asp">MKS</a>, 
       
   924             <a href="http://www.cygwin.com/">Cygwin</a> and 
       
   925             <a href="http://www.mingw.org/wiki/MSYS">MinGW/MSYS</a> are currently supported for
       
   926             the OpenJDK build. One of the differences of these three systems is the way
       
   927             they handle Windows path names, particularly path names which contain
       
   928             spaces, backslashes as path separators and possibly drive letters. Depending
       
   929             on the use case and the specifics of each environment these path problems can
       
   930             be solved by a combination of quoting whole paths, translating backslashes to
       
   931             forward slashes, escaping backslashes with additional backslashes and
       
   932             translating the path names to their <a href="http://en.wikipedia.org/wiki/8.3_filename">
       
   933 	    "8.3" version</a>.
       
   934             <p>
       
   935                 As of this writing (MKS ver. 9.4, Cygwin ver. 1.7.9, MinGW/MSYS 1.0.17),
       
   936                 MKS builds are known to be the fastest Windows builds while MingGW/MSYS
       
   937                 builds are slightly slower (about 10%) than MKS builds and Cygwin builds
       
   938                 require nearly twice the time (about 180%) of MKS builds (e.g. on a
       
   939                 DualCore i7 notebook with 8GB of RAM, HDD and 64-bit Windows 7 operating system
       
   940                 the complete OpenJDK 8 product build takes about 49min with MKS, 54min with
       
   941                 MinGW/MSYS and 88min with Cygwin).
       
   942             </p>
       
   943             <p>
       
   944                 Mixing tools from the different Unix emulation environments is not a good
       
   945                 idea and will probably not work!
       
   946             </p>
       
   947             <p>
       
   948                 <strong>MKS:</strong> is a commercial product which includes
       
   949                 all the Unix utilities which are required to build the OpenJDK except GNU
       
   950                 make. In pre-OpenJDK times it was the only supported build environment on
       
   951                 Windows. The MKS tools support Windows paths with drive letters and
       
   952                 forward slashes as path separator. Paths in environment variables like (for
       
   953                 example) <tt>PATH</tt> are separated by semicolon '<tt>;</tt>'.
       
   954             </p>
       
   955             <p>
       
   956                 Recent versions of MKS provide the <tt>dosname</tt> utility to convert paths
       
   957                 with spaces to short (8.3) path names,e .g.
       
   958                 <tt>dosname -s "<i>path</i>"</tt>.   
       
   959             </p>
       
   960             <p>
       
   961                 If you are using the MKS environment, you need a native Windows version
       
   962                 of Gnu make <a href="#buildgmake">which you can easily build yourself</a>. 
       
   963             </p>
       
   964             <p>
       
   965                 <strong>Cygwin:</strong>
       
   966                 is an open source, Linux-like environment which tries to emulate
       
   967                 a complete POSIX layer on Windows. It tries to be smart about path names
       
   968                 and can usually handle all kinds of paths if they are correctly quoted
       
   969                 or escaped although internally it maps drive letters <tt>&lt;drive&gt;:</tt> 
       
   970                 to a virtual directory <tt>/cygdrive/&lt;drive&gt;</tt>.
       
   971             </p>
       
   972             <p>
       
   973                 You can always use the <tt>cygpath</tt> utility to map pathnames with spaces
       
   974                 or the backslash character into the <tt>C:/</tt> style of pathname
       
   975                 (called 'mixed'), e.g. <tt>cygpath -s -m "<i>path</i>"</tt>.
       
   976             </p>
       
   977             <p>
       
   978                 Note that the use of CYGWIN creates a unique problem with regards to
   914                 setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows
   979                 setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows
   915                 the <tt>PATH</tt> variable contains directories
   980                 the <tt>PATH</tt> variable contains directories
   916                 separated with the ";" character (Solaris and Linux uses ":").
   981                 separated with the ";" character (Solaris and Linux use ":").
   917                 With CYGWIN, it uses ":", but that means that paths like "C:/path"
   982                 With CYGWIN, it uses ":", but that means that paths like "C:/path"
   918                 cannot be placed in the CYGWIN version  of <tt>PATH</tt> and
   983                 cannot be placed in the CYGWIN version  of <tt>PATH</tt> and
   919                 instead CYGWIN uses something like <tt>/cygdrive/c/path</tt>
   984                 instead CYGWIN uses something like <tt>/cygdrive/c/path</tt>
   920                 which CYGWIN understands, but only CYGWIN understands.
   985                 which CYGWIN understands, but only CYGWIN understands.
   921                 So be careful with paths on Windows.
   986             </p>
       
   987             <p>
       
   988                 If you are using the Cygwin environment, you need to 
       
   989                 <a href="#buildgmake">compile your own version</a>
       
   990                 of GNU make because the default Cygwin make can not handle drive letters in paths. 
       
   991             </p>
       
   992             <p>
       
   993                 <strong>MinGW/MSYS:</strong> 
       
   994                 MinGW ("Minimalist GNU for Windows") is a collection of free Windows
       
   995                 specific header files and import libraries combined with GNU toolsets that
       
   996                 allow one to produce native Windows programs that do not rely on any
       
   997                 3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building
       
   998                 applications and programs which rely on traditional UNIX tools to
       
   999                 be present. Among others this includes tools like <tt>bash</tt> and <tt>make</tt>.
       
  1000             </p>
       
  1001             <p>
       
  1002                 Like Cygwin, MinGW/MSYS can handle different types of path formats. They
       
  1003                 are internally converted to paths with forward slashes and drive letters
       
  1004                 <tt>&lt;drive&gt;:</tt> replaced by a virtual
       
  1005                 directory <tt>/&lt;drive&gt;</tt>.  Additionally, MSYS automatically
       
  1006                 detects binaries compiled for the MSYS environment and feeds them with the
       
  1007                 internal, Unix-style path names. If native Windows applications are called
       
  1008                 from within MSYS programs their path arguments are automatically converted
       
  1009                 back to Windows style path names with drive letters and backslashes as
       
  1010                 path separators. This may cause problems for Windows applications which
       
  1011                 use forward slashes as parameter separator (e.g. <tt>cl /nologo /I</tt>)
       
  1012                 because MSYS may wrongly <a href="http://mingw.org/wiki/Posix_path_conversion">
       
  1013                 replace such parameters by drive letters</a>.
       
  1014             </p>
       
  1015             <p>
       
  1016                 If you are using the MinGW/MSYS system you can use the default make
       
  1017                 version supplied by the environment.
       
  1018             </p>
   922         </blockquote>
  1019         </blockquote>
   923         <!-- ------------------------------------------------------ -->
  1020         <!-- ------------------------------------------------------ -->
   924         <h4><a name="windows_checklist">Basic Windows Check List</a></h4>
  1021         <h4><a name="windows_checklist">Basic Windows Check List</a></h4>
   925         <blockquote>
  1022         <blockquote>
   926             <ol>
  1023             <ol>
   927                 <li>
  1024                 <li>
   928                     Install the
  1025                     Install one of the 
   929                     <a href="#cygwin">CYGWIN product</a>. 
  1026                     <a href="#cygwin">CYGWIN</a>, <a href="#msys">MinGW/MSYS</a> or 
       
  1027                     <a href="http://www.mkssoftware.com/products/tk/ds_tkdev.asp">MKS</a> environments. 
   930                 </li>
  1028                 </li>
   931                 <li>
  1029                 <li>
   932                     Install the 
  1030                     Install the 
   933                     <a href="#bootjdk">Bootstrap JDK</a>, set
  1031                     <a href="#bootjdk">Bootstrap JDK</a>, set
   934                     <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>.
  1032                     <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>.
  1095                 <blockquote>
  1193                 <blockquote>
  1096                     At a minimum, the
  1194                     At a minimum, the
  1097                     <a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm" target="_blank">
  1195                     <a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm" target="_blank">
  1098                         Sun Studio 12 Update 1 Compilers</a>
  1196                         Sun Studio 12 Update 1 Compilers</a>
  1099                     (containing version 5.10 of the C and C++ compilers) is required,
  1197                     (containing version 5.10 of the C and C++ compilers) is required,
  1100 		    including specific patches.
  1198                     including specific patches.
  1101                     <p>
  1199                     <p>
  1102 		    The Solaris SPARC patch list is:
  1200                     The Solaris SPARC patch list is:
  1103                     <ul>
  1201                     <ul>
  1104                         <li>
  1202                         <li>
  1105                             118683-05: SunOS 5.10: Patch for profiling libraries and assembler
  1203                             118683-05: SunOS 5.10: Patch for profiling libraries and assembler
  1106                         </li>
  1204                         </li>
  1107                         <li>
  1205                         <li>
  1284                     XRender header files are required for building the
  1382                     XRender header files are required for building the
  1285                     OpenJDK on Solaris.
  1383                     OpenJDK on Solaris.
  1286                     The XRender header file is included with the other X11 header files
  1384                     The XRender header file is included with the other X11 header files
  1287                     in the package <strong>SFWxwinc</strong> on new enough versions of
  1385                     in the package <strong>SFWxwinc</strong> on new enough versions of
  1288                     Solaris and will be installed in
  1386                     Solaris and will be installed in
  1289                     <tt>/usr/X11/include/X11/extensions/Xrender.h</tt>
  1387                     <tt>/usr/X11/include/X11/extensions/Xrender.h</tt> or
       
  1388                     <tt>/usr/openwin/share/include/X11/extensions/Xrender.h</tt>
  1290                 </p><p>
  1389                 </p><p>
  1291                     <strong>Linux:</strong>
  1390                     <strong>Linux:</strong>
  1292                     XRender header files are required for building the
  1391                     XRender header files are required for building the
  1293                     OpenJDK on Linux.
  1392                     OpenJDK on Linux.
  1294                     The Linux header files are usually available from a "Xrender"
  1393                     The Linux header files are usually available from a "Xrender"
  1454                             <tr>
  1553                             <tr>
  1455                                 <td>make.exe</td>
  1554                                 <td>make.exe</td>
  1456                                 <td>Devel</td>
  1555                                 <td>Devel</td>
  1457                                 <td>make</td>
  1556                                 <td>make</td>
  1458                                 <td>The GNU version of the 'make' utility built for CYGWIN.<br>
  1557                                 <td>The GNU version of the 'make' utility built for CYGWIN.<br>
  1459                                     <b>NOTE</b>: See <a href="#gmake">the GNU make section</a></td>
  1558                                     <b>NOTE</b>: the Cygwin make can not be used to build the 
       
  1559                                     OpenJDK.  You only need it to build your own version of make 
       
  1560                                     (see <a href="#gmake">the GNU make section</a>)</td>
  1460                             </tr>
  1561                             </tr>
  1461                             <tr>
  1562                             <tr>
  1462                                 <td>m4.exe</td>
  1563                                 <td>m4.exe</td>
  1463                                 <td>Interpreters</td>
  1564                                 <td>Interpreters</td>
  1464                                 <td>m4</td>
  1565                                 <td>m4</td>
  1518                     Be very careful with <b><tt>link.exe</tt></b>, it will conflict
  1619                     Be very careful with <b><tt>link.exe</tt></b>, it will conflict
  1519                     with the Visual Studio version. You need the Visual Studio
  1620                     with the Visual Studio version. You need the Visual Studio
  1520                     version of <tt>link.exe</tt>, not the CYGWIN one.
  1621                     version of <tt>link.exe</tt>, not the CYGWIN one.
  1521                     So it's important that the Visual Studio paths in PATH preceed
  1622                     So it's important that the Visual Studio paths in PATH preceed
  1522                     the CYGWIN path <tt>/usr/bin</tt>.
  1623                     the CYGWIN path <tt>/usr/bin</tt>.
       
  1624             </blockquote>
       
  1625             <strong> Minimalist GNU for Windows (<a name="msys">MinGW/MSYS</a>)</strong>
       
  1626             <blockquote> 
       
  1627                 Alternatively, the set of unix command tools for the OpenJDK build on 
       
  1628                 Windows can be supplied by 
       
  1629                 <a href="http://www.mingw.org/wiki/MSYS" target="_blank">MinGW/MSYS</a>.
       
  1630                 <p>
       
  1631                     In addition to the tools which will be installed by default, you have
       
  1632                     to manually install the <tt>msys-zip</tt> and <tt>msys-unzip</tt> packages.
       
  1633                     This can be easily done with the MinGW command line installer:<br/>
       
  1634                     <tt><br/>
       
  1635                         mingw-get.exe install msys-zip<br/>
       
  1636                         mingw-get.exe install msys-unzip<br/>
       
  1637                     </tt>
       
  1638                 </p>
  1523             </blockquote>
  1639             </blockquote>
  1524             <strong><a name="dxsdk">Microsoft DirectX 9.0 SDK header files and libraries</a></strong>
  1640             <strong><a name="dxsdk">Microsoft DirectX 9.0 SDK header files and libraries</a></strong>
  1525             <blockquote>
  1641             <blockquote>
  1526                 Microsoft DirectX 9.0 SDK (Summer 2004)
  1642                 Microsoft DirectX 9.0 SDK (Summer 2004)
  1527                 headers are required for building
  1643                 headers are required for building
  1779                     Where each of these directories contain the import JDK image
  1895                     Where each of these directories contain the import JDK image
  1780                     for that platform.
  1896                     for that platform.
  1781                 </dd>
  1897                 </dd>
  1782                 <dt><a name="ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a></dt>
  1898                 <dt><a name="ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a></dt>
  1783                 <dd>
  1899                 <dd>
  1784 		    The top-level directory of the libraries and include files for the platform's 
  1900                     The top-level directory of the libraries and include files for the platform's 
  1785 		    graphical programming environment. The default location is platform specific. 
  1901                     graphical programming environment. The default location is platform specific. 
  1786 		    For example, on Linux it defaults to <tt>/usr/X11R6/</tt>.
  1902                     For example, on Linux it defaults to <tt>/usr/X11R6/</tt>.
  1787 		</dd>
  1903                 </dd>
  1788                 <dt><strong>Windows specific:</strong></dt>
  1904                 <dt><strong>Windows specific:</strong></dt>
  1789                 <dd>
  1905                 <dd>
  1790                     <dl>
  1906                     <dl>
  1791                         <dt><a name="ALT_WINDOWSSDKDIR"><tt>ALT_WINDOWSSDKDIR</tt></a> </dt>
  1907                         <dt><a name="ALT_WINDOWSSDKDIR"><tt>ALT_WINDOWSSDKDIR</tt></a> </dt>
  1792                         <dd>
  1908                         <dd>
  1793                             The location of the 
  1909                             The location of the 
  1794                             Microsoft Windows SDK where some tools will be
  1910                             Microsoft Windows SDK where some tools will be
  1795 			    located.
  1911                             located.
  1796 			    The default is whatever WINDOWSSDKDIR is set to
  1912                             The default is whatever WINDOWSSDKDIR is set to
  1797 			    (or WindowsSdkDir) or the path
  1913                             (or WindowsSdkDir) or the path
  1798                             <br>
  1914                             <br>
  1799                             <tt>c:\Program Files\Microsoft SDKs\Windows\v7.0a</tt>
  1915                             <tt>c:\Program Files\Microsoft SDKs\Windows\v7.0a</tt>
  1800                         </dd>
  1916                         </dd>
  1801                         <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
  1917                         <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
  1802                         <dd>
  1918                         <dd>
  1821                             Set to the target architecture of a cross-compilation build. If set, this
  1937                             Set to the target architecture of a cross-compilation build. If set, this
  1822                             variable is used to signify that we are cross-compiling. The expectation
  1938                             variable is used to signify that we are cross-compiling. The expectation
  1823                             is that <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> is set
  1939                             is that <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> is set
  1824                             to point to the cross-compiler and that any cross-compilation specific flags
  1940                             to point to the cross-compiler and that any cross-compilation specific flags
  1825                             are passed using <a href="#EXTRA_CFLAGS"><tt>EXTRA_CFLAGS</tt></a>.
  1941                             are passed using <a href="#EXTRA_CFLAGS"><tt>EXTRA_CFLAGS</tt></a>.
  1826 			    The <a href="#ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a> variable should 
  1942                             The <a href="#ALT_OPENWIN_HOME"><tt>ALT_OPENWIN_HOME</tt></a> variable should 
  1827 			    also be set to point to the graphical header files (e.g. X11) provided with 
  1943                             also be set to point to the graphical header files (e.g. X11) provided with 
  1828 			    the cross-compiler.
  1944                             the cross-compiler.
  1829                             When cross-compiling we skip execution of any demos etc that may be built, and
  1945                             When cross-compiling we skip execution of any demos etc that may be built, and
  1830                             also skip binary-file verification.
  1946                             also skip binary-file verification.
  1831                         </dd>
  1947                         </dd>
  1832                         <dt><tt><a name="EXTRA_CFLAGS">EXTRA_CFLAGS</a></tt> </dt>
  1948                         <dt><tt><a name="EXTRA_CFLAGS">EXTRA_CFLAGS</a></tt> </dt>
  1833                         <dd>
  1949                         <dd>
  1834 			   Used to pass cross-compilation options to the cross-compiler.
  1950                            Used to pass cross-compilation options to the cross-compiler.
  1835                            These are added to the <tt>CFLAGS</tt> and <tt>CXXFLAGS</tt> variables. 
  1951                            These are added to the <tt>CFLAGS</tt> and <tt>CXXFLAGS</tt> variables. 
  1836 			</dd>
  1952                         </dd>
  1837                         <dt><tt><a name="USE_ONLY_BOOTDIR_TOOLS">USE_ONLY_BOOTDIR_TOOLS</a></tt> </dt>
  1953                         <dt><tt><a name="USE_ONLY_BOOTDIR_TOOLS">USE_ONLY_BOOTDIR_TOOLS</a></tt> </dt>
  1838                         <dd>
  1954                         <dd>
  1839                             Used primarily for cross-compilation builds (and always set in that case)
  1955                             Used primarily for cross-compilation builds (and always set in that case)
  1840                             this variable indicates that tools from the boot JDK should be used during
  1956                             this variable indicates that tools from the boot JDK should be used during
  1841                             the build process, not the tools (<tt>javac</tt>, <tt>javah</tt>, <tt>jar</tt>)
  1957                             the build process, not the tools (<tt>javac</tt>, <tt>javah</tt>, <tt>jar</tt>)
  1866                             generate a sanity warning as 64-bit client builds are not directly supported.
  1982                             generate a sanity warning as 64-bit client builds are not directly supported.
  1867                         </dd>
  1983                         </dd>
  1868                         <dt><tt><a name="BUILD_HEADLESS_ONLY"></a>BUILD_HEADLESS_ONLY</tt> </dt>
  1984                         <dt><tt><a name="BUILD_HEADLESS_ONLY"></a>BUILD_HEADLESS_ONLY</tt> </dt>
  1869                         <dd>
  1985                         <dd>
  1870                             Used when the build environment has no graphical capabilities at all. This
  1986                             Used when the build environment has no graphical capabilities at all. This
  1871 			    excludes building anything that requires graphical libraries to be available.
  1987                             excludes building anything that requires graphical libraries to be available.
  1872                         </dd>
  1988                         </dd>
  1873                         <dt><tt><a name="JAVASE_EMBEDDED"></a>JAVASE_EMBEDDED</tt> </dt>
  1989                         <dt><tt><a name="JAVASE_EMBEDDED"></a>JAVASE_EMBEDDED</tt> </dt>
  1874                         <dd>
  1990                         <dd>
  1875 			    Used to indicate this is a build of the Oracle Java SE Embedded product. 
  1991                             Used to indicate this is a build of the Oracle Java SE Embedded product. 
  1876 			    This will enable the directives included in the SE-Embedded specific build 
  1992                             This will enable the directives included in the SE-Embedded specific build 
  1877 			    files.
  1993                             files.
  1878                         </dd>
  1994                         </dd>
  1879                         <dt><tt><a name="LIBZIP_CAN_USE_MMAP">LIBZIP_CAN_USE_MMAP</a></tt> </dt>
  1995                         <dt><tt><a name="LIBZIP_CAN_USE_MMAP">LIBZIP_CAN_USE_MMAP</a></tt> </dt>
  1880                         <dd>
  1996                         <dd>
  1881 			    If set to false, disables the use of mmap by the zip utility. Otherwise,
  1997                             If set to false, disables the use of mmap by the zip utility. Otherwise,
  1882 	                    mmap will be used.
  1998                             mmap will be used.
  1883                         </dd>
  1999                         </dd>
  1884                         <dt><tt><a name="COMPRESS_JARS"></a>COMPRESS_JARS</tt> </dt>
  2000                         <dt><tt><a name="COMPRESS_JARS"></a>COMPRESS_JARS</tt> </dt>
  1885                         <dd>
  2001                         <dd>
  1886 			  If set to true, causes certain jar files that would otherwise be built without
  2002                           If set to true, causes certain jar files that would otherwise be built without
  1887 			  compression, to use compression.
  2003                           compression, to use compression.
  1888                         </dd>
  2004                         </dd>
  1889                     </dl>
  2005                     </dl>
  1890                 </dd>
  2006                 </dd>
  1891             </dl>
  2007             </dl>
  1892         </blockquote>
  2008         </blockquote>