meson: target
[qemu.git] / target / riscv / meson.build
1 # FIXME extra_args should accept files()
2 dir = meson.current_source_dir()
3 gen32 = [
4   decodetree.process('insn16.decode', extra_args: [dir / 'insn16-32.decode', '--static-decode=decode_insn16', '--insnwidth=16']),
5   decodetree.process('insn32.decode', extra_args: '--static-decode=decode_insn32'),
6 ]
7
8 gen64 = [
9   decodetree.process('insn16.decode', extra_args: [dir / 'insn16-64.decode', '--static-decode=decode_insn16', '--insnwidth=16']),
10   decodetree.process('insn32.decode', extra_args: [dir / 'insn32-64.decode', '--static-decode=decode_insn32']),
11 ]
12
13 riscv_ss = ss.source_set()
14 riscv_ss.add(when: 'TARGET_RISCV32', if_true: gen32)
15 riscv_ss.add(when: 'TARGET_RISCV64', if_true: gen64)
16 riscv_ss.add(files(
17   'cpu.c',
18   'cpu_helper.c',
19   'csr.c',
20   'fpu_helper.c',
21   'gdbstub.c',
22   'op_helper.c',
23   'vector_helper.c',
24   'translate.c',
25 ))
26
27 riscv_softmmu_ss = ss.source_set()
28 riscv_softmmu_ss.add(files(
29   'pmp.c',
30   'monitor.c'
31 ))
32
33 target_arch += {'riscv': riscv_ss}
34 target_softmmu_arch += {'riscv': riscv_softmmu_ss}