X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=SConstruct;h=5d44b6efde625f73ed9d104562c461f861f99cc9;hb=e5c7d1e1c8ccb493c63e33d017c28b5cf4a55829;hp=3b8a9e0341ecc3c202c6cd7bfeb9fe4f2dd52a61;hpb=9b346f83a7b672e913a7bb6a089d5dbd7fbdce06;p=mesa.git diff --git a/SConstruct b/SConstruct index 3b8a9e0341e..5d44b6efde6 100644 --- a/SConstruct +++ b/SConstruct @@ -52,7 +52,7 @@ opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statet opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers, ['softpipe', 'failover', 'svga', 'i915', 'i965', 'trace', 'r300', 'identity', 'llvmpipe'])) opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys, - ['xlib', 'vmware', 'intel', 'i965', 'gdi', 'radeon'])) + ['xlib', 'vmware', 'i915', 'i965', 'gdi', 'radeon', 'graw-xlib'])) opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) @@ -79,9 +79,15 @@ Help(opts.GenerateHelpText(env)) # replicate options values in local variables debug = env['debug'] dri = env['dri'] -llvm = env['llvm'] machine = env['machine'] platform = env['platform'] +drawllvm = 'llvmpipe' in env['drivers'] + +# LLVM support in the Draw module +if drawllvm: + env.Tool('llvm') + if not env.has_key('LLVM_VERSION'): + drawllvm = False # derived options x86 = machine == 'x86' @@ -94,7 +100,7 @@ Export([ 'x86', 'ppc', 'dri', - 'llvm', + 'drawllvm', 'platform', 'gcc', 'msvc', @@ -104,20 +110,43 @@ Export([ ####################################################################### # Environment setup +# Always build trace and identity drivers +if 'trace' not in env['drivers']: + env['drivers'].append('trace') +if 'identity' not in env['drivers']: + env['drivers'].append('identity') + # Includes env.Append(CPPPATH = [ '#/include', '#/src/gallium/include', '#/src/gallium/auxiliary', '#/src/gallium/drivers', + '#/src/gallium/winsys', ]) if env['msvc']: env.Append(CPPPATH = ['#include/c99']) +# Embedded +if platform == 'embedded': + env.Append(CPPDEFINES = [ + '_POSIX_SOURCE', + ('_POSIX_C_SOURCE', '199309L'), + '_SVID_SOURCE', + '_BSD_SOURCE', + '_GNU_SOURCE', + + 'PTHREADS', + ]) + env.Append(LIBS = [ + 'm', + 'pthread', + 'dl', + ]) # Posix -if platform in ('posix', 'linux', 'freebsd', 'darwin', 'embedded'): +if platform in ('posix', 'linux', 'freebsd', 'darwin'): env.Append(CPPDEFINES = [ '_POSIX_SOURCE', ('_POSIX_C_SOURCE', '199309L'), @@ -135,14 +164,9 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin', 'embedded'): env.Append(LIBS = [ 'm', 'pthread', + 'expat', 'dl', ]) - if platform != 'embedded': - env.Append(LIBS = [ - 'expat', - ]) - - # DRI if dri: @@ -154,13 +178,9 @@ if dri: 'GLX_INDIRECT_RENDERING', ]) -# LLVM -if llvm: - # See also http://www.scons.org/wiki/UsingPkgConfig - env.ParseConfig('llvm-config --cflags --ldflags --libs backend bitreader engine instrumentation interpreter ipo') - env.Append(CPPDEFINES = ['MESA_LLVM']) - # Force C++ linkage - env['LINK'] = env['CXX'] +# LLVM support in the Draw module +if drawllvm: + env.Append(CPPDEFINES = ['DRAW_LLVM']) # libGL if platform in ('linux', 'freebsd', 'darwin'): @@ -212,8 +232,10 @@ SConscript( duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html ) +env.Default('src') + SConscript( - 'progs/SConscript', - variant_dir = os.path.join('progs', env['build']), - duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html + 'progs/SConscript', + variant_dir = os.path.join('progs', env['build']), + duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html )