RFR: JDK-8195689 Remove generated-configure.sh and instead use autoconf

Erik Joelsson erik.joelsson at oracle.com
Fri Jan 19 02:29:38 UTC 2018


Just apply the patch and you can try it. The current version of the patch is somewhat broken on windows though, needs another iteration. 
/Erik 

⁣Sent from BlueMail ​

On Jan 18, 2018, 18:14, at 18:14, David Holmes <david.holmes at oracle.com> wrote:
>On 18/01/2018 11:28 PM, Magnus Ihse Bursie wrote:
>> Currently, we require all developers who modify the configure script
>to 
>> run autoconf locally, to update the generated-configure.sh script,
>which 
>> is then checked in. This is the only instance of checked in
>"compiled" 
>> code in OpenJDK, and this has brought along several problems:
>> 
>> * Only a specific version of autoconf, 2.69, can be used, to avoid
>large 
>> code changes in the generated file. Unfortunately, Ubuntu ships a 
>> version of autoconf that claims to be 2.69 but is actually heavily 
>> patched. This requires all Ubuntu users to compiler their own
>autoconf 
>> from source.
>> 
>> * The Oracle JDK closed sources has a closed version that needs to be
>
>> updated. In practice, this has meant that all non-Oracle developers, 
>> need an Oracle sponsor for patches modifying the configure script.
>> 
>> * If the configure script is not properly updated, the build will
>fail. 
>> The same happens on the Oracle side if the closed version is not in
>sync 
>> with the open version. It is easy to miss re-generating the script
>after 
>> the last fix of a typo in the comments in an .m4 file...
>> 
>> * Merging between two changes containing configure modifications is 
>> almost impossible. In practice, the entire generated-configure.sh
>needs 
>> to be thrown away and regenerated.
>> 
>> The entire benefit of having the file in the repo is to save
>first-time 
>> developers the hassle of installing autoconf. On most platforms, this
>is 
>> a no-brainer (like "apt install autoconf"), and the requirement is 
>> similar to other open source projects using autoconf and
>"./configure". 
>> It's just not worth it.
>
>I'm not convinced just by you saying it is so - sorry. This seems to 
>make an already complex build process even more complex for every
>single 
>person who wants to build OpenJDK, for the benefit of a handful of 
>people who may want to modify configure options and whom already work 
>closely with the build team and so there's really little hardship in 
>getting a sponsor, or just someone with access to autoconf.
>
>It introduces a new point of failure in the build for everyone.
>
>Has this been beta-tested with external contributors? I'd be happier 
>knowing we've put this through its paces with people developing on a 
>wide range of platforms, before making it the default.
>
>Have the devkits been updated so I can try this out myself?
>
>Thanks,
>David
>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8195689
>> WebRev: 
>>
>http://cr.openjdk.java.net/~ihse/JDK-8195689-remove-generated-configure/webrev.01
>
>
>> 
>> /Magnus



More information about the build-dev mailing list