[Mesa-dev] [PATCH] scons: add target osmesa using gallium state tracker.
Jose Fonseca
jfonseca at vmware.com
Mon Apr 27 07:22:16 PDT 2015
Pushed. Thanks.
Jose
On 22/04/15 16:36, olivier.pena.80 at gmail.com wrote:
> From: Olivier Pena <opena at isagri.fr>
>
> ---
> src/gallium/SConscript | 5 ++++
> src/gallium/state_trackers/osmesa/Makefile.am | 2 ++
> src/gallium/state_trackers/osmesa/SConscript | 26 ++++++++++++++++
> src/gallium/targets/osmesa/Makefile.am | 6 +++-
> src/gallium/targets/osmesa/SConscript | 43 +++++++++++++++++++++++++++
> src/gallium/targets/osmesa/osmesa.def | 16 ++++++++++
> src/gallium/targets/osmesa/osmesa.mingw.def | 13 ++++++++
> 7 files changed, 110 insertions(+), 1 deletion(-)
> create mode 100644 src/gallium/state_trackers/osmesa/SConscript
> create mode 100644 src/gallium/targets/osmesa/SConscript
> create mode 100644 src/gallium/targets/osmesa/osmesa.def
> create mode 100644 src/gallium/targets/osmesa/osmesa.mingw.def
>
> diff --git a/src/gallium/SConscript b/src/gallium/SConscript
> index 680ad92..eeb1c78 100644
> --- a/src/gallium/SConscript
> +++ b/src/gallium/SConscript
> @@ -60,6 +60,11 @@ SConscript([
> ])
>
> if not env['embedded']:
> + SConscript([
> + 'state_trackers/osmesa/SConscript',
> + 'targets/osmesa/SConscript',
> + ])
> +
> if env['x11']:
> SConscript([
> 'state_trackers/glx/xlib/SConscript',
> diff --git a/src/gallium/state_trackers/osmesa/Makefile.am b/src/gallium/state_trackers/osmesa/Makefile.am
> index 4ba6c20..22e65c8 100644
> --- a/src/gallium/state_trackers/osmesa/Makefile.am
> +++ b/src/gallium/state_trackers/osmesa/Makefile.am
> @@ -39,3 +39,5 @@ AM_CPPFLAGS = \
> noinst_LTLIBRARIES = libosmesa.la
>
> libosmesa_la_SOURCES = $(C_SOURCES)
> +
> +EXTRA_DIST = SConscript
> diff --git a/src/gallium/state_trackers/osmesa/SConscript b/src/gallium/state_trackers/osmesa/SConscript
> new file mode 100644
> index 0000000..f5519f1
> --- /dev/null
> +++ b/src/gallium/state_trackers/osmesa/SConscript
> @@ -0,0 +1,26 @@
> +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
> + ])
> + if not env['gles']:
> + # prevent _glapi_* from being declared __declspec(dllimport)
> + env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> +
> +st_osmesa = env.ConvenienceLibrary(
> + target ='st_osmesa',
> + source = env.ParseSourceList('Makefile.sources', 'C_SOURCES'),
> +)
> +Export('st_osmesa')
> diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
> index f53823a..2c09736 100644
> --- a/src/gallium/targets/osmesa/Makefile.am
> +++ b/src/gallium/targets/osmesa/Makefile.am
> @@ -76,7 +76,11 @@ lib at OSMESA_LIB@_la_LIBADD += $(top_builddir)/src/gallium/drivers/llvmpipe/libllv
> endif
>
> EXTRA_lib at OSMESA_LIB@_la_DEPENDENCIES = osmesa.sym
> -EXTRA_DIST = osmesa.sym
> +EXTRA_DIST = \
> + osmesa.sym \
> + osmesa.def \
> + osmesa.mingw.def \
> + SConscript
>
> include $(top_srcdir)/install-gallium-links.mk
>
> diff --git a/src/gallium/targets/osmesa/SConscript b/src/gallium/targets/osmesa/SConscript
> new file mode 100644
> index 0000000..4a9115b
> --- /dev/null
> +++ b/src/gallium/targets/osmesa/SConscript
> @@ -0,0 +1,43 @@
> +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,
> + mesa,
> + gallium,
> + trace,
> + glsl,
> + mesautil,
> + softpipe
> +])
> +
> +env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_SOFTPIPE'])
> +
> +sources = ['target.c']
> +
> +if env['llvm']:
> + env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
> + env.Prepend(LIBS = [llvmpipe])
> +
> +if env['platform'] == 'windows':
> + if env['gcc'] and env['machine'] != 'x86_64':
> + sources += ['osmesa.mingw.def']
> + else:
> + sources += ['osmesa.def']
> +
> +gallium_osmesa = env.SharedLibrary(
> + target ='osmesa',
> + source = sources,
> + LIBS = env['LIBS'],
> +)
> +
> +env.Alias('osmesa', gallium_osmesa)
> diff --git a/src/gallium/targets/osmesa/osmesa.def b/src/gallium/targets/osmesa/osmesa.def
> new file mode 100644
> index 0000000..e2a31ab
> --- /dev/null
> +++ b/src/gallium/targets/osmesa/osmesa.def
> @@ -0,0 +1,16 @@
> +;DESCRIPTION 'Mesa OSMesa lib for Win32'
> +VERSION 4.1
> +
> +EXPORTS
> + OSMesaCreateContext
> + OSMesaCreateContextExt
> + OSMesaDestroyContext
> + OSMesaMakeCurrent
> + OSMesaGetCurrentContext
> + OSMesaPixelStore
> + OSMesaGetIntegerv
> + OSMesaGetDepthBuffer
> + OSMesaGetColorBuffer
> + OSMesaGetProcAddress
> + OSMesaColorClamp
> + OSMesaPostprocess
> diff --git a/src/gallium/targets/osmesa/osmesa.mingw.def b/src/gallium/targets/osmesa/osmesa.mingw.def
> new file mode 100644
> index 0000000..874ac54
> --- /dev/null
> +++ b/src/gallium/targets/osmesa/osmesa.mingw.def
> @@ -0,0 +1,13 @@
> +EXPORTS
> + OSMesaCreateContext = OSMesaCreateContext at 8
> + OSMesaCreateContextExt = OSMesaCreateContextExt at 20
> + OSMesaDestroyContext = OSMesaDestroyContext at 4
> + OSMesaMakeCurrent = OSMesaMakeCurrent at 20
> + OSMesaGetCurrentContext = OSMesaGetCurrentContext at 0
> + OSMesaPixelStore = OSMesaPixelStore at 8
> + OSMesaGetIntegerv = OSMesaGetIntegerv at 8
> + OSMesaGetDepthBuffer = OSMesaGetDepthBuffer at 20
> + OSMesaGetColorBuffer = OSMesaGetColorBuffer at 20
> + OSMesaGetProcAddress = OSMesaGetProcAddress at 4
> + OSMesaColorClamp = OSMesaColorClamp at 4
> + OSMesaPostprocess = OSMesaPostprocess at 12
>
More information about the mesa-dev
mailing list