#!/bin/bash -e CURDIR="`pwd`" MINGW=i386-mingw32msvc CROSS_DIR=/opt/cross/$MINGW EXTRA_CROSS_DIR= INSTALL_DESTDIR="$CURDIR/mono-win32" PROFILES="default net_2_0 net_3_5 net_4_0 moonlight" TEMPORARY_PKG_CONFIG_DIR=/tmp/$RANDOM-pkg-config-$RANDOM ORIGINAL_PATH="$PATH" export CPPFLAGS_FOR_EGLIB CFLAGS_FOR_EGLIB CPPFLAGS_FOR_LIBGC CFLAGS_FOR_LIBGC function cleanup () { if [ -d "$TEMPORARY_PKG_CONFIG_DIR" ]; then rm -rf "$TEMPORARY_PKG_CONFIG_DIR" fi } function check_pkg_config_dir () { local DIR="$1" local DIR_PREFIX="$2" if [ ! -d "$DIR" ]; then return fi install -d -m 755 "$TEMPORARY_PKG_CONFIG_DIR" for pc in "$DIR"/*.pc; do if [ -f $pc ]; then pcname="`basename $pc`" sed -e "s;^prefix=.*;prefix=$DIR_PREFIX;g" < $pc > "$TEMPORARY_PKG_CONFIG_DIR"/$pcname fi; done if [ -z "$CROSS_PKG_CONFIG_DIR" ]; then CROSS_PKG_CONFIG_DIR="$TEMPORARY_PKG_CONFIG_DIR" fi } function show_build_info () { cat < /dev/null while getopts "d:m:e:p:" opt; do case "$opt" in d) CROSS_DIR="$OPTARG" ;; m) MINGW="$OPTARG" ;; e) EXTRA_CROSS_DIR="$OPTARG" ;; p) MONO_PREFIX="$OPTARG" ;; *) usage ;; esac done setup build doinstall show_build_info popd > /dev/null