build: fixed a typo that prevented --bundled-libraries from working correctly
[samba.git] / buildtools / wafsamba / samba_cross.py
1 # functions for handling cross-compilation
2
3 import pproc, Utils
4 from Configure import conf
5 from pproc import Popen
6
7 real_Popen = None
8
9 class cross_Popen(Popen):
10     '''cross-compilation wrapper for Popen'''
11     def __init__(*k, **kw):
12         (obj, args) = k
13         if '--cross-execute' in args:
14             # when --cross-execute is set, then change the arguments
15             # to use the cross emulator
16             i = args.index('--cross-execute')
17             newargs = args[i+1].split()
18             newargs.extend(args[0:i])
19             args = newargs
20         Popen.__init__(*(obj, args), **kw)
21
22
23 @conf
24 def SAMBA_CROSS_ARGS(conf):
25     '''get exec_args to pass when running cross compiled binaries'''
26     if not conf.env.CROSS_COMPILE or not conf.env.CROSS_EXECUTE:
27         return []
28
29     global real_Popen
30     if real_Popen is None:
31         real_Popen  = Utils.pproc.Popen
32         Utils.pproc.Popen = cross_Popen
33
34     return ['--cross-execute', conf.env.CROSS_EXECUTE]