On Thu, 2018-01-18 at 14:28 +0100, 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. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8195689 > WebRev: > http://cr.openjdk.java.net/~ihse/JDK-8195689-remove-generated-configure/webrev.01
Very cool! +1 Note: I haven't really reviewed the patch. This change in approach is very welcome, though. Thanks, Severin