1
0
Fork 0
arangodb/Installation/build.sh

207 lines
5.2 KiB
Bash
Executable File

#!/bin/bash
echo "########################################################"
echo "# build.sh #"
echo "########################################################"
echo
OPTIONS="--disable-dependency-tracking --disable-relative"
PREFIX="--prefix=/usr --localstatedir=/var --sysconfdir=/etc"
RESULTS="arangod arangosh arangoimp"
USE_ICECC="no"
EXTRA_MAKE_OPTIONS=""
while [ 0 -lt "$#" ]; do
opt="$1"
shift
case "$opt" in
--enable-icecc)
USE_ICECC="yes"
;;
*)
echo "$0: unknown option '$opt'"
echo "usage: "
echo " $0 [option] build project"
echo "options:"
echo " --enable-icecc using icecc for compiling"
echo ""
exit 1
;;
esac
done
. config/detect_distro.sh
export CPPFLAGS=""
export LDFLAGS=""
export MAKEJ=2
export LDD_INFO="no"
HAS_ICECC=$(ps aux | grep -v "grep" | grep iceccd)
if [ "x$HAS_ICECC" != "x" -a "x$USE_ICECC" == "xyes" ] ; then
export PATH=/usr/lib/icecc/bin/:/opt/icecream/bin/:$PATH
export MAKEJ=14
echo "########################################################"
echo "Using ICECC"
echo " PATH=$PATH"
echo "########################################################"
fi
echo
echo "########################################################"
echo "Building on $TRI_OS_LONG"
echo "########################################################"
echo
case $TRI_OS_LONG in
Linux-ArchLinux*)
echo "Using configuration for Arch Linux"
OPTIONS="$OPTIONS --disable-mruby"
LDD_INFO="yes"
;;
Linux-CentOS-6*)
echo "Using configuration for Centos"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --disable-mruby"
LDD_INFO="yes"
;;
Linux-CentOS-5*)
echo "Using configuration for Centos"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --disable-mruby"
LDD_INFO="yes"
# bugfix for readline on CentOS 5:
export READLINE_LDFLAGS="-lncurses"
;;
Darwin*)
echo "Using configuration for DARWIN"
CPPFLAGS='-isystem /usr/include -isystem /opt/local/include -Wno-deprecated-declarations'
LDFLAGS='-L/usr/lib '
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --disable-mruby"
# we need 64 bits
TRI_MACH="x86_64"
X=$(uname -r)
OPTIONS="$OPTIONS --build=x86_64-apple-darwin${X}"
;;
Linux-Debian-6*)
echo "Using configuration for Debian"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --disable-mruby"
LDD_INFO="yes"
;;
Linux-Debian*)
echo "Using configuration for Debian"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --enable-all-in-one-icu --disable-mruby"
LDD_INFO="yes"
;;
Linux-Fedora*)
echo "Using configuration for Fedora"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --disable-all-in-one-icu --disable-mruby "
LDD_INFO="yes"
;;
Linux-LinuxMint-13*)
echo "Using configuration for LinuxMint 13"
OPTIONS="$OPTIONS --disable-mruby"
LDD_INFO="yes"
;;
Linux-openSUSE-12*)
echo "Using configuration for openSuSE 12.X"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --disable-all-in-one-icu --disable-mruby "
LDD_INFO="yes"
;;
Linux-openSUSE-11*)
echo "Using configuration for openSuSE 11.X"
OPTIONS="$OPTIONS --disable-mruby"
LDD_INFO="yes"
;;
Linux-Ubuntu-*)
echo "Using configuration for Ubuntu"
OPTIONS="$OPTIONS --enable-all-in-one-libev --enable-all-in-one-v8 --disable-mruby"
LDD_INFO="yes"
;;
*)
echo "Using default configuration"
OPTIONS="$OPTIONS --enable-error-on-warning"
;;
esac
#if [ ! -f configure ] ; then
echo "########################################################"
echo "create configure script:"
echo " make setup"
echo "########################################################"
echo
make setup || exit 1
#fi
echo
echo "########################################################"
echo "CPPFLAGS: $CPPFLAGS"
echo "LDFLAGS: $LDFLAGS"
echo "OPTIONS: $OPTIONS"
echo "########################################################"
echo
echo "########################################################"
echo "configure:"
echo " ./configure $PREFIX $OPTIONS"
echo "########################################################"
echo
./configure $PREFIX $OPTIONS || exit 1
# bugfix for readline on CentOS 5:
unset LIBS
echo
echo "########################################################"
echo "compile:"
echo " make -j $MAKEJ "
echo "########################################################"
echo
make -j $MAKEJ || exit 1
for result in $RESULTS; do
echo
echo "########################################################"
echo "$result"
echo "########################################################"
echo
ident "bin/$result"
if test "x$LDD_INFO" = "xyes"; then
echo
ldd "bin/$result"
echo
fi
done
echo
echo "########################################################"
echo "create man pages:"
echo " make man "
echo "########################################################"
echo
mkdir Doxygen/man > /dev/null 2>&1
mkdir Doxygen/man/man1 > /dev/null 2>&1
mkdir Doxygen/man/man8 > /dev/null 2>&1
make man