X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=gnulib-tool;h=5b44ee09f6178f7b10b90eab119dc1d0d05baec4;hb=0e7a6d56882dc8fd6c8de4a44ee0f103879bbf03;hp=bbe38a94ded1f64cab8d0064120f6c9c3d1da631;hpb=1c795e506880da0ea22a814e91cff2e295d18374;p=gnulib.git diff --git a/gnulib-tool b/gnulib-tool index bbe38a94d..5b44ee09f 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -22,7 +22,7 @@ progname=$0 package=gnulib -cvsdatestamp='$Date: 2006-08-31 14:36:39 $' +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'` @@ -59,9 +59,6 @@ if test -z "$SORT"; then SORT=sort fi -nl=' -' - # func_usage # outputs to stdout the --help usage message. func_usage () @@ -1046,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 @@ -1056,7 +1055,7 @@ func_emit_lib_Makefile_am () echo "# Reproduce by: $actioncmd" fi echo - if test -n "$makefile_name"; then + if test -z "$makefile_name"; then # No need to generate dependencies since the sources are in gnulib, not here. echo "AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies" fi @@ -1069,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' @@ -1099,8 +1099,13 @@ func_emit_lib_Makefile_am () echo echo "${libname}_${libext}_SOURCES =" echo "${libname}_${libext}_LIBADD = @${perhapsLT}LIBOBJS@" - if test -n "$makefile_name"; then + 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 + # if you specify pkgdata_DATA to empty. This is a workaround. if grep '^pkgdata_DATA *+=' allsnippets.tmp > /dev/null; then echo "pkgdata_DATA =" fi @@ -1109,7 +1114,7 @@ func_emit_lib_Makefile_am () echo "SUFFIXES =" fi echo "MOSTLYCLEANFILES $assign core *.stackdump" - if test -n "$makefile_name"; then + if test -z "$makefile_name"; then echo "MOSTLYCLEANDIRS =" echo "CLEANFILES =" echo "DISTCLEANFILES =" @@ -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" @@ -1418,7 +1438,7 @@ func_import () license=`func_get_license $module` case $license in LGPL | 'GPLed build tool') ;; - 'public domain' | 'unlimited' | 'unmodifiable license text') ;; + 'public domain' | 'unlimited' | 'unmodifiable license text') ;; *) func_fatal_error "incompatible license on module $module: $license" ;; esac done @@ -1426,13 +1446,15 @@ func_import () # Determine script to apply to imported library files. sed_transform_lib_file= - case $nl$modules$nl in - *"${nl}config-h$nl"*) + for module in $modules; do + if test $module = config-h; then # Assume config.h exists, and that -DHAVE_CONFIG_H is omitted. sed_transform_lib_file=$sed_transform_lib_file' - s/^#ifdef[ ]*HAVE_CONFIG_H[ ]*$/#if 1/ - ' ;; - esac + s/^#ifdef[ ]*HAVE_CONFIG_H[ ]*$/#if 1/ + ' + break + fi + done if test -n "$lgpl"; then # Update license. sed_transform_lib_file=$sed_transform_lib_file' @@ -1564,7 +1586,7 @@ func_import () func_dest_tmpfilename "$g" func_lookup_file "$f" cp "$lookedup_file" "$tmpfile" || func_fatal_error "failed" - if test -n "sed_transform_lib_file"; then + if test -n "$sed_transform_lib_file"; then case "$f" in lib/*) sed -e "$sed_transform_lib_file" \ @@ -1814,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=' @@ -1843,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" @@ -2087,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 @@ -2126,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 @@ -2182,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 @@ -2211,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