xref: /aosp_15_r20/external/mesa3d/src/etnaviv/hwdb/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2024 Igalia S.L.
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Workerhas_pycparser = run_command(
5*61046927SAndroid Build Coastguard Worker  prog_python, '-c',
6*61046927SAndroid Build Coastguard Worker  '''
7*61046927SAndroid Build Coastguard Workertry:
8*61046927SAndroid Build Coastguard Worker  from packaging.version import Version
9*61046927SAndroid Build Coastguard Workerexcept:
10*61046927SAndroid Build Coastguard Worker  from distutils.version import StrictVersion as Version
11*61046927SAndroid Build Coastguard Workerimport pycparser
12*61046927SAndroid Build Coastguard Workerassert Version(pycparser.__version__) >= Version("2.20")
13*61046927SAndroid Build Coastguard Worker  ''', check: false)
14*61046927SAndroid Build Coastguard Workerif has_pycparser.returncode() != 0
15*61046927SAndroid Build Coastguard Worker  error('Python (3.x) pycparser module >= 2.20 required to build mesa.')
16*61046927SAndroid Build Coastguard Workerendif
17*61046927SAndroid Build Coastguard Worker
18*61046927SAndroid Build Coastguard Workerprog_hwdb = files('hwdb.h.py')
19*61046927SAndroid Build Coastguard Workerhwdb_h = custom_target(
20*61046927SAndroid Build Coastguard Worker  'hwdb.h',
21*61046927SAndroid Build Coastguard Worker  input: [
22*61046927SAndroid Build Coastguard Worker    'amlogic/gc_feature_database.h',
23*61046927SAndroid Build Coastguard Worker    'nxp/gc_feature_database.h',
24*61046927SAndroid Build Coastguard Worker    'st/gc_feature_database.h'
25*61046927SAndroid Build Coastguard Worker  ],
26*61046927SAndroid Build Coastguard Worker  output: 'hwdb.h',
27*61046927SAndroid Build Coastguard Worker  command: [prog_python, prog_hwdb, '--output', '@OUTPUT@', '@INPUT@'],
28*61046927SAndroid Build Coastguard Worker)
29*61046927SAndroid Build Coastguard Worker
30*61046927SAndroid Build Coastguard Workerlibetnaviv_hwdb_files = [
31*61046927SAndroid Build Coastguard Worker  hwdb_h,
32*61046927SAndroid Build Coastguard Worker  'etna_hwdb.c',
33*61046927SAndroid Build Coastguard Worker]
34*61046927SAndroid Build Coastguard Worker
35*61046927SAndroid Build Coastguard Workerlibetnaviv_hwdb = static_library(
36*61046927SAndroid Build Coastguard Worker  'etnaviv_hwdb',
37*61046927SAndroid Build Coastguard Worker  libetnaviv_hwdb_files,
38*61046927SAndroid Build Coastguard Worker  dependencies: idep_etna_common,
39*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
40*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
41*61046927SAndroid Build Coastguard Worker  build_by_default : false,
42*61046927SAndroid Build Coastguard Worker)
43