Trace AC_CONFIG_SUBDIRS with autoconf
authorBehdad Esfahbod <behdad@gnome.org>
Sat, 4 Aug 2012 14:13:55 +0000 (15:13 +0100)
committerChristian Persch <chpe@gnome.org>
Mon, 20 Aug 2012 16:35:27 +0000 (18:35 +0200)
Find configure.ac and configure.in files using the trace functionality
of autoconf in order to skip build directories from incomplete make
distcheck runs. Fixes bug 510713.

macros2/gnome-autogen.sh

index 845bbc8..31fe6ae 100644 (file)
@@ -265,7 +265,24 @@ want_gtk_doc=false
 want_gnome_doc_utils=false
 want_maintainer_mode=false
 
-configure_files="`find $srcdir -name '{arch}' -prune -o -name '_darcs' -prune -o -name '.??*' -prune -o -name configure.ac -print -o -name configure.in -print`"
+find_configure_files() {
+    configure_ac=
+    if test -f "$1/configure.ac"; then
+       configure_ac="$1/configure.ac"
+    elif test -f "$1/configure.in"; then
+       configure_ac="$1/configure.in"
+    fi
+    if test "x$configure_ac" != x; then
+       echo "$configure_ac"
+       # TODO We have not detected the right autoconf yet!
+       autoconf -t 'AC_CONFIG_SUBDIRS:$1' "$configure_ac" | while read dir; do
+           find_configure_files "$1/$dir"
+       done
+    fi
+}
+
+configure_files="`find_configure_files $srcdir`"
+
 for configure_ac in $configure_files; do
     dirname=`dirname $configure_ac`
     if [ -f $dirname/NO-AUTO-GEN ]; then