scons: Preliminary code for quieting command lines.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Tue, 4 Mar 2008 13:29:27 +0000 (14:29 +0100)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Wed, 5 Mar 2008 10:39:11 +0000 (11:39 +0100)
SConstruct
common.py

index 44ac0ad60d929c28d12a5ca43b011b0e7cfab276..60881280100e6cc4ba6619b02927b982c43a277f 100644 (file)
@@ -55,9 +55,6 @@ env = Environment(
        ENV = os.environ)
 Help(opts.GenerateHelpText(env))
 
-# for debugging
-#print env.Dump()
-
 # replicate options values in local variables
 debug = env['debug']
 dri = env['dri']
@@ -87,6 +84,7 @@ Export([
 # TODO: put the compiler specific settings in separate files
 # TODO: auto-detect as much as possible
 
+common.generate(env)
 
 if platform == 'winddk':
        env.Tool('winddk', ['.'])
@@ -219,9 +217,6 @@ if platform not in ('winddk',):
                'Xfixes',
        ])
 
-# Convenience library support
-common.createConvenienceLibBuilder(env)
-
 Export('env')
 
 
index 1e5f7dad39bb77c4d2261b37b422e8848df18193..b836a8b41dbfeb78054d1f2a5aca2cc866b6cae7 100644 (file)
--- a/common.py
+++ b/common.py
@@ -47,6 +47,7 @@ def AddOptions(opts):
        from SCons.Options.BoolOption import BoolOption
        from SCons.Options.EnumOption import EnumOption
        opts.Add(BoolOption('debug', 'build debug version', 'no'))
+       #opts.Add(BoolOption('quiet', 'quiet command lines', 'no'))
        opts.Add(EnumOption('machine', 'use machine-specific assembly code', default_machine,
                                                                                         allowed_values=('generic', 'x86', 'x86_64')))
        opts.Add(EnumOption('platform', 'target platform', default_platform,
@@ -55,6 +56,19 @@ def AddOptions(opts):
        opts.Add(BoolOption('dri', 'build DRI drivers', default_dri))
 
 
+#######################################################################
+# Quiet command lines
+#
+# See also http://www.scons.org/wiki/HidingCommandLinesInOutput
+
+def quietCommandLines(env):
+       env['CCCOMSTR'] = "Compiling $SOURCE ..."
+       env['CXXCOMSTR'] = "Compiling $SOURCE ..."
+       env['ARCOMSTR'] = "Archiving $TARGET ..."
+       env['RANLIBCOMSTR'] = ""
+       env['LINKCOMSTR'] = "Linking $TARGET ..."
+
+
 #######################################################################
 # Convenience Library Builder
 # based on the stock StaticLibrary and SharedLibrary builders
@@ -111,3 +125,16 @@ def make_build_dir(env):
        env.SConsignFile(os.path.join(build_dir, '.sconsign'))
        return build_dir
 
+
+#######################################################################
+# Common environment generation code
+
+def generate(env):
+       # FIXME: this is already too late
+       #if env.get('quiet', False):
+       #       quietCommandLines(env)
+       createConvenienceLibBuilder(env)
+
+       # for debugging
+       #print env.Dump()
+