From d9bfced915ccbc3945e3bf1f4ae9fe5d109be60c Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 22 Mar 2015 18:49:21 +0000 Subject: [PATCH] Blacklist moving _REENTRANT to dxxsconf.h Passing -pthread implies -D_REENTRANT, so if -D_REENTRANT is moved to dxxsconf.h, then _REENTRANT is defined twice. --- SConstruct | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index 2f5896127..a64f1cbc1 100644 --- a/SConstruct +++ b/SConstruct @@ -179,10 +179,18 @@ class ConfigureTests: if r and forced != self.sconf_assume_success: caller_modified_env_flags.restore(context.env) context.env.Replace(CPPDEFINES=env_flags['CPPDEFINES']) - for d in successflags.pop('CPPDEFINES', []): + CPPDEFINES = [] + for v in successflags.pop('CPPDEFINES', []): + d = v if isinstance(d, str): d = (d,None) + if d[0] in ('_REENTRANT',): + # Blacklist defines that must not be moved to the + # configuration header. + CPPDEFINES.append(v) + continue context.sconf.Define(d[0], d[1]) + successflags['CPPDEFINES'] = CPPDEFINES for (k,v) in successflags.items(): self._extend_successflags(k, v) else: