From 982609f4cf2afc4e0afd450aa24907986bca41ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 11 Feb 2011 17:38:54 +0000 Subject: [PATCH] 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 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( -- 2.30.2