summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2006-09-09 19:02:08 +0000
committerBruno Haible <bruno@clisp.org>2006-09-09 19:02:08 +0000
commita262d09ebd4dd126c66922ded7cd4857811f7736 (patch)
treeeb67e63e17d1e1f968848111faf65dc67f75fce5
parentb4ea88fe51a6dcfe9096a6f9804e5929c24dbad7 (diff)
downloadgnulib-a262d09ebd4dd126c66922ded7cd4857811f7736.tar.gz
For libraries not built with libtool:
- Fix the _LDFLAGS issue. - Generate _LIBDEPS and _LTLIBDEPS variables.
-rw-r--r--ChangeLog15
-rwxr-xr-xgnulib-tool65
-rw-r--r--modules/gc6
-rw-r--r--modules/iconvme6
-rw-r--r--modules/striconv6
5 files changed, 89 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ddf4cdce6..743938e5db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2006-09-09 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
+ assignments if building a library without libtool.
+ (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
+ in func_emit_lib_Makefile_am.
+ (func_import): When building a static library libfoo.a, arrange to
+ define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
+ (func_create_testdir): Likewise.
+ * modules/gc (configure.ac, Makefile.am): If building statically,
+ augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
+ * modules/iconvme (configure.ac, Makefile.am): Likewise.
+ * modules/striconv (configure.ac, Makefile.am): Likewise.
+ Based on a suggestion by Ralf Wildenhues.
+
2006-09-08 Jim Meyering <jim@meyering.net>
Don't make generated files read-only. That would bother too many
diff --git a/gnulib-tool b/gnulib-tool
index 63747735d8..5b44ee09f6 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -22,7 +22,7 @@
progname=$0
package=gnulib
-cvsdatestamp='$Date: 2006-09-07 13:00:56 $'
+cvsdatestamp='$Date: 2006-09-09 19:02:08 $'
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
@@ -1043,9 +1043,11 @@ func_emit_lib_Makefile_am ()
if test "$libtool" = true; then
libext=la
perhapsLT=LT
+ sed_eliminate_LDFLAGS=
else
libext=a
perhapsLT=
+ sed_eliminate_LDFLAGS='/^lib_LDFLAGS[ ]*+=/d'
fi
echo "## Process this file with automake to produce Makefile.in."
func_emit_copyright_notice
@@ -1066,6 +1068,7 @@ func_emit_lib_Makefile_am ()
func_get_automake_snippet "$module" |
sed -e 's,lib_LIBRARIES,lib%_LIBRARIES,g' \
-e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' |
+ sed -e "$sed_eliminate_LDFLAGS" |
sed -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' |
sed -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
-e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g'
@@ -1096,7 +1099,9 @@ func_emit_lib_Makefile_am ()
echo
echo "${libname}_${libext}_SOURCES ="
echo "${libname}_${libext}_LIBADD = @${perhapsLT}LIBOBJS@"
- echo "${libname}_${libext}_LDFLAGS = \$(AM_LDFLAGS)"
+ if test "$libtool" = true; then
+ echo "${libname}_${libext}_LDFLAGS = \$(AM_LDFLAGS)"
+ fi
if test -z "$makefile_name"; then
echo "noinst_HEADERS ="
# Automake versions < 1.9b create an empty pkgdatadir at installation time
@@ -1148,6 +1153,13 @@ func_emit_tests_Makefile_am ()
else
libext=a
fi
+ if test "$libtool" = true; then
+ libext=la
+ sed_eliminate_LDFLAGS=
+ else
+ libext=a
+ sed_eliminate_LDFLAGS='/^lib_LDFLAGS[ ]*+=/d'
+ fi
testsbase_inverse=`echo "$testsbase" | sed -e 's,/$,,' | sed -e 's,[^/][^/]*,..,g'`
echo "## Process this file with automake to produce Makefile.in."
func_emit_copyright_notice
@@ -1161,7 +1173,15 @@ func_emit_tests_Makefile_am ()
for module in $modules; do
func_verify_tests_module
if test -n "$module"; then
- func_get_automake_snippet "$module" > amsnippet.tmp
+ {
+ func_get_automake_snippet "$module" |
+ sed -e 's,lib_LIBRARIES,lib%_LIBRARIES,g' \
+ -e 's,lib_LTLIBRARIES,lib%_LTLIBRARIES,g' |
+ sed -e "$sed_eliminate_LDFLAGS" |
+ sed -e 's,lib_\([A-Z][A-Z]*\),'"${libname}_${libext}"'_\1,g' |
+ sed -e 's,lib%_LIBRARIES,lib_LIBRARIES,g' \
+ -e 's,lib%_LTLIBRARIES,lib_LTLIBRARIES,g'
+ } > amsnippet.tmp
# Skip the contents if its entirely empty.
if grep '[^ ]' amsnippet.tmp > /dev/null ; then
echo "## begin gnulib module $module"
@@ -1816,8 +1836,12 @@ func_import ()
echo "["
if test "$libtool" = true; then
echo " AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ echo " gl_cond_libtool=true"
else
echo " AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
+ echo " gl_cond_libtool=false"
+ echo " gl_libdeps="
+ echo " gl_ltlibdeps="
fi
if test "$auxdir" != "build-aux"; then
sed_replace_build_aux='
@@ -1845,6 +1869,15 @@ func_import ()
fi
fi
done
+ # _LIBDEPS and _LTLIBDEPS variables are not needed if this library is
+ # created using libtool, because libtool already handles the dependencies.
+ if test "$libtool" != true; then
+ libname_upper=`echo "$libname" | tr 'a-z' 'A-Z'`
+ echo " ${libname_upper}_LIBDEPS=\"\$gl_libdeps\""
+ echo " AC_SUBST([${libname_upper}_LIBDEPS])"
+ echo " ${libname_upper}_LTLIBDEPS=\"\$gl_ltlibdeps\""
+ echo " AC_SUBST([${libname_upper}_LTLIBDEPS])"
+ fi
echo "])"
echo
echo "# This macro records the list of files which have been installed by"
@@ -2089,8 +2122,12 @@ func_create_testdir ()
fi
if test "$libtool" = true; then
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ echo "gl_cond_libtool=true"
else
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
+ echo "gl_cond_libtool=false"
+ echo "gl_libdeps="
+ echo "gl_ltlibdeps="
fi
# Wrap the set of autoconf snippets into an autoconf macro that is then
# invoked. This is needed because autoconf does not support AC_REQUIRE
@@ -2128,6 +2165,15 @@ func_create_testdir ()
| sed -e "$sed_replace_build_aux"
fi
done
+ # _LIBDEPS and _LTLIBDEPS variables are not needed if this library is
+ # created using libtool, because libtool already handles the dependencies.
+ if test "$libtool" != true; then
+ libname_upper=`echo "$libname" | tr 'a-z' 'A-Z'`
+ echo " ${libname_upper}_LIBDEPS=\"\$gl_libdeps\""
+ echo " AC_SUBST([${libname_upper}_LIBDEPS])"
+ echo " ${libname_upper}_LTLIBDEPS=\"\$gl_ltlibdeps\""
+ echo " AC_SUBST([${libname_upper}_LTLIBDEPS])"
+ fi
echo "])"
echo "gl_INIT"
echo
@@ -2184,8 +2230,12 @@ func_create_testdir ()
fi
if test "$libtool" = true; then
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+ echo "gl_cond_libtool=true"
else
echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
+ echo "gl_cond_libtool=false"
+ echo "gl_libdeps="
+ echo "gl_ltlibdeps="
fi
# Wrap the set of autoconf snippets into an autoconf macro that is then
# invoked. This is needed because autoconf does not support AC_REQUIRE
@@ -2213,6 +2263,15 @@ func_create_testdir ()
| sed -e "$sed_replace_build_aux"
fi
done
+ # _LIBDEPS and _LTLIBDEPS variables are not needed if this library is
+ # created using libtool, because libtool already handles the dependencies.
+ if test "$libtool" != true; then
+ libname_upper=`echo "$libname" | tr 'a-z' 'A-Z'`
+ echo " ${libname_upper}_LIBDEPS=\"\$gl_libdeps\""
+ echo " AC_SUBST([${libname_upper}_LIBDEPS])"
+ echo " ${libname_upper}_LTLIBDEPS=\"\$gl_ltlibdeps\""
+ echo " AC_SUBST([${libname_upper}_LTLIBDEPS])"
+ fi
echo "])"
echo "gl_INIT"
echo
diff --git a/modules/gc b/modules/gc
index 78ace10078..c35e912173 100644
--- a/modules/gc
+++ b/modules/gc
@@ -12,13 +12,15 @@ havelib
configure.ac:
gl_GC
+if test $gl_cond_libtool = false; then
+ gl_ltlibdeps="$gl_ltlibdeps $LTLIBGCRYPT"
+ gl_libdeps="$gl_libdeps $LIBGCRYPT"
+fi
Makefile.am:
EXTRA_DIST += gc.h
if GL_COND_LIBTOOL
lib_LDFLAGS += $(LTLIBGCRYPT)
-else
-lib_LDFLAGS += $(LIBGCRYPT)
endif
Include:
diff --git a/modules/iconvme b/modules/iconvme
index 34636ddf8f..da4fbff468 100644
--- a/modules/iconvme
+++ b/modules/iconvme
@@ -12,13 +12,15 @@ strdup
configure.ac:
gl_ICONVME
+if test $gl_cond_libtool = false; then
+ gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+ gl_libdeps="$gl_libdeps $LIBICONV"
+fi
Makefile.am:
lib_SOURCES += iconvme.h iconvme.c
if GL_COND_LIBTOOL
lib_LDFLAGS += $(LTLIBICONV)
-else
-lib_LDFLAGS += $(LIBICONV)
endif
Include:
diff --git a/modules/striconv b/modules/striconv
index 887681e281..496fea0b33 100644
--- a/modules/striconv
+++ b/modules/striconv
@@ -11,13 +11,15 @@ strdup
c-strcase
configure.ac:
+if test $gl_cond_libtool = false; then
+ gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+ gl_libdeps="$gl_libdeps $LIBICONV"
+fi
Makefile.am:
lib_SOURCES += striconv.h striconv.c
if GL_COND_LIBTOOL
lib_LDFLAGS += $(LTLIBICONV)
-else
-lib_LDFLAGS += $(LIBICONV)
endif
Include: