[Scons-users] Modifying the provided environment in an emitter?
Andrew C. Morrow
andrew.c.morrow at gmail.com
Fri Apr 21 17:29:34 EDT 2017
Hi all -
Is it legit to modify the passed in env in an emitter?
def add_lib_foo_emitter(target, source, env):
libs = env.get('LIBS', [])
libs.append('foo')
env['LIBS'] = libs
return (target, source)
def add_emitter(builder):
base_emitter = builder.emitter
new_emitter = SCons.Builder.ListEmitter([add_lib_foo_emitter,
base_emitter])
builder.emitter = new_emitter
target_builders = ['Program', 'SharedLibrary', 'LoadableModule',
'StaticLibrary']
for builder in target_builders:
add_emitter(env['BUILDERS'][builder])
I've found myself wanting to do this with increasing frequency, but am
unclear on whether this is acceptable. It appears to work, but the
documentation doesn't seem to offer any clear guidance that I've found on
whether it is guaranteed to work. If so (which would be great!), am I
guaranteed that the modification of env is scoped only to the passed in
targets?
Thanks,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170421/e8310ba5/attachment.html>
More information about the Scons-users
mailing list