automake
[Top][All Lists]
Advanced

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

Re: 75-2-simplifications.patch


From: Lars J. Aas
Subject: Re: 75-2-simplifications.patch
Date: Wed, 28 Mar 2001 14:46:07 +0200
User-agent: Mutt/1.2.5i

On Wed, Mar 28, 2001 at 09:33:00AM +0200, Akim Demaille wrote:
: In fact, to be honest, I no longer understand very well why we perform
: such a closure.  I mean, as is, Automake transforms (this is
: cond3.test)
: 
:   | bin_PROGRAMS = targ
:   |
:   | if ONE
:   | SONE = one.c
:   | else
:   | SONE =
:   | endif
:   |
:   | if TWO
:   | STWO = two.c
:   | else
:   | STWO =
:   | endif
:   |
:   | if THREE
:   | STHREE = three.c
:   | else
:   | STHREE =
:   | endif
:   |
:   | targ_SOURCES = $(SONE) $(STWO) $(STHREE)
: 
: into
: 
:   | @ONE_FALSE@@THREE_FALSE@@address@hidden = two.$(OBJEXT)
:   | @ONE_FALSE@@THREE_FALSE@@address@hidden =
:   | @ONE_FALSE@@THREE_TRUE@@address@hidden = two.$(OBJEXT) \
:   | @ONE_FALSE@@THREE_TRUE@@TWO_TRUE@ three.$(OBJEXT)
:   | @ONE_FALSE@@THREE_TRUE@@address@hidden = three.$(OBJEXT)
:   | @ONE_TRUE@@THREE_FALSE@@address@hidden = one.$(OBJEXT) \
:   | @ONE_TRUE@@THREE_FALSE@@TWO_TRUE@ two.$(OBJEXT)
:   | @ONE_TRUE@@THREE_FALSE@@address@hidden = one.$(OBJEXT)
:   | @ONE_TRUE@@THREE_TRUE@@address@hidden = one.$(OBJEXT) \
:   | @ONE_TRUE@@THREE_TRUE@@TWO_TRUE@ two.$(OBJEXT) three.$(OBJEXT)
:   | @ONE_TRUE@@THREE_TRUE@@address@hidden = one.$(OBJEXT) \
:   | @ONE_TRUE@@THREE_TRUE@@TWO_FALSE@ three.$(OBJEXT)
: 
: why don't we just output
: 
:   | @address@hidden = one.$(OBJEXT)
:   | @address@hidden =
:   |
:   | @address@hidden = two.$(OBJEXT)
:   | @address@hidden =
:   |
:   | @address@hidden = three.$(OBJEXT)
:   | @address@hidden =
:   |
:   | am_targ_OBJECTS = $(am_SONE_OBJECTS) $(am_STWO_OBJECTS) 
$(am_STHREE_OBJECTS)

I've also been annoyed with the current behaviour.  The simage library
I am a developer on has seven conditional source files (separate
conditionals) in the same directory, and the generated Makefile.in
for that directory is over 200K, only because it includes the full
permutation over all the conditionals.  Without them, the file is 15K.

The growth in file size is exponential to the number of conditionals, so
add another couple of AM_CONDITIONALS and you're bound to start reaching
buffer and file-size limits, not to mention how slow config.status
gets parsing files that are megabytes in size - nor do I really want
to distribute a library where Makefile files take up the bulk of the
disk space.

I say go for it - this is a part of Automake that is in bad need of being
redesigned The Right Way.

  Lars J



reply via email to

[Prev in Thread] Current Thread [Next in Thread]