diff options
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100755 index 000000000..8b5346a44 --- /dev/null +++ b/build.sh @@ -0,0 +1,58 @@ +#!/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 + +export COMMON="--enable-packetver=20150000 --enable-debug=gdb${SQL}" + +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} + make -j${CORES} + make install + cd src/evol + ./build.sh +elif [[ "${CMD}" == "old" ]]; then + ./configure --disable-lto ${COMMON} + make -j${CORES} + make install + cd src/evol + ./build.sh old +elif [[ "${CMD}" == "valgrind" ]]; then + ./configure --enable-manager=no ${COMMON} + make -j${CORES} + make install + cd src/evol + ./build.sh old +elif [[ "${CMD}" == "gprof" ]]; then + ./configure --enable-manager=no --enable-profiler=gprof ${COMMON} + make -j${CORES} + make install + cd src/evol + ./build.sh gprof +elif [[ "${CMD}" == "server" ]]; then + ./configure --enable-sanitize ${COMMON} + 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} + make -j${CORES} +fi +exit $? |