X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=SConstruct;h=558ebf90aaa03673f92825bd6384fc8e6655ed5b;hb=446dbb921762710d678486f3f5a6dfdf318fe34c;hp=6ed44ddd0677181de86101896643b6404dd879fc;hpb=3ce4375912c8ea488460e593e07c5bb15b92dca9;p=mesa.git diff --git a/SConstruct b/SConstruct index 6ed44ddd067..558ebf90aaa 100644 --- a/SConstruct +++ b/SConstruct @@ -31,9 +31,10 @@ import common # Configuration options default_statetrackers = 'mesa' +default_targets = 'graw-null' if common.default_platform in ('linux', 'freebsd', 'darwin'): - default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe' + default_drivers = 'softpipe,galahad,failover,svga,i915,i965,trace,identity,llvmpipe' default_winsys = 'xlib' elif common.default_platform in ('winddk',): default_drivers = 'softpipe,svga,i915,i965,trace,identity' @@ -48,11 +49,34 @@ else: opts = Variables('config.py') common.AddOptions(opts) opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers, - ['mesa', 'python', 'xorg'])) + ['mesa', 'python', 'xorg', 'egl'])) opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers, - ['softpipe', 'failover', 'svga', 'i915', 'i965', 'trace', 'r300', 'identity', 'llvmpipe'])) + ['softpipe', 'galahad', 'failover', 'svga', 'i915', 'i965', 'trace', 'r300', 'r600', 'identity', 'llvmpipe', 'nouveau', 'nv50', 'nvfx'])) opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys, - ['xlib', 'vmware', 'intel', 'i965', 'gdi', 'radeon'])) + ['xlib', 'vmware', 'i915', 'i965', 'gdi', 'radeon', 'r600', 'graw-xlib'])) + +opts.Add(ListVariable('targets', 'driver targets to build', default_targets, + ['dri-i915', + 'dri-i965', + 'dri-nouveau', + 'dri-radeong', + 'dri-swrast', + 'dri-vmwgfx', + 'egl-i915', + 'egl-i965', + 'egl-nouveau', + 'egl-radeon', + 'egl-swrast', + 'egl-vmwgfx', + 'graw-xlib', + 'graw-null', + 'libgl-gdi', + 'libgl-xlib', + 'xorg-i915', + 'xorg-i965', + 'xorg-nouveau', + 'xorg-radeon', + 'xorg-vmwgfx'])) opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) @@ -81,13 +105,6 @@ debug = env['debug'] dri = env['dri'] 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' @@ -100,7 +117,6 @@ Export([ 'x86', 'ppc', 'dri', - 'drawllvm', 'platform', 'gcc', 'msvc', @@ -110,15 +126,27 @@ Export([ ####################################################################### # Environment setup -# Always build trace and identity drivers +# Always build trace, rbug, identity, softpipe, and llvmpipe (where possible) if 'trace' not in env['drivers']: env['drivers'].append('trace') +if 'rbug' not in env['drivers']: + env['drivers'].append('rbug') +if 'galahad' not in env['drivers']: + env['drivers'].append('galahad') if 'identity' not in env['drivers']: env['drivers'].append('identity') +if 'softpipe' not in env['drivers']: + env['drivers'].append('softpipe') +if env['llvm'] and 'llvmpipe' not in env['drivers']: + env['drivers'].append('llvmpipe') +if 'sw' not in env['drivers']: + env['drivers'].append('sw') # Includes -env.Append(CPPPATH = [ +env.Prepend(CPPPATH = [ '#/include', +]) +env.Append(CPPPATH = [ '#/src/gallium/include', '#/src/gallium/auxiliary', '#/src/gallium/drivers', @@ -153,45 +181,19 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'): '_SVID_SOURCE', '_BSD_SOURCE', '_GNU_SOURCE', - 'PTHREADS', 'HAVE_POSIX_MEMALIGN', ]) + if gcc: + env.Append(CFLAGS = ['-fvisibility=hidden']) if platform == 'darwin': env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE']) - env.Append(CPPPATH = ['/usr/X11R6/include']) - env.Append(LIBPATH = ['/usr/X11R6/lib']) env.Append(LIBS = [ 'm', 'pthread', - 'expat', 'dl', ]) -# DRI -if dri: - env.ParseConfig('pkg-config --cflags --libs libdrm') - env.Append(CPPDEFINES = [ - ('USE_EXTERNAL_DXTN_LIB', '1'), - 'IN_DRI_DRIVER', - 'GLX_DIRECT_RENDERING', - 'GLX_INDIRECT_RENDERING', - ]) - -# LLVM support in the Draw module -if drawllvm: - env.Append(CPPDEFINES = ['DRAW_LLVM']) - -# libGL -if platform in ('linux', 'freebsd', 'darwin'): - env.Append(LIBS = [ - 'X11', - 'Xext', - 'Xxf86vm', - 'Xdamage', - 'Xfixes', - ]) - # for debugging #print env.Dump() @@ -204,38 +206,11 @@ Export('env') # TODO: Build several variants at the same time? # http://www.scons.org/wiki/SimultaneousVariantBuilds -if env['platform'] != common.default_platform: - # GLSL code has to be built twice -- one for the host OS, another for the target OS... - - host_env = Environment( - # options are ignored - # default tool is used - tools = ['default', 'custom'], - toolpath = ['#scons'], - ENV = os.environ, - ) - - host_env['platform'] = common.default_platform - host_env['machine'] = common.default_machine - host_env['debug'] = env['debug'] - - SConscript( - 'src/glsl/SConscript', - variant_dir = os.path.join(env['build'], 'host'), - duplicate = 0, # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html - exports={'env':host_env}, - ) - SConscript( 'src/SConscript', - variant_dir = env['build'], + variant_dir = env['build_dir'], 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 -)