Description
This issue was originally created at: 2004-05-11 09:41:12.
This issue was reported by: wiedeman
.
wiedeman said at 2004-05-11 09:41:12
in the qt-tool, we use emitters to add more sources to the supplied sources of, e.g. the Program builder.
My first try was to do this:
def ProgEmitter(target,source,env):
# do scanning -> name_cpp
source.append(name_cpp)
return (target, source)
which doesn't work, because the multistep magic is already done (which is ok, when the emitter is called). The second try seemed to work:
def ProgEmitter(target,source,env):
# do scanning -> name_cpp
source.append(env.StaticObject(name_cpp))
return (target, source)
But now, i noticed, that overrides like CPPPATH="..." got lost in the
env.StaticObject
call (i actually tried with 0.94). Changing the function to
def ProgEmitter(target,source,env):
# do scanning -> name_cpp
env.StaticObject.env = env
source.append(env.StaticObject(name_cpp))
return (target, source)
seems to work, but doesn't look clean.
Just a hint: It looks like
env.Override
andBuilderWrapper
don't work well with each other due tocopy.copy
usage.Christoph
issues@scons said at 2004-05-11 09:41:12
Converted from SourceForge tracker item 952016
gregnoel said at 2009-04-30 15:15:54
Bug party triage. There are some comments in the discussion page for the ReArchitecture design work in the wiki that might offer a partial solution, as does the DynamicSourceGenerator page. We can't do anything about it right now, but put a link there to refer to this bug so we'll return here when we undertake that task.