summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-05 18:31:20 +0300
committerAndrei Karas <akaras@inbox.ru>2016-06-23 19:41:41 +0300
commitc92c7fedd5d7cd13826513adf27117bcc9234b1e (patch)
tree4e62a755868965f3b71ce7cd11f6e58bfc8bed4b /build.sh
parent0a0e4d9385c796b4e4b799ce503d578217757b1f (diff)
downloadhercules-c92c7fedd5d7cd13826513adf27117bcc9234b1e.tar.gz
hercules-c92c7fedd5d7cd13826513adf27117bcc9234b1e.tar.bz2
hercules-c92c7fedd5d7cd13826513adf27117bcc9234b1e.tar.xz
hercules-c92c7fedd5d7cd13826513adf27117bcc9234b1e.zip
Add build script.
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh58
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 $?