summaryrefslogtreecommitdiff
path: root/build.sh
blob: 8846fd393effec0a022ba10bf31ee157f4295e1c (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
#!/bin/bash

CMD="$1"

if [[ -z "${CMD}" ]]; then
    export CMD="default"
fi

if [ -x "/usr/bin/mariadb_config" ]; then
    export SQL=" --with-mysql=/usr/bin/mariadb_config"
elif [ -x "/usr/bin/mysql_config" ]; then
    export SQL=" --with-mysql=/usr/bin/mysql_config"
else
    export SQL=""
fi

source src/evol/tools/vars.sh

export COMMON="--enable-packetver=20150000 --enable-debug=gdb${SQL} --enable-epoll"
export CORES=$(cat /proc/cpuinfo|grep processor|wc -l)

autoreconf
if [[ "${CMD}" == "default" || "${CMD}" == "all" ]]; then
    export CC=gcc
    ./configure --enable-manager=no --enable-sanitize=full ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
    make install
    cd src/evol
    ./build.sh
elif [[ "${CMD}" == "old" ]]; then
    ./configure --disable-lto ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
    make install
    cd src/evol
    ./build.sh old
elif [[ "${CMD}" == "valgrind" ]]; then
    ./configure --enable-manager=no ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
    make install
    cd src/evol
    ./build.sh old
elif [[ "${CMD}" == "gprof" ]]; then
    ./configure --enable-manager=no --enable-profiler=gprof ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
    make install
    cd src/evol
    ./build.sh gprof
elif [[ "${CMD}" == "server" ]]; then
    ./configure --enable-sanitize ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
    make install
elif [[ "${CMD}" == "static" ]]; then
    ./configure LIBS="-lmysqlclient -lssl -lcrypto -pthread -lm -lz" --disable-64bit --enable-static ${COMMON}
    make -j${CORES}
elif [[ "${CMD}" == "static64" ]]; then
    ./configure --enable-static ${COMMON} CPPFLAGS="${VARS}"
    make -j${CORES}
fi
exit $?