summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorAlexandre Duret-Lutz <adl@gnu.org>2002-05-06 06:51:05 +0000
committerAlexandre Duret-Lutz <adl@gnu.org>2002-05-06 06:51:05 +0000
commite08fb7886abe97cb253b98d7d94b1d3db4095b4f (patch)
treec135cdee2152fcbea6203afb3cb303c378a17047 /TODO
parent38c39547980964afb6463dbcec3c286bee25b491 (diff)
downloadautomake-e08fb7886abe97cb253b98d7d94b1d3db4095b4f.tar.gz
Fix for condd.test (conditional `+='):
* automake.in (%appendvar): New. (initialize_per_input): Clear it. (macro_define): Handle += for variable defined in another condition. * automake.texi (Conditional Sources): Use conditional += in the example. (General Operation, Conditionals): Remove note about broken +=. * tests/cond21.test: New file. * tests/condd.test: Also test conditional append to a _SOURCE variable. Create missing directories. * tests/Makefile.am (TESTS): Add cond21.test. (XFAILS): Remove condd.test.
Diffstat (limited to 'TODO')
-rw-r--r--TODO91
1 files changed, 0 insertions, 91 deletions
diff --git a/TODO b/TODO
index fc966667c..3fb9ce3dd 100644
--- a/TODO
+++ b/TODO
@@ -173,97 +173,6 @@ Alex Hornby
stamp-h.in must be in dir with h.in file
stamp-h must be in dir with output file
-* conditionals and macros
- Our current scheme cause combinatoric explosion.
-
- 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@@TWO_TRUE@am_targ_OBJECTS = two.$(OBJEXT)
- | @ONE_FALSE@@THREE_FALSE@@TWO_FALSE@am_targ_OBJECTS =
- | @ONE_FALSE@@THREE_TRUE@@TWO_TRUE@am_targ_OBJECTS = two.$(OBJEXT) \
- | @ONE_FALSE@@THREE_TRUE@@TWO_TRUE@ three.$(OBJEXT)
- | @ONE_FALSE@@THREE_TRUE@@TWO_FALSE@am_targ_OBJECTS = three.$(OBJEXT)
- | @ONE_TRUE@@THREE_FALSE@@TWO_TRUE@am_targ_OBJECTS = one.$(OBJEXT) \
- | @ONE_TRUE@@THREE_FALSE@@TWO_TRUE@ two.$(OBJEXT)
- | @ONE_TRUE@@THREE_FALSE@@TWO_FALSE@am_targ_OBJECTS = one.$(OBJEXT)
- | @ONE_TRUE@@THREE_TRUE@@TWO_TRUE@am_targ_OBJECTS = one.$(OBJEXT) \
- | @ONE_TRUE@@THREE_TRUE@@TWO_TRUE@ two.$(OBJEXT) three.$(OBJEXT)
- | @ONE_TRUE@@THREE_TRUE@@TWO_FALSE@am_targ_OBJECTS = one.$(OBJEXT) \
- | @ONE_TRUE@@THREE_TRUE@@TWO_FALSE@ three.$(OBJEXT)
-
- why don't we just output
-
- | @ONE_TRUE@am_SONE_OBJECTS = one.$(OBJEXT)
- | @ONE_FALSE@am_SONE_OBJECTS =
- |
- | @TWO_TRUE@am_STWO_OBJECTS = two.$(OBJEXT)
- | @TWO_FALSE@am_STWO_OBJECTS =
- |
- | @THREE_TRUE@am_STHREE_OBJECTS = three.$(OBJEXT)
- | @THREE_FALSE@am_STHREE_OBJECTS =
- |
- | am_targ_OBJECTS = $(am_SONE_OBJECTS) $(am_STWO_OBJECTS) $(am_STHREE_OBJECTS)
-
- which means also, why do we look for the closure of PROGRAMS, instead
- of just adding $(EXEEXT) to all its components and sub components
- (i.e., inside sub vars such as $(SONE) above being a sub var of
- targ_SOURCES)?
-
-
- Aaaaaaaaaaah! I think I know... Must be because of `+='.
-
- Hm... No. Indeed we transform
-
- | FOO = foo
- | if BAR
- | FOO += BAR
- | endif
-
- into
-
- | @BAR_TRUE@FOO = foo bar
- | @BAR_FALSE@FOO = foo
-
- but this seems good to me too?
-
- | FOO = foo $(BAR_FOO)
- | @BAR_TRUE@BAR_FOO = bar
- | @BAR_FALSE@BAR_FOO =
-
-
-* foo=bar
- if cond
- foo += joe
- endif
- ... this ought to work. The fix is probably complicated, but might
- come for free when we rewrite the handling of conditionals.
-
* `distcheck' and `dist' should depend on `all'
* Add code to generate foo-config script like gnome, gtk