[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Builds with 'configure' not at the top of srcdir
From: |
Eduardo Hernández |
Subject: |
Re: Builds with 'configure' not at the top of srcdir |
Date: |
Fri, 13 Jan 2023 17:02:32 -0400 |
On Fri, Jan 13, 2023 at 1:14 PM Zack Weinberg <zack@owlfolio.org> wrote:
>
> On Thu, Jan 12, 2023, at 9:24 PM, Eduardo Hernández wrote:
> > I've been trying to separate the build system and source directory
> > completely. Part of that would be to have the 'configure' script in the
> > 'build' directory, away from the 'src' directory
>
> This goes against a basic design assumption in both Automake and Autoconf:
> you are expected to be making tarball releases that include the configure
> script and a bunch of other generated files (aclocal.m4, config.h.in,
> Makefile.in if Automake is used, etc.) That assumption goes back to an era
> when most software distribution did _not_ involve direct access to the core
> developers' version control system (if there even _was_ one) and when asking
> people to install Automake and Autoconf (and all the stuff _they_ depend on,
> notably M4 and Perl), before they could install any _other_ GNU software,
> would've been a non-starter
>
> So, all the generated code assumes that the location of the configure script
> *defines* the top level of the source tree. The `--srcdir` option is only
> intended for use as a manual override when the automatic probe for the
> location of the configure script doesn't work.
Ah! When I found --srcdir I thought it was an option without all the
kinks worked out, but that makes more sense
> This design arguably could stand to be reconsidered, but it'll be a lot of
> work to get to a place where you can do the thing you would like to do. Are
> you up for that work?
Not at the moment. I've been away from FOSS development for a decade,
and just got back to it in the last few months. I don't mind long
tasks, but I already have a backlog from other projects; I do like the
autotools more than any alternatives I've tried (CMake, Ninja, etc..)
so I may get involved with development in a couple months or years.
For the time being, I'm happy just with learning how the autotools
work
In my case, I'll just place a single configure script in the src
directory and run it from the build directory. That's still a lot
cleaner than the recursive in-source build system I'm replacing
Thanks for the information!