.in with source files expect source code format for distdefs.
[autodist.git] / apps / autodist / autodist.in
index 0b3638ff9f7f2170b6494b5218c21231ee4c7428..9740828591bfd6c3eaf25c156dc8695227db0c9a 100755 (executable)
@@ -697,12 +697,20 @@ ad_process_tree()
        \! -name \*\.[cC]++ -a \
        \! -name \*\.m -a \
        \! -name \*\.[hH] -a \
-       \! -name \*\.hh \)`
+       \! -name \*\.hh -a \
+       \! -name \*\.[cC]\.in -a \
+       \! -name \*\.[cC][cCpP]\.in -a \
+       \! -name \*\.[cC][xX][xX]\.in -a \
+       \! -name \*\.[cC][pP][pP]\.in -a \
+       \! -name \*\.[cC]++\.in -a \
+       \! -name \*\.m\.in -a \
+       \! -name \*\.[hH]\.in -a \
+       \! -name \*\.hh\.in \)`
   files=`echo $files | sed 's/$am_distdir//'`
 
   # Take away noprocess list
   if test -f autodist.noprocess; then
-    files=`echo $files | sh autodist.noprocess` || exit 1
+    files=`echo $files" " | sh autodist.noprocess` || exit 1
   fi
 
   for ff in $files
@@ -742,11 +750,19 @@ ad_process_source_tree()
        -name \*\.[cC]++ -o \
        -name \*\.m -o \
        -name \*\.[hH] -o \
-       -name \*\.hh \)`
+       -name \*\.hh -o \
+       -name \*\.[cC]\.in -o \
+       -name \*\.[cC][cCpP]\.in -o \
+       -name \*\.[cC][xX][xX]\.in -o \
+       -name \*\.[cC][pP][pP]\.in -o \
+       -name \*\.[cC]++\.in -o \
+       -name \*\.m\.in -o \
+       -name \*\.[hH]\.in -o \
+       -name \*\.hh\.in \)`
 
   # Take away noprocess list
   if test -f autodist.noprocess; then
-    files=`echo $files | sh autodist.noprocess` || exit 1
+    files=`echo $files" " | sh autodist.noprocess` || exit 1
   fi
 
   for ff in $files
@@ -1070,6 +1086,16 @@ ad_parse_distribution()
   ad_debug "licenseh: $licenseh"
 
   if test x$2 = xfalse; then
+    # Take rest of the stuff from top distribution
+
+    # We take precedence on defined and undefined distdefs.  Remove
+    # undefined distdefs if we have defined them.
+    for d in $defs
+    do
+      ad_debug "defining undefined $d distdef"
+      undistdefs=`echo $undistdefs | sed s/$d//g`
+    done
+
     # Get distribution name
     dname=`sed 's/^[   ]*//' < $distdir/$1 | grep -v "^#" \
       | grep "name " | cut -d' ' -f2-`
@@ -1151,7 +1177,7 @@ ad_process_distdefs()
   for i in $undistdefs
   do
     ad_debug "undefining $i distdef"
-    distdefs=`echo $distdefs | sed s/$i//`
+    distdefs=`echo $distdefs | sed s/$i//g`
   done
 
   rm -f autodist.tmp.defs
@@ -1234,14 +1260,17 @@ ad_process_noprocess()
 
   ad_debug ">ad_process_noprocess"
 
+  cur=`pwd`
+  cd $am_distdir || exit 1
   for i in $noprocess
   do
     # Escape
     ie=`echo $i | sed 's/\\//\\\\\//g'` || exit 1
 
-    n="$n -e 's/$am_distdir\\/$ie//'"
+    n="$n -e 's/$am_distdir\\/$ie //'"
     np=true
   done
+  cd $cur || exit 1
 
   rm -f autodist.noprocess
   if test x$np = xtrue; then
@@ -1553,7 +1582,10 @@ while test $# -gt 0; do
     fi
     ad_process_distdefs
     echo "Distdefs:" 1>&2;
-    echo "${distdefs}";
+    for i in $distdefs
+    do
+      echo "$i";
+    done
     exit 0;;
 
   -i | --init)