Mesa (master): scons: builtin_glsl_function on windows needs bundled getopt .

Jose Fonseca jrfonseca at kemper.freedesktop.org
Fri Feb 11 20:09:57 UTC 2011


Module: Mesa
Branch: master
Commit: 982609f4cf2afc4e0afd450aa24907986bca41ab
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=982609f4cf2afc4e0afd450aa24907986bca41ab

Author: José Fonseca <jfonseca at vmware.com>
Date:   Fri Feb 11 17:38:54 2011 +0000

scons: builtin_glsl_function on windows needs bundled getopt.

---

 SConstruct          |   11 +++++++----
 scons/gallium.py    |    1 +
 src/SConscript      |    8 ++++++++
 src/glsl/SConscript |    8 +++++++-
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/SConstruct b/SConstruct
index 3908840..19d8b13 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 f9a2e59..24319a0 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 d5cde1c..f11894f 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 ca17ddd..7c6b6ae 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(




More information about the mesa-commit mailing list