# Written by Luca Saiu.
#
# I, the author, hereby release this script into the public domain up to the
# extent permitted by the applicable law.

function add-prefix {
    prefix=$1
    case "$(hostname)" in
        sussman)
            TRIPLET="mipsel-linux-gnu"
            ;;
        abelson | minsky | ritchie)
            TRIPLET="x86_64-linux-gnu"
            ;;
        knuth)
            TRIPLET="powerpc-linux-gnu"
            ;;
        *)
            # Let's hope this exactly matches multilib paths
            TRIPLET="$(uname --machine)-linux-gnu"
            ;;
    esac
    # Let's hope $PATH is already defined...
    export PATH="$prefix/sbin:$prefix/bin:$PATH"

    # FIXME: is the order correct?
    export PATH="$prefix/libexec:$PATH"

    if [[ "$LIBRARY_PATH" == "" ]]; then
        export LIBRARY_PATH="/lib/$TRIPLET:/lib:/usr/local/lib/$TRIPLET:/usr/local/lib:/usr/lib/$TRIPLET:/usr/lib:/usr/X11R6/lib:/lib64:/usr/local/lib64:/usr/lib64:/usr/X11R6/lib64"
    fi
    export LIBRARY_PATH="$prefix/lib/$TRIPLET:$prefix/lib:$prefix/lib64:$LIBRARY_PATH"
    
    if [[ "$LD_LIBRARY_PATH" == "" ]]; then
        export LD_LIBRARY_PATH="/lib/$TRIPLET:/lib:/usr/local/lib/$TRIPLET:/usr/local/lib:/usr/lib/$TRIPLET:/usr/lib:/usr/X11R6/lib:/lib64:/usr/local/lib64:/usr/lib64:/usr/X11R6/lib64"
        #export LD_LIBRARY_PATH="/lib:/usr/local/lib:/usr/lib:/usr/X11R6/lib:/lib64:/usr/local/lib64:/usr/lib64:/usr/X11R6/lib64:/lib/mipsel-linux-gnu"
    fi
    export LD_LIBRARY_PATH="$prefix/lib/$TRIPLET:$prefix/lib:$prefix/lib64:$LD_LIBRARY_PATH"

    if [[ "$MANPATH" == "" ]]; then
        export MANPATH="/usr/local/man:/usr/local/share/man:/usr/man:/usr/share/man:/usr/X11R6/man:/usr/X11R6/share/man"
    fi
    export MANPATH="$prefix/man:$prefix/share/man:$MANPATH"

    if [[ "$INFOPATH" == "" ]]; then
        export INFOPATH="/usr/local/info:/usr/local/share/info:/usr/info:/usr/share/info:/usr/X11R6/info:/usr/X11R6/share/info"
    fi
    export INFOPATH="$prefix/info:$prefix/share/info:$INFOPATH"

    if [[ "$CPATH" == "" ]]; then
        export CPATH="/usr/local/include/$TRIPLET:/usr/local/include:/usr/include/$TRIPLET:/usr/include:/usr/X11R6/include:/usr/include/X11"
        #export CPATH="/usr/local/include:/usr/include:/usr/X11R6/include:/usr/include/X11"
    fi
    export CPATH="$prefix/include/$TRIPLET:$prefix/include:$CPATH"

    if [[ "$C_INCLUDE_PATH" == "" ]]; then
        export C_INCLUDE_PATH="/usr/local/include/$TRIPLET:/usr/local/include:/usr/include/$TRIPLET:/usr/include:/usr/X11R6/include:/usr/include/X11"
    fi
    export C_INCLUDE_PATH="$prefix/include/$TRIPLET:$prefix/include:$C_INCLUDE_PATH"

    if [[ "$CPLUS_INCLUDE_PATH" == "" ]]; then
        CPLUS_INCLUDE_PATH="/usr/local/include/$TRIPLET:/usr/local/include:/usr/include/$TRIPLET:/usr/include:/usr/X11R6/include:/usr/include/X11"
        #export CPLUS_INCLUDE_PATH="/usr/local/include:/usr/include:/usr/X11R6/include:/usr/include/X11"
    fi
    export CPLUS_INCLUDE_PATH="$prefix/include/$TRIPLET:$prefix/include:$CPLUS_INCLUDE_PATH"

    if [[ "$OBJC_INCLUDE_PATH" == "" ]]; then
        export OBJC_INCLUDE_PATH="/usr/local/include/$TRIPLET:/usr/local/include:/usr/include/$TRIPLET:/usr/include:/usr/X11R6/include:/usr/include/X11"
        #export OBJC_INCLUDE_PATH="/usr/local/include:/usr/include:/usr/X11R6/include:/usr/include/X11"
    fi
    export OBJC_INCLUDE_PATH="$prefix/include/$TRIPLET:$prefix/include:$OBJC_INCLUDE_PATH"
    
    if [[ "$PKG_CONFIG_PATH" == "" ]]; then
        export PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/share/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
    fi
    export PKG_CONFIG_PATH="$prefix/share/pkgconfig:$prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
    if [[ $ACLOCAL_FLAGS == "" ]]; then
        if [ -d /usr/share/aclocal ]; then
            export ACLOCAL_FLAGS="-I /usr/share/aclocal $ACLOCAL_FLAGS"
        fi
        if [ -d /usr/local/share/aclocal ]; then
            export ACLOCAL_FLAGS="-I /usr/local/share/aclocal $ACLOCAL_FLAGS"
        fi
    fi
    mkdir "$prefix/share/aclocal" 2> /dev/null || true
    export ACLOCAL_FLAGS="-I $prefix/share/aclocal/ -I /usr/share/aclocal/"
}
