# -*- mode: python -*-
Import("env")

env = env.Clone()

env.Library(
    target='key',
    source=[
        'key.cpp',
        'key_id.cpp',
        'key_operations.cpp',
        'master_key_provider.cpp'
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/encryption/encryption_kmip',
        '$BUILD_DIR/mongo/db/encryption/encryption_options',
        '$BUILD_DIR/mongo/db/encryption/encryption_vault',
        '$BUILD_DIR/mongo/util/secure_zero_memory'
    ],
)

env.CppUnitTest(
    target='db_encryption_key_id_test',
    source=[
        'key_id_test.cpp',
    ],
    LIBDEPS=[
        # '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/encryption/key',
    ],
)

env.Library(
    target='encryption_options',
    source=[
        'encryption_options.cpp',
    ],
    LIBDEPS=[
    ],
)

env.Library(
    target='encryption_vault',
    source=[
    	'encryption_vault.cpp',
    ],
    SYSLIBDEPS=[
        'winhttp' if env.TargetOSIs('windows') else 'curl',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/encryption/secret_string'
    ],
)

env.Library(
    target='secret_string',
    source=[
        'secret_string.cpp'
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_options_core',
        '$BUILD_DIR/mongo/util/secure_zero_memory'
    ],
)

env.InjectThirdParty(libraries=['kmippp'])

env.Library(
    target='encryption_kmip',
    source=[
    	'encryption_kmip.cpp'
    ],
    LIBDEPS=[
        '$BUILD_DIR/third_party/shim_kmippp',
    ],
)
