if node:
self.env.append_value('INC_PATHS', node)
+@feature('cc')
+@before('apply_incpaths')
+def samba_stash_cppflags(self):
+ """Fix broken waf ordering of CPPFLAGS"""
+ self.env['SAVED_CPPFLAGS'] = self.env['CPPFLAGS']
+ self.env['CPPFLAGS'] = []
+
@feature('cc')
@after('apply_incpaths')
def apply_obj_vars_cc(self):
for i in env['CPPPATH']:
app('_CCINCFLAGS', cpppath_st % i)
+ # append stashed user CPPFLAGS after our internally computed flags
+ app('_CCINCFLAGS', env['SAVED_CPPFLAGS'])
+ env['SAVED_CPPFLAGS'] = []
+
import Node, Environment
def vari(self):
for i in v['LIBPATH']:
if is_standard_libpath(v, i):
v['LIBPATH'].remove(i)
+
+@feature('cprogram', 'cshlib', 'cstaticlib')
+@before('apply_obj_vars', 'add_extra_flags')
+def samba_stash_linkflags(self):
+ """stash away LINKFLAGS in order to fix waf's broken ordering wrt or
+ user LDFLAGS"""
+
+ self.env.SAVE_LINKFLAGS = self.env['LINKFLAGS']
+ self.env['LINKFLAGS'] = []
+
+@feature('cprogram', 'cshlib', 'cstaticlib')
+@after('apply_obj_vars', 'add_extra_flags')
+def samba_pop_linkflags(self):
+ """after apply_obj_vars append saved LDFLAGS"""
+
+ self.env.append_value('LINKFLAGS', self.env.SAVE_LINKFLAGS)
+ self.env.SAVE_LINKFLAGS = []