libtool-patches
[Top][All Lists]
Advanced

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

Re: about libtool's trace interface for tags


From: Alexandre Duret-Lutz
Subject: Re: about libtool's trace interface for tags
Date: Sun, 18 Apr 2004 01:11:29 +0200
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

>>> "Scott" == Scott James Remnant <address@hidden> writes:

[...]

 Scott> A tag name is the name of a configuration block placed
 Scott> inside the generated libtool script.  They can be
 Scott> automatically inferred by the compiler name, or selected
 Scott> with the --tag=TAG option.

 Scott> A language name is the name of a language that Libtool
 Scott> supports, which are deliberately the same as Autoconf
 Scott> language names.  They're human-parseable and the current
 Scott> list is "C", "C++", "Java", "Fortran 77" and "Windows
 Scott> Resource".

 Scott> A language configuration name is an internal name for
 Scott> the human language names ... they're basically the $1 in
 Scott> _LT_LANG_$1_CONFIG which are the macros that actually
 Scott> configure them.  In current HEAD, they always match the
 Scott> tag name,

Thanks, that's crystal clear.

[...]

 >> So far I have been assuming that there would be a macro to trace
 >> that would return a list of enabled tags.
 >> 
 Scott> The trouble is that tracing doesn't work like that, when
 Scott> you trace you don't get a definition or a "return
 Scott> value", you see the arguments passed to the macro.

Sorry for the confusing wording.  By "return a list" I was referring 
to the output of the `autoconf --trace ...' operation.

[...]

 Scott> This would have to be an empty macro called with an
 Scott> appropriate argument, renaming _LT_LANG would confuse
 Scott> the hell out of anyone trying to follow how language
 Scott> support gets enabled...

 Scott> Something like...

 Scott> # LT_SUPPORTED_TAG(TAG)
 Scott> # ---------------------
 Scott> # Trace me to discover what tags are supported by the --tag option
 Scott> AC_DEFUN([LT_SUPPORTED_TAG], [])

 Scott> Then make _LT_LANG something like:

 Scott> # _LT_LANG(LANGNAME)
 Scott> # ------------------
 Scott> m4_define([_LT_LANG],
 Scott> [m4_ifdef([_LT_LANG_]$1[_enabled], [],
 Scott> ==>       [LT_SUPPORTED_TAG($1)
 Scott> m4_append([_LT_TAGS], [$1 ])dnl
 Scott> m4_define([_LT_LANG_]$1[_enabled], [])dnl
 Scott> _LT_LANG_$1_CONFIG($1)])dnl
 Scott> ])# _LT_LANG

This looks perfect to me.

My offer to complete a patch for this feature (i.e. doc+test)
still holds, unless you prefer to do it.
-- 
Alexandre Duret-Lutz





reply via email to

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