# -*- mode: python; -*-

Import("env")

env = env.Clone()

generateJSErrorCodes = env.Command(
    target=['error_codes.js'],
    source=[
        '$BUILD_DIR/mongo/base/generate_error_codes.py',
        '$BUILD_DIR/mongo/base/error_codes.err',
        'error_codes.tpl.js',
    ],
    action=['$PYTHON ${SOURCES[0]} ${SOURCES[1]} ${SOURCES[2]}=${TARGETS[0]}'])
env.Alias('generated-sources', generateJSErrorCodes)

# Files added here need to be added in scripting/engine.cpp and buildscripts/vcxproj.header as well.
js_header = env.JSHeader(
    target="mongo.cpp",
    source=[
        "assert.js",
        "bulk_api.js",
        "collection.js",
        "crud_api.js",
        "db.js",
        "error_codes.js",
        "explainable.js",
        "explain_query.js",
        "mongo.js",
        "mr.js",
        "query.js",
        "session.js",
        "types.js",
        "utils_auth.js",
        "utils.js",
        "utils_sh.js",
    ]
)

env.Alias('generated-sources', js_header)

# Files added here need to be added in shell/shell_utils.cpp and buildscripts/vcxproj.header as
# well.
env.JSHeader(
    target="mongo-server.cpp",
    source=[
        "servers.js",
        "shardingtest.js",
        "servers_misc.js",
        "replsettest.js",
        "bridge.js"
    ],
)

env.Alias('generated-sources', "mongo-server.cpp")

env.Library(
    target='mongojs',
    source=[
        'mongo.cpp',
    ],
    LIBDEPS=[
        "$BUILD_DIR/mongo/base",
    ],
)
