vulkan: Adds helpers for vk_object (de)alloation and (de)initialization.
[mesa.git] / src / vulkan / device-select-layer / meson.build
1 # Copyright © 2019 Intel Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20
21 vklayer_files = files(
22 'device_select_layer.c',
23 )
24
25 vklayer_deps = []
26 vklayer_flags = []
27
28 if with_platform_x11
29 vklayer_files += files('device_select_x11.c')
30 vklayer_deps += dep_xcb_dri3
31 vklayer_flags += [ '-DVK_USE_PLATFORM_XCB_KHR' ]
32 endif
33
34 if with_platform_wayland
35 vklayer_files += files('device_select_wayland.c')
36 vklayer_files += [ wayland_drm_client_protocol_h, wayland_drm_protocol_c ]
37 vklayer_deps += [dep_wayland_client, dep_wl_protocols]
38 vklayer_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR'
39 endif
40
41 vklayer_mesa_device_select = shared_library(
42 'VkLayer_MESA_device_select',
43 vklayer_files,
44 c_args : [no_override_init_args, vklayer_flags],
45 gnu_symbol_visibility : 'hidden',
46 dependencies : [idep_vulkan_util, idep_mesautil, vklayer_deps, dep_libdrm, dep_dl],
47 include_directories : [inc_include, inc_util, inc_vulkan_wsi],
48 link_args : cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro']),
49 install : true
50 )
51
52 install_data(
53 files('VkLayer_MESA_device_select.json'),
54 install_dir : join_paths(get_option('datadir'), 'vulkan', 'implicit_layer.d'),
55 )