automake
[Top][All Lists]
Advanced

[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!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]