summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Morrow <acm@10gen.com>2013-10-14 00:43:24 -0400
committerAndrew Morrow <acm@10gen.com>2013-10-14 12:03:29 -0400
commit486efd8f13fcfc433821451f13844c8071aa5b62 (patch)
tree16be5d9aef69f0c5a08699edb0bde55a891e86df /src
parenta428f58a6fd4f9497b60b10fa749e5cf2eec7b7c (diff)
downloadmongo-486efd8f13fcfc433821451f13844c8071aa5b62.tar.gz
SERVER-11169 Always link boost symbols into dll on windows
Diffstat (limited to 'src')
-rw-r--r--src/SConscript.client10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/SConscript.client b/src/SConscript.client
index 79e765d80a4..68bab4da92c 100644
--- a/src/SConscript.client
+++ b/src/SConscript.client
@@ -221,9 +221,13 @@ if buildShared:
sharedLibEnv = env.Clone()
sharedLibEnv.AppendUnique(LIBS=mongoClientSysLibDeps)
- # Attach the shim only if we are using the external libraries so that we pick up what
- # configure found for us.
- if use_system_version_of_library("boost"):
+ # On windows, we always want to attach the shim, since independently of whether we are
+ # using the system or the vendored boost, the DLL must have complete symbols. For unix like
+ # systems, attach the shim only if we are using the external libraries so that we pick up
+ # what configure found for us. Otherwise, produce a dynamic object in which the boost
+ # symbols are undefined, ensuring that we pass any necessary OS flags to produce such a
+ # library.
+ if windows or use_system_version_of_library("boost"):
sharedLibEnv.AppendUnique(LIBDEPS=mongoClientLibDeps)
if linux:
sharedLibEnv.AppendUnique(SHLINKFLAGS=["-Wl,--as-needed", "-Wl,-zdefs"])