From 486efd8f13fcfc433821451f13844c8071aa5b62 Mon Sep 17 00:00:00 2001 From: Andrew Morrow Date: Mon, 14 Oct 2013 00:43:24 -0400 Subject: SERVER-11169 Always link boost symbols into dll on windows --- src/SConscript.client | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') 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"]) -- cgit v1.2.1