add libraries and make configure script more robust

[skip ci]
This commit is contained in:
Konstantin Käfer
2014-10-21 15:45:27 +02:00
parent e98b3e5d86
commit dddd1c275c
3 changed files with 51 additions and 37 deletions

View File

@@ -25,6 +25,7 @@ env:
before_install:
- source ./scripts/flags.sh
- (git clone https://github.com/mapbox/mason.git ~/.mason ; sudo ln -s ~/.mason/mason /usr/local/bin/mason)
- ./scripts/travis_before_install.sh
install:

80
configure vendored
View File

@@ -5,6 +5,11 @@ set -o pipefail
CONFIG_FILE=${1:-config.gypi}
function finish {
>&2 echo -en "\033[0m";
}
trap finish EXIT
# Install node
if [[ ! -d ~/.nvm ]]; then
git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm
@@ -12,9 +17,13 @@ fi
set +u
. ~/.nvm/nvm.sh
if [ ! `nvm use 0.10 > /dev/null; echo $?` = 0 ]; then
>&2 echo -e "\033[1m\033[32m* $(nvm install 0.10)\033[0m";
>&2 echo -en "\033[1m\033[32m* "
nvm install 0.10
>&2 echo -en "\033[0m";
else
>&2 echo -e "\033[1m\033[32m* $(nvm use 0.10)\033[0m";
>&2 echo -en "\033[1m\033[32m* "
nvm use 0.10
>&2 echo -en "\033[0m";
fi
@@ -24,6 +33,7 @@ case $MASON_PLATFORM in
LIBPNG_VERSION=1.6.13
LIBUV_VERSION=0.10.28
ZLIB_VERSION=system
BOOST_VERSION=system
;;
*)
GLFW_VERSION=a21f2377
@@ -32,30 +42,26 @@ case $MASON_PLATFORM in
LIBCURL_VERSION=system
LIBUV_VERSION=0.10.28
ZLIB_VERSION=system
BOOST_VERSION=system
;;
esac
if [ -z "${BOOST_ROOT}" ]; then
if [ -d '/usr/local/include/boost' ]; then
BOOST_ROOT='/usr/local'
elif [ -d '/usr/include/boost' ]; then
BOOST_ROOT='/usr'
else
>&2 echo -e "\033[1m\033[31mCannot find Boost\033[0m";
exit 1
fi
fi
function abort { >&2 echo -e "\033[1m\033[31m$1\033[0m"; exit 1; }
if [ ! -d "${BOOST_ROOT}/include/boost" ]; then
>&2 echo -e "\033[1m\033[31mCannot find Boost at ${BOOST_ROOT}\033[0m";
exit 1
else
>&2 echo -e "\033[1m\033[32m* Using Boost installation at ${BOOST_ROOT}\033[0m";
fi
NODE=`which node || abort 'Cannot find node'`
NPM=`which npm || abort 'Cannot find npm'`
PYTHON=`which python || abort 'Cannot find python'`
>&2 echo -en "\033[1m\033[32m* Using npm "
>&2 ${NPM} --version
>&2 echo -en "\033[0m";
>&2 echo -en "\033[1m\033[32m* Using "
>&2 ${PYTHON} --version
>&2 echo -en "\033[0m";
function quote_flags {
python -c "import sys, re; print re.split('(?<!-framework)\s+', ' '.join(sys.argv[1:]))" "$@"
${PYTHON} -c "import sys, re; print re.split('(?<!-framework)\s+', ' '.join(sys.argv[1:]))" "$@"
}
LN=$'\n'
@@ -70,46 +76,50 @@ CONFIG="# Do not edit. Generated by the configure script.
'libraries': []
},
'variables': {
'node': '$(which node)',
'npm': '$(which npm)',
'python': '$(which python)',
'boost_root': '${BOOST_ROOT}',
'node': '${NODE}',
'npm': '${NPM}',
'python': '${PYTHON}',
"
if [ ! -z ${LIBCURL_VERSION} ]; then
mason install boost ${BOOST_VERSION}
CONFIG+=" 'boost_root': '$(mason prefix boost ${BOOST_VERSION})',"$LN
fi
if [ ! -z ${LIBCURL_VERSION} ]; then
mason install libcurl ${LIBCURL_VERSION}
CONFIG+=$" 'curl_cflags': $(quote_flags $(mason cflags libcurl ${LIBCURL_VERSION})),"$LN
CONFIG+=$" 'curl_libraries': $(quote_flags $(mason ldflags libcurl ${LIBCURL_VERSION})),"$LN
CONFIG+=" 'curl_cflags': $(quote_flags $(mason cflags libcurl ${LIBCURL_VERSION})),"$LN
CONFIG+=" 'curl_libraries': $(quote_flags $(mason ldflags libcurl ${LIBCURL_VERSION})),"$LN
fi
if [ ! -z ${GLFW_VERSION} ]; then
mason install glfw ${GLFW_VERSION}
CONFIG+=$" 'glfw3_cflags': $(quote_flags $(mason cflags glfw ${GLFW_VERSION})),"$LN
CONFIG+=$" 'glfw3_libraries': $(quote_flags $(mason ldflags glfw ${GLFW_VERSION})),"$LN
CONFIG+=" 'glfw3_cflags': $(quote_flags $(mason cflags glfw ${GLFW_VERSION})),"$LN
CONFIG+=" 'glfw3_libraries': $(quote_flags $(mason ldflags glfw ${GLFW_VERSION})),"$LN
fi
if [ ! -z ${LIBPNG_VERSION} ]; then
mason install libpng ${LIBPNG_VERSION}
CONFIG+=$" 'png_cflags': $(quote_flags $(mason cflags libpng ${LIBPNG_VERSION})),"$LN
CONFIG+=$" 'png_libraries': $(quote_flags $(mason ldflags libpng ${LIBPNG_VERSION})),"$LN
CONFIG+=" 'png_cflags': $(quote_flags $(mason cflags libpng ${LIBPNG_VERSION})),"$LN
CONFIG+=" 'png_libraries': $(quote_flags $(mason ldflags libpng ${LIBPNG_VERSION})),"$LN
fi
if [ ! -z ${SQLITE_VERSION} ]; then
mason install sqlite ${SQLITE_VERSION}
CONFIG+=$" 'sqlite3_cflags': $(quote_flags $(mason cflags sqlite ${SQLITE_VERSION})),"$LN
CONFIG+=$" 'sqlite3_libraries': $(quote_flags $(mason ldflags sqlite ${SQLITE_VERSION})),"$LN
CONFIG+=" 'sqlite3_cflags': $(quote_flags $(mason cflags sqlite ${SQLITE_VERSION})),"$LN
CONFIG+=" 'sqlite3_libraries': $(quote_flags $(mason ldflags sqlite ${SQLITE_VERSION})),"$LN
fi
if [ ! -z ${LIBUV_VERSION} ]; then
mason install libuv ${LIBUV_VERSION}
CONFIG+=$" 'uv_cflags': $(quote_flags $(mason cflags libuv ${LIBUV_VERSION})),"$LN
CONFIG+=$" 'uv_libraries': $(quote_flags $(mason ldflags libuv ${LIBUV_VERSION})),"$LN
CONFIG+=" 'uv_cflags': $(quote_flags $(mason cflags libuv ${LIBUV_VERSION})),"$LN
CONFIG+=" 'uv_libraries': $(quote_flags $(mason ldflags libuv ${LIBUV_VERSION})),"$LN
fi
if [ ! -z ${ZLIB_VERSION} ]; then
mason install zlib ${ZLIB_VERSION}
CONFIG+=$" 'zlib_cflags': $(quote_flags $(mason cflags zlib ${ZLIB_VERSION})),"$LN
CONFIG+=$" 'zlib_libraries': $(quote_flags $(mason ldflags zlib ${ZLIB_VERSION})),"$LN
CONFIG+=" 'zlib_cflags': $(quote_flags $(mason cflags zlib ${ZLIB_VERSION})),"$LN
CONFIG+=" 'zlib_libraries': $(quote_flags $(mason ldflags zlib ${ZLIB_VERSION})),"$LN
fi
CONFIG+=" }

View File

@@ -13,10 +13,13 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then
sudo apt-get update -y
sudo apt-get -y install gcc-4.8 g++-4.8
sudo apt-get -y install git build-essential zlib1g-dev automake \
libtool xutils-dev make cmake pkg-config python-pip
libtool xutils-dev make cmake pkg-config python-pip \
libboost-dev libboost-regex-dev libcurl4-openssl-dev \
libpng-dev libsqlite3-dev
sudo apt-get -y install libxi-dev libglu1-mesa-dev x11proto-randr-dev \
x11proto-xext-dev libxrandr-dev \
x11proto-xf86vidmode-dev libxxf86vm-dev libxcursor-dev
x11proto-xf86vidmode-dev libxxf86vm-dev \
libxcursor-dev libxinerama-dev
sudo pip install awscli
elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then
#