2002-06-23 Piers Haken <piersh@friskit.com>
[mono.git] / web / mono-build.sh
index 09b488f68d72c48a73e65f370a52918da851df47..10878bf2780c6dae03965d308056af7c08d1f6a8 100755 (executable)
@@ -60,6 +60,7 @@ function install_package() {
     tarfile=$1
     dirname=$2
     name=$3
+    configure_options=$4
 
     echo "Installing $name..."
     if [ ! -f $here/$tarfile ]; then
@@ -70,7 +71,7 @@ function install_package() {
     if [ ! -d $here/$dirname ]; then
        # Build and install package
        tar xzf $here/$tarfile || exit -1
-       (cd $here/$dirname; ./configure --prefix=$here/install || exit -1; make || exit -1; make install || exit -1)
+       (cd $here/$dirname; ./configure --prefix=$here/install $configure_options || exit -1; make || exit -1; make install || exit -1)
        success=$?
        if [ $success -ne 0 ]; then
            echo "***** $name build failure. Run rm -rf $here/$dirname to have this script attempt to build $name again next time"
@@ -97,6 +98,12 @@ else
     PKG_CONFIG_PATH="$here/install/lib/pkgconfig:$PKG_CONFIG_PATH"
 fi
 
+if [ -f /usr/include/gc/gc.h ]; then
+    install_libgc=no
+else
+    install_libgc=yes
+fi
+
 if [ $install_pkgconfig = "yes" -o $install_glib = "yes" ]; then
     ACLOCAL_FLAGS="-I $here/install/share/aclocal $ACLOCAL_FLAGS"
 fi
@@ -106,20 +113,34 @@ export LD_LIBRARY_PATH
 export ACLOCAL_FLAGS
 export PKG_CONFIG_PATH
 
+CPPFLAGS="$CPPFLAGS -I$here/install/include"
+LDFLAGS="$LDFLAGS -L$here/install/lib"
+export CPPFLAGS
+export LDFLAGS
+
 # Grab pkg-config-0.8, glib-1.3.12 if necessary
 
 if [ $install_pkgconfig = "yes" ]; then
-    install_package pkgconfig-0.8.0.tar.gz pkgconfig-0.8.0 pkgconfig
+    install_package pkgconfig-0.8.0.tar.gz pkgconfig-0.8.0 pkgconfig ""
 else
     echo "Not installing pkgconfig, you already seem to have it installed"
 fi
 
 if [ $install_glib = "yes" ]; then
-    install_package glib-1.3.13.tar.gz glib-1.3.13 glib
+    install_package glib-1.3.13.tar.gz glib-1.3.13 glib ""
 else
     echo "Not installing glib, you already seem to have it installed"
 fi
 
+if [ $install_libgc = "yes" ]; then
+    LIBS="-ldl" install_package gc6.0.tar.gz gc6.0 libgc "--enable-threads=pthreads"
+    # make install didnt do the headers!
+    mkdir -p $here/install/include/gc
+    cp -r $here/gc6.0/include/* $here/install/include/gc
+else
+    echo "Not installing libgc, you already seem to have it installed"
+fi
+
 # End of build dependencies, now get the latest mono checkout and build that
 
 test -z "$CVSROOT" && CVSROOT=:pserver:anonymous@anoncvs.go-mono.com:/mono