Vanilla List Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [VANILLA-LIST:3139] GNU make required



On Sat, May 27, 2000 at 07:56:42PM -0700, Trent Piepho wrote:
> 
> For one thing, you get kludge compile lines, like:
> 
> gcc -I. -I.. -Iinclude -I. -I. -L. -DNOT_USED -L.. -L../lib -DMEANINGLESS -DDEF
> INED_ELSEWHERE -O4 -I/usr/local/include -O0 -g -fno-strength-reduce -c ./../src
> /foo.c -o ./../src/foo.o

This has nothing to do with autoconf.  You should blame the authors of
configure.in for writing poor autoconf template files.

> It's also a pain in the as to get an autoconf program to compile if it doesn't
> work out of the box.  If the autoconf script can't find a library and include
> and you know where it is, it can sometime be impossible to tell autoconf that.

env CC="cc -Iinclude -Llib" ./configure

works fine for me.  Again, if the authors of configure.in didn't provide
easy ways to specify alternate directories for specific libraries, blame them,
not autoconf.

> The makefiles it generates are also huge, and if you have a project with lots
> of subdirectories make takes a long time to just to spawn 500 sub-makes and
> parse ten of thousands of lines of Makefiles.

Huge makefiles are a byproduct of authors who insist on writing huge
Makefile.in.  If you have a project with lots of subdirectories that require
500 sub-makes and tens of thousands of lines of Makefiles, then the project
layout needs changed.  There are plenty of huge projects that seem to work
just fine with autoconf.

Autoconf has its problems, but it is one of the best free tools to maintain
portability across multiple platforms.  Show me something that is easier
and better.

-- 
Dave Ahn <ahn@vec.wfubmc.edu>        |  "When you were born, you cried and the
                                     |  world rejoiced.  Try to live your life
Virtual Endoscopy Center             |  so that when you die, you will rejoice
Wake Forest Univ. School of Medicine |  and the world will cry."  -1/2 jj^2