[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HEAD: Kill two showstoppers at once
From: |
Ralf Wildenhues |
Subject: |
Re: HEAD: Kill two showstoppers at once |
Date: |
Tue, 30 Aug 2005 17:31:19 +0200 |
User-agent: |
Mutt/1.4.1i |
Hi Gary, sorry, Peter, :)
* Gary V. Vaughan wrote on Tue, Aug 30, 2005 at 04:23:11PM CEST:
> Ralf Wildenhues wrote:
> >* Ralf Wildenhues wrote on Tue, Aug 30, 2005 at 01:46:42PM CEST:
> >
> >>The ltoptions machinery has one little bug. Two showstoppers are the
> >>result of this: AC_DISABLE_STATIC not working, and AC_LIBTOOL_WIN32_DLL
> >>not working. (The other old-style option setting macros don't work
> >>either, I believe):
> Aha! Thanks for the pointers. The problem is simply that
> _LT_OPTION_DEFUN_shared is never dispatched in the first example.
> The easiest way to do that is to move the dispatch code from
> _LT_SET_OPTIONS to _LT_SET_OPTION (untested):
Cool! Thanks for this description. Your snippet looks pretty good.
> I'm not sure why I committed before I'd finished this :-(
Me neither.
> Back to work today, so no time to generate a proper patch, sorry.
Here you go. Just a slight cleanup of your suggestion. Changes: change
m4_fatal to m4_warn, because we want to be forward compatible, replace
`symbols' with m4_split(m4_normalize([$1])) as was before. I didn't
change m4_foreach to AC_FOREACH as in your snippet, because I don't know
the difference in semantics.
But there is another problem with respect to macro ordering: The
settings set by the LT_INIT options appear too late in the configure
script. If I set AC_LIBTOOL_DLOPEN, everything is OK; but if I use
LT_INIT([dlopen]), it appears after a macro which might override
enable_dlopen. IOW, the part titled "# Set options" in LT_INIT appears
much too late.
Is this bug description comprehensible? (I guess a couple of m4_require
and/or AC_REQUIRE are needed, I'm sure you'll know the correct answer
right away.)
Cheers,
Ralf
2005-08-30 Gary V. Vaughan <address@hidden>,
Ralf Wildenhues <address@hidden>
* libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Move option macro
dipatch..
(_LT_SET_OPTION): here. Do not fail but warn on unknown
options.
Index: libltdl/m4/ltoptions.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/m4/ltoptions.m4,v
retrieving revision 1.1
diff -u -r1.1 ltoptions.m4
--- libltdl/m4/ltoptions.m4 22 Aug 2005 22:33:35 -0000 1.1
+++ libltdl/m4/ltoptions.m4 30 Aug 2005 14:40:39 -0000
@@ -20,9 +20,15 @@
# _LT_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Other NAMEs are saved as a flag.
-m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1]))])
+# --------------------
+# Set option NAME, and if there is a matching handler defined,
+# dispatch to it. Other NAMEs are saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1]),
+ _LT_MANGLE_DEFUN([$1]),
+ [m4_warn([Unknown Libtool option `$1'])])[]dnl
+])
# _LT_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
@@ -52,11 +58,7 @@
# and exit.
m4_define([_LT_SET_OPTIONS],
[m4_foreach([_LT_Option], m4_split(m4_normalize([$1])),
- [_LT_SET_OPTION(_LT_Option)
- m4_ifdef(_LT_MANGLE_DEFUN(_LT_Option),
- _LT_MANGLE_DEFUN(_LT_Option),
- [m4_fatal([Unknown option `]_LT_Option[' to LT][_INIT_LIBTOOL])])
- ])dnl
+ [_LT_SET_OPTION(_LT_Option)])
dnl
dnl Simply set some default values (i.e off) if boolean options were not
dnl specified:
- HEAD: Kill two showstoppers at once, Ralf Wildenhues, 2005/08/30
- Re: HEAD: Kill two showstoppers at once, Ralf Wildenhues, 2005/08/30
- Re: HEAD: Kill two showstoppers at once, Gary V. Vaughan, 2005/08/30
- Re: HEAD: Kill two showstoppers at once,
Ralf Wildenhues <=
- Re: HEAD: Kill two showstoppers at once, Gary V. Vaughan, 2005/08/30
- Re: HEAD: Kill two showstoppers at once, Ralf Wildenhues, 2005/08/30
- Re: HEAD: Kill two showstoppers at once, Gary V. Vaughan, 2005/08/30
- FYI: HEAD: Kill two showstoppers at once, Ralf Wildenhues, 2005/08/31
- Re: FYI: HEAD: Kill two showstoppers at once, Gary V. Vaughan, 2005/08/31
- Re: HEAD: Kill two showstoppers at once, Ralf Wildenhues, 2005/08/31
- Re: HEAD: Kill two showstoppers at once, Gary V. Vaughan, 2005/08/30