[msvc] Update csproj files
[mono.git] / autogen.sh
index 44dab25bd8679aa4fb33f5b0e67f2bd2b271f169..2fe9281e8dd4029b883d0512759afa962128e57b 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
 # Run this to generate all the initial makefiles, etc.
 # Ripped off from GNOME macros version
 
@@ -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,18 +30,25 @@ fi
   DIE=1
 }
 
-(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
-  (libtool --version) < /dev/null > /dev/null 2>&1 || {
+if [ -z "$LIBTOOLIZE" ]; then
+  LIBTOOLIZE=`which glibtoolize 2>/dev/null`
+  if [ ! -x "$LIBTOOLIZE" ]; then
+    LIBTOOLIZE=`which libtoolize`
+  fi
+fi
+
+(grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && {
+  ($LIBTOOLIZE --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"
+    echo "**Error**: You must have \`libtoolize' installed to compile Mono."
+    echo "Get ftp://ftp.gnu.org/gnu/libtool/libtool-1.2.tar.gz"
     echo "(or a newer version if it is available)"
     DIE=1
   }
 }
 
-grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && {
-  grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
+grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && {
+  grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \
   (gettext --version) < /dev/null > /dev/null 2>&1 || {
     echo
     echo "**Error**: You must have \`gettext' installed to compile Mono."
@@ -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,7 +94,77 @@ xlc )
   am_opt=--include-deps;;
 esac
 
-conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
+
+if grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null; then
+  if test -z "$NO_LIBTOOLIZE" ; then 
+    echo "Running libtoolize..."
+    $LIBTOOLIZE --force --copy
+  fi
+fi
+
+
+#
+# Plug in the extension module
+#
+has_ext_mod=false
+ext_mod_args=''
+for PARAM; do
+    if [[ $PARAM =~ "--enable-extension-module" ]] ; then
+        has_ext_mod=true
+        if [[ $PARAM =~ "=" ]] ; then
+            ext_mod_args=`echo $PARAM | cut -d= -f2`
+        fi
+    fi
+done
+
+if test x$has_ext_mod = xtrue; then
+       pushd ../mono-extensions/scripts
+       sh ./prepare-repo.sh $ext_mod_args || exit 1
+       popd
+else
+       cat mono/mini/Makefile.am.in > mono/mini/Makefile.am
+fi
+
+
+echo "Running aclocal -I m4 -I . $ACLOCAL_FLAGS ..."
+aclocal -Wnone -I m4 -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 "^AC_CONFIG_HEADERS" configure.ac >/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 -Wno-obsolete $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
+
+if test x$MONO_EXTRA_CONFIGURE_FLAGS != x; then
+       echo "MONO_EXTRA_CONFIGURE_FLAGS is $MONO_EXTRA_CONFIGURE_FLAGS"
+fi
+
+conf_flags="$MONO_EXTRA_CONFIGURE_FLAGS --enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
 
 if test x$NOCONFIGURE = x; then
   echo Running $srcdir/configure $conf_flags "$@" ...