# component/SConscript Import('env') import os with open(env['PROJECT_TOOL_S']) as f: exec(f.read()) if 'CONFIG_MONGO_C_DRIVER_ENABLED' in os.environ: check_component('mongo-c-driver') SRCS=[] INCLUDE=[ADir('include'), ADir('../../github_source/mongo-c-driver/src/common/src')] PRIVATE_INCLUDE=[] REQUIREMENTS=[] STATIC_LIB=[] DYNAMIC_LIB=[] DEFINITIONS=[] DEFINITIONS_PRIVATE=['-O2'] LDFLAGS=[] LINK_SEARCH_PATH=[] if 'CONFIG_LIBBSON_ENABLED' in os.environ: _SRCS = AGlob('../../github_source/mongo-c-driver/src/common/src/*.c*') _SRCS += AGlob('../../github_source/mongo-c-driver/src/libbson/src/bson/*.c*') _SRCS += AGlob('../../github_source/mongo-c-driver/src/libbson/src/jsonsl/*.c*') _INCLUDE = [ADir('../../github_source/mongo-c-driver/src/libbson/src')] _DEFINITIONS_PRIVATE = ['-DBSON_COMPILATION', '-DBSON_STATIC', '-DJSONSL_PARSE_NAN', '-DMCOMMON_NAME_PREFIX=_bson_mcommon', '-D_BSD_SOURCE', '-D_DEFAULT_SOURCE', '-D_MLIB_BUILD_CONFIG=RelWithDebInfo', '-D_XOPEN_SOURCE=700'] env['COMPONENTS'].append({'target':'bson', 'SRCS':SRCS + _SRCS, 'INCLUDE':INCLUDE + _INCLUDE, 'PRIVATE_INCLUDE':PRIVATE_INCLUDE, 'REQUIREMENTS':REQUIREMENTS, 'STATIC_LIB':STATIC_LIB, 'DYNAMIC_LIB':DYNAMIC_LIB, 'DEFINITIONS':DEFINITIONS, 'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, 'LDFLAGS':LDFLAGS, 'LINK_SEARCH_PATH':LINK_SEARCH_PATH, 'REGISTER':'static' }) if 'CONFIG_LIBZLIB_ENABLED' in os.environ: _SRCS = AGlob('../../github_source/mongo-c-driver/src/zlib-1.3.1/*.c') _INCLUDE = [ADir('../../github_source/mongo-c-driver/src/zlib-1.3.1')] env['COMPONENTS'].append({'target':'zlib', 'SRCS':SRCS + _SRCS, 'INCLUDE':INCLUDE + _INCLUDE, 'PRIVATE_INCLUDE':PRIVATE_INCLUDE, 'REQUIREMENTS':REQUIREMENTS, 'STATIC_LIB':STATIC_LIB, 'DYNAMIC_LIB':DYNAMIC_LIB, 'DEFINITIONS':DEFINITIONS, 'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE, 'LDFLAGS':LDFLAGS, 'LINK_SEARCH_PATH':LINK_SEARCH_PATH, 'REGISTER':'static' }) if 'CONFIG_KMS_MESSAGE_ENABLED' in os.environ: _SRCS = AGlob('../../github_source/mongo-c-driver/src/kms-message/src/*.c') _INCLUDE = [ADir('../../github_source/mongo-c-driver/src/kms-message/src')] _DEFINITIONS_PRIVATE = ['-DBSON_STATIC' ,'-DHAVE_STDARG_H' ,'-DHAVE_UNISTD_H' ,'-DKMS_MESSAGE_ENABLE_CRYPTO' ,'-DKMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO' ,'-DKMS_MESSAGE_LITTLE_ENDIAN' ,'-DKMS_MSG_STATIC' ,'-DMCOMMON_NAME_PREFIX=_mongoc_mcommon' ,'-DMONGOC_COMPILATION' ,'-DMONGOC_STATIC' ,'-DUTF8PROC_STATIC' ,'-D_BSD_SOURCE' ,'-D_DEFAULT_SOURCE' ,'-D_MLIB_BUILD_CONFIG=RelWithDebInfo' ,'-D_XOPEN_SOURCE=700'] _SRCS = list(filter(lambda x: not str(x).endswith('kms_kmip_reader_writer.c'), _SRCS)) env['COMPONENTS'].append({'target':'kms-message', 'SRCS':SRCS + _SRCS, 'INCLUDE':INCLUDE + _INCLUDE, 'PRIVATE_INCLUDE':PRIVATE_INCLUDE , 'REQUIREMENTS':REQUIREMENTS + ['ssl', 'crypto'], 'STATIC_LIB':STATIC_LIB, 'DYNAMIC_LIB':DYNAMIC_LIB, 'DEFINITIONS':DEFINITIONS, 'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, 'LDFLAGS':LDFLAGS, 'LINK_SEARCH_PATH':LINK_SEARCH_PATH, 'REGISTER':'static' }) if 'CONFIG_LIBMONGOC_ENABLED' in os.environ: _PRIVATE_INCLUDE = [ADir('../../github_source/mongo-c-driver/src/uthash'), ADir('../../github_source/mongo-c-driver/src/libbson/src'), ADir('../../github_source/mongo-c-driver/src/kms-message/src'), ADir('../../github_source/mongo-c-driver/src/utf8proc-2.8.0')] _SRCS = AGlob('../../github_source/mongo-c-driver/src/common/src/*.c*') _SRCS += AGlob('../../github_source/mongo-c-driver/src/libmongoc/src/mongoc/*.c') _SRCS += [AFile('../../github_source/mongo-c-driver/src/utf8proc-2.8.0/utf8proc.c')] _INCLUDE = [ADir('../../github_source/mongo-c-driver/src/libmongoc/src')] _DEFINITIONS_PRIVATE = ['-DBSON_STATIC', '-DHAVE_STDARG_H', '-DHAVE_UNISTD_H', '-DKMS_MESSAGE_ENABLE_CRYPTO', '-DKMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO', '-DKMS_MESSAGE_LITTLE_ENDIAN', '-DKMS_MSG_STATIC', '-DMCOMMON_NAME_PREFIX=_mongoc_mcommon', '-DMONGOC_COMPILATION', '-DMONGOC_STATIC', '-DUTF8PROC_STATIC', '-D_BSD_SOURCE', '-D_DEFAULT_SOURCE', '-D_MLIB_BUILD_CONFIG=RelWithDebInfo', '-D_XOPEN_SOURCE=700'] env['COMPONENTS'].append({'target':'mongoc', 'SRCS':SRCS + _SRCS, 'INCLUDE':INCLUDE + _INCLUDE, 'PRIVATE_INCLUDE':PRIVATE_INCLUDE + _PRIVATE_INCLUDE, 'REQUIREMENTS':REQUIREMENTS + ['kms-message', 'bson', 'zlib', 'zstd', 'resolv'], 'STATIC_LIB':STATIC_LIB, 'DYNAMIC_LIB':DYNAMIC_LIB, 'DEFINITIONS':DEFINITIONS , 'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE , 'LDFLAGS':LDFLAGS, 'LINK_SEARCH_PATH':LINK_SEARCH_PATH, 'REGISTER':'static' }) env['COMPONENTS'].append({'target':os.path.basename(env['component_dir']), 'SRCS':SRCS, 'INCLUDE':INCLUDE, 'PRIVATE_INCLUDE':PRIVATE_INCLUDE, 'REQUIREMENTS':REQUIREMENTS, 'STATIC_LIB':STATIC_LIB, 'DYNAMIC_LIB':DYNAMIC_LIB, 'DEFINITIONS':DEFINITIONS, 'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE, 'LDFLAGS':LDFLAGS, 'LINK_SEARCH_PATH':LINK_SEARCH_PATH, 'REGISTER':'static' })