From: Olivier Pena <op...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev