[Mesa-dev] [PATCH 3/4] meson: build libEGL

Eric Engestrom eric.engestrom at imgtec.com
Thu Oct 19 16:29:00 UTC 2017


On Thursday, 2017-10-19 05:10:29 +0000, Dylan Baker wrote:
> Quoting Eric Engestrom (2017-10-18 17:25:05)
> > On Wednesday, 2017-10-18 23:56:00 +0000, Dylan Baker wrote:
> > > This is based heavily on Daniel Stone's work for the same, rebased on
> > > master and with a number of TODO's fixed.
> > > 
> > > This does not implement glvnd (which is coming in a later patch)
> > > 
> > > Meson builds egl slightly differently than autotools, namely it doesn't
> > > build an intermediate shared library. It doesn't do this because meson
> > > doesn't have problems with the name of the library being dynamically
> > > generated, so the glvnd and non-glvnd code can follow the same path.
> > > 
> > > Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> > > ---
> > >  include/meson.build                                |   8 ++
> > >  meson.build                                        |  81 ++++++++++--
> > >  meson_options.txt                                  |   9 +-
> > >  src/egl/meson.build                                | 144 +++++++++++++++++++++
> > >  src/egl/wayland/wayland-drm/meson.build            |  14 ++
> > >  .../{wayland-drm => wayland-egl}/meson.build       |  29 +++--
> > >  src/gbm/meson.build                                |  12 +-
> > >  src/glx/meson.build                                |  22 ----
> > >  src/meson.build                                    |   7 +-
> > >  9 files changed, 281 insertions(+), 45 deletions(-)
> > >  create mode 100644 src/egl/meson.build
> > >  copy src/egl/wayland/{wayland-drm => wayland-egl}/meson.build (66%)
> > > 
> > > diff --git a/include/meson.build b/include/meson.build
> > > index e33a8569d76..88e66a1a8f4 100644
> > > --- a/include/meson.build
> > > +++ b/include/meson.build
> > > @@ -58,3 +58,11 @@ endif
> > >  if with_osmesa
> > >    install_headers('GL/osmesa.h', subdir : 'GL')
> > >  endif
> > > +
> > > +if with_egl
> > > +  install_headers(
> > > +    'EGL/eglext.h', 'EGL/egl.h', 'EGL/eglextchromium.h', 'EGL/eglmesaext.h',
> > > +    'EGL/eglplatform.h',
> > > +    subdir : 'EGL',
> > > +  )
> > > +endif
> > > diff --git a/meson.build b/meson.build
> > > index 13d9e400ba7..9eef48340d7 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -130,16 +130,20 @@ endif
> > >  # TODO: other OSes
> > >  with_dri_platform = 'drm'
> > >  
> > > -# TODO: there are more platforms required for non-vulkan drivers
> > > +# TODO: android platform
> > >  with_platform_wayland = false
> > >  with_platform_x11 = false
> > >  with_platform_drm = false
> > > +with_platform_surfaceless = false
> > > +egl_native_platform = ''
> > >  _platforms = get_option('platforms')
> > >  if _platforms != ''
> > >    _split = _platforms.split(',')
> > >    with_platform_x11 = _split.contains('x11')
> > >    with_platform_wayland = _split.contains('wayland')
> > >    with_platform_drm = _split.contains('drm')
> > > +  with_platform_surfaceless = _split.contains('surfaceless')
> > > +  egl_native_platform = _split[0]
> > >  endif
> > 
> > I quite liked daniels' `foreach if/elif/else` structure, it had the
> > added advantage of being able to reject invalid platforms instead of
> > silently ignoring them.
> 
> Well, I keep hoping that this will land and we can switch to it:
> https://github.com/mesonbuild/meson/pull/2390

That looks great! Let's hope it gets merged :)

> And this approach requires no changes if/when that happens, but I guess I don't
> have a problem with the loop either.
> 
> > 
> > >  
> > >  with_gbm = get_option('gbm')
> > > @@ -154,6 +158,27 @@ else
> > >    with_gbm = false
> > >  endif
> > >  
> > > +with_egl = get_option('egl')
> > > +if with_egl == 'auto'
> > > +  with_egl = with_dri and with_shared_glapi and egl_native_platform != ''
> > 
> > I don't like the var name reuse, once as a string, then as a bool.
> > How about `_egl = get_option('egl')`, as with `_platforms` above?
> > 
> > I'll have another look tomorrow, but I think other than that this patch
> > is good (not giving my r-b just yet though).
> 
> I can change that.
> 
> > 
> > > +elif with_egl == 'yes'
> > > +  if not with_dri
> > > +    error('EGL requires dri')
> > > +  elif not with_shared_glapi
> > > +    error('EGL requires shared-glapi')
> > > +  elif egl_native_platform == ''
> > > +    error('No platforms specified, consider -Dplatforms=drm,x11 at least')
> > > +  endif
> > > +  with_egl = true
> > > +else
> > > +  with_egl = false
> > > +endif
> > > +
> > > +# TODO: or virgl
> > > +if with_egl and with_gallium_radeonsi and not (with_platform_drm or with_platform_surfaceless)
> > > +  error('RadeonSI requires drm or surfaceless platform when using EGL')
> > > +endif
> > > +
> > >  pre_args += '-DGLX_USE_TLS'
> > >  with_glx = get_option('glx')
> > >  if with_glx != 'disabled'
> > > @@ -228,7 +253,7 @@ if with_any_vk and (with_platform_x11 and not with_dri3)
> > >    error('Vulkan drivers require dri3 for X11 support')
> > >  endif
> > >  if with_dri or with_gallium
> > > -  if with_glx == 'disabled' # TODO: or egl
> > > +  if with_glx == 'disabled' and not with_egl
> > >      error('building dri or gallium drivers require at least one window system')
> > >    endif
> > >  endif
> > > @@ -250,6 +275,7 @@ if _drivers != ''
> > >                          with_gallium_omx or with_gallium_va)
> > >  endif
> > >  
> > > +gl_pkgconfig_c_flags = []
> > >  if with_platform_x11
> > >    if with_any_vk or (with_glx == 'dri' and with_dri_platform == 'drm')
> > >      pre_args += '-DHAVE_X11_PLATFORM'
> > > @@ -269,6 +295,18 @@ if with_platform_x11
> > >        pre_args += '-DGLX_USE_DRM'
> > >      endif
> > >    endif
> > > +else
> > > +  pre_args += '-DMESA_EGL_NO_X11_HEADERS'
> > > +  gl_pkgconfig_c_flags += '-DMESA_EGL_NO_X11_HEADERS'
> > > +endif
> > > +if with_platform_drm
> > > +  if with_egl and not with_gbm
> > > +    error('EGL drm platform requires gbm')
> > > +  endif
> > > +  pre_args += '-DHAVE_DRM_PLATFORM'
> > > +endif
> > > +if with_platform_surfaceless
> > > +  pre_args += '-DHAVE_SURFACELESS_PLATFORM'
> > >  endif
> > >  
> > >  prog_python2 = find_program('python2')
> > > @@ -646,18 +684,22 @@ endif
> > >  
> > >  # TODO: symbol mangling
> > >  
> > > -# TODO: egl configuration
> > > -
> > >  if with_platform_wayland
> > >    prog_wl_scanner = find_program('wayland-scanner')
> > >    dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.8')
> > >    dep_wayland_client = dependency('wayland-client', version : '>=1.11')
> > >    dep_wayland_server = dependency('wayland-server', version : '>=1.11')
> > > +  wayland_dmabuf_xml = join_paths(
> > > +    dep_wl_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable',
> > > +    'linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'
> > > +  )
> > > +  pre_args += ['-DHAVE_WAYLAND_PLATFORM', '-DWL_HIDE_DEPRECATED']
> > >  else
> > >    prog_wl_scanner = []
> > >    dep_wl_protocols = []
> > >    dep_wayland_client = []
> > >    dep_wayland_server = []
> > > +  wayland_dmabuf_xml = ''
> > >  endif
> > >  
> > >  dep_x11 = []
> > > @@ -674,6 +716,7 @@ dep_xf86vm = []
> > >  dep_xcb_dri3 = []
> > >  dep_xcb_present = []
> > >  dep_xcb_sync = []
> > > +dep_xcb_xfixes = []
> > >  dep_xshmfence = []
> > >  if with_platform_x11
> > >    if with_glx == 'dri' and with_dri_platform == 'drm'
> > > @@ -701,21 +744,19 @@ if with_platform_x11
> > >      dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
> > >      dep_glproto = dependency('glproto', version : '>= 1.4.14')
> > >    endif
> > > +  if with_egl
> > > +    dep_xcb_xfixes = dependency('xcb-xfixes')
> > > +  endif
> > >  endif
> > >  
> > > -# TODO: platforms for !vulkan
> > > -
> > >  # TODO: osmesa
> > >  
> > > -# TODO: egl
> > > -
> > >  # TODO: vallium G3DVL
> > >  
> > >  # TODO: nine
> > >  
> > >  # TODO: clover
> > >  
> > > -# TODO: egl sans x11
> > >  # TODO: gallium tests
> > >  
> > >  # TODO: various libdirs
> > > @@ -744,6 +785,28 @@ endforeach
> > >  
> > >  inc_include = include_directories('include')
> > >  
> > > +gl_priv_reqs = [
> > > +  'x11', 'xext', 'xdamage >= 1.1', 'xfixes', 'x11-xcb', 'xcb',
> > > +  'xcb-glx >= 1.8.1', 'libdrm >= 2.4.75',
> > > +]
> > > +if dep_xf86vm != [] and dep_xf86vm.found()
> > > +  gl_priv_reqs += 'xf86vm'
> > > +endif
> > > +if with_dri_platform == 'drm'
> > > +  gl_priv_reqs += 'xcb-dri2 >= 1.8'
> > > +endif
> > > +
> > > +gl_priv_libs = []
> > > +if dep_thread.found()
> > > +  gl_priv_libs += ['-lpthread', '-pthread']
> > > +endif
> > > +if dep_m.found()
> > > +  gl_priv_libs += '-lm'
> > > +endif
> > > +if dep_dl.found()
> > > +  gl_priv_libs += '-ldl'
> > > +endif
> > > +
> > >  pkg = import('pkgconfig')
> > >  
> > >  subdir('include')
> > > diff --git a/meson_options.txt b/meson_options.txt
> > > index 8fd00d41b45..87aef95198b 100644
> > > --- a/meson_options.txt
> > > +++ b/meson_options.txt
> > > @@ -21,7 +21,7 @@
> > >  option(
> > >    'platforms',
> > >    type : 'string',
> > > -  value : 'x11,wayland,drm',
> > > +  value : 'x11,wayland,drm,surfaceless',
> > >    description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.'
> > >  )
> > >  option(
> > > @@ -111,6 +111,13 @@ option(
> > >    choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'],
> > >    description : 'Build support for GLX platform'
> > >  )
> > > +option(
> > > +  'egl',
> > > +  type : 'combo',
> > > +  value : 'auto',
> > > +  choices : ['auto', 'yes', 'no'],
> > > +  description : 'Build support for EGL platform'
> > > +)
> > >  option(
> > >    'glvnd',
> > >    type : 'boolean',
> > > diff --git a/src/egl/meson.build b/src/egl/meson.build
> > > new file mode 100644
> > > index 00000000000..ade6810bf91
> > > --- /dev/null
> > > +++ b/src/egl/meson.build
> > > @@ -0,0 +1,144 @@
> > > +# Copyright © 2017 Intel Corporation
> > > +
> > > +# Permission is hereby granted, free of charge, to any person obtaining a copy
> > > +# of this software and associated documentation files (the "Software"), to deal
> > > +# in the Software without restriction, including without limitation the rights
> > > +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> > > +# copies of the Software, and to permit persons to whom the Software is
> > > +# furnished to do so, subject to the following conditions:
> > > +
> > > +# The above copyright notice and this permission notice shall be included in
> > > +# all copies or substantial portions of the Software.
> > > +
> > > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> > > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> > > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> > > +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> > > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> > > +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> > > +# SOFTWARE.
> > > +
> > > +c_args_for_egl = []
> > > +link_for_egl = []
> > > +deps_for_egl = []
> > > +incs_for_egl = []
> > > +files_egl = files(
> > > +  'main/eglapi.c',
> > > +  'main/eglapi.h',
> > > +  'main/eglarray.c',
> > > +  'main/eglarray.h',
> > > +  'main/eglconfig.c',
> > > +  'main/eglconfig.h',
> > > +  'main/eglcontext.c',
> > > +  'main/eglcontext.h',
> > > +  'main/eglcurrent.c',
> > > +  'main/eglcurrent.h',
> > > +  'main/egldefines.h',
> > > +  'main/egldisplay.c',
> > > +  'main/egldisplay.h',
> > > +  'main/egldriver.c',
> > > +  'main/egldriver.h',
> > > +  'main/eglfallbacks.c',
> > > +  'main/eglglobals.c',
> > > +  'main/eglglobals.h',
> > > +  'main/eglimage.c',
> > > +  'main/eglimage.h',
> > > +  'main/egllog.c',
> > > +  'main/egllog.h',
> > > +  'main/eglsurface.c',
> > > +  'main/eglsurface.h',
> > > +  'main/eglsync.c',
> > > +  'main/eglsync.h',
> > > +  'main/eglentrypoint.h',
> > > +  'main/egltypedefs.h',
> > > +  'drivers/dri2/egl_dri2.c',
> > > +  'drivers/dri2/egl_dri2.h',
> > > +  'drivers/dri2/egl_dri2_fallbacks.h',
> > > +)
> > > +
> > > +linux_dmabuf_unstable_v1_protocol_c = custom_target(
> > > +  'linux-dmabuf-unstable-v1-protocol.c',
> > > +  input : wayland_dmabuf_xml,
> > > +  output : 'linux-dmabuf-unstable-v1-protocol.c',
> > > +  command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'],
> > > +)
> > > +
> > > +linux_dmabuf_unstable_v1_client_protocol_h = custom_target(
> > > +  'linux-dmabuf-unstable-v1-client-protocol.h',
> > > +  input : wayland_dmabuf_xml,
> > > +  output : 'linux-dmabuf-unstable-v1-client-protocol.h',
> > > +  command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'],
> > > +)
> > > +
> > > +if with_platform_x11
> > > +  files_egl += files('drivers/dri2/platform_x11.c')
> > > +  if with_dri3
> > > +    files_egl += files('drivers/dri2/platform_x11_dri3.c')
> > > +    link_for_egl += libloader_dri3_helper
> > > +  endif
> > > +  deps_for_egl += [dep_xcb_dri2, dep_xcb_xfixes]
> > > +endif
> > > +if with_platform_drm
> > > +  files_egl += files('drivers/dri2/platform_drm.c')
> > > +  link_for_egl += libgbm
> > > +  incs_for_egl += include_directories('../gbm/main')
> > > +endif
> > > +if with_platform_surfaceless
> > > +  files_egl += files('drivers/dri2/platform_surfaceless.c')
> > > +endif
> > > +if with_platform_wayland
> > > +  deps_for_egl += [dep_wayland_client, dep_wayland_server]
> > > +  link_for_egl += libwayland_drm
> > > +  files_egl += files('drivers/dri2/platform_wayland.c')
> > > +  files_egl += [
> > > +    linux_dmabuf_unstable_v1_protocol_c,
> > > +    linux_dmabuf_unstable_v1_client_protocol_h,
> > > +    wayland_drm_client_protocol_h,
> > > +  ]
> > > +  incs_for_egl += include_directories(
> > > +    'wayland/wayland-egl', 'wayland/wayland-drm',
> > > +  )
> > > +endif
> > > +# TODO: android
> > > +
> > > +# TODO: glvnd
> > > +
> > > +if cc.has_function('mincore')
> > > +  c_args_for_egl += '-DHAVE_MINCORE'
> > > +endif
> > > +
> > > +libegl = shared_library(
> > > +  'EGL',
> > > +  files_egl,
> > > +  c_args : [
> > > +    c_vis_args,
> > > +    c_args_for_egl,
> > > +    '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir),
> > > +    '-D_EGL_BUILT_IN_DRIVER_DRI2',
> > > +    '-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ at 0@'.format(egl_native_platform.to_upper()),
> > > +  ],
> > > +  include_directories : [
> > > +    incs_for_egl, inc_include, inc_src, inc_loader, inc_gbm,
> > > +    include_directories('main'),
> > > +  ],
> > > +  link_with : [link_for_egl, libloader, libxmlconfig, libglapi, libmesa_util],
> > > +  link_args : [ld_args_bsymbolic, ld_args_gc_sections],
> > > +  dependencies : [deps_for_egl, dep_dl, dep_libdrm, dep_clock, dep_thread],
> > > +  install : true,
> > > +  version : '1.0.0',
> > > +)
> > > +
> > > +pkg.generate(
> > > +  name : 'egl',
> > > +  description : 'Mesa EGL Library',
> > > +  version : meson.project_version(),
> > > +  libraries : libegl,
> > > +  libraries_private: gl_priv_libs,
> > > +  requires_private : gl_priv_reqs,
> > > +  extra_cflags : gl_pkgconfig_c_flags,
> > > +)
> > > +
> > > +if with_tests
> > > +  test('egl-symbols-check', find_program('egl-symbols-check'))
> > > +  test('egl-entrypoint-check', find_program('egl-entrypoint-check'))
> > > +endif
> > > diff --git a/src/egl/wayland/wayland-drm/meson.build b/src/egl/wayland/wayland-drm/meson.build
> > > index 92adc295531..12b49ca4f06 100644
> > > --- a/src/egl/wayland/wayland-drm/meson.build
> > > +++ b/src/egl/wayland/wayland-drm/meson.build
> > > @@ -31,3 +31,17 @@ wayland_drm_client_protocol_h = custom_target(
> > >    output : 'wayland-drm-client-protocol.h',
> > >    command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'],
> > >  )
> > > +
> > > +wayland_drm_server_protocol_h = custom_target(
> > > +  'wayland-drm-server-protocol.h',
> > > +  input : 'wayland-drm.xml',
> > > +  output : 'wayland-drm-server-protocol.h',
> > > +  command : [prog_wl_scanner, 'server-header', '@INPUT@', '@OUTPUT@'],
> > > +)
> > > +
> > > +libwayland_drm = static_library(
> > > +  'wayland_drm',
> > > +  ['wayland-drm.c', wayland_drm_protocol_c, wayland_drm_server_protocol_h],
> > > +  dependencies : [dep_wayland_server],
> > > +  build_by_default : false,
> > > +)
> > > diff --git a/src/egl/wayland/wayland-drm/meson.build b/src/egl/wayland/wayland-egl/meson.build
> > > similarity index 66%
> > > copy from src/egl/wayland/wayland-drm/meson.build
> > > copy to src/egl/wayland/wayland-egl/meson.build
> > > index 92adc295531..5e7c3103843 100644
> > > --- a/src/egl/wayland/wayland-drm/meson.build
> > > +++ b/src/egl/wayland/wayland-egl/meson.build
> > > @@ -18,16 +18,25 @@
> > >  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> > >  # SOFTWARE.
> > >  
> > > -wayland_drm_protocol_c = custom_target(
> > > -  'wayland-drm-protocol.c',
> > > -  input : 'wayland-drm.xml',
> > > -  output : 'wayland-drm-protocol.c',
> > > -  command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'],
> > > +
> > > +libwayland_egl = shared_library(
> > > +  'wayland-egl',
> > > +  'wayland-egl.c',
> > > +  c_args : [c_vis_args],
> > > +  link_args : ld_args_gc_sections,
> > > +  version : '1.0.0',
> > > +  install : true,
> > >  )
> > >  
> > > -wayland_drm_client_protocol_h = custom_target(
> > > -  'wayland-drm-client-protocol.h',
> > > -  input : 'wayland-drm.xml',
> > > -  output : 'wayland-drm-client-protocol.h',
> > > -  command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'],
> > > +pkg.generate(
> > > +  name : 'wayland-egl',
> > > +  description : 'Mesa wayland-egl library',
> > > +  libraries : libwayland_egl,
> > > +  version : meson.project_version(),
> > > +  requires : 'wayland-client',
> > >  )
> > > +
> > > +if with_tests
> > > +  test('wayland-egl-symbols-check', find_program('wayland-egl-symbols-check'))
> > > +  test('wayland-egl-abi-check', executable('wayland-egl-abi-check', 'wayland-egl-abi-check.c'))
> > > +endif
> > > diff --git a/src/gbm/meson.build b/src/gbm/meson.build
> > > index f9665aa2d2f..1bb3c94c387 100644
> > > --- a/src/gbm/meson.build
> > > +++ b/src/gbm/meson.build
> > > @@ -18,6 +18,8 @@
> > >  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> > >  # SOFTWARE.
> > >  
> > > +inc_gbm = include_directories('.', 'backends/dri')
> > > +
> > >  files_gbm = files(
> > >    'main/backend.c',
> > >    'main/backend.h',
> > > @@ -28,12 +30,17 @@ files_gbm = files(
> > >  deps_gbm = []
> > >  args_gbm = []
> > >  links_gbm = []
> > > +deps_gbm = []
> > >  
> > >  if with_dri2
> > >    files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h')
> > >    deps_gbm += [dep_libdrm, dep_thread]
> > >    args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir)
> > >  endif
> > > +if with_platform_wayland
> > > +  deps_gbm += dep_wayland_server
> > > +  links_gbm += libwayland_drm
> > > +endif
> > >  
> > >  # TODO: wayland support (requires egl)
> > >  
> > > @@ -41,10 +48,11 @@ libgbm = shared_library(
> > >    'gbm',
> > >    files_gbm,
> > >    include_directories : [
> > > -    include_directories('main'), inc_include, inc_src, inc_loader],
> > > +    include_directories('main'), inc_include, inc_src, inc_loader,
> > > +    include_directories('../egl/wayland/wayland-drm')],
> > >    c_args : args_gbm,
> > >    link_args : [ld_args_gc_sections],
> > > -  link_with : [libloader, libmesa_util, libxmlconfig],
> > > +  link_with : [links_gbm, libloader, libmesa_util, libxmlconfig],
> > >    dependencies : [deps_gbm, dep_dl],
> > >    version : '1.0',
> > >    install : true,
> > > diff --git a/src/glx/meson.build b/src/glx/meson.build
> > > index 6853f5b3a16..3fe5fcf0cd6 100644
> > > --- a/src/glx/meson.build
> > > +++ b/src/glx/meson.build
> > > @@ -168,28 +168,6 @@ if with_glx == 'dri'
> > >      install : true,
> > >    )
> > >  
> > > -  gl_priv_reqs = [
> > > -    'x11', 'xext', 'xdamage >= 1.1', 'xfixes', 'x11-xcb', 'xcb',
> > > -    'xcb-glx >= 1.8.1', 'libdrm >= 2.4.75',
> > > -  ]
> > > -  if dep_xf86vm.found()
> > > -    gl_priv_reqs += 'xf86vm'
> > > -  endif
> > > -  if with_dri_platform == 'drm'
> > > -    gl_priv_reqs += 'xcb-dri2 >= 1.8'
> > > -  endif
> > > -
> > > -  gl_priv_libs = []
> > > -  if dep_thread.found()
> > > -    gl_priv_libs += ['-lpthread', '-pthread']
> > > -  endif
> > > -  if dep_m.found()
> > > -    gl_priv_libs += '-lm'
> > > -  endif
> > > -  if dep_dl.found()
> > > -    gl_priv_libs += '-ldl'
> > > -  endif
> > > -
> > >    pkg.generate(
> > >      name : 'gl',
> > >      filebase : 'gl',
> > > diff --git a/src/meson.build b/src/meson.build
> > > index 0326be0bfef..9b1b0ae594d 100644
> > > --- a/src/meson.build
> > > +++ b/src/meson.build
> > > @@ -56,8 +56,13 @@ subdir('intel')
> > >  subdir('mesa')
> > >  subdir('loader')
> > >  subdir('glx')
> > > +if with_platform_wayland
> > > +  subdir('egl/wayland/wayland-egl')
> > > +endif
> > >  if with_gbm
> > >    subdir('gbm')
> > >  endif
> > > -# TODO: egl
> > > +if with_egl
> > > +  subdir('egl')
> > > +endif
> > >  subdir('gallium')
> > > -- 
> > > 2.14.2
> > > 


More information about the mesa-dev mailing list