automake
[Top][All Lists]
Advanced

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

Re: amtraces


From: akim
Subject: Re: amtraces
Date: Fri, 2 Feb 2001 20:09:45 +0100
User-agent: Mutt/1.3.12i

On Fri, Feb 02, 2001 at 01:17:13PM -0500, Derek R. Price wrote:
> Akim Demaille wrote:
> 
> > "Derek R. Price" <address@hidden> writes:
> 
> Patch against the current CVS Automake attached.  Please excuse all the
> "print STDERR"s and my initials littered in comments around the things I was
> still working on.

I'm really impressed!  Your work is impressive, congratulations!  I'm
especially impressed by the fact you already turn *off* the scanning
of .ac files, which clear demonstrates how evolved your patch is!

As far as I'm concerned, given that your mark are extremely easy to
remove, given that most messages are from the experimental code, given
that I certainly would like to toy with your implementation, I'd vote
for an inclusion in Automake.  Do you have your papers?  :)

I'd make one simple comment: I would not trust `:' as a separator, I'd
play with more unlikely separators.  See the Autoconf documentation,
which, for instance, shows:
-----
Much freedom is given over the FORMAT:

     $ autoconf -t 'AC_SUBST:ac_subst{"$1"} = "$f:$l";'
     ac_subst{"ECHO_C"} = "configure.ac:2";
     ac_subst{"ECHO_N"} = "configure.ac:2";
     ac_subst{"ECHO_T"} = "configure.ac:2";
     More traces deleted

The long SEPARATORs can be used to ease parsing of complex structures:

     $ autoconf -t 'AM_MISSING_PROG:${|:::::|}*'
     ACLOCAL|:::::|aclocal|:::::|$missing_dir
     AUTOCONF|:::::|autoconf|:::::|$missing_dir
     AUTOMAKE|:::::|automake|:::::|$missing_dir
     More traces deleted
-----
In fact I designed the traces precisely thinking of this other implementation:
instead of having code to parse the traces, issue --trace requests so
that you'd only have to source the result.  Obviously I didn't know
at that time one has to write $ac_subst{} :)

I have no idea whether this plan was good or not, I just wanted to let
you know the original idea behind --trace.

> > I really don't understand what you are talking about...  What is
> > DEFAULT_INCLUDES, how does it work?
> 
> >From comp-vars.am:
> 
> DEFS = @DEFS@@DEFAULT_INCLUDES@
> 
> Automake subs some compiler include paths into @DEFAULT_INCLUDES@ during the
> creation of Makefile.ins from Makefile.ams so that any headers described in
> AM_CONFIG_HEADER can be found during compilation.
> 
> Unfortuantely, it will not do this if it thinks AC_SUBST(DEFS) was called by
> configure.ac.  Before amtraces this meant that the user had called
> AC_SUBST(DEFS) themselves and asumedly wanted to override Automake's
> definition of DEFS.
> 
> Now I think the structure of the comp-vars.am will need to be changed to
> define some var other than DEFS to @DEFAULT_INCLUDES@ and then that var
> should be included as part of the COMPILE makefile variable.

I didn't look into the details, but can't we have some variable initialized
in the top of configure.in which trigger this default behavior?



reply via email to

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