summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2012-08-04 15:13:55 +0100
committerChristian Persch <chpe@gnome.org>2012-08-20 18:35:27 +0200
commit4668cc8250c15119dc7bdbbf842da53f4fe478fe (patch)
tree2b592d053ab71336ad1bd651b25db64bb2d20774
parente0763e1466d899191ca8bf77441070139ace7e18 (diff)
downloadgnome-common-4668cc8250c15119dc7bdbbf842da53f4fe478fe.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..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