1193 1194 <!-- ====================================================== --> 1195 <!-- ====================================================== --> 1196 <!-- ====================================================== --> 1197 <!-- ====================================================== --> 1198 <!-- ====================================================== --> 1199 <!-- ====================================================== --> 1200 <!-- ====================================================== --> 1201 <!-- ====================================================== --> 1202 <!-- ====================================================== --> 1203 1204 <!-- ====================================================== --> 1205 <hr> 1206 <h2><a name="hints">Appendix A: Hints and Tips</a></h2> 1207 <blockquote> 1208 1209 <h3><a name="faq">FAQ</a></h3> 1210 <blockquote> 1211 1212 <p> 1213 <b>Q:</b> The <code>configure</code> file looks horrible! 1214 How are you going to edit it? 1215 <br> 1216 <b>A:</b> The <code>configure</code> file is generated (think 1217 "compiled") by the autoconf tools. The source code is 1218 in <code>configure.ac</code> various .m4 files in common/autoconf, 1219 which are 1220 much more readable. 1221 </p> 1222 1223 <p> 1224 <b>Q:</b> 1225 Why is the <code>configure</code> file checked in, 1226 if it is generated? 1227 <br> 1228 <b>A:</b> 1229 If it was not generated, every user would need to have the autoconf 1230 tools installed, and re-generate the <code>configure</code> file 1231 as the first step. 1232 Our goal is to minimize the work needed to be done by the user 1233 to start building OpenJDK, and to minimize 1234 the number of external dependencies required. 1235 </p> 1236 1237 <p> 1238 <b>Q:</b> 1239 Do you require a specific version of autoconf for regenerating 1240 <code>configure</code>? 1241 <br> 1242 <b>A:</b> 1243 Currently, no, but this will likely be the case when things have 1244 settled down a bit more. (The reason for this is to avoid 1245 large spurious changes in <code>configure</code> 1246 in commits that made small changes to <code>configure.ac</code>). 1247 </p> 1248 1249 <p> 1250 <b>Q:</b> 1251 What are the files in <code>common/makefiles/support/*</code> for? 1252 They look like gibberish. 1253 <br> 1254 <b>A:</b> 1255 They are a somewhat ugly hack to compensate for command line length 1256 limitations on certain platforms (Windows, Solaris). 1257 Due to a combination of limitations in make and the shell, 1258 command lines containing too many files will not work properly. 1259 These 1260 helper files are part of an elaborate hack that will compress the 1261 command line in the makefile and then uncompress it safely. 1262 We're 1263 not proud of it, but it does fix the problem. 1264 If you have any better suggestions, we're all ears! :-) 1265 </p> 1266 | 1193 1194 <!-- ====================================================== --> 1195 <!-- ====================================================== --> 1196 <!-- ====================================================== --> 1197 <!-- ====================================================== --> 1198 <!-- ====================================================== --> 1199 <!-- ====================================================== --> 1200 <!-- ====================================================== --> 1201 <!-- ====================================================== --> 1202 <!-- ====================================================== --> 1203 1204 <!-- ====================================================== --> 1205 <hr> 1206 <h2><a name="hints">Appendix A: Hints and Tips</a></h2> 1207 <blockquote> 1208 1209 <h3><a name="faq">FAQ</a></h3> 1210 <blockquote> 1211 1212 <p> 1213 <b>Q:</b> The <code>generated-configure.sh</code> file looks horrible! 1214 How are you going to edit it? 1215 <br> 1216 <b>A:</b> The <code>generated-configure.sh</code> file is generated (think 1217 "compiled") by the autoconf tools. The source code is 1218 in <code>configure.ac</code> and various .m4 files in common/autoconf, 1219 which are much more readable. 1220 </p> 1221 1222 <p> 1223 <b>Q:</b> 1224 Why is the <code>generated-configure.sh</code> file checked in, 1225 if it is generated? 1226 <br> 1227 <b>A:</b> 1228 If it was not generated, every user would need to have the autoconf 1229 tools installed, and re-generate the <code>configure</code> file 1230 as the first step. 1231 Our goal is to minimize the work needed to be done by the user 1232 to start building OpenJDK, and to minimize 1233 the number of external dependencies required. 1234 </p> 1235 1236 <p> 1237 <b>Q:</b> 1238 Do you require a specific version of autoconf for regenerating 1239 <code>generated-configure.sh</code>? 1240 <br> 1241 <b>A:</b> 1242 Yes, version 2.69 is required and should be easy 1243 enough to aquire on all supported operating 1244 systems. The reason for this is to avoid 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. 1262 </p> 1263 1264 <p> 1265 <b>Q:</b> 1266 What are the files in <code>common/makefiles/support/*</code> for? 1267 They look like gibberish. 1268 <br> 1269 <b>A:</b> 1270 They are a somewhat ugly hack to compensate for command line length 1271 limitations on certain platforms (Windows, Solaris). 1272 Due to a combination of limitations in make and the shell, 1273 command lines containing too many files will not work properly. 1274 These 1275 helper files are part of an elaborate hack that will compress the 1276 command line in the makefile and then uncompress it safely. 1277 We're 1278 not proud of it, but it does fix the problem. 1279 If you have any better suggestions, we're all ears! :-) 1280 </p> 1281 |