diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-11-05 18:31:20 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-04-17 20:51:25 +0300 |
commit | 2ad75ed9301b29f2607545cb8c3cd62a1ac73014 (patch) | |
tree | 752edb63f7f5fda9baa6e26a60cd1e80ae42e3cd /build.sh | |
parent | f003be1a52315ae1084dfba1095e9d07f74ab9f5 (diff) | |
download | hercules-2ad75ed9301b29f2607545cb8c3cd62a1ac73014.tar.gz hercules-2ad75ed9301b29f2607545cb8c3cd62a1ac73014.tar.bz2 hercules-2ad75ed9301b29f2607545cb8c3cd62a1ac73014.tar.xz hercules-2ad75ed9301b29f2607545cb8c3cd62a1ac73014.zip |
Add build script.
Diffstat (limited to 'build.sh')
-rwxr-xr-x | build.sh | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100755 index 000000000..62dda84b9 --- /dev/null +++ b/build.sh @@ -0,0 +1,157 @@ +#!/usr/bin/env bash + +CMD="$1" +MAKE=make + +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" +elif [ -x "/usr/local/bin/mysql_config" ]; then + export SQL=" --with-mysql=/usr/local/bin/mysql_config" +else + export SQL="" +fi + +source src/evol/tools/vars.sh + +COMMON="--enable-packetver=20150513 --enable-debug=gdb${SQL}" + +if [[ "$(uname)" == "FreeBSD" ]]; then + MAKE=gmake + export CORES=$(sysctl hw.ncpu | awk '{print $2}') +elif [[ "$(uname)" == "Darwin" ]]; then + export CORES=$(sysctl hw.ncpu | awk '{print $2}') +else + COMMON+=" --enable-epoll" + export CORES=$(cat /proc/cpuinfo|grep processor|wc -l) +fi +export COMMON +export MAKE + +autoreconf +if [ "$?" != 0 ]; then + exit 1 +fi +if [[ "${CMD}" == "default" || "${CMD}" == "all" ]]; then + export CC=gcc + ./configure --enable-manager=no --enable-sanitize=full ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} install + if [ "$?" != 0 ]; then + exit 1 + fi + cd src/evol + if [ "$?" != 0 ]; then + exit 1 + fi + ./build.sh + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "old" ]]; then + ./configure --disable-lto ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} install + if [ "$?" != 0 ]; then + exit 1 + fi + cd src/evol + if [ "$?" != 0 ]; then + exit 1 + fi + ./build.sh old + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "valgrind" ]]; then + ./configure --enable-manager=no ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} install + if [ "$?" != 0 ]; then + exit 1 + fi + cd src/evol + if [ "$?" != 0 ]; then + exit 1 + fi + ./build.sh old + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "gprof" ]]; then + ./configure --enable-manager=no --enable-profiler=gprof ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} install + if [ "$?" != 0 ]; then + exit 1 + fi + cd src/evol + if [ "$?" != 0 ]; then + exit 1 + fi + ./build.sh gprof + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "server" ]]; then + ./configure --enable-sanitize ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} install + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "static" ]]; then + ./configure LIBS="-lmysqlclient -lssl -lcrypto -pthread -lm -lz" --disable-64bit --enable-static ${COMMON} + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi +elif [[ "${CMD}" == "static64" ]]; then + ./configure --enable-static ${COMMON} CPPFLAGS="${VARS}" + if [ "$?" != 0 ]; then + exit 1 + fi + ${MAKE} -j${CORES} + if [ "$?" != 0 ]; then + exit 1 + fi +fi +echo "OK" |