flatten 20260225
This commit is contained in:
120
resources/packages/mongo/prepare
Executable file
120
resources/packages/mongo/prepare
Executable file
@@ -0,0 +1,120 @@
|
||||
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
|
||||
Reference in New Issue
Block a user