Configure Artifact Discussion

Overview

It was proposed that we remove a set of files from our git repository.

autom4te.cache
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
Makefile.in
aclocal.m4
ar-lib
compile
config.guess
config.h.in
config.h.in~
config.sub
configure
depcomp
install-sh
ltmain.sh
missing
.deps/
Makefile
config.h
config.log
config.status
libtool
stamp-h1
.libs
.dirstamp

Case for retenion of configure artifacts

Portability

We have a set of configure and other input files that we know work. These can be used on other platforms (Solaris, etc) without need to have gnu autotools installed on the target. This increases portability to these systems

– Counter point:

Easier for developers

When we change a value in the autotool related scripts we commit them. This means other developers in the team don’t have to run autoreconf to consume the changes.

– Counter point:

Case for removal of configure artifacts

Developer autotools versions cause large diffs

On each developers machine we have a variety of autotools versions. I know the distros are used at a minimum within the team:

As a result there is at least 4 versions of autotools just there. Each change or commit by these way upgrade or downgrade the autotools version stored in our repository.

At the moment this on my system generates a diff of “4 files changed, 317 insertions(+), 247 deletions(-)”. I have seen this number both smaller and larger.

On each of these platforms we (likely) have to run autoreconf –force anyway. This can cause back-and-forth if we end up commiting these autoconf artifacts to git.

– Counter point:

Distros run autoreconf as part of their build process

Other distros are likely running autoreconf as part of their build process, so shipping pre-made files is redundant as these will be re-created anyway. We are maintaining these files in git for no one to consume them.

– Counter point:

Author

wibrown@redhat.com

Last modified on 2 April 2024