[Mesa-dev] [PATCH] scons: add target gallium-osmesa
olivier.pena.80 at gmail.com
olivier.pena.80 at gmail.com
Fri Apr 3 07:06:19 PDT 2015
From: Olivier Pena <opena at isagri.fr>
---
src/gallium/SConscript | 5 ++++
src/gallium/state_trackers/osmesa/SConscript | 25 +++++++++++++++++
src/gallium/state_trackers/osmesa/osmesa.def | 16 +++++++++++
src/gallium/targets/osmesa/SConscript | 41 ++++++++++++++++++++++++++++
4 files changed, 87 insertions(+)
create mode 100644 src/gallium/state_trackers/osmesa/SConscript
create mode 100644 src/gallium/state_trackers/osmesa/osmesa.def
create mode 100644 src/gallium/targets/osmesa/SConscript
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/SConscript b/src/gallium/state_trackers/osmesa/SConscript
new file mode 100644
index 0000000..fa7c968
--- /dev/null
+++ b/src/gallium/state_trackers/osmesa/SConscript
@@ -0,0 +1,25 @@
+import os
+
+Import('*')
+
+env = env.Clone()
+
+env.Append(CPPPATH = [
+ '#src/mapi',
+ '#src/mesa',
+ '.',
+])
+
+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/state_trackers/osmesa/osmesa.def b/src/gallium/state_trackers/osmesa/osmesa.def
new file mode 100644
index 0000000..e2a31ab
--- /dev/null
+++ b/src/gallium/state_trackers/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/SConscript b/src/gallium/targets/osmesa/SConscript
new file mode 100644
index 0000000..2c936cf
--- /dev/null
+++ b/src/gallium/targets/osmesa/SConscript
@@ -0,0 +1,41 @@
+Import('*')
+
+env = env.Clone()
+
+env.Prepend(CPPPATH = [
+ '#src/mapi',
+ '#src/mesa',
+ #Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
+])
+
+sources = [
+ 'target.c',
+]
+sources += ['#src/gallium/state_trackers/osmesa/osmesa.def']
+
+drivers = []
+
+if env['llvm']:
+ env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
+ env.Append(CPPDEFINES = 'GALLIUM_TRACE')
+ drivers += [llvmpipe]
+else:
+ env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
+ env.Append(CPPDEFINES = 'GALLIUM_TRACE')
+ drivers += [softpipe]
+
+if env['platform'] == 'windows':
+ env.AppendUnique(CPPDEFINES = [
+ 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
+ ])
+ if not env['gles']:
+ # prevent _glapi_* from being declared __declspec(dllimport)
+ env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
+
+gallium_osmesa = env.SharedLibrary(
+ target ='osmesa',
+ source = sources,
+ LIBS = drivers + st_osmesa + ws_null + glapi + mesa + gallium + trace + glsl + mesautil + env['LIBS'],
+)
+
+env.Alias('gallium-osmesa', gallium_osmesa)
--
1.9.4.msysgit.2
More information about the mesa-dev
mailing list