# -*- mode: python -*-

Import("env")

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

env.Library(
        target='key_generator',
        source=[
            'btree_key_generator.cpp',
            'expression_keys_private.cpp',
        ],
        LIBDEPS=[
            'expression_params',
            's2_keys',
            '$BUILD_DIR/mongo/bson/bson',
            '$BUILD_DIR/mongo/db/fts/base',
            '$BUILD_DIR/mongo/db/geo/geoparser',
            '$BUILD_DIR/mongo/db/index_names',
            '$BUILD_DIR/mongo/db/mongohasher',
            '$BUILD_DIR/mongo/db/query/index_bounds', # needed for s2_keys
            '$BUILD_DIR/third_party/s2/s2',
        ],
)

env.Library(
        target='external_key_generator',
        source=[
            'external_key_generator.cpp',
        ],
        LIBDEPS=[
            'key_generator',
            'expression_params',
            '$BUILD_DIR/mongo/bson/bson',
        ],
)

env.Library(
        target='expression_params',
        source=[
            'expression_params.cpp',
            's2_indexing_params.cpp',
        ],
        LIBDEPS=[
            '$BUILD_DIR/mongo/bson/bson',
            '$BUILD_DIR/mongo/bson/util/bson_extract',
            '$BUILD_DIR/mongo/db/mongohasher',
            '$BUILD_DIR/third_party/s2/s2',
        ]
)

env.CppUnitTest(
        target='btree_key_generator_test',
        source=[
            'btree_key_generator_test.cpp',
        ],
        LIBDEPS=[
            'key_generator',
            '$BUILD_DIR/mongo/db/mongohasher',
        ],
)

env.Library('s2_keys', [ 's2_keys.cpp' ],
        LIBDEPS=[
                '$BUILD_DIR/mongo/db/geo/geometry',
        ],
)