Subject: Re: Updating databases/libpqxx
To: None <pkgsrc-users@netbsd.org>
From: Jan Danielsson <jan.m.danielsson@gmail.com>
List: pkgsrc-users
Date: 05/25/2007 05:39:33
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

James K. Lowden wrote:
>>    Am I correct in assuming that the configure-scripts are a
>> semi-standard for build systems in Unix-systems (I don't think I've seen
>> a single Unix-aware build system which *doesn't* have a configure
>> script). Is it safe to assume that an application/library tarball will
>> have a configure script? Am I also correct in assuming that most
>> programs do in fact require patches, or tweaks, in order to build and
>> install properly (on NetBSD/pkgsrc)?
> 
> Configure scripts are common but far from universal.  For counterargument
> and counterexample, cf. imap-wu and its FAQ.  Take your time.  ;-) 

   I've noticed that the few build systems I have looked into so far
often seem much larger and more complex than the actual
applications/libraries they are meant to build(!). And something that
confuses me profoundly is the seemingly never ending amount of
automatically generated scripts. :-)

>>    Oh, while I'm at it.. What is autoconf in this context, which I see
>> references to sometimes?
> 
> Configure scripts are the output of the "autotools", beginning with
> autoconf.  
> 
> http://sourceware.org/autobook/
> 
> Includes a pretty good description of the evolution and motivation of
> autoconf & co.  

   If I'm reading it correctly (I just browsed quickly): It started with
makefiles. They had the obvious nonportability problems. So people wrote
configure scripts. The configure scripts became too difficult to
maintain for all different systems and configurations out there, so
someone invented autoconf which builds configure scripts for building
makefiles?

   And nowadays, we have build systems which patch the configure script
(on top of them being automatically generated?) to make programs build
properly.

> Working with autoconf is never unalloyed joy, but it does help to make
> applications portable in two OS dimensions: vendor and version.  

   This raises another question, perhaps a little offtopic for this
list, that I have been wondering about. I have written a small tool for
writing postgresql queries (operative word: "small"). I have a makefile,
which is built using the assumption that wxwidgets and libpqxx is
already available on the system.

   What's the easiest way for me to construct a portable, and familiar,
build system which is portable to any Unix:ish system which can build my
application as long as wxWidgets and libpqxx are available? I did try to
look into autoconf a while back, but it was way to time consuming to
learn at that point. I guess I could give it a new try -- but before I
do, is there a better/simpler option?

   I would like to write something which is pkgsrc friendly (as in "no
patching required").

- --
Kind regards,
Jan Danielsson
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFGVlp1uPlHKFfKXTYRCnUFAJ9Mq5gmok5SXXAE05cgkygW1I0xpACdGeWZ
OaQ4LNuk7wtSUqM87EyGnRk=
=Q0gu
-----END PGP SIGNATURE-----