mirror of https://gitee.com/bigwinds/arangodb
150 lines
3.7 KiB
Bash
150 lines
3.7 KiB
Bash
#!/bin/bash
|
|
|
|
echo "########################################################"
|
|
echo "# build.sh #"
|
|
echo "########################################################"
|
|
|
|
. config/detect_distro.sh
|
|
|
|
OPTIONS="--disable-dependency-tracking --disable-relative --enable-gcov"
|
|
PREFIX="--prefix=/usr --sysconfdir=/etc"
|
|
RESULTS="arangod arangosh"
|
|
|
|
export CPPFLAGS=""
|
|
export LDFLAGS=""
|
|
export MAKEJ="-j 2"
|
|
export LDD_INFO="no"
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "Building on $TRI_OS_LONG"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
case $TRI_OS_LONG in
|
|
|
|
Linux-openSUSE-11.4*)
|
|
echo "Using configuration for openSuSE 11.4"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-openSUSE-11*)
|
|
echo "Using configuration for openSuSE 11"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
VALGRIND_TEST="yes"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-Debian-6*)
|
|
echo "Using configuration for Debian"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-Debian*)
|
|
echo "Using configuration for Debian"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-CentOS-*)
|
|
echo "Using configuration for Centos"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-Ubuntu-11.10*)
|
|
echo "Using configuration for Ubuntu"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Linux-Ubuntu-*)
|
|
echo "Using configuration for Ubuntu"
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
LDD_INFO="yes"
|
|
;;
|
|
|
|
Darwin*)
|
|
echo "Using configuration for DARWIN"
|
|
CPPFLAGS='-isystem /usr/include -isystem /opt/local/include -Wno-deprecated-declarations'
|
|
LDFLAGS='-L/usr/lib -L/opt/local/lib' # need to use OpenSSL from system
|
|
OPTIONS="$OPTIONS --enable-all-in-one"
|
|
;;
|
|
|
|
*)
|
|
echo "Using default configuration"
|
|
OPTIONS="$OPTIONS --enable-error-on-warning"
|
|
;;
|
|
|
|
esac
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "CPPFLAGS: $CPPFLAGS"
|
|
echo "LDFLAGS: $LDFLAGS"
|
|
echo "OPTIONS: $OPTIONS"
|
|
echo "########################################################"
|
|
echo
|
|
echo "########################################################"
|
|
echo "init system:"
|
|
echo " make setup"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
make setup || exit 1
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "configure:"
|
|
echo " ./configure $PREFIX $OPTIONS"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
./configure $PREFIX $OPTIONS || exit 1
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "compile:"
|
|
echo " make $MAKEJ"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
make $MAKEJ || exit 1
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "unittests:"
|
|
echo " make unittests"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
make unittests FORCE=1 || exit 1
|
|
|
|
echo
|
|
echo "########################################################"
|
|
echo "lcov:"
|
|
echo "########################################################"
|
|
echo
|
|
|
|
rm -rf COVERAGE
|
|
mkdir COVERAGE
|
|
mkdir COVERAGE/html
|
|
|
|
current=`pwd`
|
|
vprj_folder=`basename $current`
|
|
lcov_folder="${vprj_folder}/COVERAGE/html"
|
|
c_info_file="${vprj_folder}/COVERAGE/coverage.lcov"
|
|
r_info_file="${vprj_folder}/COVERAGE/reduced.lcov"
|
|
|
|
(
|
|
cd ..
|
|
lcov -b ${vprj_folder} -c -d ${vprj_folder} -o ${c_info_file}.1
|
|
lcov --remove ${c_info_file}.1 "*3rdParty*" -o ${c_info_file}.2
|
|
rm ${c_info_file}.1
|
|
lcov --remove ${c_info_file}.2 "*UnitTests*" -o ${c_info_file}
|
|
rm ${c_info_file}.2
|
|
lcov --extract ${c_info_file} "*${vprj_folder}*" -o ${r_info_file}
|
|
genhtml -o ${lcov_folder} ${r_info_file}
|
|
)
|