Pushed. Thanks.

Jose

On 22/04/15 16:36, olivier.pena...@gmail.com wrote:
From: Olivier Pena <op...@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@OSMESA_LIB@_la_LIBADD += 
$(top_builddir)/src/gallium/drivers/llvmpipe/libllv
  endif

  EXTRA_lib@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@8
+       OSMesaCreateContextExt = OSMesaCreateContextExt@20
+       OSMesaDestroyContext = OSMesaDestroyContext@4
+       OSMesaMakeCurrent = OSMesaMakeCurrent@20
+       OSMesaGetCurrentContext = OSMesaGetCurrentContext@0
+       OSMesaPixelStore = OSMesaPixelStore@8
+       OSMesaGetIntegerv = OSMesaGetIntegerv@8
+       OSMesaGetDepthBuffer = OSMesaGetDepthBuffer@20
+       OSMesaGetColorBuffer = OSMesaGetColorBuffer@20
+       OSMesaGetProcAddress = OSMesaGetProcAddress@4
+       OSMesaColorClamp = OSMesaColorClamp@4
+       OSMesaPostprocess = OSMesaPostprocess@12


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to