Recommend to put gnulib-cache.m4 into EXTRA_DIST.
[gnulib.git] / gnulib-tool
index 5cb90e9..989869d 100755 (executable)
@@ -2197,6 +2197,12 @@ func_import ()
         s,^.*gl_LOCAL_DIR([[ ]*\([^])]*\).*$,cached_local_gnulib_dir="\1",p
       }
       /gl_MODULES(/ {
+        :a
+          s/)/)/
+          tb
+          N
+          ba
+        :b
         s,^.*gl_MODULES([[ ]*\([^])]*\).*$,cached_specified_modules="\1",p
       }
       /gl_AVOID(/ {
@@ -3004,7 +3010,9 @@ func_import ()
         esac ;;
     esac
     echo "gl_LOCAL_DIR([$relative_local_gnulib_dir])"
-    echo "gl_MODULES(["`echo $specified_modules`"])"
+    echo "gl_MODULES(["
+    echo "$specified_modules" | sed 's/^/  /g'
+    echo "])"
     echo "gl_AVOID([$avoidlist])"
     echo "gl_SOURCE_BASE([$sourcebase])"
     echo "gl_M4_BASE([$m4base])"
@@ -3401,6 +3409,18 @@ func_import ()
     fi
   fi
   echo "  - mention \"-I ${m4base}\" in ACLOCAL_AMFLAGS in Makefile.am,"
+  {
+    # Find the first parent directory of $m4base that contains a Makefile.am.
+    sed_last='s,^.*/\([^/][^/]*\)//*$,\1/,
+s,//*$,/,'
+    sed_butlast='s,[^/][^/]*//*$,,'
+    dir1="${m4base}/"; dir2=""
+    while test -n "$dir1" && test ! -f "${destdir}/${dir1}Makefile.am"; do
+      dir2=`echo "$dir1" | sed -e "$sed_last"`"$dir2"
+      dir1=`echo "$dir1" | sed -e "$sed_butlast"`
+    done
+    echo "  - mention ${dir2}gnulib-cache.m4 in EXTRA_DIST in ${dir1}Makefile.am."
+  }
   echo "  - invoke ${macro_prefix}_EARLY in $configure_ac, right after AC_PROG_CC,"
   echo "  - invoke ${macro_prefix}_INIT in $configure_ac."
 }
@@ -3418,9 +3438,8 @@ func_create_testdir ()
     # 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.
-    # Except gnumakefile, which breaks when there is no file '.tarball-version'.
     modules=`func_all_modules`
-    modules=`for m in $modules; do case $m in config-h | fnmatch-posix | ftruncate | mountlist | gnumakefile) ;; *) echo $m;; esac; done`
+    modules=`for m in $modules; do case $m in config-h | fnmatch-posix | ftruncate | mountlist) ;; *) echo $m;; esac; done`
   fi
   modules=`for m in $modules; do echo $m; done | LC_ALL=C sort -u`
 
@@ -3895,8 +3914,7 @@ func_create_megatestdir ()
   # 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.
-  # Except gnumakefile, which breaks when there is no file '.tarball-version'.
-  allmodules=`for m in $allmodules; do if test $m != config-h && test $m != fnmatch-posix && test $m != gnumakefile; then echo $m; fi; done`
+  allmodules=`for m in $allmodules; do if test $m != config-h && test $m != fnmatch-posix; then echo $m; fi; done`
   func_create_testdir "$megatestdir/ALL" "$allmodules"
   func_append megasubdirs "ALL"