[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ./configure



On Mon, Aug 03, 1998 at 04:23:26PM -0700, Darren Benham wrote:
> Where is a good source to learn what's behind the ./configure scripts?  Is it a
> package or is there any documentation or convention?

You already know that they are created by autoconf. To lift the magic
somewhat, I'll write a short introduction.

Autoconf parses configure.in to create an installation script.
configure.in is a m4 script, and contains macros to test for various
libraries etc. You also specify which Makefiles to generate etc. Each
makefile to generate needs a Makefile.in, too. (Those can be generated from
Makefile.am's with automake, yet another generalization). In the Makefiles,
variable substitution is done.

Well, the good thing is that you just need to run configure, and then make;
make install. And there are standard options for cross-compiling,
installation directory etc.

To use it, you have to specify the correct options. In Debian, you want to
install the software in /usr, so you do in debian/rules:

./configure --prefix=/usr

But then, you want to have the files copied to your temporary build
directory, so you do under the binary targets:

$(MAKE) install --prefix=debian/tmp/usr

You see, it's very powerful. You even build in a subdirectory for easy
cleaning:

mkdir build; cd build
../configure --prefix=/usr

This will create all files below the build/ directory, and won't touch the
source directories. It's kinda neat.

I was confused by autoconf, automake and libtool, because a lot of things
happened and you don't know what to type to get what you want (it's like
debstd, only more complex :), but it works great when you get used to it.

The tools are written in a way that allows you to run
aclocal;automake;autoconf before you ship your package (make dist; make
dist-check). Then the one who compiles the package does not need to have
autoconf installed. The complete set of tools makes a good addition to the
Debian package tools. Somebody even started to write autoconf macros etc for
Debian packaging, but I never heard again from this project (is it still
living?).

Thank you,
Marcus

-- 
"Rhubarb is no Egyptian god."        Debian GNU/Linux        finger brinkmd@ 
Marcus Brinkmann                   http://www.debian.org    master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de                        for public  PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       PGP Key ID 36E7CD09


--  
To UNSUBSCRIBE, email to debian-mentors-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: