aboutsummaryrefslogtreecommitdiffstats
path: root/win32/build
blob: 915e352c3529801c3131ed69936913021cd611eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/bash

HOW=$1
PREFIX=$2
WHAT=$3
PATCHES=$4
CFGPARAMS=$5
VERBOSE=$6
SRCDIR=$7
MKPARAMS=
PATCHAFTERCFG=0

if test "$HOW" = "m" -o "$HOW" = "mmi" ; then
    MKPARAMS=$CFGPARAMS
fi

PATCHAFTERCFG=0
if test "${PATCHES:0:1}" = "@" ; then
    PATCHAFTERCFG=1
    PATCHES=${PATCHES:1}
fi 

if test "$SRCDIR" = "" ; then
    SRCDIR=src/$WHAT
fi

cd $SRCDIR

if test "$?" != "0" ; then
    exit 1
fi

export BINARY_PATH=$PREFIX/bin
export INCLUDE_PATH=$PREFIX/include
export LIBRARY_PATH=$PREFIX/lib

if test "$PATCHAFTERCFG" != "1" ; then
    for p in $PATCHES; do patch -p1 -f --fuzz=0 <../../patches/$p; done
fi

if test "${HOW:0:1}" = "r" ; then
    echo " * Running autoreconf for '$WHAT'..."

    HOW=${HOW:1}
    if test "$VERBOSE" != "1" ; then
        autoreconf --force --install >/dev/null

    else
        autoreconf --force --install
    fi

    if test "$?" != "0" ; then
        exit 1
    fi
fi

if test "${HOW:0:1}" = "a" ; then
    AUTOGENSH=
    if test -f "./autogen.sh" ; then
        AUTOGENSH="./autogen.sh"
        AUTOGENPARAMS="$CFGPARAMS --prefix=$PREFIX"
    else
        AUTOGENSH="autoreconf -fi"
        AUTOGENPARAMS=
    fi

    echo " * Running $AUTOGENSH for '$WHAT'..."

    HOW=${HOW:1}
    if test "$CFGPARAMS" != "" -a "${CFGPARAMS%%^}" != "" -a "${CFGPARAMS%%^}" != "$CFGPARAMS" ; then
        AUTOGENPARAMS="${CFGPARAMS%%^}"
        CFGPARAMS="${CFGPARAMS##*^}"
    fi
    if test "$VERBOSE" != "1" ; then
        $AUTOGENSH $AUTOGENPARAMS >/dev/null
    else
        $AUTOGENSH $AUTOGENPARAMS 
    fi

    if test "$?" != "0" ; then
        exit 1
    fi
fi

if test "$HOW" = "cmmi" ; then
    echo " * Configuring '$WHAT'..."

    make clean &>/dev/null

    FIRSTPARAM=${CFGPARAMS%% }
    if test "$FIRSTPARAM" != "" -a "${FIRSTPARAM%%/}" != "" -a "${FIRSTPARAM%%/}" != "$FIRSTPARAM" ; then
        if test "$VERBOSE" != "1" ; then
            $CFGPARAMS --prefix=$PREFIX  >/dev/null

        else
            $CFGPARAMS --prefix=$PREFIX
        fi
    elif test "$VERBOSE" != "1" ; then
        ./configure --prefix=$PREFIX $CFGPARAMS >/dev/null

    else
        ./configure --prefix=$PREFIX $CFGPARAMS
    fi

    if test "$?" != "0" ; then
        exit 1
    fi
fi

if test "$PATCHAFTERCFG" = "1" ; then
    for p in $PATCHES; do patch -p1 -f --fuzz=0 <../../patches/$p; done
fi

if test "$VERBOSE" != "1" ; then
    echo " * Building '$WHAT'..." && \
    make $MKPARAMS >/dev/null && \
    if test "$HOW" != "m" ; then
        make install $MKPARAMS >/dev/null
    fi
else
    echo " * Building '$WHAT'..." && \
    make V=1 $MKPARAMS && \
    if test "$HOW" != "m" ; then
        make install V=1 $MKPARAMS
    fi
fi

if test "$?" != "0" ; then
    exit 1
fi