[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HEAD: lift nonrecursive naming restriction
From: |
Ralf Wildenhues |
Subject: |
Re: HEAD: lift nonrecursive naming restriction |
Date: |
Sun, 27 Nov 2005 16:39:38 +0100 |
User-agent: |
Mutt/1.5.9i |
* Ralf Wildenhues wrote on Sat, Nov 26, 2005 at 10:40:26AM CET:
> This patch should allow the libltdl directory to be named differently
> also in nonrecursive mode.
Here's one that should work even if the subdir path includes the string
`libltdl'. OK?
Cheers,
Ralf
> * libtoolize.m4sh (func_fixup_Makefile_inc): New function.
> (main): Call it in nonrecursive mode to mangle Makefile.inc.
> * tests/nonrecursive.at: adjusted to test this.
Index: libtoolize.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/libtoolize.m4sh,v
retrieving revision 1.47
diff -u -r1.47 libtoolize.m4sh
--- libtoolize.m4sh 20 Nov 2005 10:33:26 -0000 1.47
+++ libtoolize.m4sh 27 Nov 2005 15:39:05 -0000
@@ -359,6 +359,32 @@
IFS="$my_save_IFS"
}
+# func_fixup_Makefile_inc srcfile srcdir destdir
+func_fixup_Makefile_inc ()
+{
+ my_filename="$1"
+ my_srcdir="$2"
+ my_destdir="$3"
+
+ repl=$ltdldir
+ repl_uscore=`$ECHO "X$repl" | $Xsed -e 's,[[/.+-]],_,g'`
+ $RM "$my_destdir/$my_filename" 2>/dev/null
+ $opt_quiet || func_echo "creating file \`$my_destdir/$my_filename'"
+ if $opt_dry_run; then :;
+ else
+ $SED "\
+ s,libltdl_,@address@hidden,
+ s,libltdl/,@repl@/,
+ s,: libltdl/,: @repl@/,
+ s,\\\$(libltdl_,\$(@address@hidden,
+ s,)/libltdl ,)/@repl@ ,
+ s,@repl_uscore@,${repl_uscore},g
+ s,@repl@,${repl},g
+ " < "$my_srcdir/$my_filename" > "$my_destdir/$my_filename" ||
+ func_fatal_error "cannot create $my_destdir/$my_filename"
+ fi
+}
+
# func_scan_files
# Scan configure.(ac|in) and aclocal.m4 (if present) for use of libltdl
# and libtool. Possibly running some of these tools if necessary.
@@ -1069,10 +1095,13 @@
# For recursive ltdl modes, copy a suitable Makefile.{am,inc}:
case $ltdl_mode in
recursive) pkgltdl_files="Makefile.am:$pkgltdl_files" ;;
- nonrecursive) pkgltdl_files="Makefile.inc:$pkgltdl_files" ;;
esac
func_copy_some_files "$pkgltdl_files" "$pkgltdldir/libltdl" "$ltdldir"
+
+ case $ltdl_mode in
+ nonrecursive) func_fixup_Makefile_inc "Makefile.inc"
"$pkgltdldir/libltdl" "$ltdldir" ;;
+ esac
# Unless we share CONFIG_MACRO_DIR with our parent project,
# copy macros here.
Index: tests/nonrecursive.at
===================================================================
RCS file: /cvsroot/libtool/libtool/tests/nonrecursive.at,v
retrieving revision 1.4
diff -u -r1.4 nonrecursive.at
--- tests/nonrecursive.at 14 Nov 2005 22:19:40 -0000 1.4
+++ tests/nonrecursive.at 27 Nov 2005 15:39:07 -0000
@@ -23,10 +23,10 @@
m4_pushdef([_LTDL_SETUP],
[AT_DATA([configure.ac],
[[AC_INIT([subdirectory-demo], ]AT_PACKAGE_VERSION[, ]AT_PACKAGE_BUGREPORT[)
-LT_CONFIG_LTDL_DIR([libltdl], [nonrecursive])
-AC_CONFIG_AUX_DIR([libltdl/config])
-AC_CONFIG_MACRO_DIR([libltdl/m4])
-AC_CONFIG_LIBOBJ_DIR([libltdl])
+LT_CONFIG_LTDL_DIR([ltdl], [nonrecursive])
+AC_CONFIG_AUX_DIR([ltdl/config])
+AC_CONFIG_MACRO_DIR([ltdl/m4])
+AC_CONFIG_LIBOBJ_DIR([ltdl])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AC_PROG_CC
AM_PROG_CC_C_O
@@ -37,7 +37,7 @@
]])
AT_DATA([Makefile.am],
-[[ACLOCAL_AMFLAGS = -I libltdl/m4
+[[ACLOCAL_AMFLAGS = -I ltdl/m4
BUILT_SOURCES =
AM_CPPFLAGS =
@@ -53,7 +53,7 @@
CLEANFILES =
MOSTLYCLEANFILES =
-include libltdl/Makefile.inc
+include ltdl/Makefile.inc
foo_la_LDFLAGS = -module -avoid-version
foo_la_SOURCES = foo.c
@@ -71,16 +71,16 @@
_LTDL_SETUP
LT_AT_LIBTOOLIZE([--ltdl])
-AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+AT_CHECK([if test -f ltdl/configure.ac; then false; fi])
# Support vanilla autoconf-2.59 & automake-1.9.6
for file in argz.c lt__dirent.c lt__strl.c; do
- cp libltdl/$file $file
+ cp ltdl/$file $file
done
-LT_AT_BOOTSTRAP([ignore], [-I libltdl/m4], [ignore], [--add-missing --copy])
+LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [ignore], [--add-missing --copy])
-AT_CHECK([test -f libltdl/libltdlc.la])
+AT_CHECK([test -f ltdl/libltdlc.la])
AT_CLEANUP
@@ -94,16 +94,16 @@
_LTDL_SETUP
LT_AT_LIBTOOLIZE([--copy --ltdl])
-AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+AT_CHECK([if test -f ltdl/configure.ac; then false; fi])
# Support vanilla autoconf-2.59 & automake-1.9.6
for file in argz.c lt__dirent.c lt__strl.c; do
- cp libltdl/$file $file
+ cp ltdl/$file $file
done
-LT_AT_BOOTSTRAP([ignore], [-I libltdl/m4], [ignore], [--add-missing --copy])
+LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [ignore], [--add-missing --copy])
-AT_CHECK([test -f libltdl/libltdlc.la])
+AT_CHECK([test -f ltdl/libltdlc.la])
AT_CLEANUP
@@ -119,14 +119,14 @@
prefix=`pwd`/_inst
LT_AT_LIBTOOLIZE([--copy --ltdl])
-AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+AT_CHECK([if test -f ltdl/configure.ac; then false; fi])
# Support vanilla autoconf-2.59 & automake-1.9.6
for file in argz.c lt__dirent.c lt__strl.c; do
- cp libltdl/$file $file
+ cp ltdl/$file $file
done
-LT_AT_BOOTSTRAP([ignore], [-I libltdl/m4], [ignore], [--add-missing --copy],
+LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [ignore], [--add-missing --copy],
[], [--enable-ltdl-install --prefix=$prefix], [all install])
AT_CHECK([test -f $prefix/lib/libltdl.la])