summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2018-08-21 16:01:09 -0400
committerHenrik Edin <henrik.edin@mongodb.com>2018-09-20 11:13:32 -0400
commitd0bf695939de0ec62dd95649cc9c992216b85ab9 (patch)
treee4c3919d802f6f6d930ecf51d840561ab1afad74
parentdc4fd67df2cbfdd4977007463cce8bbb25ffdd4d (diff)
downloadmongo-d0bf695939de0ec62dd95649cc9c992216b85ab9.tar.gz
SERVER-36703 Possibility to link mongoc as darwin framework.
Changed the Embedded SDK builders to build and use mongoc as darwin framework where possible.
-rw-r--r--SConstruct50
-rw-r--r--etc/evergreen.yml120
-rw-r--r--src/mongo/embedded/SConscript19
-rw-r--r--src/mongo/embedded/functions_for_test.cpp1
-rw-r--r--src/mongo/embedded/functions_for_test.h5
-rw-r--r--src/mongo/embedded/mongo_embedded_mongoc_client_test.cpp2
-rw-r--r--src/mongo/embedded/mongoc_client.h5
-rw-r--r--src/third_party/scons-2.5.0/scons-local-2.5.0/SCons/Tool/applelink.py2
8 files changed, 103 insertions, 101 deletions
diff --git a/SConstruct b/SConstruct
index bc0da2a39ec..62ab953f16e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -689,6 +689,14 @@ env_vars.Add('CXXFLAGS',
env_vars.Add('ENV',
help='Sets the environment for subprocesses')
+env_vars.Add('FRAMEWORKPATH',
+ help='Adds paths to the linker search path for darwin frameworks',
+ converter=variable_shlex_converter)
+
+env_vars.Add('FRAMEWORKS',
+ help='Adds extra darwin frameworks to link against',
+ converter=variable_shlex_converter)
+
env_vars.Add('HOST_ARCH',
help='Sets the native architecture of the compiler',
converter=variable_arch_converter,
@@ -3363,33 +3371,58 @@ def doConfigure(myenv):
def CheckMongoCMinVersion(context):
compile_test_body = textwrap.dedent("""
- #include <mongoc.h>
+ #include <mongoc/mongoc.h>
- #if !MONGOC_CHECK_VERSION(1,10,0)
+ #if !MONGOC_CHECK_VERSION(1,13,0)
#error
#endif
""")
- context.Message("Checking if mongoc version is 1.10.0 or newer...")
+ context.Message("Checking if mongoc version is 1.13.0 or newer...")
result = context.TryCompile(compile_test_body, ".cpp")
context.Result(result)
return result
conf.AddTest('CheckMongoCMinVersion', CheckMongoCMinVersion)
+
+ if env.TargetOSIs('darwin'):
+ def CheckMongoCFramework(context):
+ context.Message("Checking for mongoc_get_major_version() in darwin framework mongoc...")
+ test_body = """
+ #include <mongoc/mongoc.h>
+
+ int main() {
+ mongoc_get_major_version();
+
+ return EXIT_SUCCESS;
+ }
+ """
+
+ lastFRAMEWORKS = context.env['FRAMEWORKS']
+ context.env.Append(FRAMEWORKS=['mongoc'])
+ result = context.TryLink(textwrap.dedent(test_body), ".c")
+ context.Result(result)
+ context.env['FRAMEWORKS'] = lastFRAMEWORKS
+ return result
+
+ conf.AddTest('CheckMongoCFramework', CheckMongoCFramework)
mongoc_mode = get_option('use-system-mongo-c')
conf.env['MONGO_HAVE_LIBMONGOC'] = False
if mongoc_mode != 'off':
- conf.env['MONGO_HAVE_LIBMONGOC'] = conf.CheckLibWithHeader(
+ if conf.CheckLibWithHeader(
["mongoc-1.0"],
- ["mongoc.h"],
+ ["mongoc/mongoc.h"],
"C",
"mongoc_get_major_version();",
- autoadd=False )
+ autoadd=False ):
+ conf.env['MONGO_HAVE_LIBMONGOC'] = "library"
+ if not conf.env['MONGO_HAVE_LIBMONGOC'] and env.TargetOSIs('darwin') and conf.CheckMongoCFramework():
+ conf.env['MONGO_HAVE_LIBMONGOC'] = "framework"
if not conf.env['MONGO_HAVE_LIBMONGOC'] and mongoc_mode == 'on':
myenv.ConfError("Failed to find the required C driver headers")
if conf.env['MONGO_HAVE_LIBMONGOC'] and not conf.CheckMongoCMinVersion():
- myenv.ConfError("Version of mongoc is too old. Version 1.10+ required")
+ myenv.ConfError("Version of mongoc is too old. Version 1.13+ required")
# ask each module to configure itself and the build environment.
moduleconfig.configure_modules(mongo_modules, conf)
@@ -3479,7 +3512,8 @@ if get_option('install-mode') == 'hygienic':
elif env['PLATFORM'] == 'darwin':
env.AppendUnique(
LINKFLAGS=[
- '-Wl,-rpath,@loader_path/../lib'
+ '-Wl,-rpath,@loader_path/../lib',
+ '-Wl,-rpath,@loader_path/../Frameworks'
],
SHLINKFLAGS=[
"-Wl,-install_name,@rpath/${TARGET.file}",
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 101b26d5d4a..7fdcafd8ce3 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -3617,12 +3617,9 @@ tasks:
VERSION=${version}
WORKDIR=${workdir}
- CDRIVER_VERSION=1.12.0
- rm -rf mongo-c-driver-$CDRIVER_VERSION
rm -rf mongo-c-driver
- curl -LO https://github.com/mongodb/mongo-c-driver/releases/download/$CDRIVER_VERSION/mongo-c-driver-$CDRIVER_VERSION.tar.gz
- tar xzf mongo-c-driver-$CDRIVER_VERSION.tar.gz
- mv mongo-c-driver-$CDRIVER_VERSION mongo-c-driver
+
+ git clone --branch r1.13 --depth 1 https://github.com/mongodb/mongo-c-driver.git
cd mongo-c-driver
trap "cat CMakeFiles/CMakeOutput.log" EXIT
@@ -3721,6 +3718,7 @@ tasks:
if [ ${enable_embedded_tests|false} = "ios_tvos_simulator" -a $(command -v xcrun) ]; then
find ./lib -type f -name "*.dylib" -print0 | xargs -0 -L 1 xcrun codesign -s -
+ find ./Frameworks -type f -name "*" '!' -name "*.*" -print0 | xargs -0 -L 1 xcrun codesign -s -
fi
- command: shell.exec
@@ -10268,21 +10266,17 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_macosx.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
-DCMAKE_SYSTEM_PROCESSOR=x86_64
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk macosx --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch x86_64 -isysroot $(xcrun --sdk macosx --show-sdk-path) -mmacosx-version-min=10.10 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -isysroot $(xcrun --sdk macosx --show-sdk-path) -mmacosx-version-min=10.10 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_C_FLAGS="-arch x86_64 -mmacosx-version-min=10.10 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -mmacosx-version-min=10.10 -flto"
disable_unit_tests: true
enable_embedded_tests: native
dump_scons_config_on_failure: true
@@ -10301,20 +10295,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_ios.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk iphoneos --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch arm64 -fembed-bitcode -isysroot $(xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=10.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch arm64 -fembed-bitcode -isysroot $(xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=10.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk iphoneos --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch arm64 -fembed-bitcode -miphoneos-version-min=10.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch arm64 -fembed-bitcode -miphoneos-version-min=10.2 -flto"
disable_unit_tests: true
dump_scons_config_on_failure: true
tasks:
@@ -10332,20 +10322,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_ios_sim.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk iphonesimulator --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch x86_64 -fembed-bitcode -isysroot $(xcrun --sdk iphonesimulator --show-sdk-path) -miphoneos-version-min=10.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -fembed-bitcode -isysroot $(xcrun --sdk iphonesimulator --show-sdk-path) -miphoneos-version-min=10.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk iphonesimulator --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch x86_64 -fembed-bitcode -miphoneos-version-min=10.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -fembed-bitcode -miphoneos-version-min=10.2 -flto"
disable_unit_tests: true
enable_embedded_tests: ios_tvos_simulator
ios_sim_device: iPhone-7
@@ -10366,20 +10352,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_tvos.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk appletvos --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch arm64 -fembed-bitcode -isysroot $(xcrun --sdk appletvos --show-sdk-path) -mtvos-version-min=10.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch arm64 -fembed-bitcode -isysroot $(xcrun --sdk appletvos --show-sdk-path) -mtvos-version-min=10.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk appletvos --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch arm64 -fembed-bitcode -mtvos-version-min=10.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch arm64 -fembed-bitcode -mtvos-version-min=10.2 -flto"
disable_unit_tests: true
dump_scons_config_on_failure: true
tasks:
@@ -10397,20 +10379,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_tvos_sim.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk appletvsimulator --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch x86_64 -fembed-bitcode -isysroot $(xcrun --sdk appletvsimulator --show-sdk-path) -mtvos-version-min=10.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -fembed-bitcode -isysroot $(xcrun --sdk appletvsimulator --show-sdk-path) -mtvos-version-min=10.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk appletvsimulator --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch x86_64 -fembed-bitcode -mtvos-version-min=10.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch x86_64 -fembed-bitcode -mtvos-version-min=10.2 -flto"
disable_unit_tests: true
enable_embedded_tests: ios_tvos_simulator
ios_sim_device: Apple-TV-1080p
@@ -10431,20 +10409,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_watchos.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk watchos --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch armv7k -fembed-bitcode -isysroot $(xcrun --sdk watchos --show-sdk-path) -mwatchos-version-min=4.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch armv7k -fembed-bitcode -isysroot $(xcrun --sdk watchos --show-sdk-path) -mwatchos-version-min=4.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk watchos --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch armv7k -fembed-bitcode -mwatchos-version-min=4.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch armv7k -fembed-bitcode -mwatchos-version-min=4.2 -flto"
disable_unit_tests: true
dump_scons_config_on_failure: true
tasks:
@@ -10462,20 +10436,16 @@ buildvariants:
compile_flags: >-
-j$(sysctl -n hw.logicalcpu)
--variables-files=etc/scons/xcode_watchos_sim.vars
- LIBPATH="\$BUILD_ROOT/mongo-embedded-sdk-\$MONGO_VERSION/lib"
+ FRAMEWORKPATH='$BUILD_ROOT/mongo-embedded-sdk-$MONGO_VERSION/Frameworks'
--lto
cdriver_cmake_flags: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DTHREADS_PTHREAD_ARG=2
- -DCMAKE_SYSTEM_NAME=Darwin
- -DCMAKE_FIND_ROOT_PATH="$(xcrun --sdk watchsimulator --show-sdk-path);$WORKDIR/src/build/mongo-embedded-sdk-$VERSION-tmp"
- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY
- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
- -DCMAKE_C_FLAGS="-arch i386 -fembed-bitcode -isysroot $(xcrun --sdk watchsimulator --show-sdk-path) -mwatchos-version-min=4.2 -flto"
- -DCMAKE_SHARED_LINKER_FLAGS="-arch i386 -fembed-bitcode -isysroot $(xcrun --sdk watchsimulator --show-sdk-path) -mwatchos-version-min=4.2 -flto"
- -DCMAKE_INSTALL_NAME_DIR=@rpath
+ -DCMAKE_OSX_SYSROOT="$(xcrun --sdk watchsimulator --show-sdk-path)"
+ -DENABLE_APPLE_FRAMEWORK=ON
+ -DCMAKE_INSTALL_BINDIR=Frameworks
+ -DCMAKE_C_FLAGS="-arch i386 -fembed-bitcode -mwatchos-version-min=4.2 -flto"
+ -DCMAKE_SHARED_LINKER_FLAGS="-arch i386 -fembed-bitcode -mwatchos-version-min=4.2 -flto"
disable_unit_tests: true
enable_embedded_tests: ios_tvos_simulator
ios_sim_device: Apple-Watch-Series-3-42mm
diff --git a/src/mongo/embedded/SConscript b/src/mongo/embedded/SConscript
index 93265a976cd..45f8e5e7827 100644
--- a/src/mongo/embedded/SConscript
+++ b/src/mongo/embedded/SConscript
@@ -204,7 +204,16 @@ if get_option('link-model') != 'dynamic-sdk':
if not env['MONGO_HAVE_LIBMONGOC']:
Return()
-mongocClientEnv = env.Clone()
+def create_mongoc_env(env):
+ mongocEnv = env.Clone()
+ if mongocEnv['MONGO_HAVE_LIBMONGOC'] == "framework":
+ mongocEnv.AppendUnique(FRAMEWORKS=['bson', 'mongoc'])
+ else:
+ mongocEnv.AppendUnique(LIBS=['bson-1.0', 'mongoc-1.0'])
+ return mongocEnv
+
+mongocClientEnv = create_mongoc_env(env)
+
mongocClientEnv.AppendUnique(
CPPDEFINES=[
'MONGO_EMBEDDED_MONGOC_CLIENT_COMPILING',
@@ -231,11 +240,6 @@ mongocClientEnv.Library(
# No LIBDEPS or LIBDEPS_PRIVATE to mongo libraries are allowed in this library. They would get duplicated in mongo_embedded_capi.
'mongo_embedded_capi',
],
- SYSLIBDEPS=[
- # No other SYSLIBDEPS than mongoc and bson are allowed in this library.
- 'mongoc-1.0',
- 'bson-1.0',
- ],
INSTALL_ALIAS=[
'embedded-dev',
],
@@ -251,7 +255,8 @@ if get_option('install-mode') == 'hygienic':
)
if get_option('link-model') != 'dynamic-sdk':
- clientTest = yamlEnv.Program(
+ mongocClientTestEnv = create_mongoc_env(yamlEnv)
+ clientTest = mongocClientTestEnv.Program(
target='mongo_embedded_mongoc_client_test',
source=[
'mongo_embedded_mongoc_client_test.cpp',
diff --git a/src/mongo/embedded/functions_for_test.cpp b/src/mongo/embedded/functions_for_test.cpp
index d0e5d78cc0c..a523e5bf51b 100644
--- a/src/mongo/embedded/functions_for_test.cpp
+++ b/src/mongo/embedded/functions_for_test.cpp
@@ -30,7 +30,6 @@
#include "mongo/embedded/functions_for_test.h"
-#include <mongoc.h>
#include <stdio.h>
#include "mongo/embedded/mongoc_client.h"
diff --git a/src/mongo/embedded/functions_for_test.h b/src/mongo/embedded/functions_for_test.h
index 529ecfacc46..b975ca4558a 100644
--- a/src/mongo/embedded/functions_for_test.h
+++ b/src/mongo/embedded/functions_for_test.h
@@ -28,10 +28,7 @@
#pragma once
-// <inttypes.h> is needed to avoid macro redefinition error when compiling on Windows.
-// Should be fixed inside mongoc.h
-#include <inttypes.h>
-#include <mongoc.h>
+#include <mongoc/mongoc.h>
namespace mongo {
diff --git a/src/mongo/embedded/mongo_embedded_mongoc_client_test.cpp b/src/mongo/embedded/mongo_embedded_mongoc_client_test.cpp
index 6074629476b..0a94890b1d6 100644
--- a/src/mongo/embedded/mongo_embedded_mongoc_client_test.cpp
+++ b/src/mongo/embedded/mongo_embedded_mongoc_client_test.cpp
@@ -30,7 +30,7 @@
#include "mongo/embedded/mongoc_client.h"
-#include <mongoc.h>
+#include <mongoc/mongoc.h>
#include <set>
#include <yaml-cpp/yaml.h>
diff --git a/src/mongo/embedded/mongoc_client.h b/src/mongo/embedded/mongoc_client.h
index 2db787b10c1..ca21c1f1fe0 100644
--- a/src/mongo/embedded/mongoc_client.h
+++ b/src/mongo/embedded/mongoc_client.h
@@ -28,11 +28,8 @@
#ifndef HEADERUUID_8CAAB40D_AC65_46CF_9FA9_B48825C825DC_DEFINED
#define HEADERUUID_8CAAB40D_AC65_46CF_9FA9_B48825C825DC_DEFINED
-// <inttypes.h> is needed to avoid macro redefinition error when compiling on Windows.
-// Should be fixed inside mongoc.h
-#include <inttypes.h>
#include <mongo/embedded/capi.h>
-#include <mongoc.h>
+#include <mongoc/mongoc.h>
#pragma push_macro("MONGO_API_CALL")
#undef MONGO_API_CALL
diff --git a/src/third_party/scons-2.5.0/scons-local-2.5.0/SCons/Tool/applelink.py b/src/third_party/scons-2.5.0/scons-local-2.5.0/SCons/Tool/applelink.py
index 4e7a679d2f7..5760ac81945 100644
--- a/src/third_party/scons-2.5.0/scons-local-2.5.0/SCons/Tool/applelink.py
+++ b/src/third_party/scons-2.5.0/scons-local-2.5.0/SCons/Tool/applelink.py
@@ -45,7 +45,7 @@ def generate(env):
link.generate(env)
env['FRAMEWORKPATHPREFIX'] = '-F'
- env['_FRAMEWORKPATH'] = '${_concat(FRAMEWORKPATHPREFIX, FRAMEWORKPATH, "", __env__)}'
+ env['_FRAMEWORKPATH'] = '${_concat(FRAMEWORKPATHPREFIX, FRAMEWORKPATH, "", __env__, RDirs)}'
env['_FRAMEWORKS'] = '${_concat("-framework ", FRAMEWORKS, "", __env__)}'
env['LINKCOM'] = env['LINKCOM'] + ' $_FRAMEWORKPATH $_FRAMEWORKS $FRAMEWORKSFLAGS'
env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -dynamiclib')