1 # functions for handling cross-compilation
4 from Configure import conf
5 from pproc import Popen
9 class cross_Popen(Popen):
10 '''cross-compilation wrapper for Popen'''
11 def __init__(*k, **kw):
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])
20 Popen.__init__(*(obj, args), **kw)
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:
30 if real_Popen is None:
31 real_Popen = Utils.pproc.Popen
32 Utils.pproc.Popen = cross_Popen
34 return ['--cross-execute', conf.env.CROSS_EXECUTE]