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 " >> 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