Pavel Roskin <[EMAIL PROTECTED]> writes:
> Hello, Akim!
>
> > > ?EXEC?insexec-data-am: install-info-am
> > > ?!EXEC?install-data-am: install-info-am
>
> By the way, it will be nice to have a test that actually fails in absense
> of insexec-data-am or install-data-am.
Err, insexec does not exist, it should read install-exec-am. Which is
wrong too :)
> > Still, this bug can be easily detected by automake. But @FOO@ bugs
>
> Maybe it's not necessary to check the output since the user is highly
> unlikely to use ?FOO? in Makefile.am. I understand it's an internal
> mechanism for Automake, not exposed to users.
>
> However, an optional check would be appropriate. It could be turned on in
> the testsuite.
I have not understood. Sure, this test would be enabled only for
Automake's *.am file, and only when outputting these files themselves,
not in Makefile.in.
> > are harder since we share @ with AC_SUBST. I would really love to
> > use %FOO% instead in Automake. Tom, what do you think? This would
> > make it possible for automake to check what it outputs.
>
> Are you suggesting AM_SUBST?
Nope, I'm saying it's very confusing to use @ to have automake replace
it's own automake-time variables in the *.am files, since these files
also contain AC_SUBST'd variables. To make it more obscure, there are
even @VARS@ that can be substituted at either automake-time
substituted, or configure-time! ISTR @AMDEP@ is one such example.
Hm... Yep, I left a note in depend2.am:
## This file is read several times:
## - once per language for generic compilation rules
## - once for each file which requires specific flags.
##
## It is worth noting that @AMDEPBACKSLASH@ is not transformed by automake,
## it is AC_SUBST'ed, and @AMDEP@ can be both deactivated by automake,
## or by AC_SUBST.
@AMDEP@@FPFX@DEPMODE = @@FPFX@DEPMODE@
...
My suggestion is therefore that this should become
?AMDEP?@AMDEP@%FPFX%DEPMODE = @%FPFX%DEPMODE@
where ? means, automake-time Boolean, %, automake-time variable, @,
configure-time variable.
?VAR?, ?!VAR? and %VAR% are prohibited after the transform part of
file_contents.