diff options
author | Keith Whitwell <[email protected]> | 2008-09-11 18:32:05 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2008-09-11 18:32:05 +0100 |
commit | cc7dd4fc1b3c765ca1ecd943d189bb156dae529d (patch) | |
tree | 1a3560eb6df8a443c4f0e5af0a916f190b1542f6 /scons | |
parent | 685248bea1fef5fd6335982570e34d0f6672030d (diff) | |
parent | d50d68a1c940ed9c8d8c65e8e33667fa90d5baa1 (diff) |
Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:
Makefile
progs/demos/Makefile
progs/glsl/Makefile
progs/redbook/Makefile
progs/samples/Makefile
progs/tests/Makefile
progs/trivial/Makefile
progs/xdemos/Makefile
src/gallium/Makefile
src/mesa/main/attrib.c
src/mesa/main/bufferobj.c
src/mesa/vbo/vbo_exec_draw.c
Diffstat (limited to 'scons')
-rw-r--r-- | scons/gallium.py | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/scons/gallium.py b/scons/gallium.py index 43603e51044..3631607e666 100644 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -140,6 +140,29 @@ def createCodeGenerateMethod(env): env.AddMethod(code_generate, 'CodeGenerate') +def symlink(target, source, env): + target = str(target[0]) + source = str(source[0]) + if os.path.islink(target) or os.path.exists(target): + os.remove(target) + os.symlink(os.path.basename(source), target) + +def install_shared_library(env, source, version = ()): + source = str(source[0]) + version = tuple(map(str, version)) + target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build'], 'lib') + target_name = '.'.join((str(source),) + version) + last = env.InstallAs(os.path.join(target_dir, target_name), source) + while len(version): + version = version[:-1] + target_name = '.'.join((str(source),) + version) + action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE") + last = env.Command(os.path.join(target_dir, target_name), last, action) + +def createInstallMethods(env): + env.AddMethod(install_shared_library, 'InstallSharedLibrary') + + def generate(env): """Common environment generation code""" @@ -290,7 +313,7 @@ def generate(env): ] if msvc: # See also: - # - http://msdn2.microsoft.com/en-us/library/y0zzbyt4.aspx + # - http://msdn.microsoft.com/en-us/library/19z1t1wy.aspx # - cl /? if debug: cflags += [ @@ -302,7 +325,8 @@ def generate(env): cflags += [ '/Ox', # maximum optimizations '/Oi', # enable intrinsic functions - '/Os', # favor code space + '/Ot', # favor code speed + #'/fp:fast', # fast floating point ] if env['profile']: cflags += [ @@ -313,6 +337,11 @@ def generate(env): '/W3', # warning level #'/Wp64', # enable 64 bit porting warnings ] + if env['machine'] == 'x86': + cflags += [ + #'/QIfist', # Suppress _ftol + #'/arch:SSE2', # use the SSE2 instructions + ] if platform == 'windows': cflags += [ # TODO @@ -420,6 +449,7 @@ def generate(env): # Custom builders and methods createConvenienceLibBuilder(env) createCodeGenerateMethod(env) + createInstallMethods(env) # for debugging #print env.Dump() |