• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# An example meson.build for .rd decompiled into C source via rddecompiler.
2# It uses Mesa as a subproject since the generated sources depend on
3# generated headers with registers info and on some utils.
4# Before compiling, create "subprojects" directory and create a link
5# to mesa there.
6
7project('generate_rd', ['c', 'cpp'], default_options : ['c_std=c11', 'cpp_std=c++17'])
8
9mesa_options = ['gallium-drivers=',
10                'vulkan-drivers=',
11                'glx=disabled',
12                'tools=freedreno']
13
14if host_machine.system() == 'android'
15  mesa_options += ['platforms=android',
16                   'platform-sdk-version=28',
17                   'android-stub=true']
18endif
19
20mesa_proj = subproject('mesa', default_options : mesa_options)
21
22add_project_arguments(mesa_proj.get_variable('pre_args'), language : ['c', 'cpp'])
23add_project_arguments(mesa_proj.get_variable('c_args'),   language : ['c'])
24add_project_arguments(mesa_proj.get_variable('c_cpp_args'), language : ['c', 'cpp'])
25add_project_arguments(mesa_proj.get_variable('cpp_args'), language : ['cpp'])
26
27generate_rd = executable(
28  'generate_rd',
29  [
30    'generate_rd.cc'
31  ],
32  include_directories: [
33    mesa_proj.get_variable('inc_freedreno'),
34    mesa_proj.get_variable('inc_freedreno_rnn'),
35    mesa_proj.get_variable('inc_include'),
36    mesa_proj.get_variable('inc_src'),
37  ],
38  link_with: [
39    mesa_proj.get_variable('libfreedreno_cffdec'),
40  ],
41  dependencies : [
42    mesa_proj.get_variable('idep_nir'),
43  ],
44)