README-builds.html

changeset 970
e885c762cedd
parent 783
92facce22941
child 796
b1e9396fb8af
equal deleted inserted replaced
969:f29be0099f41 970:e885c762cedd
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:
1200 1208
1201 <h3><a name="faq">FAQ</a></h3> 1209 <h3><a name="faq">FAQ</a></h3>
1202 <blockquote> 1210 <blockquote>
1203 1211
1204 <p> 1212 <p>
1205 <b>Q:</b> The <code>configure</code> file looks horrible! 1213 <b>Q:</b> The <code>generated-configure.sh</code> file looks horrible!
1206 How are you going to edit it? 1214 How are you going to edit it?
1207 <br> 1215 <br>
1208 <b>A:</b> The <code>configure</code> file is generated (think 1216 <b>A:</b> The <code>generated-configure.sh</code> file is generated (think
1209 "compiled") by the autoconf tools. The source code is 1217 "compiled") by the autoconf tools. The source code is
1210 in <code>configure.ac</code> various .m4 files in common/autoconf, 1218 in <code>configure.ac</code> and various .m4 files in common/autoconf,
1211 which are 1219 which are much more readable.
1212 much more readable.
1213 </p> 1220 </p>
1214 1221
1215 <p> 1222 <p>
1216 <b>Q:</b> 1223 <b>Q:</b>
1217 Why is the <code>configure</code> file checked in, 1224 Why is the <code>generated-configure.sh</code> file checked in,
1218 if it is generated? 1225 if it is generated?
1219 <br> 1226 <br>
1220 <b>A:</b> 1227 <b>A:</b>
1221 If it was not generated, every user would need to have the autoconf 1228 If it was not generated, every user would need to have the autoconf
1222 tools installed, and re-generate the <code>configure</code> file 1229 tools installed, and re-generate the <code>configure</code> file
1227 </p> 1234 </p>
1228 1235
1229 <p> 1236 <p>
1230 <b>Q:</b> 1237 <b>Q:</b>
1231 Do you require a specific version of autoconf for regenerating 1238 Do you require a specific version of autoconf for regenerating
1232 <code>configure</code>? 1239 <code>generated-configure.sh</code>?
1233 <br> 1240 <br>
1234 <b>A:</b> 1241 <b>A:</b>
1235 Currently, no, but this will likely be the case when things have 1242 Yes, version 2.69 is required and should be easy
1236 settled down a bit more. (The reason for this is to avoid 1243 enough to aquire on all supported operating
1237 large spurious changes in <code>configure</code> 1244 systems. The reason for this is to avoid
1238 in commits that made small changes to <code>configure.ac</code>). 1245 large spurious changes in <code>generated-configure.sh</code>.
1246 </p>
1247
1248 <p>
1249 <b>Q:</b>
1250 How do you regenerate <code>generated-configure.sh</code>
1251 after making changes to the input files?
1252 <br>
1253 <b>A:</b>
1254 Regnerating <code>generated-configure.sh</code>
1255 should always be done using the
1256 script <code>common/autoconf/autogen.sh</code> to
1257 ensure that the correct files get updated. This
1258 script should also be run after mercurial tries to
1259 merge <code>generated-configure.sh</code> as a
1260 merge of the generated file is not guaranteed to
1261 be correct.
1239 </p> 1262 </p>
1240 1263
1241 <p> 1264 <p>
1242 <b>Q:</b> 1265 <b>Q:</b>
1243 What are the files in <code>common/makefiles/support/*</code> for? 1266 What are the files in <code>common/makefiles/support/*</code> for?
1305 Normally, no. If you want to create e.g. a new native 1328 Normally, no. If you want to create e.g. a new native
1306 library, 1329 library,
1307 you will need to modify the makefiles. But for normal file 1330 you will need to modify the makefiles. But for normal file
1308 additions or removals, no changes are needed. There are certan 1331 additions or removals, no changes are needed. There are certan
1309 exceptions for some native libraries where the source files are spread 1332 exceptions for some native libraries where the source files are spread
1310 over many directories which also contain courses for other 1333 over many directories which also contain sources for other
1311 libraries. In these cases it was simply easier to create include lists 1334 libraries. In these cases it was simply easier to create include lists
1312 rather thane excludes. 1335 rather than excludes.
1313 </p> 1336 </p>
1314 1337
1315 <p> 1338 <p>
1316 <b>Q:</b> 1339 <b>Q:</b>
1317 When I run <code>configure --help</code>, I see many strange options, 1340 When I run <code>configure --help</code>, I see many strange options,
1325 </p> 1348 </p>
1326 1349
1327 <p> 1350 <p>
1328 <b>Q:</b> 1351 <b>Q:</b>
1329 <code>configure</code> provides OpenJDK-specific features such as 1352 <code>configure</code> provides OpenJDK-specific features such as
1330 <code>--enable-jigsaw</code> or <code>--with-builddeps-server</code> 1353 <code>--with-builddeps-server</code> that are not
1331 that are not described in this document. What about those? 1354 described in this document. What about those?
1332 <br> 1355 <br>
1333 <b>A:</b> 1356 <b>A:</b>
1334 Try them out if you like! But be aware that most of these are 1357 Try them out if you like! But be aware that most of these are
1335 experimental features. 1358 experimental features.
1336 Many of them don't do anything at all at the moment; the option 1359 Many of them don't do anything at all at the moment; the option
1337 is just a placeholder. Other depends on 1360 is just a placeholder. Others depend on
1338 pieces of code or infrastructure that is currently 1361 pieces of code or infrastructure that is currently
1339 not ready for prime time. 1362 not ready for prime time.
1340 </p> 1363 </p>
1341 1364
1342 <p> 1365 <p>
1381 Yes! The new build system has grown bit by bit as we converted 1404 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, 1405 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 1406 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 1407 system. Some of this we plan to do before replacing the old build
1385 system and some will need to wait until after. 1408 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> 1409 </p>
1405 1410
1406 <p> 1411 <p>
1407 <b>Q:</b> 1412 <b>Q:</b>
1408 Is anything able to use the results of the new build's default make target? 1413 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, 1432 I usually set a specific environment variable when building,
1428 but I can't find the equivalent in the new build. 1433 but I can't find the equivalent in the new build.
1429 What should I do? 1434 What should I do?
1430 <br> 1435 <br>
1431 <b>A:</b> 1436 <b>A:</b>
1432 It might very well be that we have missed to add support for 1437 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. 1438 an option that was actually used from outside the build system.
1434 Email us and we will 1439 Email us and we will add support for it!
1435 add support for it!
1436 </p> 1440 </p>
1437 1441
1438 </blockquote> 1442 </blockquote>
1439 1443
1440 <h3><a name="performance">Build Performance Tips</a></h3> 1444 <h3><a name="performance">Build Performance Tips</a></h3>

mercurial