automake
[Top][All Lists]
Advanced

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

multiline substitutions (Was: Re: AM_SUBST_IGNORE = AC_SUBST without Mak


From: Alexandre Duret-Lutz
Subject: multiline substitutions (Was: Re: AM_SUBST_IGNORE = AC_SUBST without Makefile variable definition)
Date: Thu, 20 Oct 2005 09:31:30 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux)

I'm sorry don't have time to read this whole thread in detail
right now, but here are some thoughts (probably contradictory).

We already have AC_SUBST_FILE.  Shouldn't we also have
AC_SUBST_MULTILINE or some such?  This way we can tell the
difference from --trace, and use something like @\n@ only for
the variables that need it, without unnecessary bloat.

If VAR contains newlines that matters to me (like in a Makefile
rule), then there is no way I can use $(VAR) in Makefile and
have these newlines, so I might as well use @VAR@ directly and
in this case I don't need the VAR = @VAR@ definition.

If VAR contains newlines that don't matter to me I can replace
them with space before substitution.  Or if the problem is the
length of the line and I need backslash-newlines in the VAR =
@VAR@ definition, I can introduce the backslash-newline before
substitution.

Changing the definition of LIBOBJS in a way that requires @\n@
or in a way that doesn't use AC_SUBST will break the
compatibility with previous Automake versions.  Maybe the safest
way would be to add the backslash-newlines before the AC_SUBST.

I haven't tried but I think the actually multiline
implementation of AC_SUBST offer a kind of horrible way to introduce
a make rule in ALL Makefiles, since you could have

DUMMY = @DUMMY@

substituted by

DUMMY = 
mytarget: mydependency
        my rule

Eww :)
-- 
Alexandre Duret-Lutz

Shared books are happy books.     http://www.bookcrossing.com/friend/gadl





reply via email to

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