Mercurial > hg > octave-nkf > gnulib-hg
changeset 7866:58d9bcb3d6c4
Don't unnecessarily run configure and make.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 14 Jan 2007 20:45:45 +0000 |
parents | ed58a606d898 |
children | 815c86c622df |
files | ChangeLog gnulib-tool |
diffstat | 2 files changed, 27 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +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.
--- a/gnulib-tool +++ b/gnulib-tool @@ -22,7 +22,7 @@ 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=' @@ -2659,7 +2659,25 @@ ${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"