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)