radare2/libr/anal/meson.build
2022-12-03 02:26:41 +01:00

301 lines
7.8 KiB
Meson

subdir('d')
r_anal_sources = [
'anal.c',
'anplugs.c',
'bb.c',
'block.c',
'function.c',
'jmptbl.c',
'cc.c',
'class.c',
'cond.c',
'cparse.c',
'codemeta.c',
'cycles.c',
'data.c',
'diff.c',
'esil_cfg.c',
'esil_dfg.c',
'fcn.c',
'flirt.c',
'global.c',
'hint.c',
'labels.c',
'meta.c',
'op.c',
'pin.c',
'reflines.c',
'rtti.c',
'rtti_msvc.c',
'rtti_itanium.c',
'sign.c',
'switch.c',
'type.c',
'type_pdb.c',
'dwarf_process.c',
'value.c',
'var.c',
'vtable.c',
'xrefs.c',
'p/anal_6502.c',
'p/anal_6502_cs.c',
'p/anal_8051.c',
'p/anal_lanai_gnu.c',
'../asm/arch/lanai/gnu/lanai-dis.c',
'../asm/arch/lanai/gnu/lanai-opc.c',
'p/anal_alpha.c',
'../asm/arch/alpha/gnu/alpha-dis.c',
'../asm/arch/alpha/gnu/alpha-opc.c',
# 'p/anal_arc.c',
# 'arch/arc/gnu/arc-dis.c',
# 'arch/arc/gnu/arc-opc.c',
# 'arch/arc/gnu/arc-ext.c',
# 'arch/arc/gnu/arcompact-dis.c',
'p/anal_arm_cs.c',
'p/anal_arm_gnu.c',
'p/anal_avr.c',
'p/anal_bf.c',
'p/anal_mcs96.c',
'p/anal_bpf.c',
'p/anal_bpf_cs.c',
'p/anal_chip8.c',
'p/anal_cr16.c',
'p/anal_cris.c',
'../asm/arch/cris/gnu/cris-dis.c',
'../asm/arch/cris/gnu/cris-opc.c',
'p/anal_dalvik.c',
'p/anal_ebc.c',
'p/anal_evm_cs.c',
'p/anal_gb.c',
'p/anal_h8300.c',
'p/anal_i8080.c',
'p/anal_java.c',
'p/anal_kvx.c',
'p/anal_lh5801.c',
'p/anal_m680x_cs.c',
'p/anal_m68k_cs.c',
'p/anal_m68k_gnu.c',
'../asm/arch/m68k/gnu/m68k-dis.c',
'../asm/arch/m68k/gnu/m68k-opc.c',
'p/anal_mcore.c',
'p/anal_mips_cs.c',
'../asm/arch/mips/mipsasm.c',
'../asm/arch/mips/gnu/mips-dis.c',
'../asm/arch/mips/gnu/mips16-opc.c',
'../asm/arch/mips/gnu/micromips-opc.c',
'../asm/arch/mips/gnu/mips-opc.c',
'p/anal_mips_gnu.c',
'p/anal_loongarch_gnu.c',
'p/anal_msp430.c',
'p/anal_nios2.c',
'../asm/arch/nios/gnu/nios2-dis.c',
'../asm/arch/nios/gnu/nios2-opc.c',
'p/anal_null.c',
'p/anal_or1k.c',
'p/anal_pdp11_gnu.c',
'../asm/arch/pdp11/gnu/pdp11-dis.c',
'../asm/arch/pdp11/gnu/pdp11-opc.c',
'p/anal_pic.c',
'p/anal_ppc_cs.c',
'p/anal_ppc_gnu.c',
'p/anal_propeller.c',
'p/anal_pyc.c',
'p/anal_riscv_cs.c',
'p/anal_s390_cs.c',
'p/anal_s390_gnu.c',
'../asm/arch/s390/gnu/s390-dis.c',
'../asm/arch/s390/gnu/s390-opc.c',
'../asm/arch/sparc/gnu/sparc-dis.c',
'../asm/arch/sparc/gnu/sparc-opc.c',
'p/anal_snes.c',
'p/anal_lm32.c',
'p/anal_sparc_cs.c',
'p/anal_sparc_gnu.c',
'p/anal_tms320.c',
'p/anal_tricore.c',
'p/anal_v850.c',
'p/anal_vax.c',
'arch/vax/vax-dis.c',
'p/anal_wasm.c',
'p/anal_ws.c',
# join_paths('arch/whitespace/wsdis.c'),
'p/anal_x86_cs.c',
'p/anal_xap.c',
'p/anal_xcore_cs.c',
'p/anal_xtensa.c',
'p/anal_z80.c',
#join_paths('arch','gb','meta_gb_cmt.c'),
'arch/ebc/ebc_disas.c',
'arch/wasm/wasm.c',
'arch/v850/v850dis.c',
'arch/v850/v850e0.c',
'arch/kvx/kvx-dis.c',
'arch/kvx/kvx-reg.c',
'arch/loongarch/gnu/loongarch-coder.c',
'arch/loongarch/gnu/loongarch-dis.c',
'arch/loongarch/gnu/loongarch-opc.c',
'arch/msp430/msp430_disas.c',
'arch/propeller/propeller_disas.c',
'../asm/arch/amd29k/amd29k.c',
'../arch/p/arm/winedbg/be_arm.c',
'../arch/p/arm/gnu/floatformat.c',
'../arch/p/arm/gnu/arm-dis.c',
'../arch/p/arm/aarch64/aarch64-dis.c',
'../arch/p/arm/aarch64/aarch64-dis-2.c',
'../arch/p/arm/aarch64/aarch64-opc.c',
'../arch/p/arm/aarch64/aarch64-opc-2.c',
'../asm/arch/avr/avr_disasm.c',
'../asm/arch/avr/format.c',
'../asm/arch/avr/disasm.c',
'../asm/arch/avr/assemble.c',
'arch/cr16/cr16_disas.c',
'../asm/arch/h8300/h8300_disas.c',
'../asm/arch/mcore/mcore.c',
'../asm/arch/or1k/or1k_disas.c',
'../asm/arch/pic/pic_midrange.c',
'../asm/arch/pic/pic_baseline.c',
'../asm/arch/pic/pic_pic18.c',
'../asm/arch/ppc/libvle/vle.c',
'../asm/arch/ppc/libps/libps.c',
'../asm/arch/ppc/gnu/ppc-dis.c',
'../asm/arch/ppc/gnu/ppc-opc.c',
# join_paths('arch','ppc','libvle','vle.c'),
# join_paths('arch','ppc','libps','libps.c'),
'../asm/arch/tms320/tms320_dasm.c',
'../asm/arch/tms320/c55x_plus/ins.c',
'../asm/arch/tms320/c55x_plus/c55plus.c',
'../asm/arch/tms320/c55x_plus/c55plus_decode.c',
'../asm/arch/tms320/c55x_plus/decode_funcs.c',
'../asm/arch/tms320/c55x_plus/hashtable.c',
'../asm/arch/tms320/c55x_plus/utils.c',
'../asm/arch/tricore/gnu/cpu-tricore.c',
'../asm/arch/tricore/gnu/tricore-dis.c',
'../asm/arch/tricore/gnu/tricore-opc.c',
'../asm/arch/xtensa/gnu/xtensa-dis.c',
'../asm/arch/xtensa/gnu/elf32-xtensa.c',
'../asm/arch/xtensa/gnu/xtensa-isa.c',
'../asm/arch/xtensa/gnu/xtensa-modules.c',
'../asm/arch/pyc/opcode_all.c',
'../asm/arch/pyc/opcode_anal.c',
'../asm/arch/pyc/opcode_arg_fmt.c',
'../asm/arch/pyc/opcode.c',
'../asm/arch/pyc/pyc_dis.c'
]
incdirs = [
'arch'
]
if get_option('use_v35')
r_anal_sources += [
join_paths('p','anal_arm_v35.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode0.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode1.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode2.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode_fields32.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','decode_scratchpad.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','encodings_dec.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','encodings_fmt.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','format.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','gofer.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','operations.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','pcode.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','regs.c'),
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler','sysregs.c')
]
incdirs += [
join_paths('..','asm','arch','arm','v35arm64','arch-arm64','disassembler'),
]
endif
r_anal_sources += r_anal_d_sources
# tcc
tcc_files = [
'c/libtcc.c',
'c/tccgen.c',
'c/tccpp.c'
]
r_anal_inc = [
platform_inc,
include_directories(incdirs)
]
r_anal = library('r_anal', r_anal_sources,
include_directories: r_anal_inc,
c_args: library_cflags,
dependencies: [
r_util_dep,
r_reg_dep,
r_asm_dep,
r_arch_dep,
r_esil_dep,
r_crypto_dep,
r_search_dep,
r_cons_dep,
r_syscall_dep,
r_flag_dep,
java_dep,
capstone_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
soversion: r2_libversion
)
r_anal_dep = declare_dependency(link_with: r_anal,
include_directories: r_anal_inc)
if get_option('blob')
r_anal_static = static_library('r_anal_static', r_anal_sources,
include_directories: r_anal_inc,
c_args: library_cflags,
dependencies: [
capstone_dep,
java_static_dep,
r_arch_static_dep,
r_asm_static_dep,
r_cons_static_dep,
r_crypto_static_dep,
r_esil_static_dep,
r_flag_static_dep,
r_reg_static_dep,
r_search_static_dep,
r_syscall_static_dep,
r_util_static_dep,
],
install: true,
implicit_include_directories: false,
)
r_anal_static_dep = declare_dependency(link_with: r_anal_static,
include_directories: r_anal_inc)
endif
pkgconfig_mod.generate(r_anal,
subdirs: 'libr',
version: r2_version,
name: 'r_anal',
filebase: 'r_anal',
libraries: pkgcfg_sanitize_libs,
requires: [
'r_util',
'r_reg',
'r_asm',
'r_crypto',
'r_syscall',
'r_arch',
'r_search',
'r_cons',
'r_flag'
],
description: 'radare foundation libraries'
)