[gnome-common] Trace AC_CONFIG_SUBDIRS with autoconf



commit 4668cc8250c15119dc7bdbbf842da53f4fe478fe
Author: Behdad Esfahbod <behdad gnome org>
Date:   Sat Aug 4 15:13:55 2012 +0100

    Trace AC_CONFIG_SUBDIRS with autoconf
    
    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 |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)
---
diff --git a/macros2/gnome-autogen.sh b/macros2/gnome-autogen.sh
index 845bbc8..31fe6ae 100644
--- a/macros2/gnome-autogen.sh
+++ b/macros2/gnome-autogen.sh
@@ -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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]