summaryrefslogtreecommitdiff
path: root/src/mongo/SConscript
diff options
context:
space:
mode:
authorAndrew Morrow <acm@mongodb.com>2018-03-22 03:32:55 -0400
committerAndrew Morrow <acm@mongodb.com>2018-03-23 15:14:36 -0400
commit82b6d9b43196760a0efbe3b06c3b5d521900d304 (patch)
tree52d5e6993fdd251632ba61c9285e5c252cbb55f3 /src/mongo/SConscript
parent962eb29eac3b8122871a14190d43799a7963d948 (diff)
downloadmongo-82b6d9b43196760a0efbe3b06c3b5d521900d304.tar.gz
SERVER-34071 Apply install aliases to other binaries when in hygienic mode
Diffstat (limited to 'src/mongo/SConscript')
-rw-r--r--src/mongo/SConscript156
1 files changed, 93 insertions, 63 deletions
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
index f0d931e5fcd..a2451a9cb54 100644
--- a/src/mongo/SConscript
+++ b/src/mongo/SConscript
@@ -357,32 +357,41 @@ mongod = env.Program(
'base',
'mongodmain',
],
+ INSTALL_ALIAS=[
+ 'servers',
+ 'core',
+ ],
)
hygienic = get_option('install-mode') == 'hygienic'
-if not hygienic:
+if hygienic:
+ env.Default('$INSTALL_DIR/bin/mongod$PROGSUFFIX')
+else:
env.Default(env.Install('#/', mongod))
# tools
rewrittenTools = [ "mongodump", "mongorestore", "mongoexport", "mongoimport", "mongostat", "mongotop", "bsondump", "mongofiles" ]
# mongoperf
+mongoperf = env.Program(
+ target="mongoperf",
+ source=[
+ "client/examples/mongoperf.cpp",
+ ] + env.WindowsResourceFile("client/examples/mongoperf.rc"),
+ LIBDEPS=[
+ "base",
+ "db/serveronly",
+ "db/storage/mmap_v1/logfile",
+ "db/storage/mmap_v1/mmap",
+ ],
+ INSTALL_ALIAS=[
+ 'tools',
+ ],
+)
+
if not hygienic:
- env.Install(
- '#/',
- [
- env.Program("mongoperf",
- [
- "client/examples/mongoperf.cpp",
- ] + env.WindowsResourceFile("client/examples/mongoperf.rc"),
- LIBDEPS=[
- "base",
- "db/serveronly",
- "db/storage/mmap_v1/logfile",
- "db/storage/mmap_v1/mmap",
- ]),
- ])
+ env.Install('#/', mongoperf)
if env.TargetOSIs('windows'):
generatedServerManifest = env.Substfile(
@@ -399,48 +408,52 @@ if env.TargetOSIs('windows'):
env.Depends("s/server.res", generatedServerManifest)
# mongos
+mongos = env.Program(
+ target='mongos',
+ source=[
+ 's/cluster_cursor_stats.cpp',
+ 's/mongos_options.cpp',
+ 's/mongos_options_init.cpp',
+ 's/s_sharding_server_status.cpp',
+ 's/server.cpp',
+ 's/service_entry_point_mongos.cpp',
+ 's/sharding_uptime_reporter.cpp',
+ 's/version_mongos.cpp',
+ ] + env.WindowsResourceFile("s/server.rc"),
+ LIBDEPS=[
+ 'db/auth/authmongos',
+ 'db/commands/server_status',
+ 'db/curop',
+ 'db/ftdc/ftdc_mongos',
+ 'db/logical_time_metadata_hook',
+ 'db/mongodandmongos',
+ 'db/server_options',
+ 'db/startup_warnings_common',
+ 'db/stats/counters',
+ 's/client/sharding_connection_hook',
+ 's/commands/cluster_commands',
+ 's/commands/shared_cluster_commands',
+ 's/committed_optime_metadata_hook',
+ 's/coreshard',
+ 's/is_mongos',
+ 's/sharding_egress_metadata_hook_for_mongos',
+ 's/sharding_initialization',
+ 's/query/cluster_cursor_cleanup_job',
+ 'transport/service_entry_point',
+ 'transport/transport_layer_manager',
+ 'util/clock_sources',
+ 'util/fail_point',
+ 'util/ntservice',
+ 'util/options_parser/options_parser_init',
+ 'util/version_impl',
+ ],
+ INSTALL_ALIAS=[
+ 'servers',
+ ],
+)
+
if not hygienic:
- env.Install(
- '#/',
- env.Program(
- target='mongos',
- source=[
- 's/cluster_cursor_stats.cpp',
- 's/mongos_options.cpp',
- 's/mongos_options_init.cpp',
- 's/s_sharding_server_status.cpp',
- 's/server.cpp',
- 's/service_entry_point_mongos.cpp',
- 's/sharding_uptime_reporter.cpp',
- 's/version_mongos.cpp',
- ] + env.WindowsResourceFile("s/server.rc"),
- LIBDEPS=[
- 'db/auth/authmongos',
- 'db/commands/server_status',
- 'db/curop',
- 'db/ftdc/ftdc_mongos',
- 'db/logical_time_metadata_hook',
- 'db/mongodandmongos',
- 'db/server_options',
- 'db/startup_warnings_common',
- 'db/stats/counters',
- 's/client/sharding_connection_hook',
- 's/commands/cluster_commands',
- 's/commands/shared_cluster_commands',
- 's/committed_optime_metadata_hook',
- 's/coreshard',
- 's/is_mongos',
- 's/sharding_egress_metadata_hook_for_mongos',
- 's/sharding_initialization',
- 's/query/cluster_cursor_cleanup_job',
- 'transport/service_entry_point',
- 'transport/transport_layer_manager',
- 'util/clock_sources',
- 'util/fail_point',
- 'util/ntservice',
- 'util/options_parser/options_parser_init',
- 'util/version_impl',
- ]))
+ env.Install('#/', mongos)
env.Library("linenoise_utf8",
source=[
@@ -525,7 +538,11 @@ if not has_option('noshell') and usemozjs:
],
LIBDEPS_PRIVATE=[
"$BUILD_DIR/mongo/client/connection_string",
- ]
+ ],
+ INSTALL_ALIAS=[
+ 'shell',
+ 'core',
+ ],
)
if not hygienic:
@@ -616,18 +633,20 @@ if has_option("use-new-tools"):
# legacy tools
installBinary(env, "mongoperf")
-env.Alias("tools", '#/' + add_exe("mongoperf"))
-
-env.Alias("tools", "#/" + add_exe("mongobridge"))
+if not hygienic:
+ env.Alias("tools", '#/' + add_exe("mongoperf"))
+ env.Alias("tools", "#/" + add_exe("mongobridge"))
installBinary( env, "mongod" )
installBinary( env, "mongos" )
if shellEnv is not None:
installBinary( shellEnv, "mongo" )
- env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongo" ) ] ] )
+ if not hygienic:
+ env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongo" ) ] ] )
-env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongod" ), add_exe( "mongos" ) ] ] )
+if not hygienic:
+ env.Alias( "core", [ '#/%s' % b for b in [ add_exe( "mongod" ), add_exe( "mongos" ) ] ] )
# Stage the top-level mongodb banners
distsrc = env.Dir('#distsrc')
@@ -683,7 +702,18 @@ compass_installer = env.Substfile('#/src/mongo/installer/compass/' + compass_scr
])
distBinaries.append(compass_installer)
-compass_script_installer = env.Install("$INSTALL_DIR/bin", compass_installer)
+if not hygienic:
+ compass_script_installer = env.Install("$INSTALL_DIR/bin", compass_installer)
+else:
+ compass_script_installer = env.AutoInstall(
+ 'bin',
+ source=[
+ compass_installer,
+ ],
+ INSTALL_ALIAS=[
+ 'tools',
+ ],
+ )
if env.TargetOSIs('posix'):
env.AddPostAction( compass_script_installer, 'chmod 755 $TARGET' )