libtool-patches
[Top][All Lists]
Advanced

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

FYI: HEAD: Kill two showstoppers at once


From: Ralf Wildenhues
Subject: FYI: HEAD: Kill two showstoppers at once
Date: Wed, 31 Aug 2005 13:54:10 +0200
User-agent: Mutt/1.4.1i

Hi Gary,

* Gary V. Vaughan wrote on Tue, Aug 30, 2005 at 07:37:15PM CEST:
> On 30 Aug 2005, at 17:51, Ralf Wildenhues wrote:
> >* Gary V. Vaughan wrote on Tue, Aug 30, 2005 at 06:31:42PM CEST:
> >>Ralf Wildenhues wrote:

> >see updated patch at end.

> Oops.  Thanks!

I have applied that one.

> >LT_SYS_DLOPEN_SELF, but basically all the hundreds of require'ments of
> >_LT_SETUP are expanded before LT_INIT as well..
> 
> Ah, okay.  We just need to move the _LT_SET_OPTIONS up the expansion  
> stack.  If it didn't take arguments we could just AC_REQUIRE a
> wrapper,

Isn't that what the optional second argument to AC_REQUIRE could be
used for?  It's not documented, but if Stepan recommends it..?
(I have asked on the autoconf list about it).
See proposed patch at end.

> but  it does so we're stuck with tweaking the call in LT_INIT to:
> 
>   _LT_SHELL_INIT([_LT_SET_OPTIONS([$1])])
> 
> Should do the trick (untested!).

But _LT_SHELL_INIT has little to do with it otherwise.
And my patch below makes the options end up in the same place
whether they were defined by the user, old-style or new-style,
or whether they are set by default, nicely predictable.

> >The _LT_SETUP macro is instantiated after _LT_SET_OPTIONS in LT_INIT,
> >but all its requirements are expanded before LT_INIT; see
> >http://lists.gnu.org/archive/html/autoconf/2005-08/msg00100.html
> >for a nice explanation about AC_REQUIRE.  :)
> >
> >(I wouldn't have guessed I could tell the M4 maintainer something
> >about macro expansion.. ;-)
> 
> Have you seen the implementation of m4_require?  I'm thinking of doing
> a C version for m4-2.0... the autoconf version is way hairy! ;-)

Wasn't there a requirement to get m4-2.0 out soon?  ;-)
(In any case, I don't think you can fix AC_REQUIRE to do what naive
users like me would expect from it: even if it was possible to do, it
would break backwards-compatibility.)

> >Have fun.  :)
> 
> With m4?  How could it be otherwise? :-b


        * libltdl/m4/libtool.m4 (LT_INIT): m4_require..
        * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): this, with
        macro parameters.

Index: libltdl/m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/m4/libtool.m4,v
retrieving revision 1.8
diff -u -r1.8 libtool.m4
--- libltdl/m4/libtool.m4       31 Aug 2005 07:37:26 -0000      1.8
+++ libltdl/m4/libtool.m4       31 Aug 2005 11:51:40 -0000
@@ -65,6 +65,7 @@
 AC_REQUIRE([LTSUGAR_VERSION])dnl
 AC_REQUIRE([LTVERSION_VERSION])dnl
 m4_require([_LT_PROG_LTMAIN])dnl
+m4_require([_LT_SET_OPTIONS], [_LT_SET_OPTIONS([$1])])dnl
 
 # This can be used to rebuild libtool when needed
 LIBTOOL_DEPS="$ltmain"
@@ -72,9 +73,6 @@
 # Always use our own libtool.
 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 AC_SUBST(LIBTOOL)dnl
-
-# Set options
-_LT_SET_OPTIONS([$1])dnl
 
 _LT_SETUP
 
Index: libltdl/m4/ltoptions.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/m4/ltoptions.m4,v
retrieving revision 1.3
diff -u -r1.3 ltoptions.m4
--- libltdl/m4/ltoptions.m4     31 Aug 2005 11:50:46 -0000      1.3
+++ libltdl/m4/ltoptions.m4     31 Aug 2005 11:51:40 -0000
@@ -57,7 +57,8 @@
 # dispatch to that macro; otherwise complain about the unknown option
 # and exit.
 m4_define([_LT_SET_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$1])),
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$1])),
     [_LT_SET_OPTION(_LT_Option)])
 dnl
 dnl Simply set some default values (i.e off) if boolean options were not




reply via email to

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