mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-06 20:27:06 +08:00
822def9b2b
Solution: use packages on Ubuntu and brews on OSX. The packages and the brews are always kept up to date, so it's no use to rebuild the libsodium stable branch manually everytime.
43 lines
1.5 KiB
Bash
Executable File
43 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -x
|
|
|
|
mkdir tmp
|
|
BUILD_PREFIX=$PWD/tmp
|
|
|
|
CONFIG_OPTS=()
|
|
CONFIG_OPTS+=("CFLAGS=-I${BUILD_PREFIX}/include")
|
|
CONFIG_OPTS+=("CPPFLAGS=-I${BUILD_PREFIX}/include")
|
|
CONFIG_OPTS+=("CXXFLAGS=-I${BUILD_PREFIX}/include")
|
|
CONFIG_OPTS+=("LDFLAGS=-L${BUILD_PREFIX}/lib")
|
|
CONFIG_OPTS+=("PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig")
|
|
|
|
CMAKE_OPTS=()
|
|
CMAKE_OPTS+=("-DCMAKE_INSTALL_PREFIX:PATH=${BUILD_PREFIX}")
|
|
CMAKE_OPTS+=("-DCMAKE_PREFIX_PATH:PATH=${BUILD_PREFIX}")
|
|
CMAKE_OPTS+=("-DCMAKE_LIBRARY_PATH:PATH=${BUILD_PREFIX}/lib")
|
|
CMAKE_OPTS+=("-DCMAKE_INCLUDE_PATH:PATH=${BUILD_PREFIX}/include")
|
|
|
|
if [ -z $CURVE ]; then
|
|
CMAKE_OPTS+=("-DENABLE_CURVE=OFF")
|
|
elif [ $CURVE == "libsodium" ]; then
|
|
CMAKE_OPTS+=("-DWITH_LIBSODIUM=ON")
|
|
|
|
if command -v dpkg-query >/dev/null 2>&1; then
|
|
dpkg-query --list libsodium-dev >/dev/null 2>&1
|
|
HAVE_SODIUM=$?
|
|
elif command -v brew >/dev/null 2>&1; then
|
|
brew ls --versions libsodium >/dev/null 2>&1
|
|
HAVE_SODIUM=$?
|
|
else
|
|
HAVE_SODIUM=1
|
|
fi
|
|
if [ $HAVE_SODIUM -ne 0 ]; then
|
|
git clone --depth 1 -b stable git://github.com/jedisct1/libsodium.git
|
|
( cd libsodium; ./autogen.sh; ./configure --prefix=$BUILD_PREFIX; make check; make install)
|
|
fi
|
|
fi
|
|
|
|
# Build, check, and install from local source
|
|
( cd ../..; mkdir build_cmake && cd build_cmake && PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig cmake "${CMAKE_OPTS[@]}" .. && make all VERBOSE=1 && make install && make test ) || exit 1
|