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