From 113ab51a8cf767cc95bdc9f6faea6956e17c1da7 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 4 Jun 2008 23:57:55 +0900 Subject: scons: Some provisions to cross-compile x86 on x86_64 machines and vice-versa. --- common.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'common.py') diff --git a/common.py b/common.py index b6251d3960..c82f3026dd 100644 --- a/common.py +++ b/common.py @@ -226,6 +226,10 @@ def generate(env): cflags += ['-O3', '-g3'] if env['profile']: cflags += ['-pg'] + if env['machine'] == 'x86' and default_machine == 'x86_64': + cflags += ['-m32'] + if env['machine'] == 'x86_64' and default_machine == 'x86': + cflags += ['-m64'] cflags += [ '-Wall', '-Wmissing-prototypes', @@ -293,10 +297,16 @@ def generate(env): env.Append(CXXFLAGS = cflags) # Linker options + linkflags = [] + if gcc: + if env['machine'] == 'x86' and default_machine == 'x86_64': + linkflags += ['-m32'] + if env['machine'] == 'x86_64' and default_machine == 'x86': + linkflags += ['-m64'] if platform == 'winddk': # See also: # - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx - env.Append(LINKFLAGS = [ + linkflags += [ '/merge:_PAGE=PAGE', '/merge:_TEXT=.text', '/section:INIT,d', @@ -322,7 +332,8 @@ def generate(env): '/base:0x10000', '/entry:DrvEnableDriver', - ]) + ] + env.Append(LINKFLAGS = linkflags) createConvenienceLibBuilder(env) -- cgit v1.2.3