xref: /aosp_15_r20/external/mesa3d/src/gbm/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Copyright © 2017 Intel Corporation
2# SPDX-License-Identifier: MIT
3
4inc_gbm = include_directories('.', 'main', 'backends/dri')
5
6files_gbm = files(
7  'main/backend.c',
8  'main/backend.h',
9  'main/gbm.c',
10  'main/gbm.h',
11  'main/gbmint.h',
12)
13args_gbm = [
14  '-DDEFAULT_BACKENDS_PATH="@0@"'.format(gbm_backends_path),
15]
16incs_gbm = [include_directories('main'), inc_loader, inc_gallium]
17
18if with_dri2
19  subdir('backends/dri')
20endif
21
22libgbm_name = 'gbm'
23
24if with_platform_android and get_option('platform-sdk-version') >= 30
25  libgbm_name = 'gbm_mesa'
26endif
27
28libgbm = shared_library(
29  libgbm_name,
30  files_gbm,
31  include_directories : incs_gbm,
32  c_args : [args_gbm],
33  link_args : [ld_args_gc_sections],
34  link_with : [libloader],
35  dependencies : [dep_libdrm, idep_xmlconfig],
36  gnu_symbol_visibility : 'hidden',
37  version : '1.0.0',
38  install : true,
39)
40
41if with_tests
42  abi_check = executable('gbm_abi_check', 'main/gbm_abi_check.c')
43  test('gbm-abi-check', abi_check, suite : ['gbm'])
44endif
45
46install_headers('main/gbm.h')
47
48pkg.generate(
49  name : 'gbm',
50  filebase : 'gbm',
51  description : 'Mesa gbm library',
52  version : meson.project_version(),
53  libraries : libgbm,
54  libraries_private : gbm_priv_libs,
55  variables : ['gbmbackendspath=' + gbm_backends_path],
56)
57
58if with_symbols_check
59  test(
60    'gbm-symbols-check',
61    symbols_check,
62    args : [
63      '--lib', libgbm,
64      '--symbols-file', files('gbm-symbols.txt'),
65      symbols_check_args,
66    ],
67    suite : ['gbm'],
68  )
69endif
70