+2007-01-14 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
+ and make.
+ Reported by Simon Josefsson in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
+
2007-01-14 Bruno Haible <bruno@clisp.org>
* modules/allocsa-tests: New file.
progname=$0
package=gnulib
-cvsdatestamp='$Date: 2007-01-11 13:28:50 $'
+cvsdatestamp='$Date: 2007-01-14 20:45:45 $'
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
nl='
${AUTOMAKE} --add-missing --copy || func_exit 1
) || func_exit 1
fi
- if grep '^BUILT_SOURCES *+=' "$testdir/$sourcebase/Makefile.am" > /dev/null; then
+ # Need to run configure and make once, to create built files that are to be
+ # distributed (such as getdate.c).
+ # Extract the value of "CLEANFILES += ...".
+ cleaned_files=`sed -e "$sed_remove_backslash_newline" < "$testdir/$sourcebase/Makefile.am" \
+ | sed -n -e 's,^CLEANFILES[ ]*+=\([^#]*\).*$,\1,p'`
+ cleaned_files=" "`for file in $cleaned_files; do echo "$file"; done`" "
+ # Extract the value of "BUILT_SOURCES += ...". Remove variable references
+ # such $(FOO_H) because they don't refer to distributed files.
+ sed_remove_make_variables='s,[$]([A-Za-z0-9_]*),,g'
+ built_sources=`sed -e "$sed_remove_backslash_newline" < "$testdir/$sourcebase/Makefile.am" \
+ | sed -n -e 's,^BUILT_SOURCES[ ]*+=\([^#]*\).*$,\1,p' \
+ | sed -e "$sed_remove_make_variables"`
+ distributed_built_sources=`for file in $built_sources; do
+ case "$cleaned_files" in
+ *" "$file" "*) ;;
+ *) echo $file ;;
+ esac;
+ done`
+ if test -n "$distributed_built_sources"; then
(cd "$testdir"
./configure || func_exit 1
cd "$sourcebase"