[Top][All Lists]
[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