summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorJuggls <mattlee446@gmail.com>2016-07-29 11:58:24 -0400
committerJuggls <mattlee446@gmail.com>2016-07-29 13:43:09 -0400
commit3a25e6f73c4b740b088e95b804df3aab6f7564c3 (patch)
tree01eba58b457e98f26aae9002ccd6ae4044181090 /SConstruct
parente6793022c2bbc3bcda7356f183ce007592b4aefc (diff)
downloadmongo-3a25e6f73c4b740b088e95b804df3aab6f7564c3.tar.gz
SERVER-24838: add scons tool for capturing dependency graph
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct9
1 files changed, 8 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index eac215f9e25..a28ee9de554 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2798,6 +2798,9 @@ env = doConfigure( env )
# compilation database entries for the configure tests, which is weird.
env.Tool("compilation_db")
+# Load the dagger tool for build dependency graph introspection
+env.Tool("dagger")
+
def checkErrorCodes():
import buildscripts.errorcodes as x
if x.checkErrorCodes() == False:
@@ -2898,6 +2901,7 @@ def injectMongoIncludePaths(thisEnv):
env.AddMethod(injectMongoIncludePaths, 'InjectMongoIncludePaths')
compileDb = env.Alias("compiledb", env.CompilationDatabase('compile_commands.json'))
+dependencyDb = env.Alias("dagger", env.Dagger('library_dependency_graph.json'))
env.Alias("distsrc-tar", env.DistSrc("mongodb-src-${MONGO_VERSION}.tar"))
env.Alias("distsrc-tgz", env.GZip(
@@ -2909,7 +2913,10 @@ env.Alias("distsrc", "distsrc-tgz")
env.SConscript('src/SConscript', variant_dir='$BUILD_DIR', duplicate=False)
-env.Alias('all', ['core', 'tools', 'dbtest', 'unittests', 'integration_tests'])
+all = env.Alias('all', ['core', 'tools', 'dbtest', 'unittests', 'integration_tests'])
+
+# Require everything to be built before trying to extract build dependency information
+env.Requires(dependencyDb, all)
# Substitute environment variables in any build targets so that we can
# say, for instance: