summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SConstruct11
-rwxr-xr-xscons/gallium.py1
-rw-r--r--src/SConscript8
-rw-r--r--src/glsl/SConscript8
4 files changed, 23 insertions, 5 deletions
diff --git a/SConstruct b/SConstruct
index 3908840086a..19d8b13ccc9 100644
--- a/SConstruct
+++ b/SConstruct
@@ -121,8 +121,6 @@ if env['platform'] in ('posix', 'linux', 'freebsd', 'darwin'):
# for debugging
#print env.Dump()
-Export('env')
-
#######################################################################
# Invoke host SConscripts
@@ -149,13 +147,18 @@ if env['crosscompile'] and env['platform'] != 'embedded':
host_env.Tool('gallium')
+ host_env['hostonly'] = True
+ assert host_env['crosscompile'] == False
+
+ Export(env = host_env)
+
SConscript(
- 'src/glsl/SConscript',
+ 'src/SConscript',
variant_dir = host_env['build_dir'],
duplicate = 0, # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html
- exports={'env':host_env},
)
+Export('env')
#######################################################################
# Invoke SConscripts
diff --git a/scons/gallium.py b/scons/gallium.py
index f9a2e592db8..24319a0c378 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -208,6 +208,7 @@ def generate(env):
env['crosscompile'] = platform != host_platform
if machine == 'x86_64' and host_machine != 'x86_64':
env['crosscompile'] = True
+ env['hostonly'] = False
# Backwards compatability with the debug= profile= options
if env['build'] == 'debug':
diff --git a/src/SConscript b/src/SConscript
index d5cde1c9642..f11894f2990 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -1,9 +1,17 @@
Import('*')
+
if env['platform'] == 'windows':
SConscript('getopt/SConscript')
SConscript('glsl/SConscript')
+
+if env['hostonly']:
+ # We are just compiling the things necessary on the host for cross
+ # compilation
+ Return()
+
+
# When env['gles'] is set, the targets defined in mapi/glapi/SConscript are not
# used. libgl-xlib and libgl-gdi adapt themselves to use the targets defined
# in mapi/glapi-shared/SConscript. mesa/SConscript also adapts itself to
diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index ca17ddd6a2c..7c6b6ae8c4d 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -82,7 +82,9 @@ sources = [
]
-if not env['crosscompile'] or env['platform'] == 'embedded':
+if env['crosscompile'] and env['platform'] != 'embedded':
+ Import('builtin_glsl_function')
+else:
if env['msvc']:
env.Prepend(CPPPATH = ['#/src/getopt'])
env.PrependUnique(LIBS = [getopt])
@@ -105,6 +107,10 @@ if not env['crosscompile'] or env['platform'] == 'embedded':
Export('builtin_glsl_function')
+ if env['hostonly']:
+ Return()
+
+
sources += builtin_glsl_function
glsl = env.ConvenienceLibrary(