|Bill Allombert on Mon, 26 Nov 2001 14:19:28 +0100|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|Re: R.I.P., Configure?|
On Mon, Nov 26, 2001 at 03:10:22AM -0500, Matias Atria wrote: > > Hi, > 3 switch to autoconf > > I'm willing to volunteer for this, if it is still something that would be > "nice to have" and nobody else is doing it. After reading the Configure > script carefully, it looks like it would be hard to make a configure script > (notice the lowercase c :-) as "smart" as that, so some functionality would > have to be sacrificed (and asking questions interactively would definitely > have to go away). I can be more specific about this later, but first I > wanted to make sure that people are willing to get rid of the carefully > hand-written Configure, and also learn if someone is already working on > this. I have try to do that some time ago, after I have released gp2c, that use autoconf and automake. My conclusions for now are: 1) We cannot use libtool, because libtool forbid doing things like putting non PIC code in dynamic libraries, that we cannot avoid until someone volonteer to rewrite all the asm files to use GOT. 2) We cannot use automake, because there is no support for libraries outside libtool. Also automake does not support splitting source code in separate directories. Also there is no direct support for putting object files in a separate directory, which is a very nice feature for pari testers, since we can make all the build for all the archs and the dbg versions with the same source tree. Automake only support VPATH. 3) We can use autoconf, but it is a bit of works to rewrite the Makefile.SH and the benefit are not clear. One of the problem is the #define names that do not match. PARI use USE_GETRUSAGE, autoconf HAVE_GETRUSAGE 4) Autoconf has no support for matching sub architectures to kernel architectures. This the biggest source of trouble with the actual Configure script, but autoconf will not solve it. Look at the gmp build system to see what is the nightmare ahead... (for example we need to find out that athlon use i386 kernel, which sparc are V7, v8micro, V9, etc...) 5) Automake/libtool has a bad history of incompatible releases... So what to do to improve things now ? 1) switch PARI Configure #define names to the one used by autoconf I will send the list to Karim. 2) split Configure in small scripts than we can reuse if we switch to autoconf. Partly done. Bill.