mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-27 20:24:30 +08:00
scons: Try to support building 64bit binaries on 32bit windows.
This commit is contained in:
parent
051f8bbfee
commit
ae760279f1
@ -132,7 +132,7 @@ Export('env')
|
||||
#
|
||||
|
||||
# Create host environent
|
||||
if env['platform'] != common.host_platform:
|
||||
if env['crosscompile'] and env['platform'] != 'embedded':
|
||||
host_env = Environment(
|
||||
options = opts,
|
||||
# no tool used
|
||||
|
12
common.py
12
common.py
@ -14,13 +14,7 @@ import SCons.Script.SConscript
|
||||
#######################################################################
|
||||
# Defaults
|
||||
|
||||
_platform_map = {
|
||||
'linux2': 'linux',
|
||||
'win32': 'windows',
|
||||
}
|
||||
|
||||
host_platform = sys.platform
|
||||
host_platform = _platform_map.get(host_platform, host_platform)
|
||||
host_platform = _platform.system().lower()
|
||||
|
||||
# Search sys.argv[] for a "platform=foo" argument since we don't have
|
||||
# an 'env' variable at this point.
|
||||
@ -29,8 +23,6 @@ if 'platform' in SCons.Script.ARGUMENTS:
|
||||
else:
|
||||
target_platform = host_platform
|
||||
|
||||
cross_compiling = target_platform != host_platform
|
||||
|
||||
_machine_map = {
|
||||
'x86': 'x86',
|
||||
'i386': 'x86',
|
||||
@ -52,7 +44,7 @@ host_machine = _machine_map.get(host_machine, 'generic')
|
||||
default_machine = host_machine
|
||||
default_toolchain = 'default'
|
||||
|
||||
if target_platform == 'windows' and cross_compiling:
|
||||
if target_platform == 'windows' and host_platform != 'windows':
|
||||
default_machine = 'x86'
|
||||
default_toolchain = 'crossmingw'
|
||||
|
||||
|
@ -35,6 +35,7 @@ import os
|
||||
import os.path
|
||||
import re
|
||||
import subprocess
|
||||
import platform as _platform
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
@ -191,6 +192,23 @@ def generate(env):
|
||||
gcc = env['gcc']
|
||||
msvc = env['msvc']
|
||||
|
||||
# Determine whether we are cross compiling; in particular, whether we need
|
||||
# to compile code generators with a different compiler as the target code.
|
||||
host_platform = _platform.system().lower()
|
||||
host_machine = os.environ.get('PROCESSOR_ARCHITECTURE', _platform.machine())
|
||||
host_machine = {
|
||||
'x86': 'x86',
|
||||
'i386': 'x86',
|
||||
'i486': 'x86',
|
||||
'i586': 'x86',
|
||||
'i686': 'x86',
|
||||
'ppc' : 'ppc',
|
||||
'x86_64': 'x86_64',
|
||||
}.get(host_machine, 'generic')
|
||||
env['crosscompile'] = platform != host_platform
|
||||
if machine == 'x86_64' and host_machine != 'x86_64':
|
||||
env['crosscompile'] = True
|
||||
|
||||
# Backwards compatability with the debug= profile= options
|
||||
if env['build'] == 'debug':
|
||||
if not env['debug']:
|
||||
|
@ -82,7 +82,7 @@ sources = [
|
||||
]
|
||||
|
||||
|
||||
if env['platform'] == common.host_platform:
|
||||
if not env['crosscompile'] or env['platform'] == 'embedded':
|
||||
if env['msvc']:
|
||||
env.Prepend(CPPPATH = ['#/src/getopt'])
|
||||
env.PrependUnique(LIBS = [getopt])
|
||||
@ -105,9 +105,6 @@ if env['platform'] == common.host_platform:
|
||||
|
||||
Export('builtin_glsl_function')
|
||||
|
||||
if common.cross_compiling:
|
||||
Return()
|
||||
|
||||
sources += builtin_glsl_function
|
||||
|
||||
glsl = env.ConvenienceLibrary(
|
||||
|
Loading…
Reference in New Issue
Block a user