mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 20:50:09 +01:00
scons: Updates for targets/egl-static.
Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
This commit is contained in:
parent
49ed5bb28d
commit
a8b6b6555c
8 changed files with 187 additions and 33 deletions
|
|
@ -1,16 +1,16 @@
|
|||
Import('*')
|
||||
|
||||
SConscript('mapi/vgapi/SConscript')
|
||||
|
||||
if env['platform'] == 'windows':
|
||||
SConscript('egl/main/SConscript')
|
||||
SConscript('talloc/SConscript')
|
||||
|
||||
SConscript('glsl/SConscript')
|
||||
SConscript('mapi/glapi/SConscript')
|
||||
SConscript('mesa/SConscript')
|
||||
|
||||
SConscript('mapi/vgapi/SConscript')
|
||||
|
||||
if env['platform'] != 'embedded':
|
||||
SConscript('egl/main/SConscript')
|
||||
SConscript('glut/glx/SConscript')
|
||||
|
||||
SConscript('gallium/SConscript')
|
||||
|
|
|
|||
|
|
@ -7,13 +7,23 @@ Import('*')
|
|||
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',
|
||||
])
|
||||
else:
|
||||
env.Append(CPPDEFINES = [
|
||||
'_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11',
|
||||
'_EGL_OS_UNIX',
|
||||
])
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
])
|
||||
|
|
@ -38,15 +48,9 @@ egl_sources = [
|
|||
'eglsync.c',
|
||||
]
|
||||
|
||||
egl = env.SharedLibrary(
|
||||
target = 'libEGL',
|
||||
source = egl_sources + ['egl.def'],
|
||||
egl = env.ConvenienceLibrary(
|
||||
target = 'egl',
|
||||
source = egl_sources,
|
||||
)
|
||||
|
||||
installed_egl = env.InstallSharedLibrary(egl, version=(1, 4, 0))
|
||||
|
||||
env.Alias('egl', installed_egl)
|
||||
|
||||
egl = [env.FindIxes(egl, 'LIBPREFIX', 'LIBSUFFIX')]
|
||||
|
||||
Export('egl')
|
||||
|
|
|
|||
|
|
@ -37,6 +37,9 @@ const struct {
|
|||
const char *name;
|
||||
_EGLMain_t main;
|
||||
} _eglBuiltInDrivers[] = {
|
||||
#ifdef _EGL_BUILT_IN_DRIVER_GALLIUM
|
||||
{ "egl_gallium", _eglBuiltInDriverGALLIUM },
|
||||
#endif
|
||||
#ifdef _EGL_BUILT_IN_DRIVER_DRI2
|
||||
{ "egl_dri2", _eglBuiltInDriverDRI2 },
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -64,6 +64,10 @@ struct _egl_driver
|
|||
};
|
||||
|
||||
|
||||
extern _EGLDriver *
|
||||
_eglBuiltInDriverGALLIUM(const char *args);
|
||||
|
||||
|
||||
extern _EGLDriver *
|
||||
_eglBuiltInDriverDRI2(const char *args);
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ SConscript('winsys/sw/null/SConscript')
|
|||
SConscript('state_trackers/python/SConscript')
|
||||
if env['platform'] != 'embedded':
|
||||
SConscript('state_trackers/vega/SConscript')
|
||||
SConscript('state_trackers/egl/SConscript')
|
||||
|
||||
if env['x11']:
|
||||
SConscript('state_trackers/glx/xlib/SConscript')
|
||||
|
|
@ -66,10 +67,7 @@ if env['platform'] != 'embedded':
|
|||
SConscript('state_trackers/xorg/SConscript')
|
||||
|
||||
if env['platform'] == 'windows':
|
||||
SConscript([
|
||||
'state_trackers/egl/SConscript',
|
||||
'state_trackers/wgl/SConscript',
|
||||
])
|
||||
SConscript('state_trackers/wgl/SConscript')
|
||||
|
||||
#
|
||||
# Winsys
|
||||
|
|
@ -85,6 +83,11 @@ SConscript([
|
|||
'targets/graw-null/SConscript',
|
||||
])
|
||||
|
||||
if env['platform'] != 'embedded':
|
||||
SConscript([
|
||||
'targets/egl-static/SConscript'
|
||||
])
|
||||
|
||||
if env['x11']:
|
||||
SConscript([
|
||||
'targets/graw-xlib/SConscript',
|
||||
|
|
@ -95,7 +98,6 @@ if env['platform'] == 'windows':
|
|||
SConscript([
|
||||
'targets/graw-gdi/SConscript',
|
||||
'targets/libgl-gdi/SConscript',
|
||||
#'egl-gdi/SConscript',
|
||||
])
|
||||
|
||||
if env['dri']:
|
||||
|
|
|
|||
|
|
@ -10,11 +10,8 @@ env.Append(CPPPATH = [
|
|||
'#/src/gallium/winsys/sw',
|
||||
'.',
|
||||
])
|
||||
env.Append(CPPDEFINES = [
|
||||
'HAVE_GDI_BACKEND',
|
||||
])
|
||||
|
||||
common_sources = [
|
||||
sources = [
|
||||
'common/egl_g3d.c',
|
||||
'common/egl_g3d_api.c',
|
||||
'common/egl_g3d_image.c',
|
||||
|
|
@ -23,12 +20,31 @@ common_sources = [
|
|||
'common/native_helper.c',
|
||||
]
|
||||
|
||||
gdi_sources = common_sources + [
|
||||
'gdi/native_gdi.c',
|
||||
]
|
||||
if env['platform'] == 'windows':
|
||||
env.Append(CPPDEFINES = ['HAVE_GDI_BACKEND'])
|
||||
sources.append('gdi/native_gdi.c')
|
||||
else:
|
||||
if env['x11']:
|
||||
env.Append(CPPDEFINES = ['HAVE_X11_BACKEND'])
|
||||
env.Prepend(CPPPATH = [
|
||||
'#/src/glx',
|
||||
'#/src/mapi',
|
||||
])
|
||||
sources.append([
|
||||
'x11/native_x11.c',
|
||||
'x11/native_dri2.c',
|
||||
'x11/native_ximage.c',
|
||||
'x11/x11_screen.c',
|
||||
'x11/glxinit.c'])
|
||||
if env['dri']:
|
||||
env.Append(CPPDEFINES = ['GLX_DIRECT_RENDERING'])
|
||||
sources.append(['#/src/glx/dri2.c'])
|
||||
if env['drm']:
|
||||
env.Append(CPPDEFINES = ['HAVE_DRM_BACKEND'])
|
||||
sources.append(['drm/native_drm.c', 'drm/modeset.c'])
|
||||
|
||||
st_egl_gdi = env.ConvenienceLibrary(
|
||||
target = 'st_egl_gdi',
|
||||
source = gdi_sources,
|
||||
st_egl = env.ConvenienceLibrary(
|
||||
target = 'st_egl',
|
||||
source = sources,
|
||||
)
|
||||
Export('st_egl_gdi')
|
||||
Export('st_egl')
|
||||
|
|
|
|||
122
src/gallium/targets/egl-static/SConscript
Normal file
122
src/gallium/targets/egl-static/SConscript
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
#######################################################################
|
||||
# SConscript for egl-static target
|
||||
|
||||
Import('*')
|
||||
|
||||
env = env.Clone()
|
||||
|
||||
env.Append(CPPPATH = [
|
||||
'#/include',
|
||||
'#/src/egl/main',
|
||||
'#/src/gallium/auxiliary',
|
||||
'#/src/gallium/drivers',
|
||||
'#/src/gallium/include',
|
||||
'#/src/gallium/winsys',
|
||||
'#/src/gallium/state_trackers/egl',
|
||||
'#/src/gallium/state_trackers/vega',
|
||||
'#/src/mesa',
|
||||
])
|
||||
|
||||
env.Append(CPPDEFINES = [
|
||||
'GALLIUM_SOFTPIPE',
|
||||
'GALLIUM_RBUG',
|
||||
'GALLIUM_TRACE',
|
||||
'GALLIUM_GALAHAD',
|
||||
'_EGL_MAIN=_eglBuiltInDriverGALLIUM',
|
||||
])
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
softpipe,
|
||||
rbug,
|
||||
trace,
|
||||
galahad,
|
||||
gallium,
|
||||
egl,
|
||||
])
|
||||
|
||||
if env['llvm']:
|
||||
env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE'])
|
||||
env.Prepend(LIBS = [llvmpipe])
|
||||
|
||||
sources = [
|
||||
'egl.c',
|
||||
'egl_pipe.c',
|
||||
'egl_st.c',
|
||||
]
|
||||
|
||||
if env['platform'] == 'windows':
|
||||
sources.append('#src/egl/main/egl.def')
|
||||
|
||||
env.Append(LIBS = [
|
||||
'gdi32',
|
||||
'user32',
|
||||
'kernel32',
|
||||
'ws2_32',
|
||||
])
|
||||
|
||||
env.Prepend(LIBS = [
|
||||
st_egl,
|
||||
ws_gdi,
|
||||
])
|
||||
|
||||
# OpenVG
|
||||
env.Append(CPPDEFINES = ['FEATURE_VG=1'])
|
||||
env.Prepend(LIBS = [vgapi, st_vega])
|
||||
else:
|
||||
env.Prepend(LIBS = [
|
||||
st_egl,
|
||||
ws_xlib,
|
||||
])
|
||||
|
||||
# OpenGL
|
||||
env.Append(CPPDEFINES = ['FEATURE_GL=1'])
|
||||
env.Prepend(LIBS = ['GL', 'talloc', glsl, mesa])
|
||||
|
||||
# OpenVG
|
||||
env.Append(CPPDEFINES = ['FEATURE_VG=1'])
|
||||
env.Prepend(LIBS = ['OpenVG', st_vega])
|
||||
|
||||
|
||||
if env['dri']:
|
||||
env.ParseConfig('pkg-config --cflags --libs xfixes')
|
||||
|
||||
# pipe drivers
|
||||
if env['drm']:
|
||||
env.ParseConfig('pkg-config --cflags --libs libdrm')
|
||||
|
||||
if env['drm_intel']:
|
||||
env.ParseConfig('pkg-config --cflags --libs libdrm_intel')
|
||||
env.Append(CPPDEFINES = ['_EGL_PIPE_I915', '_EGL_PIPE_I965'])
|
||||
env.Prepend(LIBS = [
|
||||
i915drm,
|
||||
i915,
|
||||
i965drm,
|
||||
i965,
|
||||
])
|
||||
|
||||
if env['drm_radeon']:
|
||||
env.ParseConfig('pkg-config --cflags --libs libdrm_radeon')
|
||||
env.Append(CPPDEFINES = ['_EGL_PIPE_R300', '_EGL_PIPE_R600'])
|
||||
env.Prepend(LIBS = [
|
||||
radeonwinsys,
|
||||
r300,
|
||||
r600winsys,
|
||||
r600,
|
||||
])
|
||||
|
||||
env.Append(CPPDEFINES = ['_EGL_PIPE_VMWGFX'])
|
||||
env.Prepend(LIBS = [
|
||||
svgadrm,
|
||||
svga,
|
||||
])
|
||||
|
||||
egl_gallium = env.SharedLibrary(
|
||||
target ='libEGL',
|
||||
source = sources,
|
||||
)
|
||||
|
||||
env.Depends(egl_gallium, [vgapi])
|
||||
|
||||
egl_gallium = env.InstallSharedLibrary(egl_gallium, version=(1, 4, 0))
|
||||
|
||||
env.Alias('egl-gallium', egl_gallium)
|
||||
|
|
@ -51,6 +51,9 @@ if env['platform'] != 'winddk':
|
|||
|
||||
env.InstallSharedLibrary(openvg, version=(1, 0, 0))
|
||||
|
||||
vgapi = [env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX')]
|
||||
if env['platform'] == 'windows':
|
||||
vgapi = env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX')
|
||||
else:
|
||||
vgapi = env.FindIxes(openvg, 'SHLIBPREFIX', 'SHLIBSUFFIX')
|
||||
|
||||
Export(['vgapi'])
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue