Blame src/GLX/meson.build

Packit Service 29ce97
# Copyright © 2019 Intel Corporation
Packit Service 29ce97
Packit Service 29ce97
# Permission is hereby granted, free of charge, to any person obtaining a
Packit Service 29ce97
# copy of this software and/or associated documentation files (the
Packit Service 29ce97
# "Materials"), to deal in the Materials without restriction, including
Packit Service 29ce97
# without limitation the rights to use, copy, modify, merge, publish,
Packit Service 29ce97
# distribute, sublicense, and/or sell copies of the Materials, and to
Packit Service 29ce97
# permit persons to whom the Materials are furnished to do so, subject to
Packit Service 29ce97
# the following conditions:
Packit Service 29ce97
Packit Service 29ce97
# The above copyright notice and this permission notice shall be included
Packit Service 29ce97
# unaltered in all copies or substantial portions of the Materials.
Packit Service 29ce97
# Any additions, deletions, or changes to the original source files
Packit Service 29ce97
# must be clearly indicated in accompanying documentation.
Packit Service 29ce97
Packit Service 29ce97
# If only executable code is distributed, then the accompanying
Packit Service 29ce97
# documentation must state that "this software is based in part on the
Packit Service 29ce97
# work of the Khronos Group."
Packit Service 29ce97
Packit Service 29ce97
# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
Packit Service 29ce97
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Packit Service 29ce97
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Packit Service 29ce97
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
Packit Service 29ce97
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
Packit Service 29ce97
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Packit Service 29ce97
# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
Packit Service 29ce97
Packit Service 29ce97
g_glx_dispatch_stub_list_h = custom_target(
Packit Service 29ce97
  'g_glx_dispatch_stub_list.h',
Packit Service 29ce97
  input : 'gen_glx_stubs.py',
Packit Service 29ce97
  output : 'g_glx_dispatch_stub_list.h',
Packit Service 29ce97
  command : [prog_py, '@INPUT@'],
Packit Service 29ce97
  capture : true,
Packit Service 29ce97
)
Packit Service 29ce97
Packit Service 29ce97
libGLX = shared_library(
Packit Service 29ce97
  'GLX',
Packit Service 29ce97
  [
Packit Service 29ce97
    'libglx.c',
Packit Service 29ce97
    'libglxmapping.c',
Packit Service 29ce97
    'libglxproto.c',
Packit Service 29ce97
    'glvnd_genentry.c',
Packit Service 29ce97
    g_glx_dispatch_stub_list_h,
Packit Service 29ce97
  ],
Packit Service 29ce97
  include_directories : [inc_include],
Packit Service 29ce97
  link_args : '-Wl,-Bsymbolic',
Packit Service 29ce97
  dependencies : [
Packit Service 29ce97
    dep_dl, dep_x11, dep_glx, idep_gldispatch, idep_trace,
Packit Service 29ce97
    idep_glvnd_pthread, idep_utils_misc,
Packit Service 29ce97
    idep_app_error_check, idep_winsys_dispatch,
Packit Service 29ce97
  ],
Packit Service 29ce97
  gnu_symbol_visibility : 'hidden',
Packit Service 29ce97
  install : true,
Packit Service 29ce97
  version : '0.0.0',
Packit Service 29ce97
)
Packit Service 29ce97
Packit Service 29ce97
inc_glx = include_directories('.')
Packit Service 29ce97
Packit Service 29ce97
idep_glx = declare_dependency(
Packit Service 29ce97
  link_with : libGLX,
Packit Service 29ce97
  include_directories : inc_glx,
Packit Service 29ce97
)
Packit Service 29ce97
Packit Service 29ce97
pkg.generate(
Packit Service 29ce97
  libGLX,
Packit Service 29ce97
  filebase : 'glx',
Packit Service 29ce97
  description : 'GLX library and headers.',
Packit Service 29ce97
  version : '1.4',
Packit Service 29ce97
)
Packit Service 29ce97
Packit Service 29ce97
test(
Packit Service 29ce97
  'GLX symbols check',
Packit Service 29ce97
  prog_py,
Packit Service 29ce97
  args : [
Packit Service 29ce97
    files_symbols_check,
Packit Service 29ce97
    '--nm', prog_nm.path(),
Packit Service 29ce97
    '--lib', libGLX,
Packit Service 29ce97
    '--symbols-file', files('glx.symbols'),
Packit Service 29ce97
  ],
Packit Service 29ce97
  suite : ['glx', 'symbols'],
Packit Service 29ce97
)