blob: e20c9a2c24b47767d789c9e0f68c0b76dc1bc38e [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Fri, 25 Jan 2019 15:00:59 +0800
4Subject: [PATCH] waf: add support of cross_compile
5
6After upgrade libtdb from 1.3.16 to 1.3.17, waf build system
7which used by libtdb upgrade from 1.5.19 to 2.0.8
8
9on 1.5.19, for cross_compile, subprocess.Popen is set to be
10samba_cross.cross_Popen, which will not execute testprog on
11host, but only read result from cross-answers.txt which is
12passed by option --cross-answer
13
14part of old code:
15 args = Utils.to_list(kw.get('exec_args', []))
16 proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
17
18but on 2.0.8, exec_args is not used and cause do_configure
19failed with Exec format error
20
21fixed by append cross anser related args to cmd
22
23Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
24
25Signed-off-by: Changqing Li <changqing.li@windriver.com>
26---
27 third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
28 1 file changed, 6 insertions(+), 5 deletions(-)
29
30diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
31index 7608215..767cf33 100644
32--- a/third_party/waf/waflib/Tools/c_config.py
33+++ b/third_party/waf/waflib/Tools/c_config.py
34@@ -660,20 +660,21 @@ class test_exec(Task.Task):
35 """
36 color = 'PINK'
37 def run(self):
38+ args = self.generator.bld.kw.get('exec_args', [])
39 if getattr(self.generator, 'rpath', None):
40 if getattr(self.generator, 'define_ret', False):
41- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
42- else:
43- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
44+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
45+ else:
46+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
47 else:
48 env = self.env.env or {}
49 env.update(dict(os.environ))
50 for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
51 env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
52 if getattr(self.generator, 'define_ret', False):
53- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
54+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
55 else:
56- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
57+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
58
59 @feature('test_exec')
60 @after_method('apply_link')
61--
622.7.4
63