From 5aa108214a21181406ec38a2fd5e82a279348f77 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Tue, 4 Mar 2008 14:29:27 +0100 Subject: scons: Preliminary code for quieting command lines. --- SConstruct | 7 +------ common.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/SConstruct b/SConstruct index 44ac0ad60d..6088128010 100644 --- a/SConstruct +++ b/SConstruct @@ -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') diff --git a/common.py b/common.py index 1e5f7dad39..b836a8b41d 100644 --- 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() + -- cgit v1.2.3