libglvnd/tests/dummy/meson.build

83 lines
2.8 KiB
Meson

# Copyright © 2019 Intel Corporation
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and/or associated documentation files (the
# "Materials"), to deal in the Materials without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Materials, and to
# permit persons to whom the Materials are furnished to do so, subject to
# the following conditions:
# The above copyright notice and this permission notice shall be included
# unaltered in all copies or substantial portions of the Materials.
# Any additions, deletions, or changes to the original source files
# must be clearly indicated in accompanying documentation.
# If only executable code is distributed, then the accompanying
# documentation must state that "this software is based in part on the
# work of the Khronos Group."
# THE MATERIALS ARE 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
# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
libpatchentrypoints = static_library(
'patchentrypoints',
['patchentrypoints.c'],
include_directories : [inc_include, inc_util, inc_dispatch],
)
prog_cp = find_program('cp')
if with_glx
libGLX_dummy = shared_module(
'GLX_dummy',
['GLX_dummy.c'],
include_directories : [inc_dispatch, inc_glx, inc_include],
link_with: [libpatchentrypoints],
dependencies : [idep_trace, idep_utils_misc],
)
# The ICD loader expects to load a .so.0, but meson generates the .X.Y.Z
# links at install time, the build time directories only have the plain .so
# files, so we copy the .so to .so.0 so tests will work
custom_target(
'GLX_dummy.so.0',
input : [libGLX_dummy],
output : 'libGLX_dummy.so.0',
command : [prog_cp, '@INPUT@', '@OUTPUT@'],
build_by_default : true,
)
endif
if get_option('egl')
foreach v : ['0', '1']
_lib = shared_module(
'EGL_dummy' + v,
['EGL_dummy.c'],
c_args : ['-DDUMMY_VENDOR_NAME="dummy@0@"'.format(v)],
include_directories : [inc_include],
link_with: [libpatchentrypoints],
dependencies : [idep_glvnd_pthread],
)
set_variable('libEGL_dummy' + v, _lib)
# see The comment in the with_glx block
custom_target(
'EGL_dummy@0@.so.0'.format(v),
input : _lib,
output : 'libEGL_dummy@0@.so.0'.format(v),
command : [prog_cp, '@INPUT@', '@OUTPUT@'],
build_by_default : true,
)
endforeach
endif
dummy_build_dir = meson.current_build_dir()