# -*- mode: python; -*-

Import("env")

env = env.Clone()

capi = env.Library(
    target='mongo_embedded_capi',
    source=[
        'libmongodbcapi.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/mongodmain',
        '$BUILD_DIR/mongo/transport/transport_layer_mock',
        '$BUILD_DIR/mongo/util/net/network',
    ]
)

env.Alias('embedded_capi', capi)

capiTest = env.Program(
    target='mongo_embedded_capi_test',
    source=[
        'libmongodbcapi_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/unittest/unittest',
        '$BUILD_DIR/mongo/util/net/network',
        'mongo_embedded_capi',
    ],
)

env.RegisterUnitTest(capiTest[0])
env.Alias('embedded_capi', capiTest)

if not env['MONGO_HAVE_LIBMONGOC']:
    Return()

embeddedTransport = env.Library(
    target='mongo_embedded_transport',
    source=[
       'embedded_transport_layer.cpp',
    ],
    LIBDEPS=[
        'mongo_embedded_capi',
    ],
    SYSLIBDEPS=[
        'mongoc-1.0',
        'bson-1.0',
    ]
)

env.Alias('embedded_capi', embeddedTransport)

embeddedTransportTest = env.Program(
    target='mongo_embedded_transport_test',
    source=[
        'embedded_transport_layer_test.cpp',
        'functions_for_test.cpp',
    ],
    LIBDEPS=[
        'mongo_embedded_transport',
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/unittest/unittest',
    ]
)

env.Alias('embedded_capi', embeddedTransportTest)
env.RegisterUnitTest(embeddedTransportTest[0]);
