121 lines
3.4 KiB
Plaintext
Executable File
121 lines
3.4 KiB
Plaintext
Executable File
set -x
|
|
|
|
mkdir -p sdk/include
|
|
|
|
mkdir mongo
|
|
pushd mongo
|
|
|
|
#wget https://github.com/mongodb/mongo-c-driver/releases/download/1.4.0/mongo-c-driver-1.4.0.tar.gz
|
|
#wget --content-disposition https://codeload.github.com/mongodb/mongo-cxx-driver/tar.gz/r3.0.2
|
|
|
|
#wget https://github.com/mongodb/mongo-c-driver/archive/refs/tags/debian/1.23.1-1.tar.gz
|
|
#mv 1.23.1-1.tar.gz mongo-c-1.23.1-1.tar.gz
|
|
|
|
|
|
|
|
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.23.4/mongo-c-driver-1.23.4.tar.gz
|
|
wget https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.7.1/mongo-cxx-driver-r3.7.1.tar.gz
|
|
|
|
tar xf mongo-c-*.tar.gz
|
|
tar xf mongo-cxx-*.tar.gz
|
|
|
|
ln -s mongo-c-*/ mongo-c
|
|
ln -s mongo-cxx-*/ mongo-cxx
|
|
|
|
pushd mongo-c
|
|
currentpath=`pwd`
|
|
mongo_c_prefix=$currentpath/install
|
|
|
|
# CFLAGS=-fPIC ./configure --prefix=$mongo_c_prefix --enable-static --enable-sasl=no --enable-ssl=no --enable-shared=no
|
|
# ./configure --prefix=$mongo_c_prefix --enable-static --enable-sasl=no --enable-ssl=no --enable-shared=no --with-pic
|
|
# make install
|
|
|
|
cmake \
|
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
|
-DCMAKE_CXX_STANDARD=17 \
|
|
-DCMAKE_INSTALL_PREFIX=$mongo_c_prefix \
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DTHREADS_PREFER_PTHREAD_FLAG=ON \
|
|
-DENABLE_TESTS=OFF -DENABLE_EXAMPLES=OFF \
|
|
-DENABLE_SASL=OFF \
|
|
-DENABLE_SSL=OPENSSL \
|
|
-DOPENSSL_ROOT_DIR=`pwd`/../../openssl/openssl/install-native/ \
|
|
-DENABLE_SHARED=OFF \
|
|
-DENABLE_SNAPPY=OFF \
|
|
-DENABLE_ZSTD=OFF \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
# --debug-output
|
|
|
|
make -i install
|
|
popd
|
|
|
|
pushd mongo-cxx
|
|
currentpath=`pwd`
|
|
mongo_cxx_prefix=$currentpath/install
|
|
|
|
echo "
|
|
// TJP fixes build on ubuntu noble
|
|
#include <cstdint>
|
|
" >> src/mongocxx/config/config.hpp.in
|
|
|
|
PKG_CONFIG_PATH=$mongo_c_prefix/lib/pkgconfig \
|
|
CMAKE_PREFIX_PATH=$mongo_c_prefix \
|
|
cmake \
|
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
|
|
-DCMAKE_CXX_STANDARD=17 \
|
|
-DBUILD_SHARED_LIBS=OFF -DBUILD_SHARED_AND_STATIC_LIBS=OFF -DBSONCXX_BUILD_STATIC=ON -DMONGOCXX_BUILD_STATIC=ON \
|
|
-DBSONCXX_LINK_WITH_STATIC_MONGOC=ON -DMONGOCXX_LINK_WITH_STATIC_MONGOC=ON \
|
|
-DENABLE_TESTS=OFF \
|
|
-DCMAKE_INSTALL_PREFIX=$mongo_cxx_prefix \
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DTHREADS_PREFER_PTHREAD_FLAG=ON \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
# --debug-output
|
|
# \
|
|
# -DBSONCXX_POLY_USE_STD=ON \
|
|
# -DBSONCXX_POLY_USE_MNMLSTC=OFF
|
|
|
|
|
|
make -i install
|
|
|
|
# -DLIBBSON_DIR=$mongo_c_prefix -DLIBMONGOC_DIR=$mongo_c_prefix \
|
|
popd
|
|
|
|
|
|
popd
|
|
|
|
mkdir -p sdk/include
|
|
pushd sdk/include
|
|
ln -fs ../../mongo/mongo-c/install/include/libmongoc-*/ mongoc
|
|
ln -fs ../../mongo/mongo-c/install/include/libbson-*/ libbson
|
|
ln -fs ../../mongo/mongo-cxx/install/include/mongocxx/v_noabi/mongocxx
|
|
ln -fs ../../mongo/mongo-cxx/install/include/bsoncxx/v_noabi/bsoncxx
|
|
popd
|
|
|
|
unameOut="$(uname -s)"
|
|
case "${unameOut}" in
|
|
Linux*) machine=lnx;;
|
|
Darwin*) machine=osx;;
|
|
CYGWIN*) machine=Cygwin;;
|
|
MINGW*) machine=MinGw;;
|
|
*) machine="UNKNOWN:${unameOut}"
|
|
esac
|
|
echo ${machine}
|
|
|
|
|
|
UNAME_S=`uname -s`
|
|
UNAME_M=`uname -m`
|
|
EXT=${UNAME_S}-${UNAME_M}
|
|
|
|
for X in Debug Release
|
|
do
|
|
mkdir -p sdk/lib/$X.$EXT
|
|
pushd sdk/lib/$X.$EXT
|
|
ln -fs ../../../mongo/mongo-c/install/lib*/libbson-*.a libbson.a
|
|
ln -fs ../../../mongo/mongo-c/install/lib*/libmongoc-*.a libmongoc.a
|
|
ln -fs ../../../mongo/mongo-cxx/install/lib*/libbsoncxx*.a libbsoncxx.a
|
|
ln -fs ../../../mongo/mongo-cxx/install/lib*/libmongocxx*.a libmongocxx.a
|
|
popd
|
|
done
|