[xbuild] Fix bug #674630.
[mono.git] / autogen.sh
index bfd7bef3037acc3a35cfd543ec3c893489fe960b..898b2d80beb5bda8afb2db16c0bffe3cf0cbe86d 100755 (executable)
@@ -8,8 +8,17 @@ srcdir=`dirname $0`
 test -z "$srcdir" && srcdir=.
 
 if [ -n "$MONO_PATH" ]; then
-       ACLOCAL_FLAGS="-I $MONO_PATH/share/aclocal $ACLOCAL_FLAGS"
-       PATH="$MONO_PATH/bin:$PATH"
+       # from -> /mono/lib:/another/mono/lib
+       # to -> /mono /another/mono
+       for i in `echo ${MONO_PATH} | tr ":" " "`; do
+               i=`dirname ${i}`
+               if [ -n "{i}" -a -d "${i}/share/aclocal" ]; then
+                       ACLOCAL_FLAGS="-I ${i}/share/aclocal $ACLOCAL_FLAGS"
+               fi
+               if [ -n "{i}" -a -d "${i}/bin" ]; then
+                       PATH="${i}/bin:$PATH"
+               fi
+       done
        export PATH
 fi
 
@@ -21,8 +30,15 @@ fi
   DIE=1
 }
 
+if [ -z "$LIBTOOL" ]; then
+  LIBTOOL=`which glibtool 2>/dev/null` 
+  if [ ! -x "$LIBTOOL" ]; then
+    LIBTOOL=`which libtool`
+  fi
+fi
+
 (grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
-  (libtool --version) < /dev/null > /dev/null 2>&1 || {
+  ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || {
     echo
     echo "**Error**: You must have \`libtool' installed to compile Mono."
     echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
@@ -66,7 +82,7 @@ if test "$DIE" -eq 1; then
   exit 1
 fi
 
-if test -z "$*"; then
+if test x$NOCONFIGURE = x && test -z "$*"; then
   echo "**Warning**: I am going to run \`configure' with no arguments."
   echo "If you wish to pass any to it, please specify them on the"
   echo \`$0\'" command line."
@@ -78,57 +94,48 @@ xlc )
   am_opt=--include-deps;;
 esac
 
-for coin in `find $srcdir -name configure.in -print`
-do 
-  dr=`dirname $coin`
-  if test -f $dr/NO-AUTO-GEN; then
-    echo skipping $dr -- flagged as no auto-gen
-  else
-    echo processing $dr
-    macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
-    ( cd $dr
-      macrosdir=`find . -name macros -print`
-      if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then
-       if grep "sed.*POTFILES" configure.in >/dev/null; then
-         : do nothing -- we still have an old unmodified configure.in
-       else
-         echo "Creating $dr/aclocal.m4 ..."
-         test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
-         echo "Running gettextize...  Ignore non-fatal messages."
-         echo "no" | gettextize --force --copy
-         echo "Making $dr/aclocal.m4 writable ..."
-         test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
-        fi
-      fi
-      if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
-       if test -z "$NO_LIBTOOLIZE" ; then 
-         echo "Running libtoolize..."
-         libtoolize --force --copy
-       fi
-      fi
-      echo "Running aclocal $aclocalinclude ..."
-      aclocal $aclocalinclude || {
-       echo
-       echo "**Error**: aclocal failed. This may mean that you have not"
-       echo "installed all of the packages you need, or you may need to"
-       echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
-       echo "for the prefix where you installed the packages whose"
-       echo "macros were not found"
-       exit 1
-      }
-
-      if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
-       echo "Running autoheader..."
-       autoheader || { echo "**Error**: autoheader failed."; exit 1; }
-      fi
-      echo "Running automake --gnu $am_opt ..."
-      automake --add-missing --gnu $am_opt ||
-       { echo "**Error**: automake failed."; exit 1; }
-      echo "Running autoconf ..."
-      autoconf || { echo "**Error**: autoconf failed."; exit 1; }
-    ) || exit 1
+
+if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
+  if test -z "$NO_LIBTOOLIZE" ; then 
+    echo "Running libtoolize..."
+    ${LIBTOOL}ize --force --copy
   fi
-done
+fi
+
+echo "Running aclocal -I . $ACLOCAL_FLAGS ..."
+aclocal -I . $ACLOCAL_FLAGS || {
+  echo
+  echo "**Error**: aclocal failed. This may mean that you have not"
+  echo "installed all of the packages you need, or you may need to"
+  echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
+  echo "for the prefix where you installed the packages whose"
+  echo "macros were not found"
+  exit 1
+}
+
+if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
+  echo "Running autoheader..."
+  autoheader || { echo "**Error**: autoheader failed."; exit 1; }
+fi
+
+echo "Running automake --gnu $am_opt ..."
+automake --add-missing --gnu -Wno-portability $am_opt ||
+  { echo "**Error**: automake failed."; exit 1; }
+echo "Running autoconf ..."
+autoconf || { echo "**Error**: autoconf failed."; exit 1; }
+
+if test -d $srcdir/libgc; then
+  echo Running libgc/autogen.sh ...
+  (cd $srcdir/libgc ; NOCONFIGURE=1 ./autogen.sh "$@")
+  echo Done running libgc/autogen.sh ...
+fi
+
+if test -d $srcdir/eglib; then
+  echo Running eglib/autogen.sh ...
+  (cd $srcdir/eglib ; NOCONFIGURE=1 ./autogen.sh "$@")
+  echo Done running eglib/autogen.sh ...
+fi
+
 
 conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c