env = env.Clone()
env.Append(CPPDEFINES = [
- '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS',
+ '_EGL_BUILT_IN_DRIVER_GALLIUM',
'_EGL_DRIVER_SEARCH_DIR=\\"\\"',
- '_EGL_OS_WINDOWS',
- '_EGL_GET_CORE_ADDRESSES',
- 'KHRONOS_DLL_EXPORTS',
])
+if env['platform'] == 'windows':
+ env.Append(CPPDEFINES = [
+ '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS',
+ '_EGL_OS_WINDOWS',
+ '_EGL_GET_CORE_ADDRESSES',
+ 'KHRONOS_DLL_EXPORTS',
+ ])
+elif env['platform'] == 'haiku':
+ env.Append(CPPDEFINES = [
+ '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_HAIKU',
+ '_EGL_OS_UNIX',
+ '_EGL_BUILT_IN_DRIVER_HAIKU',
+ ])
+ env.Prepend(LIBS = [
+ egl_haiku,
+ libloader,
+ ])
+else:
+ env.Append(CPPDEFINES = [
+ '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11',
+ '_EGL_OS_UNIX',
+ ])
+ if env['dri']:
+ env.Prepend(LIBS = [
+ egl_dri2,
+ libloader,
+ ])
+
env.Append(CPPPATH = [
'#/include',
])
-egl_sources = [
- 'eglapi.c',
- 'eglarray.c',
- 'eglconfig.c',
- 'eglcontext.c',
- 'eglcurrent.c',
- 'egldisplay.c',
- 'egldriver.c',
- 'eglfallbacks.c',
- 'eglglobals.c',
- 'eglimage.c',
- 'egllog.c',
- 'eglmisc.c',
- 'eglmode.c',
- 'eglscreen.c',
- 'eglstring.c',
- 'eglsurface.c',
- 'eglsync.c',
-]
-
-egl = env.SharedLibrary(
- target = 'libEGL',
- source = egl_sources + ['egl.def'],
-)
-
-installed_egl = env.InstallSharedLibrary(egl, version=(1, 4, 0))
-env.Alias('egl', installed_egl)
+# parse Makefile.sources
+egl_sources = env.ParseSourceList('Makefile.sources', 'LIBEGL_C_FILES')
-egl = [env.FindIxes(egl, 'LIBPREFIX', 'LIBSUFFIX')]
+egl = env.ConvenienceLibrary(
+ target = 'egl',
+ source = egl_sources,
+)
Export('egl')