Hallo Ralf,

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:


Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to