Question about autoreconf to regenerate configuration files

R. Diez rdiezmail-newlib@yahoo.de
Fri Jan 21 16:09:50 GMT 2022


> [...]
> The bootstrap time was large enough to
> negatively impact our ability to do automated regression testing.

A very long bootstrap time could be an issue.

However, compilation time normally outweighs by far the Autotools regeneration step. Is that a problem in Newlib at the moment?


> One of our long standing concerns with letting users generate was
> reproducibility. How do you know that two end users end up with the
> same generated output?

Newlib users will use different compiler versions, different GNU Make versions, etc. I do not understand why fixing the Autotools versions would be an advantage for Newlib.

If you are trying to reproduce some weird build bug, you can ask the developer to use particular versions of the Autotools. If you are trying to get reproducible builds, your build script can make sure it is using the same Autools versions every time. That is not hard to achieve with this script of mine:

https://github.com/rdiez/Tools/tree/master/Autotools


> It's a pain to put the generated output in git but at least it saves
> generating it and ensures it is the same for all users building.

Users would not normally download the Git Head, but some release tarball. That tarball should then have all the Autotools-generated files. This way, all users will build with the same Autotools-generated files.

Only Newlib developers working against Git Head would have to deal with the Autotools. And that is not normally a problem, if the build system is healthy, like it should be.

Checking the Autotools files into the repository has several drawbacks. We have seen 2 of them again recently, and I am sure that we will see more in the future. I understand that the developer doing the much-needed Autotools clean-up, Mike Frysinger, also advised against checking in those files.

If Newlib wishes to depart from best practice, it would be nice to know the concrete issues in the context of this project, and not just some general "all solutions in this area seem to suck" justification.

Regards,
   rdiez


More information about the Newlib mailing list