Fix PCH build

This commit is contained in:
Kp 2018-02-18 00:42:42 +00:00
parent d469bcbe24
commit 754d34f750

View file

@ -3710,10 +3710,12 @@ class DXXCommon(LazyObjectConstructor):
return StaticObject(target=target, source=source, DXX_EFFECTIVE_SOURCE=DXX_EFFECTIVE_SOURCE, *args, **kwargs)
def create_special_target_nodes(self,archive):
env = self.env
StaticObject = env.StaticObject
env._rebirth_nopch_StaticObject = StaticObject
user_settings = self.user_settings
if user_settings.register_cpp_output_targets:
env = self.env
env.__cpp_output_StaticObject = env.StaticObject
env.__cpp_output_StaticObject = StaticObject
env.StaticObject = self._cpp_output_StaticObject
if user_settings.check_header_includes:
# Create header targets before creating the PCHManager, so that
@ -4122,16 +4124,15 @@ class DXXProgram(DXXCommon):
def __init__(self,program,env,StaticObject):
self.program = program
self.env = env
self.StaticObject = StaticObject
def __call__(self,target,source,*args,**kwargs):
env = self.env
kconfig_static_object = self.StaticObject(target=target, source=source, *args, **kwargs)
kconfig_static_object = env.StaticObject(target=target, source=source, *args, **kwargs)
program = self.program
builddir = '%s%s' % (program.user_settings.builddir, program.target)
# Bypass ccache, if any, since this is a preprocess only
# call.
kwargs['CXXFLAGS'] = (kwargs.get('CXXFLAGS', None) or env['CXXFLAGS'] or []) + ['-E']
cpp_kconfig_udlr = self.StaticObject(target=target[:-1] + 'ui-table.i', source=source[:-3] + 'ui-table.cpp', CXXCOM=env._dxx_cxxcom_no_ccache_prefix, *args, **kwargs)
cpp_kconfig_udlr = env._rebirth_nopch_StaticObject(target=target[:-1] + 'ui-table.i', source=source[:-3] + 'ui-table.cpp', CXXCOM=env._dxx_cxxcom_no_ccache_prefix, *args, **kwargs)
generated_udlr_header = env.File('%s/kconfig.udlr.h' % builddir)
generate_kconfig_udlr = env.File('similar/main/generate-kconfig-udlr.py')
env.Command(generated_udlr_header, [cpp_kconfig_udlr, generate_kconfig_udlr], [[sys.executable, generate_kconfig_udlr, '$SOURCE', '$TARGET']])