Hallo Ralf, [Repost with correct Cc: apologies]
On 30 Jan 2008, at 14:43, Ralf Wildenhues wrote:
* Gary V. Vaughan wrote on Tue, Jan 29, 2008 at 08:44:51AM CET:On 29 Jan 2008, at 06:45, Ralf Wildenhues wrote:I haven't reviewed your last two pending patches yet (but I'm not telling you to wait for me).Every little helps, even if you don't have time for a thorough review...Your latest version of this patch is so badly mangled as to be unapplicable. This is not the first time it happens. Please consider sending patches as (text!) attachments, or at least try to apply patches from your mails to see whether that works.
Sorry, I was pasting the patch into the body since you asked me not to attach directly as that made it harder to review. I didn't use mailnotify because it breaks the thread. Maybe Mail.app will co-operate if I use a '.txt' extension for the patch attachments? Let me know if this is better. If not, I'll post with mailnotify, and put up with the broken message threading.
When I try to apply this patch by hand, build and install, get CVS HEAD GraphicsMagick, and run its bootstrap script, I end up with this failure, which I assume is due to one of your patches, or to messup resulting from manual patch application. Anyway you should look at it before applying the patch (hint: lt_libobj_prefix seems not set in configure):/bin/sh ./libtool --silent --tag=CC --mode=link gcc -std=gnu99 -g -O2 -Wall -pthread -module -avoid-version -L/usr/X11R6/lib -L/usr/ lib -L/usr/lib -o ltdl/dlopen.la ltdl/loaders/dlopen.lo -ldl make[1]: *** No rule to make target `lt__strl.lo', needed by `ltdl/ libltdlc.la'. Stop.make[1]: Leaving directory `/tmp/GraphicsMagick/build' make: *** [all] Error 2
Works for me, I reran bootstrap, and launched a successful VPATH build. Hopefully, you're just seeing a patch misapplication, otherwise we'll have to figure out what is different for us. Actually configure.ac and bootstrap can be cleaned up for (tomorrow's) libtool-2.1b. .txt patch attached, and fingers crossed.
Index: b/libltdl/m4/ltdl.m4 =================================================================== --- a/libltdl/m4/ltdl.m4 +++ b/libltdl/m4/ltdl.m4[...]+ +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + sed_drop_objext='s/\.o$//;s/\.obj$//'This is code that ends up in configure. sed_drop_objext is not namespace clean, please prefix with _lt_ or so.
Careless pasting from gnulib-tool. CCing the gnulib list so they can fix their version too... gl_sed_drop_objext?
+ for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do`sort -u' is portable.
Tx. Fixed in the attached. Cheers, Gary -- ())_. Email me: [EMAIL PROTECTED] ( '/ Read my blog: http://blog.azazil.net / )= ...and my book: http://sources.redhat.com/autobook `(_~)_
from Gary V. Vaughan <[EMAIL PROTECTED]> * configure.ac: Updated for libtool-2.1b. * bootstrap (libtoolize): Libtoolize can figure out the mode and directory for libltdl from configure.ac. Index: configure.ac =================================================================== RCS file: /GraphicsMagick/GraphicsMagick/configure.ac,v retrieving revision 1.256 diff -u -r1.256 configure.ac --- configure.ac 19 Jan 2008 21:07:47 -0000 1.256 +++ configure.ac 30 Jan 2008 13:42:01 -0000 @@ -337,9 +337,8 @@ AC_SUBST(LIBTOOL_DEPS) # Configure libltdl -LT_CONFIG_LTDL_DIR([ltdl],[nonrecursive]) -AC_LIBLTDL_CONVENIENCE([ltdl]) -AC_LIB_LTDL +LT_CONFIG_LTDL_DIR([ltdl]) +LTDL_INIT([convenience nonrecursive]) # Substitute INCLTDL and LIBLTDL in the Makefiles #AC_SUBST(INCLTDL) #AC_SUBST(LIBLTDL) Index: bootstrap =================================================================== RCS file: /GraphicsMagick/GraphicsMagick/bootstrap,v retrieving revision 1.7 diff -u -r1.7 bootstrap --- bootstrap 31 Mar 2007 23:07:00 -0000 1.7 +++ bootstrap 30 Jan 2008 13:44:37 -0000 @@ -4,7 +4,7 @@ # Automake or Autoconf is changed. # -libtoolize --verbose --copy --force --nonrecursive --ltdl=ltdl +libtoolize --verbose --copy --force # echo 'm4_include([ltdl/m4/lt~obsolete.m4])' >> aclocal.m4 aclocal -I ltdl/m4 -I m4 autoheader
from Gary V. Vaughan <[EMAIL PROTECTED]> Unfortunately, the autoconf implementation of AC_LIBOBJ and friends requires all libobjs to be in the same directory, as declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using either recursive or nonrecursive libltdl if the parent project has libobjs of its own, except that this patch tracks libltdl's libobjs in another namespace: * libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a ltdl_LIBOBJS automake macro, instead of the global LIBOBJS automake macro. Content of the macros inspired by code from gnulib-tool. (_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in nonrecursive mode. (LTDL_INIT): Push and pop the new definitions around potential sites that call AC_LIBOBJ. Also, using lt_libobj_prefix, initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS. * libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying either Makefile.am or Makefile.inc, depending on ltdl_mode. Reported by Eric Blake <[EMAIL PROTECTED]> Index: b/libltdl/m4/ltdl.m4 =================================================================== --- a/libltdl/m4/ltdl.m4 +++ b/libltdl/m4/ltdl.m4 @@ -198,7 +198,7 @@ m4_if(_LTDL_DIR, [], [m4_case(m4_default(_LTDL_MODE, [subproject]), [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])], - [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])], + [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])], [recursive], [], [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl dnl Be careful not to expand twice: @@ -206,6 +206,32 @@ m4_define([$0], []) ])# _LTDL_MODE_DISPATCH +# _LT_LIBOBJ(MODULE_NAME) +# ----------------------- +# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead +# of into LIBOBJS. +AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + AS_LITERAL_IF([$1], [_LT_LIBSOURCES([$1.c])])dnl + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +])# _LT_LIBOBJS + + +# _LT_LIBSOURCES(MODULE_NAMES) +# ---------------------------- +# Like AC_LIBSOURCES, except the directory where the libltdl source files +# are expected is distinct from the user LIBOBJ directory. +AC_DEFUN([_LT_LIBSOURCES], [ + m4_foreach([_LTNAME], [$1], [ + m4_syscmd([test -r "$lt_libobj_prefix]_LTNAME[" || + test -z "$lt_libobj_prefix" || + test ! -d "$lt_libobj_prefix"])dnl + m4_if(m4_sysval, [0], [], + [AC_FATAL([missing $lt_libobj_prefix/]_LTNAME)]) + ]) +])# _LT_LIBSOURCES + + # LTDL_INIT([OPTIONS]) # -------------------- # Clients of libltdl can use this macro to allow the installer to @@ -217,6 +243,12 @@ AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. Definitions in ltdl-libobj.m4. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES], m4_defn([_LT_LIBSOURCES])) + dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: m4_if(_LTDL_MODE, [], [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) @@ -309,6 +341,25 @@ AC_MSG_RESULT([$LIBLTDL]) _LTDL_SETUP +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + # Only expand once: m4_define([LTDL_INIT]) ])# LTDL_INIT Index: b/libtoolize.m4sh =================================================================== --- a/libtoolize.m4sh +++ b/libtoolize.m4sh @@ -320,6 +320,7 @@ func_copy_some_files () IFS="$my_save_IFS" } + # func_fixup_Makefile srcfile srcdir destdir func_fixup_Makefile () { @@ -328,6 +329,8 @@ func_fixup_Makefile () my_srcdir="$2" my_destdir="$3" my_fixup_non_subpackage_script="\ + s,(LIBOBJS),(ltdl_LIBOBJS),g + s,(LTLIBOBJS),(ltdl_LTLIBOBJS),g s,libltdl/configure.ac,, s,libltdl/configure,, s,libltdl/aclocal.m4,, @@ -1004,7 +1007,7 @@ func_install_pkgmacro_files () { $opt_debug - # argz.m4, libtool.m4 and ltdl.m4 are handled specially below: + # argz.m4, libtool.m4 and ltdl.m4 are handled specially: func_massage_aclocal_DATA 'argz.m4|libtool.m4|ltdl.m4' # 1. Parent has separate macrodir to subproject ltdl:
-- Gary V. Vaughan ([EMAIL PROTECTED])
PGP.sig
Description: This is a digitally signed message part