summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2012-08-04 15:13:55 +0100
committerDavid King <amigadave@amigadave.com>2012-08-04 15:13:55 +0100
commit646fa962712313aadacaaf58c8fd5dd57edc5882 (patch)
tree824d7a564088b2b093f02dc5816c398d36071db3
parent70422b555f881acc7523818bdea22dea84dd5901 (diff)
downloadgnome-common-646fa962712313aadacaaf58c8fd5dd57edc5882.tar.gz
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.
-rw-r--r--macros2/gnome-autogen.sh19
1 files changed, 18 insertions, 1 deletions
diff --git a/macros2/gnome-autogen.sh b/macros2/gnome-autogen.sh
index 845bbc8..de36d60 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 .`"
+
for configure_ac in $configure_files; do
dirname=`dirname $configure_ac`
if [ -f $dirname/NO-AUTO-GEN ]; then