scons:
extends: .scons-build
variables:
- SCONS_TARGET: "llvm=1 swr=1"
+ SCONS_TARGET: "llvm=1"
SCONS_CHECK_COMMAND: "scons force_scons=1 ${SCONS_TARGET} check"
script:
- SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
+++ /dev/null
-"""dxsdk
-
-Tool-specific initialization for Microsoft DirectX SDK
-
-"""
-
-#
-# Copyright (c) 2009 VMware, Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-import os
-import os.path
-
-import SCons.Errors
-import SCons.Util
-
-
-def get_dxsdk_root(env):
- try:
- return os.environ['DXSDK_DIR']
- except KeyError:
- return None
-
-def generate(env):
- dxsdk_root = get_dxsdk_root(env)
- if dxsdk_root is None:
- # DirectX SDK not found
- return
-
- if env['machine'] in ('generic', 'x86'):
- target_cpu = 'x86'
- elif env['machine'] == 'x86_64':
- target_cpu = 'x64'
- else:
- raise SCons.Errors.InternalError("Unsupported target machine")
-
- include_dir = os.path.join(dxsdk_root, 'Include')
- lib_dir = os.path.join(dxsdk_root, 'Lib', target_cpu)
-
- env.Append(CPPDEFINES = [('HAVE_DXSDK', '1')])
-
- gcc = 'gcc' in os.path.basename(env['CC']).split('-')
- if gcc:
- # Make GCC more forgiving towards Microsoft's headers
- env.Prepend(CPPFLAGS = ['-isystem', include_dir])
- else:
- env.Prepend(CPPPATH = [include_dir])
-
- env.Prepend(LIBPATH = [lib_dir])
-
-def exists(env):
- return get_dxsdk_root(env) is not None
-
-# vim:set ts=4 sw=4 et:
SConscript('mapi/glapi/gen/SConscript')
SConscript('mapi/glapi/SConscript')
-# Haiku C++ libGL dispatch (renderers depend on libgl)
-if env['platform'] in ['haiku']:
- SConscript('hgl/SConscript')
-
SConscript('mesa/SConscript')
-if not env['embedded']:
- if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'):
- SConscript('glx/SConscript')
- if env['platform'] == 'haiku':
- SConscript('egl/SConscript')
-
SConscript('gallium/SConscript')
+++ /dev/null
-#######################################################################
-# SConscript for EGL
-
-
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#/include',
- '#/include/HaikuGL',
- '#/src/egl/main',
- '#/src',
-])
-
-
-# parse Makefile.sources
-egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES')
-
-env.Append(CPPDEFINES = [
- '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_HAIKU',
- '_EGL_BUILT_IN_DRIVER_HAIKU',
- 'HAVE_HAIKU_PLATFORM',
-])
-egl_sources.append('drivers/haiku/egl_haiku.cpp')
-
-env.Prepend(LIBS = [mesautil])
-
-egl = env.SharedLibrary(
- target = 'EGL',
- source = egl_sources,
-)
-
-egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))
-
-env.Alias('egl', egl)
'drivers/llvmpipe/SConscript',
'drivers/softpipe/SConscript',
'drivers/svga/SConscript',
- 'drivers/swr/SConscript',
])
#
'winsys/sw/gdi/SConscript',
])
-if env['platform'] == 'haiku':
- SConscript([
- 'winsys/sw/hgl/SConscript',
- ])
-
-if env['dri']:
- SConscript([
- 'winsys/sw/dri/SConscript',
- 'winsys/svga/drm/SConscript',
- ])
-
#
# State trackers and targets
#
-SConscript([
- 'targets/graw-null/SConscript',
-])
-
if not env['embedded']:
- SConscript([
- 'state_trackers/osmesa/SConscript',
- 'targets/osmesa/SConscript',
- ])
-
if env['x11']:
SConscript([
'state_trackers/glx/xlib/SConscript',
- 'targets/graw-xlib/SConscript',
'targets/libgl-xlib/SConscript',
])
if env['platform'] == 'windows':
SConscript([
'state_trackers/wgl/SConscript',
- 'targets/graw-gdi/SConscript',
'targets/libgl-gdi/SConscript',
])
-
- if env['platform'] == 'haiku':
- SConscript([
- 'state_trackers/hgl/SConscript',
- 'targets/haiku-softpipe/SConscript',
- ])
-
- if env['dri']:
- SConscript([
- 'state_trackers/dri/SConscript',
- 'targets/dri/SConscript',
- ])
-
-
-#
-# Unit tests & tools
-#
-
-if not env['embedded']:
- SConscript('tests/unit/SConscript')
- SConscript('tests/graw/SConscript')
+++ /dev/null
-Import('*')
-
-from sys import executable as python_cmd
-import os.path
-import distutils.version
-
-if not env['swr']:
- Return()
-
-if not env['llvm']:
- print('warning: LLVM disabled: not building swr')
- env['swr'] = False
- Return()
-
-if env['LLVM_VERSION'] < distutils.version.LooseVersion('6.0'):
- print("warning: swr requires LLVM >= 6.0: not building swr")
- env['swr'] = False
- Return()
-
-env.MSVC2013Compat()
-
-env = env.Clone()
-
-# construct llvm include dir
-if env['platform'] == 'windows':
- # on windows there is no llvm-config, so LLVM is defined
- llvm_includedir = os.path.join(os.environ['LLVM'], 'include')
-else:
- llvm_config = os.environ.get('LLVM_CONFIG', 'llvm-config')
- llvm_includedir = env.backtick('%s --includedir' % llvm_config).rstrip()
- print("llvm include dir %s" % llvm_includedir)
-
-if not env['msvc'] :
- env.Append(CCFLAGS = [
- '-std=c++14',
- ])
-
-swrroot = '#src/gallium/drivers/swr/'
-srcroot = Dir(swrroot).abspath
-bldroot = Dir('.').abspath
-
-env.CodeGenerate(
- target = 'rasterizer/codegen/gen_knobs.cpp',
- script = swrroot + 'rasterizer/codegen/gen_knobs.py',
- source = '',
- command = python_cmd + ' $SCRIPT --output $TARGET --gen_cpp'
-)
-Depends('rasterizer/codegen/gen_knobs.cpp',
- swrroot + 'rasterizer/codegen/templates/gen_knobs.cpp')
-
-env.CodeGenerate(
- target = 'rasterizer/codegen/gen_knobs.h',
- script = swrroot + 'rasterizer/codegen/gen_knobs.py',
- source = '',
- command = python_cmd + ' $SCRIPT --output $TARGET --gen_h'
-)
-Depends('rasterizer/codegen/gen_knobs.h',
- swrroot + 'rasterizer/codegen/templates/gen_knobs.h')
-
-env.CodeGenerate(
- target = 'rasterizer/jitter/gen_state_llvm.h',
- script = swrroot + 'rasterizer/codegen/gen_llvm_types.py',
- source = 'rasterizer/core/state.h',
- command = python_cmd + ' $SCRIPT --input $SOURCE --output $TARGET'
-)
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_llvm.hpp')
-
-env.CodeGenerate(
- target = 'rasterizer/jitter/gen_builder.hpp',
- script = swrroot + 'rasterizer/codegen/gen_llvm_ir_macros.py',
- source = os.path.join(llvm_includedir, 'llvm/IR/IRBuilder.h'),
- command = python_cmd + ' $SCRIPT --input $SOURCE --output ' + bldroot + '/rasterizer/jitter --gen_h'
-)
-Depends('rasterizer/jitter/gen_builder.hpp',
- swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
-
-env.CodeGenerate(
- target = 'rasterizer/jitter/gen_builder_meta.hpp',
- script = swrroot + 'rasterizer/codegen/gen_llvm_ir_macros.py',
- source = '',
- command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_meta_h'
-)
-Depends('rasterizer/jitter/gen_builder.hpp',
- swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
-
-env.CodeGenerate(
- target = 'rasterizer/jitter/gen_builder_intrin.hpp',
- script = swrroot + 'rasterizer/codegen/gen_llvm_ir_macros.py',
- source = '',
- command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_intrin_h'
-)
-Depends('rasterizer/jitter/gen_builder.hpp',
- swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
-
-env.CodeGenerate(
- target = './gen_swr_context_llvm.h',
- script = swrroot + 'rasterizer/codegen/gen_llvm_types.py',
- source = 'swr_context.h',
- command = python_cmd + ' $SCRIPT --input $SOURCE --output $TARGET'
-)
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_llvm.hpp')
-
-env.CodeGenerate(
- target = './gen_surf_state_llvm.h',
- script = swrroot + 'rasterizer/codegen/gen_llvm_types.py',
- source = 'rasterizer/memory/SurfaceState.h',
- command = python_cmd + ' $SCRIPT --input $SOURCE --output $TARGET'
-)
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_llvm.hpp')
-
-
-env.CodeGenerate(
- script = swrroot + 'rasterizer/codegen/gen_archrast.py',
- target = ['rasterizer/archrast/gen_ar_event.hpp',
- 'rasterizer/archrast/gen_ar_event.cpp',
- 'rasterizer/archrast/gen_ar_eventhandler.hpp',
- 'rasterizer/archrast/gen_ar_eventhandlerfile.hpp'],
- source = [srcroot + '/rasterizer/archrast/events.proto',
- srcroot + '/rasterizer/archrast/events_private.proto'],
- command = python_cmd + ' $SCRIPT --proto $SOURCES --output-dir ' + bldroot + '/rasterizer/archrast')
-Depends('rasterizer/archrast/gen_ar_event.hpp',
- swrroot + 'rasterizer/archrast/events_private.proto')
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_ar_event.hpp')
-Depends('rasterizer/archrast/gen_ar_event.cpp',
- swrroot + 'rasterizer/archrast/events_private.proto')
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_ar_event.cpp')
-Depends('rasterizer/archrast/gen_ar_eventhandler.hpp',
- swrroot + 'rasterizer/archrast/events_private.proto')
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_ar_eventhandler.hpp')
-Depends('rasterizer/archrast/gen_ar_eventhandlerfile.hpp',
- swrroot + 'rasterizer/archrast/events_private.proto')
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp')
-
-# 5 SWR_MULTISAMPLE_TYPE_COUNT
-# 2 SWR_MSAA_SAMPLE_PATTERN_COUNT
-# 3 SWR_INPUT_COVERAGE_COUNT
-# 2 centroid
-# 2 forcedSampleCount
-# 2 canEarlyZ
-backendPixelRateFileCount = 4
-backendPixelRateFilePat = "rasterizer/core/backends/gen_BackendPixelRate%s.cpp"
-backendPixelRateFiles = list(backendPixelRateFilePat % x for x in range(0, backendPixelRateFileCount))
-env.CodeGenerate(
- target = 'rasterizer/core/backends/gen_BackendPixelRate.hpp',
- script = swrroot + 'rasterizer/codegen/gen_backends.py',
- source = '',
- command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/rasterizer/core/backends --dim 5 2 3 2 2 2 --numfiles ' + str(backendPixelRateFileCount) + ' --cpp --hpp'
- )
-Depends(backendPixelRateFiles,
- ['rasterizer/core/backends/gen_BackendPixelRate.hpp',
- 'rasterizer/archrast/gen_ar_event.hpp',
- 'rasterizer/archrast/gen_ar_eventhandler.hpp',
- 'rasterizer/codegen/gen_knobs.h']
- )
-
-# 5 SWR_MULTISAMPLE_TYPE_COUNT
-# 2 CenterPattern
-# 2 Conservative
-# 3 SWR_INPUT_COVERAGE_COUNT
-# 5 STATE_VALID_TRI_EDGE_COUNT
-# 2 RasterScissorEdges
-genRasterizerFileCount = 4
-genRasterizerFilePat = "rasterizer/core/backends/gen_rasterizer%s.cpp"
-genRasterizerFiles = list(genRasterizerFilePat % x for x in range(0, genRasterizerFileCount))
-env.CodeGenerate(
- target = 'rasterizer/core/backends/gen_rasterizer.hpp',
- script = swrroot + 'rasterizer/codegen/gen_backends.py',
- source = '',
- command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/rasterizer/core/backends --rast --dim 5 2 2 3 5 2 --numfiles ' + str(genRasterizerFileCount) + ' --cpp --hpp'
- )
-Depends(genRasterizerFiles,
- ['rasterizer/core/backends/gen_rasterizer.hpp',
- 'rasterizer/archrast/gen_ar_event.hpp',
- 'rasterizer/archrast/gen_ar_eventhandler.hpp',
- 'rasterizer/codegen/gen_knobs.h']
- )
-
-Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_backend.cpp')
-
-# Auto-generated .cpp files (that need to generate object files)
-built_sources = [
- 'rasterizer/codegen/gen_knobs.cpp',
- 'rasterizer/archrast/gen_ar_event.cpp',
- ]
-
-built_sources += [backendPixelRateFiles, genRasterizerFiles]
-
-source = built_sources
-source += env.ParseSourceList(swrroot + 'Makefile.sources', [
- 'ARCHRAST_CXX_SOURCES',
- 'COMMON_CXX_SOURCES',
- 'CORE_CXX_SOURCES',
- 'MEMORY_CXX_SOURCES'
-])
-
-env.Prepend(CPPPATH = [
- '.',
- 'rasterizer',
- 'rasterizer/codegen',
- 'rasterizer/core',
- 'rasterizer/jitter',
- 'rasterizer/archrast',
- ])
-
-# AVX lib
-envavx = env.Clone()
-
-envavx.Append(CPPDEFINES = ['KNOB_ARCH=KNOB_ARCH_AVX'])
-if env['msvc']:
- envavx.Append(CCFLAGS = ['/arch:AVX'])
-else:
- envavx.Append(CCFLAGS = ['-mavx'])
-
-swrAVX = envavx.SharedLibrary(
- target = 'swrAVX',
- source = source,
- OBJPREFIX = 'avx_'
- )
-env.Alias('swrAVX', swrAVX)
-
-# AVX2 lib
-envavx2 = env.Clone()
-
-envavx2.Append(CPPDEFINES = ['KNOB_ARCH=KNOB_ARCH_AVX2'])
-if env['msvc']:
- envavx2.Append(CCFLAGS = ['/arch:AVX2'])
-else:
- envavx2.Append(CCFLAGS = ['-mavx2', '-mfma', '-mbmi2', '-mf16c'])
-
-swrAVX2 = envavx2.SharedLibrary(
- target = 'swrAVX2',
- source = source,
- OBJPREFIX = 'avx2_'
- )
-env.Alias('swrAVX2', swrAVX2)
-
-source = env.ParseSourceList(swrroot + 'Makefile.sources', [
- 'CXX_SOURCES',
- 'COMMON_CXX_SOURCES',
- 'JITTER_CXX_SOURCES',
- 'LOADER_SOURCES'
-])
-source += [
- 'rasterizer/codegen/gen_knobs.cpp',
- 'rasterizer/archrast/gen_ar_event.cpp',
- ]
-
-# main SWR lib
-envSWR = envavx.Clone() # pick up the arch flag for intrinsic usage
-envSWR.Append(CPPDEFINES = ['HAVE_SWR_AVX', 'HAVE_SWR_AVX2'])
-swr = envSWR.ConvenienceLibrary(
- target = 'swr',
- source = source,
- )
-
-# treat arch libs as dependencies, even though they are not linked
-# into swr, so we don't have to build them separately
-Depends(swr, ['swrAVX', 'swrAVX2'])
-
-env.Alias('swr', swr)
-
-env.Prepend(LIBS = [swr])
-
-Export('swr')
+++ /dev/null
-#######################################################################
-# SConscript for dri state_tracker
-
-Import('*')
-
-env = env.Clone()
-
-env.PkgUseModules(['DRM'])
-
-env.Append(CPPPATH = [
- '#/src',
- '#/src/mapi',
- '#/src/mesa',
- '#/src/mesa/drivers/dri/common',
- xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
-])
-
-sources = env.ParseSourceList('Makefile.sources', 'common_SOURCES')
-
-# XXX: if HAVE_DRISW
-sources.append(env.ParseSourceList('Makefile.sources', 'drisw_SOURCES'))
-
-# XXX: if HAVE_DRI2
-sources.append(env.ParseSourceList('Makefile.sources', 'dri2_SOURCES'))
-
-st_dri = env.ConvenienceLibrary(
- target = 'st_dri',
- source = sources
-)
-Export('st_dri')
+++ /dev/null
-#######################################################################
-# SConscript for Haiku state_tracker
-
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#/src',
- '#/src/mapi',
- '#/src/mesa',
- '#/include/HaikuGL',
-])
-
-sources = [
- 'hgl.c',
- 'bitmap_wrapper.cpp',
-]
-
-st_haiku = env.ConvenienceLibrary(
- target = 'st_haiku',
- source = sources
-)
-Export('st_haiku')
+++ /dev/null
-import os
-
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#src/mapi',
- '#src/mesa',
- '.',
-])
-
-if env['platform'] == 'windows':
- env.AppendUnique(CPPDEFINES = [
- 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
- 'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx
- '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
- ])
-
-st_osmesa = env.ConvenienceLibrary(
- target ='st_osmesa',
- source = env.ParseSourceList('Makefile.sources', 'C_SOURCES'),
-)
-Export('st_osmesa')
+++ /dev/null
-Import('*')
-
-env = drienv.Clone()
-
-if env['suncc']:
- print('warning: not building dri-vmwgfx')
- Return()
-
-env.Append(CPPPATH = [
- '#/src/loader',
- '#/src/mapi',
- '#/src/mesa',
- '#/src/mesa/drivers/dri/common',
- '#/src/gallium/state_trackers/dri',
-])
-
-if env['llvm']:
- env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
- env.Prepend(LIBS = [llvmpipe])
-
-env.PkgUseModules('DRM')
-
-env.Append(CPPDEFINES = [
- 'GALLIUM_VMWGFX',
- 'GALLIUM_SOFTPIPE',
-])
-
-env.Prepend(LIBS = [
- st_dri,
- svgadrm,
- svga,
- ws_dri,
- softpipe,
- pipe_loader,
- libloader,
- mesautil,
- compiler,
- mesa,
- glsl,
- nir,
- spirv,
- gallium,
- megadrivers_stub,
- dri_common,
-])
-
-module = env.LoadableModule(
- target = 'gallium_dri.so',
- source = 'target.c',
- SHLIBPREFIX = '',
-)
-
-# vmwgfx_dri.so
-env.Command('vmwgfx_dri.so', 'gallium_dri.so', "ln -f ${SOURCE} ${TARGET}")
-# swrast_dri.so
-env.Command('swrast_dri.so', 'gallium_dri.so', "ln -f ${SOURCE} ${TARGET}")
-
-env.Alias('dri-vmwgfx', module)
-env.Alias('dri-swrast', module)
+++ /dev/null
-#######################################################################
-# SConscript for graw-gdi
-
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#src/gallium/winsys/sw',
-])
-
-env.Prepend(LIBS = [
- compiler,
- mesautil,
- gallium,
- nir,
- 'gdi32',
- 'user32',
- 'ws2_32',
-])
-
-sources = [
- 'graw_gdi.c',
- graw_util,
-]
-
-if True:
- env.Append(CPPDEFINES = ['GALLIUM_SOFTPIPE'])
- env.Prepend(LIBS = [softpipe])
-
-if env['llvm']:
- env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
- env.Prepend(LIBS = [llvmpipe])
-
-graw = env.SharedLibrary(
- target = 'graw',
- source = sources,
- LIBS = ws_gdi + env['LIBS'],
-)
-
-if env['platform'] == 'windows':
- graw = env.FindIxes(graw, 'LIBPREFIX', 'LIBSUFFIX')
-else:
- graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX')
-
-env.Alias('graw-gdi', graw)
+++ /dev/null
-#######################################################################
-# SConscript for xlib winsys
-
-Import('*')
-
-env = env.Clone()
-
-graw_util = env.SharedObject(
- source = ['graw_util.c'],
-)
-
-env = env.Clone()
-
-sources = [
- 'graw_null.c',
- graw_util,
-]
-
-env.Prepend(LIBS = [mesautil, gallium])
-
-# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
-graw = env.SharedLibrary(
- target = 'graw',
- source = sources,
-)
-
-if env['platform'] == 'windows':
- graw = env.FindIxes(graw, 'LIBPREFIX', 'LIBSUFFIX')
-else:
- graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX')
-
-Export('graw_util', 'graw')
+++ /dev/null
-#######################################################################
-# SConscript for xlib winsys
-
-Import('*')
-
-env = env.Clone()
-
-env.Prepend(LIBS = [
- ws_xlib,
- compiler,
- mesautil,
- gallium,
- nir,
-])
-
-env.Append(LIBS = env['X11_LIBS'])
-env.Append(LIBPATH = env['X11_LIBPATH'])
-
-env.Append(CPPPATH = [
- '#src/gallium/drivers',
- '#src/gallium/include/state_tracker',
- '#src/gallium/winsys',
-])
-
-sources = [
- 'graw_xlib.c',
- graw_util
-]
-
-if True:
- env.Append(CPPDEFINES = ['GALLIUM_SOFTPIPE'])
- env.Prepend(LIBS = [softpipe])
-
-if env['llvm']:
- env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
- env.Prepend(LIBS = [llvmpipe])
-
-graw = env.SharedLibrary(
- target ='graw',
- source = sources,
-)
-
-graw = env.InstallSharedLibrary(graw, version=(1, 0))
-
-env.Alias('graw-xlib', graw)
+++ /dev/null
-Import('*')
-
-env.Prepend(LIBS = [
- ws_haiku,
- st_haiku,
- mesautil,
- compiler,
- mesa,
- glsl,
- nir,
- spirv,
- gallium
-])
-
-if True:
- env.Append(CPPDEFINES = [
- 'GALLIUM_SOFTPIPE',
- ])
- env.Prepend(LIBS = [softpipe])
-
-env.Prepend(LIBS = [libgl])
-
-env.Append(CPPPATH = [
- '#/src/mapi',
- '#/src/mesa',
- '#/src/mesa/main',
- '#/include/HaikuGL',
- '#/src/gallium/winsys',
- '#/src/gallium/state_trackers/hgl',
- '/boot/system/develop/headers/private',
-])
-
-if env['llvm']:
- env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE'])
- env.Prepend(LIBS = [llvmpipe])
-
-softpipe_sources = [
- 'GalliumContext.cpp',
- 'SoftwareRenderer.cpp'
-]
-
-# libswpipe gets turned into "Softpipe" by the haiku package system
-module = env.LoadableModule(
- target ='swpipe',
- source = softpipe_sources,
-)
-
env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
drivers += [llvmpipe]
- if env['swr']:
- env.Append(CPPDEFINES = 'GALLIUM_SWR')
- drivers += [swr]
-
if env['gcc'] and env['machine'] != 'x86_64':
# DEF parser in certain versions of MinGW is busted, as does not behave as
# MSVC. mingw-w64 works fine.
env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE'])
env.Prepend(LIBS = [llvmpipe])
- if env['swr']:
- env.Append(CPPDEFINES = 'GALLIUM_SWR')
- env.Prepend(LIBS = [swr])
-
if env['platform'] != 'darwin':
# Disallow undefined symbols, except with Address Sanitizer, since libasan
# is not linked on shared libs, as it should be LD_PRELOAD'ed instead
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '#src/mapi',
- '#src/mesa',
- #Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
-])
-
-env.Prepend(LIBS = [
- st_osmesa,
- ws_null,
- glapi,
- compiler,
- mesa,
- gallium,
- glsl,
- nir,
- spirv,
- mesautil,
- softpipe
-])
-
-env.Append(CPPDEFINES = ['GALLIUM_SOFTPIPE'])
-
-sources = ['target.c']
-
-if env['llvm']:
- env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
- env.Prepend(LIBS = [llvmpipe])
-
- if env['swr']:
- env.Append(CPPDEFINES = 'GALLIUM_SWR')
- env.Prepend(LIBS = [swr])
-
-if env['platform'] == 'windows':
- if env['gcc'] and env['machine'] != 'x86_64':
- sources += ['osmesa.mingw.def']
- else:
- sources += ['osmesa.def']
- # Link with winsock2 library
- env.Append(LIBS = ['ws2_32'])
-
-
-gallium_osmesa = env.SharedLibrary(
- target ='osmesa',
- source = sources,
- LIBS = env['LIBS'],
-)
-
-env.Alias('osmesa', gallium_osmesa)
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.Prepend(LIBS = [mesautil, gallium])
-
-env.Prepend(LIBPATH = [graw.dir])
-env.Prepend(LIBS = ['graw'])
-
-
-if env['platform'] in ('freebsd8', 'sunos'):
- env.Append(LIBS = ['m'])
-
-if env['platform'] == 'freebsd8':
- env.Append(LIBS = ['pthread'])
-
-progs = [
- 'clear',
- 'disasm',
- 'fs-fragcoord',
- 'fs-frontface',
- 'fs-test',
- 'fs-write-z',
- 'gs-test',
- 'occlusion-query',
- 'quad-sample',
- 'quad-tex',
- 'shader-leak',
- 'tex-srgb',
- 'tex-swizzle',
- 'tri',
- 'tri-large',
- 'tri-gs',
- 'tri-instanced',
- 'vs-test',
-]
-
-for name in progs:
- program = env.Program(
- target = name,
- source = name + '.c',
- )
- #env.Depends(program, graw)
- env.Alias('graw-progs', program)
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.Prepend(LIBS = [mesautil, gallium])
-
-if env['platform'] in ('freebsd8', 'sunos'):
- env.Append(LIBS = ['m'])
-
-if env['platform'] == 'freebsd8':
- env.Append(LIBS = ['pthread'])
-
-progs = [
- 'pipe_barrier_test',
- 'u_cache_test',
- 'u_half_test',
- 'translate_test'
-]
-
-for progname in progs:
- prog = env.Program(
- target = progname,
- source = progname + '.c',
- )
- if progname not in [
- 'u_cache_test', # too long
- 'translate_test', # unreliable
- ]:
- env.UnitTest(progname, prog)
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.PkgUseModules('DRM')
-
-env.Append(CPPDEFINES = [
- '-D_FILE_OFFSET_BITS=64',
-])
-
-env.Prepend(CPPPATH = [
- '#/src/gallium/drivers/svga',
- '#/src/gallium/drivers/svga/include',
-])
-
-sources = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
-
-svgadrm = env.ConvenienceLibrary(
- target = 'svgadrm',
- source = sources,
-)
-
-Export('svgadrm')
+++ /dev/null
-#######################################################################
-# SConscript for xlib winsys
-
-
-Import('*')
-
-if env['platform'] in ('linux', 'sunos'):
-
- env = env.Clone()
-
- env.Append(CPPPATH = [
- '#/src/gallium/include',
- '#/src/gallium/auxiliary',
- ])
-
- ws_dri = env.ConvenienceLibrary(
- target = 'ws_dri',
- source = env.ParseSourceList('Makefile.sources', 'C_SOURCES'),
- )
- Export('ws_dri')
+++ /dev/null
-Import('*')
-
-if not env['x11'] or not env['xcb'] or not env['drm']:
- Return()
-
-from sys import executable as python_cmd
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '.', # the build/<platform>/glx/ directory
- '#include',
- '#include/GL/internal',
- '#src/',
- '#src/loader',
- '#src/mesa',
- '#src/mapi',
- '#src/mapi/glapi',
- #$(LIBDRM_CFLAGS)
- #$(DRI2PROTO_CFLAGS)
- #$(GLPROTO_CFLAGS)
- #$(X11_INCLUDES)
-])
-
-env.Append(CPPDEFINES = [
- '_REENTRANT',
-])
-
-env.Prepend(LIBS = [
- libloader,
- mesautil,
- glapi
-])
-
-env.PkgUseModules('X11')
-env.PkgUseModules('XCB')
-env.PkgUseModules('DRM')
-env.PkgUseModules('XF86VIDMODE')
-
-sources = [
- 'clientattrib.c',
- 'clientinfo.c',
- 'create_context.c',
- 'compsize.c',
- 'eval.c',
- 'glx_error.c',
- 'glxconfig.c',
- 'glxcmds.c',
- 'glxcurrent.c',
- 'glxext.c',
- 'glxextensions.c',
- 'indirect_glx.c',
- 'indirect.c',
- 'indirect_init.c',
- 'indirect_size.c',
- 'indirect_window_pos.c',
- 'indirect_texture_compression.c',
- 'indirect_transpose_matrix.c',
- 'indirect_vertex_array.c',
- 'indirect_vertex_program.c',
- 'pixel.c',
- 'pixelstore.c',
- 'query_renderer.c',
- 'render2.c',
- 'renderpix.c',
- 'single2.c',
- 'singlepix.c',
- 'vertarr.c',
- 'xfont.c',
- 'glx_pbuffer.c',
- 'glx_query.c',
- 'drisw_glx.c',
- 'dri_common.c',
- 'dri_glx.c',
- 'XF86dri.c',
- 'glxhash.c',
- 'dri2_glx.c',
- 'dri2.c',
- 'dri_common_query_renderer.c',
- 'dri_common_interop.c',
- #'dri3_glx.c',
- 'applegl_glx.c',
-]
-
-libgl = env.SharedLibrary(
- target ='GL',
- source = sources,
-)
-
-
-# Generate GLX-specific .c and .h files here. Other GL API-related
-# files are used, but they're generated in mapi/glapi/gen/ since they're
-# used by other targets as well.
-
-GLAPI = '#src/mapi/glapi/'
-sources = [GLAPI + 'gen/gl_API.xml'] + env.Glob(GLAPI + 'gen/*.xml')
-
-env.CodeGenerate(
- target = 'indirect.c',
- script = GLAPI + 'gen/glX_proto_send.py',
- source = sources,
- command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
- )
-
-env.CodeGenerate(
- target = 'indirect_size.c',
- script = GLAPI + 'gen/glX_proto_size.py',
- source = sources,
- command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
-)
-
-env.CodeGenerate(
- target = 'indirect_init.c',
- script = GLAPI + 'gen/glX_proto_send.py',
- source = sources,
- command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
-)
-
-env.CodeGenerate(
- target = 'indirect_size.h',
- script = GLAPI + 'gen/glX_proto_size.py',
- source = sources,
- command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set --header-tag _INDIRECT_SIZE_H > $TARGET'
-)
-
-env.CodeGenerate(
- target = 'indirect.h',
- script = GLAPI + 'gen/glX_proto_send.py',
- source = sources,
- command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
- )
-
-
-libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
-
-env.Alias('glx', libgl)
-env.Alias('libgl', libgl)
+++ /dev/null
-#######################################################################
-# SConscript for Haiku OpenGL kit
-
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#/src',
- '#/src/mapi',
- '#/src/mesa',
- '#/src/mesa/main',
- '#/include/HaikuGL',
- '/boot/system/develop/headers/private',
- Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
-])
-
-env.Prepend(LIBS = [
- glapi
-])
-
-sources = [
- 'GLView.cpp',
- 'GLRenderer.cpp',
- 'GLRendererRoster.cpp',
- 'GLDispatcher.cpp',
-]
-
-# libGL.so
-libgl = env.SharedLibrary(
- target ='GL',
- source = sources,
- SHLIBSUFFIX = env['SHLIBSUFFIX'],
-)
-
-env.Alias('libgl-haiku', libgl)
-Export('libgl')
+++ /dev/null
-#######################################################################
-# SConscript for shared-glapi/es1api/es2api
-
-from sys import executable as python_cmd
-
-Import('*')
-
-def mapi_objects(env, printer, mode):
- """Return mapi objects built for the given printer and mode."""
- mapi_sources = {
- 'glapi': [
- 'entry.c',
- 'mapi_glapi.c',
- 'stub.c',
- 'table.c',
- 'u_current.c',
- 'u_execmem.c',
- ],
- 'bridge': ['entry.c'],
- }
- mapi_defines = {
- 'glapi': ['MAPI_MODE_GLAPI'],
- 'bridge': ['MAPI_MODE_BRIDGE'],
- }
-
- header_name = '%s-tmp.h' % (printer)
-
- # generate ABI header
- GLAPI = '../glapi/'
- if printer != 'glapi':
- if printer == 'es1api':
- abi_tag = 'glesv1'
- else:
- abi_tag = 'glesv2'
-
- header = env.CodeGenerate(
- target = header_name,
- script = '../new/gen_gldispatch_mapi.py',
- source = GLAPI + 'registry/gl.xml'
- command = python_cmd + ' $SCRIPT ' + \
- '%s $SOURCE > $TARGET' % (abi_tag),
- )
- else:
- header = env.CodeGenerate(
- target = header_name,
- script = '../mapi_abi.py',
- source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
- command = python_cmd + ' $SCRIPT ' + \
- '--printer %s $SOURCE > $TARGET' % (printer),
- )
-
- cpppath = [
- header[0].dir,
- '#/include',
- '#/src',
- '#/src/mapi',
- ]
-
- cppdefines = mapi_defines[mode] + [
- 'MAPI_ABI_HEADER=\\"%s\\"' % (header_name),
- ]
-
- if env['platform'] == 'windows':
- if mode == 'glapi':
- cppdefines += [
- '_GLAPI_DLL_EXPORTS', # declare _glapi_* as __declspec(dllexport) in glapi.h
- ]
- else:
- cppdefines += [
- '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
- 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
- ]
-
- objects = []
- for s in mapi_sources[mode]:
- o = env.SharedObject(
- target = '%s-%s' % (printer, s[:-2]),
- source = '../' + s,
- CPPPATH = cpppath,
- CPPDEFINES = cppdefines,
- )
- objects.append(o[0])
-
- env.Depends(objects, header)
-
- return objects
-
-env = env.Clone()
-
-env['SHLIBPREFIX'] = 'lib'
-env['LIBPREFIX'] = 'lib'
-
-shared_glapi_objects = mapi_objects(env, 'shared-glapi', 'glapi')
-shared_glapi = env.SharedLibrary(
- target = 'glapi',
- source = shared_glapi_objects,
-)
-
-# manually add LIBPREFIX on windows
-if env['platform'] == 'windows':
- libs = ['libglapi']
-else:
- libs = ['glapi']
-
-es1api_objects = mapi_objects(env, 'es1api', 'bridge')
-es1api = env.SharedLibrary(
- target = 'GLESv1_CM',
- source = es1api_objects,
- LIBPATH = ['.'],
- LIBS = libs,
-)
-
-es2api_objects = mapi_objects(env, 'es2api', 'bridge')
-es2api = env.SharedLibrary(
- target = 'GLESv2',
- source = es2api_objects,
- LIBPATH = ['.'],
- LIBS = libs,
-)
-
-env.InstallSharedLibrary(shared_glapi, version=(0, 0, 0))
-env.InstallSharedLibrary(es1api, version=(1, 0, 0))
-env.InstallSharedLibrary(es2api, version=(2, 0, 0))
-
-if env['platform'] == 'windows':
- shared_glapi = env.FindIxes(shared_glapi, 'LIBPREFIX', 'LIBSUFFIX')
-else:
- shared_glapi = env.FindIxes(shared_glapi, 'SHLIBPREFIX', 'SHLIBSUFFIX')
-
-Export(['shared_glapi'])
env.Alias('mesa', mesa)
Export('mesa')
-
-SConscript('drivers/SConscript')
+++ /dev/null
-Import('*')
-
-SConscript('osmesa/SConscript')
-
-if env['x11']:
- SConscript('x11/SConscript')
-
-if env['dri']:
- SConscript([
- 'dri/common/SConscript',
- ])
+++ /dev/null
-###################################
-# SConcscript file for dri targets
-
-Import('*')
-
-drienv = env.Clone()
-
-drienv.Replace(CPPPATH = [
- '#src/mesa/drivers/dri/common',
- '#include',
- '#include/GL/internal',
- '#src',
- '#src/mapi',
- '#src/gallium/include',
- '#src/gallium/auxiliary',
- '#src/gallium/drivers',
- '#src/gallium/winsys',
- '#src/mesa',
- '#src/mesa/main',
- '#src/mesa/glapi',
- '#src/mesa/math',
- '#src/mesa/transform',
- '#src/mesa/shader',
- '#src/mesa/swrast',
- '#src/mesa/swrast_setup',
- '#src/egl/main',
- '#src/egl/drivers/dri',
- xmlpool_options.dir.dir,
-])
-
-sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES'])
-
-dri_common = drienv.ConvenienceLibrary(
- target = 'dri_common',
- source = sources,
-)
-
-#
-# megadrivers_stub
-#
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#/include',
- '#/src/',
- '#/src/mapi',
- '#/src/mesa',
-])
-
-env.Append(CPPDEFINES = [
- 'HAVE_DLADDR',
-])
-
-sources = env.ParseSourceList('Makefile.sources', 'megadriver_stub_FILES')
-
-megadrivers_stub = env.ConvenienceLibrary(
- target = 'megadrivers_stub',
- source = sources,
-)
-
-env.Alias('megadrivers_stub', megadrivers_stub)
-
-Export([
- 'drienv',
- 'dri_common',
- 'megadrivers_stub',
-])
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.Prepend(CPPPATH = [
- '#src',
- '#src/mapi',
- '#src/mesa',
- Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
- Dir('../../../mapi/glapi'), # src/mapi/glapi build path
- Dir('../../../mapi/glapi/gen'), # src/mapi/glapi build path
-])
-
-env.Prepend(LIBS = [
- mesautil,
- glapi,
- compiler,
- mesa,
- spirv,
- nir,
- glsl,
-])
-
-sources = [
- 'osmesa.c',
-]
-
-if env['platform'] == 'windows':
- env.AppendUnique(CPPDEFINES = [
- '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
- 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
- '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
- ])
-
- sources += ['osmesa.def']
-
-osmesa = env.SharedLibrary(
- target ='osmesa',
- source = sources,
-)
-
-env.Alias('osmesa', osmesa)
+++ /dev/null
-Import('*')
-
-env = env.Clone()
-
-env.Append(CPPPATH = [
- '#/src',
- '#/src/mapi',
- '#/src/mesa',
- '#/src/mesa/main',
- Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
- Dir('../../../mapi/glapi/gen'), # src/mapi/glapi/gen build path for python-generated GL API files/headers
-])
-
-env.Append(CPPDEFINES = ['USE_XSHM'])
-
-env.Prepend(LIBS = env['X11_LIBS'])
-env.Prepend(LIBPATH = env['X11_LIBPATH'])
-
-env.Prepend(LIBS = [
- glapi,
- mesautil,
- compiler,
- glsl,
- mesa,
- spirv,
- nir,
-])
-
-sources = [
- 'fakeglx.c',
- 'glxapi.c',
- 'xfonts.c',
- 'xm_api.c',
- 'xm_buffer.c',
- 'xm_dd.c',
- 'xm_line.c',
- 'xm_tri.c',
-]
-
-if env['platform'] != 'darwin':
- # Disallow undefined symbols, except with Address Sanitizer, since libasan
- # is not linked on shared libs, as it should be LD_PRELOAD'ed instead
- if not env['asan']:
- env.Append(SHLINKFLAGS = [
- '-Wl,-z,defs',
- ])
-
-# libGL.so.1.6
-libgl_1_6 = env.SharedLibrary(
- target ='GL',
- source = sources,
- SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.6',
-)
-
-# libGL.so.1
-libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}')
-libgl_1 = libgl + '.1'
-env.Command(libgl_1, libgl_1_6, "ln -sf ${SOURCE.file} ${TARGET}")
-env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}")
-
-env.Alias('libgl-xlib-swrast', libgl)