From: Emil Velikov <emil.l.veli...@gmail.com> Attempt to get a egl_dri2 SConscript - Drop going into the gallium egl-static - Promote the main library to a shared one. - Convert libEGL_Haiku into a conv. library - shove a demo platform_x11. - s/HAVE_EGL_PLATFORM_HAIKU/HAVE_HAIKU_PLATFORM/ - A ton of extra crap all over.
Not even build tested, and I don't expect it to build properly yet. Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> --- src/SConscript | 2 +- src/egl/drivers/dri2/SConscript | 33 ++++++++++++++++++++++++--------- src/egl/drivers/dri2/egl_dri2.c | 6 ++++++ src/egl/drivers/dri2/egl_dri2.h | 2 +- src/egl/main/SConscript | 12 ++++++++++-- src/gallium/SConscript | 6 ------ 6 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/SConscript b/src/SConscript index 6cac490..9c69b42 100644 --- a/src/SConscript +++ b/src/SConscript @@ -24,7 +24,6 @@ SConscript('mapi/glapi/SConscript') # Haiku C++ libGL dispatch (renderers depend on libgl) if env['platform'] in ['haiku']: SConscript('hgl/SConscript') - SConscript('egl/drivers/dri2/SConscript') SConscript('mesa/SConscript') @@ -34,6 +33,7 @@ if not env['embedded']: if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'): SConscript('glx/SConscript') if env['platform'] not in ['darwin', 'sunos']: + SConscript('egl/drivers/dri2/SConscript') SConscript('egl/main/SConscript') if env['gles']: diff --git a/src/egl/drivers/dri2/SConscript b/src/egl/drivers/dri2/SConscript index b122182..2c081d2 100644 --- a/src/egl/drivers/dri2/SConscript +++ b/src/egl/drivers/dri2/SConscript @@ -3,22 +3,37 @@ Import('*') env = env.Clone() env.Append(CPPDEFINES = [ - 'HAVE_EGL_PLATFORM_HAIKU', - 'DEFAULT_DRIVER_DIR=\\"\\"' + 'DEFAULT_DRIVER_DIR=\\"\\"' ]) env.Append(CPPPATH = [ - '#/src/egl/main', + '#/include', + '#/src/egl/main', + '#/src/loader', ]) sources = [ - 'egl_dri2.c', - 'platform_haiku.cpp', + 'egl_dri2.c', ] -libEGL_Haiku = env.SharedLibrary( - target = 'egl_haiku.so', - source = sources, +if env['platform'] == 'haiku': + sources.append('platform_haiku.cpp') + env.Append(CPPDEFINES = [ + 'HAVE_HAIKU_PLATFORM', + ]) + +if env['x11']: + sources.append('platform_x11.cpp') + env.Append(CPPDEFINES = [ + 'HAVE_X11_PLATFORM', + ]) + env.Append([CPPPATH = [ +# 'XCB_DRI2_CFLAGS', + ]) + +egl_dri2 = env.ConvenienceLibrary( + target = 'egl_dri2', + source = sources, ) -Export('libEGL_Haiku') +Export('egl_dri2') diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 2a6811c..062fb54 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -657,6 +657,12 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp) return EGL_TRUE; return dri2_initialize_android(drv, disp); #endif +#ifdef HAVE_HAIKU_PLATFORM + case _EGL_PLATFORM_HAIKU: + if (disp->Options.TestOnly) + return EGL_TRUE; + return dri2_initialize_haiku(drv, disp); +#endif default: _eglLog(_EGL_WARNING, "No EGL platform enabled."); diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h index 8cdf810..0486b4f 100644 --- a/src/egl/drivers/dri2/egl_dri2.h +++ b/src/egl/drivers/dri2/egl_dri2.h @@ -198,7 +198,7 @@ struct dri2_egl_display uint32_t capabilities; #endif -#ifdef HAVE_EGL_PLATFORM_HAIKU +#ifdef HAVE_HAIKU_PLATFORM void *bwindow; void *glview; #endif diff --git a/src/egl/main/SConscript b/src/egl/main/SConscript index 87c5b81..08cc42e 100644 --- a/src/egl/main/SConscript +++ b/src/egl/main/SConscript @@ -28,11 +28,19 @@ env.Append(CPPPATH = [ '#/include', ]) +env.Prepend(LIBS = [ + 'egl_dri2', +]) + # parse Makefile.sources egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES') -egl = env.ConvenienceLibrary( - target = 'egl', +# libEGL.dll +env['LIBPREFIX'] = 'lib' +env['SHLIBPREFIX'] = 'lib' + +egl = env.SharedLibrary( + target = 'EGL', source = egl_sources, ) diff --git a/src/gallium/SConscript b/src/gallium/SConscript index 977e3fb..aef972c 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -63,12 +63,6 @@ SConscript([ if not env['embedded']: SConscript('state_trackers/vega/SConscript') - if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'sunos'): - SConscript([ - 'state_trackers/egl/SConscript', - 'targets/egl-static/SConscript', - ]) - if env['x11']: SConscript([ 'state_trackers/glx/xlib/SConscript', -- 1.7.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev