X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gnulib-tool;h=397f442b35298b02fe5e87e9cb0c97e728584620;hb=b886ebac9e37729d68e765b141b099ec5b24ab2c;hp=74ea4fc8a9ef7454ad262109a78bfc320b8fd1aa;hpb=addb243b52a49f2e97ce88443a10cbed90f402a6;p=gnulib.git diff --git a/gnulib-tool b/gnulib-tool index 74ea4fc8a..397f442b3 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -703,7 +703,7 @@ if test -z "$have_echo" \ && test "X$1" != "X--no-reexec" \ && test -n "$CONFIG_SHELL" \ && test -f "$CONFIG_SHELL" \ - && $CONFIG_SHELL -c 'echo '\t' | grep t > /dev/null'; then + && $CONFIG_SHELL -c "echo '\\t' | grep t > /dev/null"; then exec $CONFIG_SHELL "$0" --no-reexec "$@" exit 127 fi @@ -2216,7 +2216,7 @@ func_emit_tests_Makefile_am () func_emit_copyright_notice echo uses_subdirs= - ( + { for module in $modules; do if $for_test; then func_verify_tests_module @@ -2258,7 +2258,7 @@ func_emit_tests_Makefile_am () done fi done - ) > allsnippets.tmp + } > allsnippets.tmp # Generate dependencies here, since it eases the debugging of test failures. # If there are source files in subdirectories, prevent collision of the # object files (example: hash.c and libxml/hash.c). @@ -2743,9 +2743,10 @@ func_import () # ignoring tests modules. Its lib/* sources go into $sourcebase/. If --lgpl # is specified, it will consist only of LGPLed source. # The tests-related module list is the transitive closure of the specified - # modules, including tests modules, minus the main module list. Its lib/* - # sources (brought in through dependencies of *-tests modules) go into - # $testsbase/. It may contain GPLed source, even if --lgpl is specified. + # modules, including tests modules, minus the main module list excluding + # 'link-warning'. Its lib/* sources (brought in through dependencies of + # *-tests modules) go into $testsbase/. It may contain GPLed source, even if + # --lgpl is specified. # Determine main module list. saved_inctests="$inctests" inctests="" @@ -2759,7 +2760,8 @@ func_import () fi # Determine tests-related module list. echo "$final_modules" | LC_ALL=C sort -u > "$tmp"/final-modules - testsrelated_modules=`func_reset_sigpipe; echo "$main_modules" | LC_ALL=C sort -u | LC_ALL=C join -v 2 - "$tmp"/final-modules` + sed_remove_link_warning='/^link-warning$/d' + testsrelated_modules=`func_reset_sigpipe; echo "$main_modules" | LC_ALL=C sort -u | sed -e "$sed_remove_link_warning" | LC_ALL=C join -v 2 - "$tmp"/final-modules` if test $verbose -ge 1; then echo "Tests-related module list:" echo "$testsrelated_modules" | sed -e 's/^/ /' @@ -2869,11 +2871,22 @@ s,^\(.................................................[^ ]*\) *, sed_transform_main_lib_file=$sed_transform_main_lib_file' s/GNU Lesser General/GNU General/g s/GNU Library General/GNU General/g - s/version \(2\|2\.1\)\([ ,]\)/version 3\2/g + s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g ' fi fi + # Determine script to apply to auxiliary files that go into $auxdir/. + sed_transform_build_aux_file= + if test -n "$do_copyrights"; then + # Update license. + sed_transform_build_aux_file=$sed_transform_build_aux_file' + s/GNU Lesser General/GNU General/g + s/GNU Library General/GNU General/g + s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g + ' + fi + # Determine script to apply to library files that go into $testsbase/. sed_transform_testsrelated_lib_file="$sed_transform_lib_file" if test -n "$do_copyrights"; then @@ -2881,7 +2894,7 @@ s,^\(.................................................[^ ]*\) *, sed_transform_testsrelated_lib_file=$sed_transform_testsrelated_lib_file' s/GNU Lesser General/GNU General/g s/GNU Library General/GNU General/g - s/version \(2\|2\.1\)\([ ,]\)/version 3\2/g + s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g ' fi @@ -2917,22 +2930,25 @@ s,^\(.................................................[^ ]*\) *, func_append old_files " m4/gnulib-tool.m4" fi + rewritten='%REWRITTEN%' sed_rewrite_old_files="\ - s,^build-aux/,$auxdir/, - s,^doc/,$cached_docbase/, - s,^lib/,$cached_sourcebase/, - s,^m4/,$cached_m4base/, - s,^tests/,$cached_testsbase/, - s,^tests=lib/,$cached_testsbase/, - s,^top/,," + s,^build-aux/,$rewritten$auxdir/, + s,^doc/,$rewritten$cached_docbase/, + s,^lib/,$rewritten$cached_sourcebase/, + s,^m4/,$rewritten$cached_m4base/, + s,^tests/,$rewritten$cached_testsbase/, + s,^tests=lib/,$rewritten$cached_testsbase/, + s,^top/,$rewritten, + s,^$rewritten,," sed_rewrite_new_files="\ - s,^build-aux/,$auxdir/, - s,^doc/,$docbase/, - s,^lib/,$sourcebase/, - s,^m4/,$m4base/, - s,^tests/,$testsbase/, - s,^tests=lib/,$testsbase/, - s,^top/,," + s,^build-aux/,$rewritten$auxdir/, + s,^doc/,$rewritten$docbase/, + s,^lib/,$rewritten$sourcebase/, + s,^m4/,$rewritten$m4base/, + s,^tests/,$rewritten$testsbase/, + s,^tests=lib/,$rewritten$testsbase/, + s,^top/,$rewritten, + s,^$rewritten,," # Create directories. { echo "$sourcebase" @@ -3022,6 +3038,14 @@ s,^\(.................................................[^ ]*\) *, ;; esac fi + if test -n "$sed_transform_build_aux_file"; then + case "$of" in + build-aux/*) + sed -e "$sed_transform_build_aux_file" \ + < "$lookedup_file" > "$tmpfile" || func_fatal_error "failed" + ;; + esac + fi if test -n "$sed_transform_testsrelated_lib_file"; then case "$of" in tests=lib/*) @@ -3796,10 +3820,9 @@ func_create_testdir () if test -z "$modules"; then # All modules together. # Except config-h, which breaks all modules which use HAVE_CONFIG_H. - # Except fnmatch-posix, which conflicts with fnmatch-gnu. FIXME. # Except ftruncate, mountlist, which abort the configuration on mingw. FIXME. modules=`func_all_modules` - modules=`for m in $modules; do case $m in config-h | fnmatch-posix | ftruncate | mountlist) ;; *) echo $m;; esac; done` + modules=`for m in $modules; do case $m in config-h | ftruncate | mountlist) ;; *) echo $m;; esac; done` fi modules=`for m in $modules; do echo $m; done | LC_ALL=C sort -u` @@ -3884,13 +3907,15 @@ func_create_testdir () echo "$files" | sed -e 's/^/ /' fi + rewritten='%REWRITTEN%' sed_rewrite_files="\ - s,^build-aux/,$auxdir/, - s,^doc/,$docbase/, - s,^lib/,$sourcebase/, - s,^m4/,$m4base/, - s,^tests/,$testsbase/, - s,^top/,," + s,^build-aux/,$rewritten$auxdir/, + s,^doc/,$rewritten$docbase/, + s,^lib/,$rewritten$sourcebase/, + s,^m4/,$rewritten$m4base/, + s,^tests/,$rewritten$testsbase/, + s,^top/,$rewritten, + s,^$rewritten,," # Create directories. for f in $files; do echo $f; done \ @@ -3987,13 +4012,17 @@ func_create_testdir () echo "AC_CONFIG_AUX_DIR([$auxdir])" echo "AM_INIT_AUTOMAKE" echo - echo "AM_CONFIG_HEADER([config.h])" + echo "AC_CONFIG_HEADERS([config.h])" echo echo "AC_PROG_CC" echo "AC_PROG_INSTALL" echo "AC_PROG_MAKE_SET" echo "AC_PROG_RANLIB" echo + if test -n "$uses_subdirs"; then + echo "AM_PROG_CC_C_O" + echo + fi for module in $modules; do func_verify_module if test -n "$module"; then @@ -4077,7 +4106,8 @@ func_create_testdir () # by "merging" config.h into $testsbase/config.h; look out for gcc warnings. echo "AH_TOP([#include \"../config.h\"])" echo - echo "AC_OUTPUT([Makefile])" + echo "AC_CONFIG_FILES([Makefile])" + echo "AC_OUTPUT" ) > "$testdir/$testsbase/configure.ac" auxdir="$saved_auxdir" func_append subdirs " $testsbase" @@ -4102,7 +4132,7 @@ func_create_testdir () fi echo "AM_INIT_AUTOMAKE" echo - echo "AM_CONFIG_HEADER([config.h])" + echo "AC_CONFIG_HEADERS([config.h])" echo echo "AC_PROG_CC" echo "AC_PROG_INSTALL" @@ -4193,7 +4223,8 @@ func_create_testdir () *) func_append makefiles " $d/Makefile" ;; esac done - echo "AC_OUTPUT([$makefiles])" + echo "AC_CONFIG_FILES([$makefiles])" + echo "AC_OUTPUT" ) > "$testdir/configure.ac" # Create autogenerated files. @@ -4288,8 +4319,7 @@ func_create_megatestdir () done # Then, all modules all together. # Except config-h, which breaks all modules which use HAVE_CONFIG_H. - # Except fnmatch-posix, which conflicts with fnmatch-gnu. FIXME. - allmodules=`for m in $allmodules; do if test $m != config-h && test $m != fnmatch-posix; then echo $m; fi; done` + allmodules=`for m in $allmodules; do if test $m != config-h; then echo $m; fi; done` func_create_testdir "$megatestdir/ALL" "$allmodules" func_append megasubdirs "ALL" @@ -4356,7 +4386,8 @@ func_create_megatestdir () echo "AC_PROG_MAKE_SET" echo echo "AC_CONFIG_SUBDIRS([$megasubdirs])" - echo "AC_OUTPUT([Makefile])" + echo "AC_CONFIG_FILES([Makefile])" + echo "AC_OUTPUT" ) > "$megatestdir/configure.ac" # Create autogenerated files. @@ -4395,7 +4426,7 @@ case $mode in if test -f "$destdir"/configure.in; then configure_ac="$destdir/configure.in" else - func_fatal_error "cannot find $destdir/configure.ac" + func_fatal_error "cannot find $destdir/configure.ac - make sure you run gnulib-tool from within your package's directory" fi fi @@ -4717,13 +4748,15 @@ case $mode in test -n "$docbase" || docbase="doc" test -n "$testsbase" || testsbase="tests" test -n "$auxdir" || auxdir="build-aux" + rewritten='%REWRITTEN%' sed_rewrite_files="\ - s,^build-aux/,$auxdir/, - s,^doc/,$docbase/, - s,^lib/,$sourcebase/, - s,^m4/,$m4base/, - s,^tests/,$testsbase/, - s,^top/,," + s,^build-aux/,$rewritten$auxdir/, + s,^doc/,$rewritten$docbase/, + s,^lib/,$rewritten$sourcebase/, + s,^m4/,$rewritten$m4base/, + s,^tests/,$rewritten$testsbase/, + s,^top/,$rewritten, + s,^$rewritten,," if test -d "$dest"; then destdir="$dest" g=`echo "$f" | sed -e "$sed_rewrite_files"`