Search code examples
automake

Create configure script in arbitrary directory


Is it possible create configure script by Automake in separated directory, like it's possible to create Makefile from configure script?

For example, automake files configure.ac and Makefile.in are in directory /path/to/my/src, and I want to do something like

mkdir -p /path/to/my/buildconf 
cd /path/to/my/buildconf
autoreconf -vfi /path/to/my/src

Didn't find it in documentation https://www.gnu.org/software/autoconf/manual/autoconf-2.70/autoconf.html#Installation-Directory-Variables


Solution

  • no it's not possible.

    the configure script is considered part of the source code.

    this is probably technically correct (it's a bash-script after all), but philosophically less so (as it is an artifact generated from configure.ac; if you ever looked at the configure script, it's obvious that no human would write something like this).

    In any case, the idea behind configure was to be generated by the upstream authors and to be shipped along with the sources (within the source tarball). So there was never any need for running autoreconf out-of-tree (unlike running the actual build process).

    This design pre-dates the ubiquitous use of version control systems (where it is generally frowned upon to submit generated artifacts).

    I also guess that back in the days, a lot of software was self-contained (that is: only required standard system headers/libraries), so providing a self-contained configure-script made more sense (people wouldn't need to install the autotools chain), whereas these days I find that most software requires a lot of dependencies, so it doesn't really matter whether you have to install one or two more packages.