scons: builtin_glsl_function on windows needs bundled getopt.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 17:38:54 +0000 (17:38 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 20:09:26 +0000 (20:09 +0000)
SConstruct
scons/gallium.py
src/SConscript
src/glsl/SConscript

index 3908840086a126984da51b2d7e0b48c8fad19b8c..19d8b13ccc939195d0252e81156d633a598784cd 100644 (file)
@@ -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
index f9a2e592db8746063ad3ba82f8c3f191eb78d04a..24319a0c378ce4c58a00448713d633adc48a2113 100755 (executable)
@@ -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':
index d5cde1c96423cc79f2024c70d034ab27dc7c3072..f11894f2990a5709797d40ca42d267792318bd9e 100644 (file)
@@ -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
index ca17ddd6a2cbaa4ef53b50de1e84475c2976dd92..7c6b6ae8c4df80541653cf1a257c3424a2933fa2 100644 (file)
@@ -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(