[article] trimming down autoconf's configure scripts by using pkg-config

Rogelio Serrano rogelio.serrano at gmail.com
Fri Mar 24 04:30:23 PST 2006


On 3/24/06, Miles Bader <miles.bader at necel.com> wrote:
> "Rogelio Serrano" <rogelio.serrano at gmail.com> writes:
> >> > And then just probing for a particular
> >> > feature without any reference to machine-arch-platform at all.
> >>
> >> Which is the entire rationale behind autoconf (feature tests, not
> >> platform tests)?
> >
> > Why is it sometimes configure says machine-arch-paltform is not recognised?
>
> Autoconf wants to identify the hardware/os/etc for various reasons, but
> for most programs it doesn't actually use that info for very much.
> Largely autoconf works by testing features without reference to the
> machine type.
>

I always encounter that. If i say i686-pc-linuc-uclibc configure dies.
And i found it impossible to update autoconf and libtool to recognise
this.

> > I can actually live with a very simple c program that can probe for a
> > particular feature. I have even tried a builder that comes as c source
> > code that you build first. You dont even need make at all.
>
> You have to figure out how to compile and link a simple program
> (one of the things configure does)...
>

I see. I think I have to take a look at autotools again...

> > IMHO a set of test C source files built and run to generate config
> > data will be the most portable solution. It will only test for what a
> > package needs instead of guessing what will be needed beforehand and
> > it will not be confused by quirks in a system.
>
> That's more or less what autoconf does, except that it _generates_ the
> "test C source files" using the shell script.
>

But that can break. It happens often when i try to build old packages.
Like the sdsi tarball from MIT. The configure script was so old I had
to update it but autotools gave back errors that just seem to keep
coming back even if i fixed it. I had to install older autotool
versions to build it. I think autoconf 2.13 and autoconf 2.50 will
cover packages of whatever vintage.

It actually needs a lot of work to update these feature probes. Its so
hard to understand from reading the script. Specially for shell
non-wizards like me. M4 is essential.

Maybe we can just ship some data file that can be read by a utility?

Something like:

header unistd.h
library libpth
symbol whatever
run yacc
run install -D
run install -d

--
www.smsglobal.net SMS Global Ltd Short Message Service For Seafarers



More information about the xorg mailing list