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