1# -*- mode: python -*-
2
3Import("env")
4
5env = env.Clone()
6
7env.Library(
8        target='index_descriptor',
9        source=[
10            'index_descriptor.cpp',
11        ],
12        LIBDEPS=[
13            '$BUILD_DIR/mongo/base',
14            '$BUILD_DIR/mongo/db/catalog/collection',
15            '$BUILD_DIR/mongo/db/catalog/index_catalog',
16        ],
17)
18
19env.Library(
20        target='key_generator',
21        source=[
22            'btree_key_generator.cpp',
23            'expression_keys_private.cpp',
24            'sort_key_generator.cpp',
25        ],
26        LIBDEPS=[
27            '$BUILD_DIR/mongo/base',
28            '$BUILD_DIR/mongo/db/bson/dotted_path_support',
29            '$BUILD_DIR/mongo/db/fts/base',
30            '$BUILD_DIR/mongo/db/geo/geoparser',
31            '$BUILD_DIR/mongo/db/index_names',
32            '$BUILD_DIR/mongo/db/mongohasher',
33            '$BUILD_DIR/mongo/db/query/collation/collator_interface',
34            '$BUILD_DIR/third_party/s2/s2',
35            'expression_params',
36            'index_descriptor',
37        ],
38)
39
40env.Library(
41        target='expression_params',
42        source=[
43            'expression_params.cpp',
44            's2_common.cpp'
45        ],
46        LIBDEPS=[
47            '$BUILD_DIR/mongo/base',
48            '$BUILD_DIR/mongo/bson/util/bson_extract',
49            '$BUILD_DIR/mongo/db/geo/geometry',
50            '$BUILD_DIR/mongo/db/geo/geoparser',
51            '$BUILD_DIR/mongo/db/mongohasher',
52            '$BUILD_DIR/mongo/db/query/collation/collator_interface',
53            '$BUILD_DIR/third_party/s2/s2',
54        ]
55)
56
57env.CppUnitTest(
58        target='key_generator_test',
59        source=[
60            '2d_key_generator_test.cpp',
61            'btree_key_generator_test.cpp',
62            'hash_key_generator_test.cpp',
63            's2_key_generator_test.cpp',
64            'sort_key_generator_test.cpp',
65        ],
66        LIBDEPS=[
67            'key_generator',
68            "$BUILD_DIR/mongo/db/matcher/expressions",
69            '$BUILD_DIR/mongo/db/mongohasher',
70            '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
71        ],
72)
73
74serveronlyEnv = env.Clone()
75serveronlyEnv.InjectThirdPartyIncludePaths(libraries=['snappy'])
76serveronlyEnv.Library(
77    target="index_access_methods",
78    source=[
79        "2d_access_method.cpp",
80        "btree_access_method.cpp",
81        "fts_access_method.cpp",
82        "hash_access_method.cpp",
83        "haystack_access_method.cpp",
84        "index_access_method.cpp",
85        "s2_access_method.cpp",
86    ],
87    LIBDEPS=[
88        '$BUILD_DIR/mongo/base',
89        '$BUILD_DIR/mongo/db/catalog/collection',
90        '$BUILD_DIR/mongo/db/catalog/index_catalog_entry',
91        '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception',
92        '$BUILD_DIR/mongo/db/storage/storage_options',
93        '$BUILD_DIR/mongo/db/storage/mmap_v1/btree',
94        '$BUILD_DIR/mongo/db/query/query',
95        '$BUILD_DIR/third_party/shim_snappy',
96        'expression_params',
97        'index_descriptor',
98        'key_generator',
99    ],
100)
101