Re: [Mesa-dev] [PATCH 08/12] egl: Resolve Haiku build issues
On 2014-12-22 09:17, Emil Velikov wrote: On 22/12/14 14:36, Alexander von Gluck IV wrote: From: Adrián Arroyo Calle adrian.arroyoca...@gmail.com * Builds perfect and it loads the driver. * It still reports EGL_NOT_INITIALIZED --- src/egl/drivers/dri2/SConscript |8 +++- src/egl/drivers/dri2/platform_haiku.cpp |4 src/egl/main/SConscript |4 ++-- src/egl/main/egldisplay.c |3 ++- src/egl/main/egldisplay.h |1 + 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/egl/drivers/dri2/SConscript b/src/egl/drivers/dri2/SConscript index 2c081d2..26765c5 100644 --- a/src/egl/drivers/dri2/SConscript +++ b/src/egl/drivers/dri2/SConscript @@ -20,6 +20,7 @@ if env['platform'] == 'haiku': sources.append('platform_haiku.cpp') env.Append(CPPDEFINES = [ 'HAVE_HAIKU_PLATFORM', +'_EGL_NATIVE_PLATFORM=haiku', ]) if env['x11']: @@ -27,11 +28,16 @@ if env['x11']: env.Append(CPPDEFINES = [ 'HAVE_X11_PLATFORM', ]) -env.Append([CPPPATH = [ +env.Append(CPPPATH = [ #'XCB_DRI2_CFLAGS', ]) +env.Prepend(LIBS = [ +libloader, +]) + egl_dri2 = env.ConvenienceLibrary( +#egl_dri2 = env.SharedLibrary( target = 'egl_dri2', source = sources, ) diff --git a/src/egl/drivers/dri2/platform_haiku.cpp b/src/egl/drivers/dri2/platform_haiku.cpp index 15e6c95..ef85e27 100644 --- a/src/egl/drivers/dri2/platform_haiku.cpp +++ b/src/egl/drivers/dri2/platform_haiku.cpp @@ -26,10 +26,14 @@ #include dlfcn.h #include stdio.h +extern C { + #include loader.h #include egl_dri2.h #include egl_dri2_fallbacks.h +} + Please don't do this. Do annotate the headers properly rather than adding the extern C here. Check this [1] out for more information. All of the dri2 changes were later removed... thus me working on a single less confusing patch :-) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 08/12] egl: Resolve Haiku build issues
From: Adrián Arroyo Calle adrian.arroyoca...@gmail.com * Builds perfect and it loads the driver. * It still reports EGL_NOT_INITIALIZED --- src/egl/drivers/dri2/SConscript |8 +++- src/egl/drivers/dri2/platform_haiku.cpp |4 src/egl/main/SConscript |4 ++-- src/egl/main/egldisplay.c |3 ++- src/egl/main/egldisplay.h |1 + 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/egl/drivers/dri2/SConscript b/src/egl/drivers/dri2/SConscript index 2c081d2..26765c5 100644 --- a/src/egl/drivers/dri2/SConscript +++ b/src/egl/drivers/dri2/SConscript @@ -20,6 +20,7 @@ if env['platform'] == 'haiku': sources.append('platform_haiku.cpp') env.Append(CPPDEFINES = [ 'HAVE_HAIKU_PLATFORM', +'_EGL_NATIVE_PLATFORM=haiku', ]) if env['x11']: @@ -27,11 +28,16 @@ if env['x11']: env.Append(CPPDEFINES = [ 'HAVE_X11_PLATFORM', ]) -env.Append([CPPPATH = [ +env.Append(CPPPATH = [ #'XCB_DRI2_CFLAGS', ]) +env.Prepend(LIBS = [ +libloader, +]) + egl_dri2 = env.ConvenienceLibrary( +#egl_dri2 = env.SharedLibrary( target = 'egl_dri2', source = sources, ) diff --git a/src/egl/drivers/dri2/platform_haiku.cpp b/src/egl/drivers/dri2/platform_haiku.cpp index 15e6c95..ef85e27 100644 --- a/src/egl/drivers/dri2/platform_haiku.cpp +++ b/src/egl/drivers/dri2/platform_haiku.cpp @@ -26,10 +26,14 @@ #include dlfcn.h #include stdio.h +extern C { + #include loader.h #include egl_dri2.h #include egl_dri2_fallbacks.h +} + #include InterfaceKit.h static void diff --git a/src/egl/main/SConscript b/src/egl/main/SConscript index 6582621..a8725ca 100644 --- a/src/egl/main/SConscript +++ b/src/egl/main/SConscript @@ -7,7 +7,7 @@ Import('*') env = env.Clone() env.Append(CPPDEFINES = [ -#'_EGL_BUILT_IN_DRIVER_GALLIUM', +'_EGL_BUILT_IN_DRIVER_DRI2', '_EGL_DRIVER_SEARCH_DIR=', ]) @@ -29,7 +29,7 @@ env.Append(CPPPATH = [ ]) env.Prepend(LIBS = [ -'egl_dri2', +egl_dri2, libloader, ]) diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index 76dfee7..259ab6b 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -75,7 +75,8 @@ static const struct { { _EGL_PLATFORM_DRM, drm }, { _EGL_PLATFORM_FBDEV, fbdev }, { _EGL_PLATFORM_NULL, null }, - { _EGL_PLATFORM_ANDROID, android } + { _EGL_PLATFORM_ANDROID, android }, + { _EGL_PLATFORM_HAIKU, haiku } }; diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index d4b9602..bcdc2b2 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -46,6 +46,7 @@ enum _egl_platform_type { _EGL_PLATFORM_FBDEV, _EGL_PLATFORM_NULL, _EGL_PLATFORM_ANDROID, + _EGL_PLATFORM_HAIKU, _EGL_NUM_PLATFORMS, _EGL_INVALID_PLATFORM = -1 -- 1.7.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 08/12] egl: Resolve Haiku build issues
On 22/12/14 14:36, Alexander von Gluck IV wrote: From: Adrián Arroyo Calle adrian.arroyoca...@gmail.com * Builds perfect and it loads the driver. * It still reports EGL_NOT_INITIALIZED --- src/egl/drivers/dri2/SConscript |8 +++- src/egl/drivers/dri2/platform_haiku.cpp |4 src/egl/main/SConscript |4 ++-- src/egl/main/egldisplay.c |3 ++- src/egl/main/egldisplay.h |1 + 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/egl/drivers/dri2/SConscript b/src/egl/drivers/dri2/SConscript index 2c081d2..26765c5 100644 --- a/src/egl/drivers/dri2/SConscript +++ b/src/egl/drivers/dri2/SConscript @@ -20,6 +20,7 @@ if env['platform'] == 'haiku': sources.append('platform_haiku.cpp') env.Append(CPPDEFINES = [ 'HAVE_HAIKU_PLATFORM', +'_EGL_NATIVE_PLATFORM=haiku', ]) if env['x11']: @@ -27,11 +28,16 @@ if env['x11']: env.Append(CPPDEFINES = [ 'HAVE_X11_PLATFORM', ]) -env.Append([CPPPATH = [ +env.Append(CPPPATH = [ #'XCB_DRI2_CFLAGS', ]) +env.Prepend(LIBS = [ +libloader, +]) + egl_dri2 = env.ConvenienceLibrary( +#egl_dri2 = env.SharedLibrary( target = 'egl_dri2', source = sources, ) diff --git a/src/egl/drivers/dri2/platform_haiku.cpp b/src/egl/drivers/dri2/platform_haiku.cpp index 15e6c95..ef85e27 100644 --- a/src/egl/drivers/dri2/platform_haiku.cpp +++ b/src/egl/drivers/dri2/platform_haiku.cpp @@ -26,10 +26,14 @@ #include dlfcn.h #include stdio.h +extern C { + #include loader.h #include egl_dri2.h #include egl_dri2_fallbacks.h +} + Please don't do this. Do annotate the headers properly rather than adding the extern C here. Check this [1] out for more information. Thanks Emil [1] http://lists.freedesktop.org/archives/mesa-dev/2014-December/072462.html ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev