diff options
-rw-r--r-- | tools/grit/grit/scons.py | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/tools/grit/grit/scons.py b/tools/grit/grit/scons.py index 733583e..4798242 100644 --- a/tools/grit/grit/scons.py +++ b/tools/grit/grit/scons.py @@ -52,34 +52,35 @@ def _Builder(target, source, env): raise SCons.Errors.BuildError(errstr="see grit error") return try: - child_exit_code = 0 - from grit import grit_runner - from grit.tool import build - options = grit_runner.Options() - # This sets options to default values. - options.ReadOptions(['-v']) - options.input = _SourceToFile(source) - - # TODO(joi) Check if we can get the 'verbose' option from the environment. - - builder = build.RcBuilder() - - # Get the CPP defines from the environment. - for flag in env.get('RCFLAGS', []): - if flag.startswith('/D'): - flag = flag[2:] - name, val = build.ParseDefine(flag) - # Only apply to first instance of a given define - if name not in builder.defines: - builder.defines[name] = val - - # To ensure that our output files match what we promised SCons, we - # use the list of targets provided by SCons and update the file paths in - # our .grd input file with the targets. - builder.scons_targets = [str(t) for t in target] - builder.Run(options, []) - except: - child_exit_code = -1 + try: + child_exit_code = 0 + from grit import grit_runner + from grit.tool import build + options = grit_runner.Options() + # This sets options to default values. + options.ReadOptions(['-v']) + options.input = _SourceToFile(source) + + # TODO(joi) Check if we can get the 'verbose' option from the environment. + + builder = build.RcBuilder() + + # Get the CPP defines from the environment. + for flag in env.get('RCFLAGS', []): + if flag.startswith('/D'): + flag = flag[2:] + name, val = build.ParseDefine(flag) + # Only apply to first instance of a given define + if name not in builder.defines: + builder.defines[name] = val + + # To ensure that our output files match what we promised SCons, we + # use the list of targets provided by SCons and update the file paths in + # our .grd input file with the targets. + builder.scons_targets = [str(t) for t in target] + builder.Run(options, []) + except: + child_exit_code = -1 finally: # Exit the child process. os._exit(child_exit_code) |