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