README-builds.html
changeset 19314 47e1fb987c56
parent 18049 ab1fcd9738e8
child 19525 9dac5000c015
equal deleted inserted replaced
19308:b5ed503c26ad 19314:47e1fb987c56
   152                         <br>
   152                         <br>
   153                         bash ./get_source.sh
   153                         bash ./get_source.sh
   154                     </code>
   154                     </code>
   155                 </blockquote>
   155                 </blockquote>
   156                 Once you have all the repositories, keep in mind that each
   156                 Once you have all the repositories, keep in mind that each
   157                 repository is it's own independent repository.
   157                 repository is its own independent repository.
   158                 You can also re-run <code>./get_source.sh</code> anytime to
   158                 You can also re-run <code>./get_source.sh</code> anytime to
   159                 pull over all the latest changesets in all the repositories.
   159                 pull over all the latest changesets in all the repositories.
   160                 This set of nested repositories has been given the term
   160                 This set of nested repositories has been given the term
   161                 "forest" and there are various ways to apply the same
   161                 "forest" and there are various ways to apply the same
   162                 <code>hg</code> command to each of the repositories.
   162                 <code>hg</code> command to each of the repositories.
   237                             <td>
   237                             <td>
   238                                 corba
   238                                 corba
   239                             </td>
   239                             </td>
   240                             <td>
   240                             <td>
   241                                 source code for the OpenJDK Corba functionality
   241                                 source code for the OpenJDK Corba functionality
       
   242                             </td>
       
   243                         </tr>
       
   244                         <tr>
       
   245                             <td>
       
   246                                 nashorn
       
   247                             </td>
       
   248                             <td>
       
   249                                 source code for the OpenJDK JavaScript implementation
   242                             </td>
   250                             </td>
   243                         </tr>
   251                         </tr>
   244                     </tbody>
   252                     </tbody>
   245                 </table>
   253                 </table>
   246             </blockquote>
   254             </blockquote>
   384                         If <code>configure</code> has any issues finding this JDK, you may
   392                         If <code>configure</code> has any issues finding this JDK, you may
   385                         need to use the <code>configure</code> option
   393                         need to use the <code>configure</code> option
   386                         <code>--with-boot-jdk</code>.
   394                         <code>--with-boot-jdk</code>.
   387                     </li>
   395                     </li>
   388                     <li>
   396                     <li>
   389                         Insure that GNU make, the Bootstrap JDK,
   397                         Ensure that GNU make, the Bootstrap JDK,
   390                         and the compilers are all
   398                         and the compilers are all
   391                         in your PATH environment variable
   399                         in your PATH environment variable
   392                     </li>
   400                     </li>
   393                 </ul>
   401                 </ul>
   394                 And for specific systems:
   402                 And for specific systems:
  1305                     Normally, no. If you want to create e.g. a new native
  1313                     Normally, no. If you want to create e.g. a new native
  1306                     library, 
  1314                     library, 
  1307                     you will need to modify the makefiles. But for normal file
  1315                     you will need to modify the makefiles. But for normal file
  1308                     additions or removals, no changes are needed. There are certan
  1316                     additions or removals, no changes are needed. There are certan
  1309                     exceptions for some native libraries where the source files are spread
  1317                     exceptions for some native libraries where the source files are spread
  1310                     over many directories which also contain courses for other
  1318                     over many directories which also contain sources for other
  1311                     libraries. In these cases it was simply easier to create include lists
  1319                     libraries. In these cases it was simply easier to create include lists
  1312                     rather thane excludes.
  1320                     rather than excludes.
  1313                 </p>
  1321                 </p>
  1314 
  1322 
  1315                 <p>
  1323                 <p>
  1316                     <b>Q:</b>
  1324                     <b>Q:</b>
  1317                     When I run <code>configure --help</code>, I see many strange options, 
  1325                     When I run <code>configure --help</code>, I see many strange options, 
  1325                 </p>
  1333                 </p>
  1326 
  1334 
  1327                 <p>
  1335                 <p>
  1328                     <b>Q:</b> 
  1336                     <b>Q:</b> 
  1329                     <code>configure</code> provides OpenJDK-specific features such as
  1337                     <code>configure</code> provides OpenJDK-specific features such as
  1330                     <code>--enable-jigsaw</code> or <code>--with-builddeps-server</code>
  1338                     <code>--with-builddeps-server</code> that are not
  1331                     that are not described in this document. What about those?
  1339                     described in this document. What about those? 
  1332                     <br>
  1340                     <br>
  1333                     <b>A:</b>
  1341                     <b>A:</b>
  1334                     Try them out if you like! But be aware that most of these are 
  1342                     Try them out if you like! But be aware that most of these are 
  1335                     experimental features. 
  1343                     experimental features. 
  1336                     Many of them don't do anything at all at the moment; the option 
  1344                     Many of them don't do anything at all at the moment; the option 
  1337                     is just a placeholder. Other depends on
  1345                     is just a placeholder. Others depend on
  1338                     pieces of code or infrastructure that is currently 
  1346                     pieces of code or infrastructure that is currently 
  1339                     not ready for prime time.
  1347                     not ready for prime time.
  1340                 </p>
  1348                 </p>
  1341 
  1349 
  1342                 <p>
  1350                 <p>
  1381                     Yes! The new build system has grown bit by bit as we converted 
  1389                     Yes! The new build system has grown bit by bit as we converted 
  1382                     the old system. When all of the old build system is converted,
  1390                     the old system. When all of the old build system is converted,
  1383                     we can take a step back and clean up the structure of the new build
  1391                     we can take a step back and clean up the structure of the new build
  1384                     system. Some of this we plan to do before replacing the old build
  1392                     system. Some of this we plan to do before replacing the old build
  1385                     system and some will need to wait until after.
  1393                     system and some will need to wait until after.
  1386                 </p>
       
  1387 
       
  1388                 <p>
       
  1389                     <b>Q:</b> What is @GenerateNativeHeaders?
       
  1390                     <br>
       
  1391                     <b>A:</b> 
       
  1392                     To speed up compilation, we added a flag to javac which makes it 
       
  1393                     do the job of javah as well, as a by-product; that is, generating
       
  1394                     native .h header files. These files are only generated 
       
  1395                     if a class contains native methods. However, sometimes 
       
  1396                     a class contains no native method,
       
  1397                     but still contains constants that native code needs to use. 
       
  1398                     The new GenerateNativeHeaders annotation tells javac to
       
  1399                     force generation of a
       
  1400                     header file in these cases. (We don't want to generate 
       
  1401                     native headers for all classes that contains constants 
       
  1402                     but no native methods, since
       
  1403                     that would slow down the compilation process needlessly.)
       
  1404                 </p>
  1394                 </p>
  1405 
  1395 
  1406                 <p>
  1396                 <p>
  1407                     <b>Q:</b> 
  1397                     <b>Q:</b> 
  1408                     Is anything able to use the results of the new build's default make target?
  1398                     Is anything able to use the results of the new build's default make target?
  1427                     I usually set a specific environment variable when building, 
  1417                     I usually set a specific environment variable when building, 
  1428                     but I can't find the equivalent in the new build. 
  1418                     but I can't find the equivalent in the new build. 
  1429                     What should I do?
  1419                     What should I do?
  1430                     <br>
  1420                     <br>
  1431                     <b>A:</b>
  1421                     <b>A:</b>
  1432                     It might very well be that we have missed to add support for
  1422                     It might very well be that we have neglected to add support for
  1433                     an option that was actually used from outside the build system.
  1423                     an option that was actually used from outside the build system.
  1434                     Email us and we will
  1424                     Email us and we will add support for it!
  1435                     add support for it!
       
  1436                 </p>
  1425                 </p>
  1437 
  1426 
  1438             </blockquote>
  1427             </blockquote>
  1439 
  1428 
  1440             <h3><a name="performance">Build Performance Tips</a></h3>
  1429             <h3><a name="performance">Build Performance Tips</a></h3>