On 5/17/2013 13:05, Henrique de Moraes Holschuh wrote:
It would have been really useful if autofoo used whatever is in
/usr/share/misc, unless there is a config.sub.override or
config.guess.override file
You're starting from an assumption that autotools are installed on all
systems where you would want to build an autoconfiscated package.
For example, on Cygwin and FreeBSD, a C compiler is optional, and
installing it doesn't drag in the autotools.
All you're supposed to need to build an autoconfiscated package are
sh(1), make(1), and the compiler for whatever language the package's
source code is in.
I think you have the seed of a good idea here, though.
What if configure behaves just like it currently does unless it sees
that config.{guess,sub}[.override] aren't present at all? It can then
go looking for default versions in the usual system locations.
OS package creation tools could offer a per-package flag in the
package's configuration (.spec, .ebuild, .cygport, debian/...) that
tells it it is safe to remove shipped config.{guess,sub} files from the
tarball when building the source package, and that it should autoreconf
the package to get a configure script and Makefile.in that's aware of
this new behavior. The idea here is that binary package building
workstations *can* be assumed to have autotools installed.
It would also be useful if generated configure scripts supported a
--no-local-guess flag which forces it to look for system versions even
if it finds them in the same directory as the configure script. That
way a tarball can *ship* with config.{guess,sub}, but when a package
maintainer knows the system versions are going to work better, it can
pass that flag without autoreconf'ing the package.
You might think that unnecessarily fiddly, but it's based on an
experience of mine just last month. I was trying to build something
that shipped with outdated config.{guess,sub} files, but I couldn't
autoreconf it because its configure.ac file was *also* written in a
style so obsolescent that autoconf refused to cope with it. The package
creation tool "helpfully" tried overwriting config.{guess,sub} but it
did so with versions that were still too old, so even if I overwrote
them ahead of time, it clobbered my fixes.
That "--no-local-guess" flag would have saved me some aggravation.
Yes, I realize such behavior won't save me for another 3+ years, if I
have my way. I'd rather have these features painlessly in the future
than break a hundred thousand tarballs so I can have these features now.
_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
https://lists.gnu.org/mailman/listinfo/autoconf