diff options
author | Daniel Moody <daniel.moody@mongodb.com> | 2022-10-03 09:18:19 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-01-30 23:50:54 +0000 |
commit | fbea56b2b78c7961a95a8b3bfd2725bbac6cb5f6 (patch) | |
tree | 087baf6101cdb00e654ef0cdb0f72cdc441a42a7 /src/third_party/SConscript | |
parent | 2555a820ad0fb0e5216b8cc1575936355d7fdf77 (diff) | |
download | mongo-fbea56b2b78c7961a95a8b3bfd2725bbac6cb5f6.tar.gz |
SERVER-68365 integrate third_party grpc 1.39.1 into the build
Diffstat (limited to 'src/third_party/SConscript')
-rw-r--r-- | src/third_party/SConscript | 77 |
1 files changed, 68 insertions, 9 deletions
diff --git a/src/third_party/SConscript b/src/third_party/SConscript index af5a1740a15..923fb22c1b9 100644 --- a/src/third_party/SConscript +++ b/src/third_party/SConscript @@ -20,6 +20,12 @@ variantSuffix = '-1.4.0' thirdPartyEnvironmentModifications = { 'abseil-cpp': {'CPPPATH': ['#/src/third_party/abseil-cpp-master/abseil-cpp'], }, + 'cares': { + 'CPPPATH': [ + '#src/third_party/cares/dist/include', + '#src/third_party/cares/platform/${TARGET_OS}_${TARGET_ARCH}/install/include' + ], + }, 'fmt': {'CPPPATH': ['#src/third_party/fmt/dist/include'], }, 's2': {'CPPPATH': ['#src/third_party/s2'], }, 'safeint': { @@ -38,7 +44,7 @@ thirdPartyEnvironmentModifications = { "/include", ], 'FORCEINCLUDES': ['js-config.h', ], - } + }, } @@ -218,6 +224,22 @@ if not use_system_version_of_library('libmongocrypt'): ], } +if not use_system_version_of_library('protobuf'): + thirdPartyEnvironmentModifications['protobuf'] = { + 'CPPPATH': ['#src/third_party/protobuf/dist/src'], + } + +if not use_system_version_of_library('grpc'): + thirdPartyEnvironmentModifications['re2'] = { + 'CPPPATH': ['#src/third_party/re2/dist'], + } + thirdPartyEnvironmentModifications['cares'] = { + 'CPPPATH': [ + '#src/third_party/cares/dist/include', + '#src/third_party/cares/platform/${TARGET_OS}_${TARGET_ARCH}/install/include' + ], + } + if use_system_libunwind: thirdPartyEnvironmentModifications['unwind'] = { 'SYSLIBDEPS_PRIVATE': [env['LIBDEPS_UNWIND_SYSLIBDEP'], env['LIBDEPS_LZMA_SYSLIBDEP']], @@ -257,10 +279,8 @@ empty_source = env.Textfile( ) env.Alias('generated-sources', empty_source) -empty_object = env.LibraryObject( - target='third_party_shim', - source=empty_source, -) +empty_object = env.LibraryObject(target='third_party_shim', source=empty_source, + NINJA_GENSOURCE_INDEPENDENT=True) def shim_library(env, name, **kwargs): @@ -329,7 +349,7 @@ if use_libunwind: 'unwind/unwind', ]) - unwindEnv.ShimLibrary(name="unwind", ) + unwindEnv.ShimLibrary(name="unwind", NINJA_GENSOURCE_INDEPENDENT=True) fmtEnv = env.Clone() if use_system_version_of_library("fmt"): @@ -395,9 +415,11 @@ abseilEnv = env.Clone() abseilEnv.InjectThirdParty(libraries=['abseil-cpp']) abseilEnv.SConscript(abseilDirectory + '/SConscript', exports={'env': abseilEnv}) abseilEnv = abseilEnv.Clone(LIBDEPS_INTERFACE=[ - abseilDirectory + '/absl_container', + abseilDirectory + '/absl_city', abseilDirectory + '/absl_hash', - abseilDirectory + '/absl_numeric', + abseilDirectory + '/absl_int128', + abseilDirectory + '/absl_raw_hash_set', + abseilDirectory + '/absl_wyhash', ]) abseilEnv.ShimLibrary(name="abseil") @@ -431,7 +453,7 @@ else: 'zlib/zlib', ]) -zlibEnv.ShimLibrary(name="zlib", ) +zlibEnv.ShimLibrary(name="zlib", NINJA_GENSOURCE_INDEPENDENT=True) zstdEnv = env.Clone() if use_system_version_of_library("zstd"): @@ -518,6 +540,7 @@ gperftoolsEnv.ShimLibrary( # allowed to have public dependencies. 'lint-public-dep-allowed' ], + NINJA_GENSOURCE_INDEPENDENT=True, ) stemmerEnv = env.Clone() @@ -655,3 +678,39 @@ else: ]) mcEnv.ShimLibrary(name="libmongocrypt", ) + +if env.TargetOSIs('linux'): + + protobufEnv = env.Clone(NINJA_GENSOURCE_INDEPENDENT=True) + if use_system_version_of_library("protobuf"): + protobufEnv = protobufEnv.Clone( + SYSLIBDEPS=[ + env['LIBDEPS_PROTOBUF_SYSLIBDEP'], + env['LIBDEPS_PROTOC_SYSLIBDEP'], + ], ) + else: + protobufEnv.SConscript(dirs=[ + 'protobuf', + ], duplicate=False, exports={'env': env}) + protobufEnv = protobufEnv.Clone(LIBDEPS_INTERFACE=[ + 'protobuf/protoc', + ]) + protobufEnv.ShimLibrary(name="protobuf", ) + + grpcEnv = env.Clone() + if use_system_version_of_library("grpc"): + grpcEnv = grpcEnv.Clone(SYSLIBDEPS=[ + env['LIBDEPS_GRPC_SYSLIBDEP'], + env['LIBDEPS_GRPCXX_SYSLIBDEP'], + env['LIBDEPS_GRPCXX_REFLECTION_SYSLIBDEP'], + ]) + else: + grpcEnv.SConscript(dirs=[ + 'cares', + 're2', + 'grpc', + ], duplicate=False, exports={'env': env}) + grpcEnv = grpcEnv.Clone(LIBDEPS_INTERFACE=[ + 'grpc/grpc++_reflection', + ]) + grpcEnv.ShimLibrary(name="grpc", ) |