Cleanup meson files (#9424)

This commit is contained in:
Paul I 2018-02-20 11:33:19 +03:00 committed by xarkes
parent b27456c5ca
commit bb4f61580e
37 changed files with 1588 additions and 1467 deletions

View File

@ -1,5 +1,6 @@
executable('r2agent', 'r2agent.c', executable('r2agent', 'r2agent.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_socket, r_cons], link_with: [r_util, r_socket, r_cons],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,10 +1,9 @@
executable('rabin2', 'rabin2.c', executable('rabin2', 'rabin2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_cons, r_config, r_hash, r_io, r_crypto, r_core, r_magic, libr2java], link_with: [
objects: [ r_util, r_cons, r_config, r_hash, r_io, r_crypto, r_core, r_magic, r_bin,
libr2sdb.extract_all_objects(), libr_shlr
r_bin.extract_all_objects()
], ],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,5 +1,10 @@
executable('radare2', 'radare2.c', executable('radare2', 'radare2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_socket, r_core, r_io, r_magic, r_fs, r_bin, r_flag, r_cons, r_asm, r_debug, r_config, r_bp, r_reg, r_syscall, r_anal, r_parse, r_egg, r_search, r_hash, r_crypto,], link_with: [
install: true r_util, r_socket, r_core, r_io, r_magic, r_fs, r_bin, r_flag, r_cons,
r_asm, r_debug, r_config, r_bp, r_reg, r_syscall, r_anal, r_parse, r_egg,
r_search, r_hash, r_crypto,
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,5 +1,8 @@
executable('radiff2', 'radiff2.c', executable('radiff2', 'radiff2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_io, r_search, r_cons, r_core, r_bin, r_anal, r_asm, r_hash, r_config], link_with: [
install: true r_util, r_io, r_search, r_cons, r_core, r_bin, r_anal, r_asm, r_hash, r_config
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,5 +1,6 @@
executable('rafind2', 'rafind2.c', executable('rafind2', 'rafind2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_search, r_io, r_cons], link_with: [r_util, r_search, r_io, r_cons],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,6 +1,8 @@
executable('ragg2', 'ragg2.c', executable('ragg2', 'ragg2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_egg, r_bin, r_core, r_hash, r_debug, r_fs, r_config, r_bp, r_crypto], link_with: [
install: true r_util, r_egg, r_bin, r_core, r_hash, r_debug, r_fs, r_config, r_bp, r_crypto
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,5 +1,6 @@
executable('rahash2', 'rahash2.c', executable('rahash2', 'rahash2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_hash, r_io, r_crypto, r_socket], link_with: [r_util, r_hash, r_io, r_crypto, r_socket],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,5 +1,6 @@
executable('rarun2', 'rarun2.c', executable('rarun2', 'rarun2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_socket], link_with: [r_util, r_socket],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,9 +1,6 @@
executable('rasm2', 'rasm2.c', executable('rasm2', 'rasm2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util, r_asm, r_anal, r_syscall], link_with: [r_util, r_asm, r_anal, r_syscall, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects(), implicit_include_directories: false
],
install: true
) )

View File

@ -1,6 +1,6 @@
executable('rax2', 'rax2.c', executable('rax2', 'rax2.c',
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,114 +1,115 @@
files=[ files = [
'anal.c', 'anal.c',
'anal_ex.c', 'anal_ex.c',
#'arch/gb/meta_gb_cmt.c', #'arch/gb/meta_gb_cmt.c',
'bb.c', 'bb.c',
'cc.c', 'cc.c',
'cond.c', 'cond.c',
'cycles.c', 'cycles.c',
'data.c', 'data.c',
'diff.c', 'diff.c',
'esil.c', 'esil.c',
'esil2reil.c', 'esil2reil.c',
'esil_stats.c', 'esil_stats.c',
'esil_trace.c', 'esil_trace.c',
'fcn.c', 'fcn.c',
'fcnstore.c', 'fcnstore.c',
'flirt.c', 'flirt.c',
'hint.c', 'hint.c',
'labels.c', 'labels.c',
'meta.c', 'meta.c',
'op.c', 'op.c',
'p/anal_6502.c', 'p/anal_6502.c',
'p/anal_8051.c', 'p/anal_8051.c',
'p/anal_arc.c', 'p/anal_arc.c',
'p/anal_arm_cs.c', 'p/anal_arm_cs.c',
# 'p/anal_arm_gnu.c', # 'p/anal_arm_gnu.c',
'p/anal_avr.c', 'p/anal_avr.c',
'p/anal_bf.c', 'p/anal_bf.c',
'p/anal_cr16.c', 'p/anal_cr16.c',
'p/anal_cris.c', 'p/anal_cris.c',
'p/anal_dalvik.c', 'p/anal_dalvik.c',
'p/anal_ebc.c', 'p/anal_ebc.c',
'p/anal_gb.c', 'p/anal_gb.c',
'p/anal_h8300.c', 'p/anal_h8300.c',
'p/anal_hexagon.c', 'p/anal_hexagon.c',
'p/anal_i4004.c', 'p/anal_i4004.c',
'p/anal_i8080.c', 'p/anal_i8080.c',
#'p/anal_java.c', #'p/anal_java.c',
'p/anal_m68k_cs.c', 'p/anal_m68k_cs.c',
'p/anal_malbolge.c', 'p/anal_malbolge.c',
'p/anal_mips_cs.c', 'p/anal_mips_cs.c',
'p/anal_mips_gnu.c', 'p/anal_mips_gnu.c',
'p/anal_msp430.c', 'p/anal_msp430.c',
'p/anal_nios2.c', 'p/anal_nios2.c',
'p/anal_null.c', 'p/anal_null.c',
'p/anal_pic.c', 'p/anal_pic.c',
'p/anal_ppc_cs.c', 'p/anal_ppc_cs.c',
'p/anal_ppc_gnu.c', 'p/anal_ppc_gnu.c',
#'p/anal_propeller.c', #'p/anal_propeller.c',
'p/anal_riscv.c', 'p/anal_riscv.c',
#'p/anal_rsp.c', #'p/anal_rsp.c',
'p/anal_sh.c', 'p/anal_sh.c',
'p/anal_snes.c', 'p/anal_snes.c',
'p/anal_sparc_cs.c', 'p/anal_sparc_cs.c',
'p/anal_sparc_gnu.c', 'p/anal_sparc_gnu.c',
'p/anal_sysz.c', 'p/anal_sysz.c',
'p/anal_tms320.c', 'p/anal_tms320.c',
'p/anal_tms320_c55x_plus.c', 'p/anal_tms320_c55x_plus.c',
'p/anal_tms320c64x.c', 'p/anal_tms320c64x.c',
'p/anal_v810.c', 'p/anal_v810.c',
'p/anal_v850.c', 'p/anal_v850.c',
'p/anal_vax.c', 'p/anal_vax.c',
'p/anal_ws.c', 'p/anal_ws.c',
'p/anal_x86_cs.c', 'p/anal_x86_cs.c',
'p/anal_x86_udis.c', 'p/anal_x86_udis.c',
'p/anal_xap.c', 'p/anal_xap.c',
'p/anal_xcore_cs.c', 'p/anal_xcore_cs.c',
#'p/anal_xtensa.c', #'p/anal_xtensa.c',
'p/anal_z80.c', 'p/anal_z80.c',
'p/esil_x86_udis.c', 'p/esil_x86_udis.c',
'pin.c', 'pin.c',
'ref.c', 'ref.c',
'reflines.c', 'reflines.c',
'session.c', 'session.c',
'sign.c', 'sign.c',
'state.c', 'state.c',
'switch.c', 'switch.c',
# 'test.c', # 'test.c',
'types.c', 'types.c',
'value.c', 'value.c',
'var.c', 'var.c',
'xrefs.c', 'xrefs.c',
'arch/hexagon/hexagon_anal.c', 'arch/hexagon/hexagon_anal.c',
'../asm/arch/hexagon/hexagon.c', '../asm/arch/hexagon/hexagon.c',
'../asm/arch/hexagon/hexagon_disas.c', '../asm/arch/hexagon/hexagon_disas.c',
] ]
r_anal = library('r_anal', files,
include_directories: [platform_inc, include_directories([
'arch/gb',
'../asm/arch/8051',
'../asm/arch/cr16',
'../asm/arch/ebc',
'../asm/arch/h8300',
'../asm/arch/hexagon',
'../anal/arch/hexagon',
'../asm/arch/msp430',
#'../asm/arch/propeller',
'../asm/arch/tms320',
'../asm/arch/v810',
'../asm/arch/v850',
'../asm/arch/include/',
'../../shlr/capstone/include',
'../../shlr',
])], r_anal = library('r_anal', files,
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], include_directories: [
link_with: [r_util, r_reg, r_asm, r_syscall, r_search, r_cons, r_flag, libr2udis86], platform_inc,
objects: [ include_directories([
libr2capstone.extract_all_objects(), 'arch/gb',
libr2sdb.extract_all_objects(), '../asm/arch/8051',
libr2spp.extract_all_objects(), '../asm/arch/cr16',
'../asm/arch/ebc',
'../asm/arch/h8300',
'../asm/arch/hexagon',
'../anal/arch/hexagon',
'../asm/arch/msp430',
#'../asm/arch/propeller',
'../asm/arch/tms320',
'../asm/arch/v810',
'../asm/arch/v850',
'../asm/arch/include/',
'../../shlr/capstone/include',
'../../shlr'
])
], ],
install: true c_args: ['-DCORELIB=1'],
link_with: [
r_util, r_reg, r_asm, r_syscall, r_search, r_cons, r_flag, libr_shlr
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,171 +1,172 @@
files=[ files = [
'asm.c', 'asm.c',
'code.c', 'code.c',
'p/asm_6502.c', 'p/asm_6502.c',
'p/asm_8051.c', 'p/asm_8051.c',
'p/asm_arc.c', 'p/asm_arc.c',
'p/asm_arm_as.c', 'p/asm_arm_as.c',
'p/asm_arm_cs.c', 'p/asm_arm_cs.c',
'p/asm_arm_gnu.c', 'p/asm_arm_gnu.c',
'p/asm_arm_winedbg.c', 'p/asm_arm_winedbg.c',
'p/asm_avr.c', 'p/asm_avr.c',
'p/asm_bf.c', 'p/asm_bf.c',
'p/asm_cr16.c', 'p/asm_cr16.c',
'p/asm_cris_gnu.c', 'p/asm_cris_gnu.c',
'p/asm_dalvik.c', 'p/asm_dalvik.c',
'p/asm_dcpu16.c', 'p/asm_dcpu16.c',
'p/asm_ebc.c', 'p/asm_ebc.c',
'p/asm_gas.c', 'p/asm_gas.c',
'p/asm_gb.c', 'p/asm_gb.c',
'p/asm_h8300.c', 'p/asm_h8300.c',
'p/asm_hexagon.c', 'p/asm_hexagon.c',
'p/asm_hppa_gnu.c', 'p/asm_hppa_gnu.c',
'p/asm_i4004.c', 'p/asm_i4004.c',
'p/asm_i8080.c', 'p/asm_i8080.c',
'p/asm_java.c', 'p/asm_java.c',
'p/asm_lanai_gnu.c', 'p/asm_lanai_gnu.c',
'p/asm_lm32.c', 'p/asm_lm32.c',
'p/asm_lh5801.c', 'p/asm_lh5801.c',
'p/asm_m68k_cs.c', 'p/asm_m68k_cs.c',
'p/asm_malbolge.c', 'p/asm_malbolge.c',
'p/asm_mcs96.c', 'p/asm_mcs96.c',
'p/asm_mips_cs.c', 'p/asm_mips_cs.c',
'p/asm_mips_gnu.c', 'p/asm_mips_gnu.c',
'p/asm_msp430.c', 'p/asm_msp430.c',
'p/asm_nios2.c', 'p/asm_nios2.c',
'p/asm_pic.c', 'p/asm_pic.c',
'p/asm_ppc_cs.c', 'p/asm_ppc_cs.c',
'p/asm_ppc_gnu.c', 'p/asm_ppc_gnu.c',
'p/asm_propeller.c', 'p/asm_propeller.c',
'p/asm_riscv.c', 'p/asm_riscv.c',
'p/asm_rsp.c', 'p/asm_rsp.c',
'p/asm_sh.c', 'p/asm_sh.c',
'p/asm_snes.c', 'p/asm_snes.c',
'p/asm_sparc_cs.c', 'p/asm_sparc_cs.c',
'p/asm_sparc_gnu.c', 'p/asm_sparc_gnu.c',
'p/asm_spc700.c', 'p/asm_spc700.c',
'p/asm_sysz.c', 'p/asm_sysz.c',
'p/asm_tms320.c', 'p/asm_tms320.c',
'p/asm_tms320c64x.c', 'p/asm_tms320c64x.c',
'p/asm_tricore.c', 'p/asm_tricore.c',
'p/asm_v810.c', 'p/asm_v810.c',
'p/asm_v850.c', 'p/asm_v850.c',
'p/asm_vax.c', 'p/asm_vax.c',
'p/asm_wasm.c', 'p/asm_wasm.c',
'p/asm_ws.c', 'p/asm_ws.c',
'p/asm_x86_as.c', 'p/asm_x86_as.c',
'p/asm_x86_cs.c', 'p/asm_x86_cs.c',
'p/asm_x86_nasm.c', 'p/asm_x86_nasm.c',
'p/asm_x86_nz.c', 'p/asm_x86_nz.c',
'p/asm_x86_udis.c', 'p/asm_x86_udis.c',
'p/asm_xap.c', 'p/asm_xap.c',
'p/asm_xcore_cs.c', 'p/asm_xcore_cs.c',
'p/asm_xtensa.c', 'p/asm_xtensa.c',
'p/asm_z80.c', 'p/asm_z80.c',
'arch/6502/6502dis.c', 'arch/6502/6502dis.c',
'arch/8051/8051_disas.c', 'arch/8051/8051_disas.c',
'arch/arc/gnu/arc-dis.c', 'arch/arc/gnu/arc-dis.c',
'arch/arc/gnu/arc-ext.c', 'arch/arc/gnu/arc-ext.c',
'arch/arc/gnu/arc-opc.c', 'arch/arc/gnu/arc-opc.c',
'arch/arc/gnu/arcompact-dis.c', 'arch/arc/gnu/arcompact-dis.c',
'arch/arm/aarch64/aarch64-dis-2.c', 'arch/arm/aarch64/aarch64-dis-2.c',
'arch/arm/aarch64/aarch64-dis.c', 'arch/arm/aarch64/aarch64-dis.c',
'arch/arm/aarch64/aarch64-opc-2.c', 'arch/arm/aarch64/aarch64-opc-2.c',
'arch/arm/aarch64/aarch64-opc.c', 'arch/arm/aarch64/aarch64-opc.c',
'arch/arm/armass.c', 'arch/arm/armass.c',
'arch/arm/armass64.c', 'arch/arm/armass64.c',
'arch/arm/gnu/arm-dis.c', 'arch/arm/gnu/arm-dis.c',
'arch/arm/gnu/floatformat.c', 'arch/arm/gnu/floatformat.c',
'arch/arm/winedbg/be_arm.c', 'arch/arm/winedbg/be_arm.c',
'arch/avr/avr_disasm.c', 'arch/avr/avr_disasm.c',
'arch/avr/disasm.c', 'arch/avr/disasm.c',
'arch/cr16/cr16_disas.c', 'arch/cr16/cr16_disas.c',
'arch/cris/gnu/cris-dis.c', 'arch/cris/gnu/cris-dis.c',
'arch/cris/gnu/cris-opc.c', 'arch/cris/gnu/cris-opc.c',
#'arch/dcpu16/asm.c', #'arch/dcpu16/asm.c',
#'arch/dcpu16/dis.c', #'arch/dcpu16/dis.c',
#'arch/dcpu16/main.c', #'arch/dcpu16/main.c',
'arch/ebc/ebc_disas.c', 'arch/ebc/ebc_disas.c',
'arch/gb/gbasm.c', 'arch/gb/gbasm.c',
'arch/gb/gbdis.c', 'arch/gb/gbdis.c',
'arch/h8300/h8300_disas.c', 'arch/h8300/h8300_disas.c',
'arch/hexagon/hexagon.c', 'arch/hexagon/hexagon.c',
'arch/hexagon/hexagon_disas.c', 'arch/hexagon/hexagon_disas.c',
'arch/hppa/gnu/hppa-dis.c', 'arch/hppa/gnu/hppa-dis.c',
'arch/i4004/i4004dis.c', 'arch/i4004/i4004dis.c',
'arch/i8080/i8080dis.c', 'arch/i8080/i8080dis.c',
'arch/lanai/gnu/lanai-dis.c', 'arch/lanai/gnu/lanai-dis.c',
'arch/lanai/gnu/lanai-opc.c', 'arch/lanai/gnu/lanai-opc.c',
'arch/mips/gnu/mips-dis.c', 'arch/mips/gnu/mips-dis.c',
'arch/mips/gnu/mips-opc.c', 'arch/mips/gnu/mips-opc.c',
'arch/mips/gnu/mips16-opc.c', 'arch/mips/gnu/mips16-opc.c',
'arch/mips/mipsasm.c', 'arch/mips/mipsasm.c',
'arch/msp430/msp430_disas.c', 'arch/msp430/msp430_disas.c',
'arch/nios/gnu/nios2-dis.c', 'arch/nios/gnu/nios2-dis.c',
'arch/nios/gnu/nios2-opc.c', 'arch/nios/gnu/nios2-opc.c',
'arch/pic/pic_baseline.c', 'arch/pic/pic_baseline.c',
'arch/pic/pic_pic18.c', 'arch/pic/pic_pic18.c',
'arch/ppc/gnu/ppc-dis.c', 'arch/ppc/gnu/ppc-dis.c',
'arch/ppc/gnu/ppc-opc.c', 'arch/ppc/gnu/ppc-opc.c',
'arch/ppc/libvle/vle.c', 'arch/ppc/libvle/vle.c',
'arch/ppc/libps/libps.c', 'arch/ppc/libps/libps.c',
'arch/propeller/propeller_disas.c', 'arch/propeller/propeller_disas.c',
#'arch/riscv/riscv-opc.c', #'arch/riscv/riscv-opc.c',
#'arch/riscv/riscv.c', #'arch/riscv/riscv.c',
'arch/rsp/rsp_idec.c', 'arch/rsp/rsp_idec.c',
'arch/sh/gnu/sh-dis.c', 'arch/sh/gnu/sh-dis.c',
'arch/snes/snesdis.c', 'arch/snes/snesdis.c',
'arch/sparc/gnu/sparc-dis.c', 'arch/sparc/gnu/sparc-dis.c',
'arch/sparc/gnu/sparc-opc.c', 'arch/sparc/gnu/sparc-opc.c',
'arch/spc700/spc700dis.c', 'arch/spc700/spc700dis.c',
'arch/tms320/c55x_plus/c55plus.c', 'arch/tms320/c55x_plus/c55plus.c',
'arch/tms320/c55x_plus/c55plus_decode.c', 'arch/tms320/c55x_plus/c55plus_decode.c',
'arch/tms320/c55x_plus/decode_funcs.c', 'arch/tms320/c55x_plus/decode_funcs.c',
'arch/tms320/c55x_plus/hashtable.c', 'arch/tms320/c55x_plus/hashtable.c',
'arch/tms320/c55x_plus/hashvector.c', 'arch/tms320/c55x_plus/hashvector.c',
'arch/tms320/c55x_plus/ins.c', 'arch/tms320/c55x_plus/ins.c',
'arch/tms320/c55x_plus/utils.c', 'arch/tms320/c55x_plus/utils.c',
'arch/tms320/tms320_dasm.c', 'arch/tms320/tms320_dasm.c',
'arch/tricore/gnu/cpu-tricore.c', 'arch/tricore/gnu/cpu-tricore.c',
'arch/tricore/gnu/tricore-dis.c', 'arch/tricore/gnu/tricore-dis.c',
'arch/tricore/gnu/tricore-opc.c', 'arch/tricore/gnu/tricore-opc.c',
'arch/v810/v810_disas.c', 'arch/v810/v810_disas.c',
'arch/v850/v850_disas.c', 'arch/v850/v850_disas.c',
'arch/vax/vax-dis.c', 'arch/vax/vax-dis.c',
'arch/wasm/wasm.c', 'arch/wasm/wasm.c',
'arch/whitespace/wsdis.c', 'arch/whitespace/wsdis.c',
'arch/xap/dis.c', 'arch/xap/dis.c',
'arch/xtensa/gnu/elf32-xtensa.c', 'arch/xtensa/gnu/elf32-xtensa.c',
'arch/xtensa/gnu/xtensa-dis.c', 'arch/xtensa/gnu/xtensa-dis.c',
'arch/xtensa/gnu/xtensa-isa.c', 'arch/xtensa/gnu/xtensa-isa.c',
'arch/xtensa/gnu/xtensa-modules.c', 'arch/xtensa/gnu/xtensa-modules.c',
#'arch/z80/expressions.c', #'arch/z80/expressions.c',
'arch/z80/z80.c', 'arch/z80/z80.c',
#'arch/z80/z80asm.c', #'arch/z80/z80asm.c',
] ]
r_asm = library('r_asm', files, r_asm = library('r_asm', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'arch/include', platform_inc,
'../../shlr/capstone/include', include_directories([
'../../shlr', '../../shlr/capstone/include',
'arch', '../../shlr',
'arch/h8300', 'arch/include',
'arch/hexagon', 'arch',
'arch/msp430', 'arch/h8300',
'arch/rsp', 'arch/hexagon',
'arch/v850', 'arch/msp430',
'arch/propeller', 'arch/rsp',
'arch/ebc', 'arch/v850',
'arch/cr16', 'arch/propeller',
'arch/8051', 'arch/ebc',
])], 'arch/cr16',
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], 'arch/8051',
link_with: [r_util, r_syscall, r_parse, r_lang, r_flag, r_socket, libr2java, libr2udis86], ])
objects: [
libr2capstone.extract_all_objects(),
libr2sdb.extract_all_objects(),
libr2spp.extract_all_objects(),
], ],
install: true c_args: ['-DCORELIB=1'],
link_with: [
r_util, r_syscall, r_parse, r_lang, r_flag, r_socket, libr_shlr
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,123 +1,124 @@
files=[ files = [
'bin.c', 'bin.c',
'bin_write.c', 'bin_write.c',
'dbginfo.c', 'dbginfo.c',
'demangle.c', 'demangle.c',
'dwarf.c', 'dwarf.c',
'filter.c', 'filter.c',
'p/bin_any.c', 'p/bin_any.c',
'p/bin_art.c', 'p/bin_art.c',
'p/bin_avr.c', 'p/bin_avr.c',
'p/bin_bf.c', 'p/bin_bf.c',
'p/bin_bflt.c', 'p/bin_bflt.c',
'p/bin_bios.c', 'p/bin_bios.c',
'p/bin_bootimg.c', 'p/bin_bootimg.c',
'p/bin_cgc.c', 'p/bin_cgc.c',
'p/bin_coff.c', 'p/bin_coff.c',
'p/bin_dbginfo_dex.c', 'p/bin_dbginfo_dex.c',
'p/bin_dbginfo_elf.c', 'p/bin_dbginfo_elf.c',
'p/bin_dbginfo_elf64.c', 'p/bin_dbginfo_elf64.c',
'p/bin_dex.c', 'p/bin_dex.c',
'p/bin_dol.c', 'p/bin_dol.c',
'p/bin_dyldcache.c', 'p/bin_dyldcache.c',
'p/bin_elf.c', 'p/bin_elf.c',
'p/bin_elf64.c', 'p/bin_elf64.c',
'p/bin_fs.c', 'p/bin_fs.c',
'p/bin_java.c', 'p/bin_java.c',
'p/bin_mach0.c', 'p/bin_mach0.c',
'p/bin_mach064.c', 'p/bin_mach064.c',
'p/bin_mbn.c', 'p/bin_mbn.c',
'p/bin_menuet.c', 'p/bin_menuet.c',
'p/bin_mdmp.c', 'p/bin_mdmp.c',
'p/bin_mz.c', 'p/bin_mz.c',
'p/bin_nes.c', 'p/bin_nes.c',
'p/bin_nin3ds.c', 'p/bin_nin3ds.c',
'p/bin_ninds.c', 'p/bin_ninds.c',
'p/bin_ningb.c', 'p/bin_ningb.c',
'p/bin_ningba.c', 'p/bin_ningba.c',
'p/bin_nro.c', 'p/bin_nro.c',
'p/bin_omf.c', 'p/bin_omf.c',
'p/bin_p9.c', 'p/bin_p9.c',
'p/bin_pe.c', 'p/bin_pe.c',
'p/bin_pe64.c', 'p/bin_pe64.c',
'p/bin_pebble.c', 'p/bin_pebble.c',
'p/bin_psxexe.c', 'p/bin_psxexe.c',
'p/bin_sfc.c', 'p/bin_sfc.c',
'p/bin_smd.c', 'p/bin_smd.c',
'p/bin_sms.c', 'p/bin_sms.c',
'p/bin_spc700.c', 'p/bin_spc700.c',
'p/bin_te.c', 'p/bin_te.c',
'p/bin_vsf.c', 'p/bin_vsf.c',
'p/bin_wasm.c', 'p/bin_wasm.c',
'p/bin_write_elf.c', 'p/bin_write_elf.c',
'p/bin_write_elf64.c', 'p/bin_write_elf64.c',
'p/bin_write_mach0.c', 'p/bin_write_mach0.c',
'p/bin_write_mach064.c', 'p/bin_write_mach064.c',
'p/bin_write_pe.c', 'p/bin_write_pe.c',
'p/bin_write_pe64.c', 'p/bin_write_pe64.c',
'p/bin_xbe.c', 'p/bin_xbe.c',
'p/bin_xtr_dyldcache.c', 'p/bin_xtr_dyldcache.c',
'p/bin_xtr_fatmach0.c', 'p/bin_xtr_fatmach0.c',
'p/bin_zimg.c', 'p/bin_zimg.c',
'p/bin_z64.c', 'p/bin_z64.c',
'format/bflt/bflt.c', 'format/bflt/bflt.c',
'format/coff/coff.c', 'format/coff/coff.c',
'format/dex/dex.c', 'format/dex/dex.c',
'format/elf/elf.c', 'format/elf/elf.c',
'format/elf/elf64.c', 'format/elf/elf64.c',
'format/elf/elf64_write.c', 'format/elf/elf64_write.c',
'format/elf/elf_write.c', 'format/elf/elf_write.c',
'format/mach0/dyldcache.c', 'format/mach0/dyldcache.c',
'format/mach0/fatmach0.c', 'format/mach0/fatmach0.c',
'format/mach0/mach0.c', 'format/mach0/mach0.c',
'format/mach0/mach064.c', 'format/mach0/mach064.c',
'format/mdmp/mdmp.c', 'format/mdmp/mdmp.c',
'format/mdmp/mdmp_pe.c', 'format/mdmp/mdmp_pe.c',
'format/mdmp/mdmp_pe64.c', 'format/mdmp/mdmp_pe64.c',
'format/mz/mz.c', 'format/mz/mz.c',
'format/objc/mach064_classes.c', 'format/objc/mach064_classes.c',
'format/objc/mach0_classes.c', 'format/objc/mach0_classes.c',
'format/omf/omf.c', 'format/omf/omf.c',
'format/p9/p9bin.c', 'format/p9/p9bin.c',
'format/pe/pe.c', 'format/pe/pe.c',
'format/pe/pe64.c', 'format/pe/pe64.c',
'format/pe/pe64_write.c', 'format/pe/pe64_write.c',
'format/pe/pe_write.c', 'format/pe/pe_write.c',
'format/te/te.c', 'format/te/te.c',
'format/wasm/wasm.c', 'format/wasm/wasm.c',
'format/zimg/zimg.c', 'format/zimg/zimg.c',
'mangling/cxx.c', 'mangling/cxx.c',
'mangling/cxx/cp-demangle.c', 'mangling/cxx/cp-demangle.c',
'mangling/demangler.c', 'mangling/demangler.c',
'mangling/dlang.c', 'mangling/dlang.c',
'mangling/microsoft_demangle.c', 'mangling/microsoft_demangle.c',
'mangling/msvc.c', 'mangling/msvc.c',
'mangling/objc.c', 'mangling/objc.c',
'mangling/swift-sd.c', 'mangling/swift-sd.c',
'mangling/swift.c', 'mangling/swift.c',
'pdb/dbi.c', 'pdb/dbi.c',
'pdb/fpo.c', 'pdb/fpo.c',
'pdb/gdata.c', 'pdb/gdata.c',
'pdb/omap.c', 'pdb/omap.c',
'pdb/pdb.c', 'pdb/pdb.c',
'pdb/pdb_downloader.c', 'pdb/pdb_downloader.c',
'pdb/stream_file.c', 'pdb/stream_file.c',
'pdb/stream_pe.c', 'pdb/stream_pe.c',
'pdb/tpi.c' 'pdb/tpi.c'
] ]
r_bin = library('r_bin', files, r_bin = library('r_bin', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'mangling', platform_inc,
'format' include_directories([
])], 'mangling',
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], 'format'
link_with: [r_util, r_io, r_socket, r_magic, libr2java], ])
objects: [
libr2sdb.extract_all_objects()
], ],
install: true c_args: ['-DCORELIB=1'],
link_with: [r_util, r_io, r_socket, r_magic, libr_shlr],
install: true,
implicit_include_directories: false
) )

View File

@ -1,20 +1,21 @@
files=[ files = [
'bp.c', 'bp.c',
'bp_io.c', 'bp_io.c',
'bp_plugin.c', 'bp_plugin.c',
'bp_traptrace.c', 'bp_traptrace.c',
'bp_watch.c', 'bp_watch.c',
'p/bp_arm.c', 'p/bp_arm.c',
'p/bp_bf.c', 'p/bp_bf.c',
'p/bp_mips.c', 'p/bp_mips.c',
'p/bp_ppc.c', 'p/bp_ppc.c',
'p/bp_sh.c', 'p/bp_sh.c',
'p/bp_x86.c' 'p/bp_x86.c'
] ]
r_bp = library('r_bp', files, r_bp = library('r_bp', files,
include_directories: [platform_inc], include_directories: [platform_inc],
c_args: ['-DCORELIB'], c_args: ['-DCORELIB=1'],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,13 +1,11 @@
files=[ files = [
'callback.c', 'callback.c',
'config.c', 'config.c',
] ]
r_config = library('r_config', files, r_config = library('r_config', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects() implicit_include_directories: false
],
install: true
) )

View File

@ -1,28 +1,25 @@
files = [
files=[ '2048.c',
'2048.c', 'canvas.c',
'canvas.c', 'canvas_line.c',
'canvas_line.c', 'cons.c',
'cons.c', # 'dietline.c',
# 'dietline.c', 'editor.c',
'editor.c', 'grep.c',
'grep.c', 'hud.c',
'hud.c', 'input.c',
'input.c', 'less.c',
'less.c', 'line.c',
'line.c', 'output.c',
'output.c', 'pal.c',
'pal.c', 'pipe.c',
'pipe.c', 'rgb.c',
'rgb.c', 'utf8.c'
'utf8.c'
] ]
r_cons = library('r_cons', files, r_cons = library('r_cons', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects() implicit_include_directories: false
],
install: true
) )

View File

@ -1,62 +1,62 @@
files=[ files = [
'anal_tp.c', 'anal_tp.c',
#'anal_vt.c', #'anal_vt.c',
'asm.c', 'asm.c',
'p/core_anal.c', 'p/core_anal.c',
'blaze.c', 'blaze.c',
'canal.c', 'canal.c',
'cbin.c', 'cbin.c',
'cconfig.c', 'cconfig.c',
'cio.c', 'cio.c',
'cmd.c', 'cmd.c',
#'cmd_anal.c', #'cmd_anal.c',
'cmd_api.c', 'cmd_api.c',
#'cmd_cmp.c', #'cmd_cmp.c',
#'cmd_debug.c', #'cmd_debug.c',
#'cmd_egg.c', #'cmd_egg.c',
#'cmd_eval.c', #'cmd_eval.c',
#'cmd_flag.c', #'cmd_flag.c',
#'cmd_hash.c', #'cmd_hash.c',
#'cmd_help.c', #'cmd_help.c',
#'cmd_info.c', #'cmd_info.c',
#'cmd_log.c', #'cmd_log.c',
'cmd_macro.c', 'cmd_macro.c',
'cmd_magic.c', 'cmd_magic.c',
#'cmd_meta.c', #'cmd_meta.c',
#'cmd_mount.c', #'cmd_mount.c',
#'cmd_open.c', #'cmd_open.c',
#'cmd_print.c', #'cmd_print.c',
#'cmd_project.c', #'cmd_project.c',
#'cmd_quit.c', #'cmd_quit.c',
#'cmd_search.c', #'cmd_search.c',
#'cmd_search_rop.c', #'cmd_search_rop.c',
#'cmd_section.c', #'cmd_section.c',
#'cmd_seek.c', #'cmd_seek.c',
#'cmd_type.c', #'cmd_type.c',
#'cmd_write.c', #'cmd_write.c',
#'cmd_zign.c', #'cmd_zign.c',
'core.c', 'core.c',
'disasm.c', 'disasm.c',
'file.c', 'file.c',
'fortune.c', 'fortune.c',
'gdiff.c', 'gdiff.c',
'graph.c', 'graph.c',
'hack.c', 'hack.c',
'libs.c', 'libs.c',
#'linux_heap_glibc.c', #'linux_heap_glibc.c',
'log.c', 'log.c',
'panels.c', 'panels.c',
'patch.c', 'patch.c',
'plugin.c', 'plugin.c',
'project.c', 'project.c',
'pseudo.c', 'pseudo.c',
'rtr.c', 'rtr.c',
'task.c', 'task.c',
'vasm.c', 'vasm.c',
'visual.c', 'visual.c',
'vmarks.c', 'vmarks.c',
'vmenus.c', 'vmenus.c',
'yank.c' 'yank.c'
] ]
includes = ['../../shlr'] includes = ['../../shlr']
@ -65,14 +65,17 @@ if host_machine.system() != 'windows'
endif endif
r_core = library('r_core', files, r_core = library('r_core', files,
include_directories: [platform_inc, include_directories(includes)], include_directories: [
c_args: ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], platform_inc,
link_with: [r_util, r_reg, r_syscall, r_search, r_cons, r_anal, r_socket, r_io, r_fs, r_lang, r_hash, r_flag, r_parse, r_egg, r_debug, r_magic, r_crypto, r_config, r_bin, r_asm, r_bp], include_directories(includes)
objects: [ ],
libr2sdb.extract_all_objects(), c_args: ['-DCORELIB=1'],
libr2spp.extract_all_objects(), link_with: [
libr2gdb.extract_all_objects(), r_util, r_reg, r_syscall, r_search, r_cons, r_anal, r_socket, r_io, r_fs,
r_lang, r_hash, r_flag, r_parse, r_egg, r_debug, r_magic, r_crypto, r_config,
r_bin, r_asm, r_bp, libr_shlr
], ],
dependencies: [platform_deps], dependencies: [platform_deps],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,28 +1,29 @@
files=[ files = [
'crypto.c', 'crypto.c',
'p/crypto_aes.c', 'p/crypto_aes.c',
'p/crypto_aes_algo.c', 'p/crypto_aes_algo.c',
'p/crypto_aes_cbc.c', 'p/crypto_aes_cbc.c',
'p/crypto_base64.c', 'p/crypto_base64.c',
'p/crypto_base91.c', 'p/crypto_base91.c',
'p/crypto_blowfish.c', 'p/crypto_blowfish.c',
'p/crypto_cps2.c', 'p/crypto_cps2.c',
'p/crypto_des.c', 'p/crypto_des.c',
'p/crypto_punycode.c', 'p/crypto_punycode.c',
'p/crypto_rc2.c', 'p/crypto_rc2.c',
'p/crypto_rc4.c', 'p/crypto_rc4.c',
'p/crypto_rc6.c', 'p/crypto_rc6.c',
'p/crypto_rol.c', 'p/crypto_rol.c',
'p/crypto_ror.c', 'p/crypto_ror.c',
'p/crypto_rot.c', 'p/crypto_rot.c',
'p/crypto_xor.c', 'p/crypto_xor.c',
'p/crypto_serpent.c', 'p/crypto_serpent.c',
'p/crypto_serpent_algo.c', 'p/crypto_serpent_algo.c',
] ]
r_crypto = library('r_crypto', files, r_crypto = library('r_crypto', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], c_args: ['-DCORELIB=1'],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,34 +1,34 @@
files=[ files = [
'arg.c', 'arg.c',
'ddesc.c', 'ddesc.c',
'debug.c', 'debug.c',
'dreg.c', 'dreg.c',
'esil.c', 'esil.c',
'map.c', 'map.c',
'p/bfvm.c', 'p/bfvm.c',
'p/debug_bf.c', 'p/debug_bf.c',
#'p/debug_bochs.c', #'p/debug_bochs.c',
'p/debug_esil.c', 'p/debug_esil.c',
'p/debug_gdb.c', 'p/debug_gdb.c',
'p/debug_io.c', 'p/debug_io.c',
'p/debug_native.c', 'p/debug_native.c',
#'p/debug_qnx.c', #'p/debug_qnx.c',
'p/debug_rap.c', 'p/debug_rap.c',
'p/debug_windbg.c', 'p/debug_windbg.c',
#'p/native/arm.c', #'p/native/arm.c',
#'p/native/bt/fuzzy-all.c', #'p/native/bt/fuzzy-all.c',
#'p/native/bt/generic-x64.c', #'p/native/bt/generic-x64.c',
#'p/native/bt/generic-x86.c', #'p/native/bt/generic-x86.c',
#'p/native/bt.c', #'p/native/bt.c',
#'p/native/darwin.c', #'p/native/darwin.c',
#'p/native/drx.c', #'p/native/drx.c',
#'p/native/maps/darwin.c', #'p/native/maps/darwin.c',
'pid.c', 'pid.c',
'plugin.c', 'plugin.c',
'session.c', 'session.c',
'signal.c', 'signal.c',
'snap.c', 'snap.c',
'trace.c', 'trace.c',
] ]
if host_os == 'linux' if host_os == 'linux'
@ -46,25 +46,27 @@ endif
if host_os == 'darwin' if host_os == 'darwin'
files += [ files += [
'p/native/xnu/xnu_debug.c', 'p/native/xnu/xnu_debug.c',
#'p/native/xnu/trap_arm.c', #'p/native/xnu/trap_arm.c',
#'p/native/xnu/trap_x86.c', #'p/native/xnu/trap_x86.c',
#'p/native/xnu/xnu_excthreads.c', #'p/native/xnu/xnu_excthreads.c',
#'p/native/xnu/xnu_threads.c', #'p/native/xnu/xnu_threads.c',
] ]
endif endif
r_debug = library('r_debug', files, r_debug = library('r_debug', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'../bin/format/elf', platform_inc,
'../../shlr/gdb/include', include_directories([
'../../shlr/windbg' '../bin/format/elf',
])], '../../shlr/gdb/include',
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], '../../shlr/windbg'
link_with: [r_util, r_hash, r_reg, r_syscall, r_anal, r_flag, r_io, r_bp, r_search, r_cons, r_lang, r_egg, r_socket], ])
objects: [
libr2sdb.extract_all_objects(),
libr2gdb.extract_all_objects(),
libr2windbg.extract_all_objects()
], ],
install: true c_args: ['-DCORELIB=1'],
link_with: [
r_util, r_hash, r_reg, r_syscall, r_anal, r_flag, r_io, r_bp, r_search,
r_cons, r_lang, r_egg, r_socket, libr_shlr
],
install: true,
implicit_include_directories: false
) )

View File

@ -1,24 +1,23 @@
files=[ files = [
'egg.c', 'egg.c',
'egg_lang.c', 'egg_lang.c',
'emit_arm.c', 'emit_arm.c',
'emit_trace.c', 'emit_trace.c',
'emit_x64.c', 'emit_x64.c',
'emit_x86.c', 'emit_x86.c',
#'p/egg_bind.c', #'p/egg_bind.c',
#'p/egg_cb.c', #'p/egg_cb.c',
'p/egg_exec.c', 'p/egg_exec.c',
#'p/egg_reverse.c', #'p/egg_reverse.c',
#'p/egg_shya.c', #'p/egg_shya.c',
'p/egg_xor.c' 'p/egg_xor.c'
] ]
r_egg = library('r_egg', files, r_egg = library('r_egg', files,
include_directories: [platform_inc], include_directories: [platform_inc],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], c_args: ['-DCORELIB=1'],
link_with: [r_util, r_asm, r_syscall], link_with: [r_util, r_asm, r_syscall, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects(), implicit_include_directories: false
],
install: true
) )

View File

@ -1,16 +1,13 @@
files = [
files=[ 'flag.c',
'flag.c', 'sort.c',
'sort.c', 'spaces.c',
'spaces.c', 'zones.c'
'zones.c'
] ]
r_flag = library('r_flag', files, r_flag = library('r_flag', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects() implicit_include_directories: false
],
install: true
) )

View File

@ -1,33 +1,37 @@
files=[ files = [
'file.c', 'file.c',
'fs.c', 'fs.c',
#'p/fs_cpio.c', #'p/fs_cpio.c',
'p/fs_ext2.c', 'p/fs_ext2.c',
'p/fs_fat.c', 'p/fs_fat.c',
'p/fs_fb.c', 'p/fs_fb.c',
#'p/fs_grub_base.c', #'p/fs_grub_base.c',
'p/fs_hfs.c', 'p/fs_hfs.c',
'p/fs_hfsplus.c', 'p/fs_hfsplus.c',
'p/fs_iso9660.c', 'p/fs_iso9660.c',
'p/fs_jfs.c', 'p/fs_jfs.c',
'p/fs_minix.c', 'p/fs_minix.c',
'p/fs_ntfs.c', 'p/fs_ntfs.c',
'p/fs_posix.c', 'p/fs_posix.c',
'p/fs_reiserfs.c', 'p/fs_reiserfs.c',
'p/fs_sfs.c', 'p/fs_sfs.c',
'p/fs_tar.c', 'p/fs_tar.c',
'p/fs_udf.c', 'p/fs_udf.c',
'p/fs_ufs.c', 'p/fs_ufs.c',
'p/fs_ufs2.c', 'p/fs_ufs2.c',
'p/fs_xfs.c', 'p/fs_xfs.c',
'p/part_dos.c' 'p/part_dos.c'
] ]
r_fs = library('r_fs', files, r_fs = library('r_fs', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'../../shlr/grub/include' platform_inc,
])], include_directories([
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], '../../shlr/grub/include'
link_with: [r_util, libr2grub], ])
install: true ],
c_args: ['-DCORELIB=1'],
link_with: [r_util, libr_shlr],
install: true,
implicit_include_directories: false
) )

View File

@ -1,23 +1,23 @@
files = [
files=[ 'adler32.c',
'adler32.c', 'calc.c',
'calc.c', 'crca.c',
'crca.c', 'entropy.c',
'entropy.c', 'hamdist.c',
'hamdist.c', 'hash.c',
'hash.c', 'luhn.c',
'luhn.c', 'md4.c',
'md4.c', 'md5.c',
'md5.c', 'sha1.c',
'sha1.c', 'sha2.c',
'sha2.c', 'state.c',
'state.c', 'xxhash.c'
'xxhash.c'
] ]
r_hash = library('r_hash', files, r_hash = library('r_hash', files,
include_directories: [platform_inc], include_directories: [platform_inc],
dependencies: [mth], dependencies: [mth],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,43 +1,43 @@
files=[ files = [
'iobuf.c', 'iobuf.c',
'cache.c', 'cache.c',
'desc.c', 'desc.c',
'fd.c', 'fd.c',
'io.c', 'io.c',
'ioutils.c', 'ioutils.c',
'map.c', 'map.c',
'plugin.c', 'plugin.c',
'section.c', 'section.c',
'undo.c', 'undo.c',
'p_cache.c', 'p_cache.c',
'p/io_rbuf.c', 'p/io_rbuf.c',
'p/io_ar.c', 'p/io_ar.c',
'p/io_bfdbg.c', 'p/io_bfdbg.c',
'p/io_bochs.c', 'p/io_bochs.c',
'p/io_debug.c', 'p/io_debug.c',
'p/io_default.c', 'p/io_default.c',
'p/io_gdb.c', 'p/io_gdb.c',
'p/io_gzip.c', 'p/io_gzip.c',
'p/io_http.c', 'p/io_http.c',
'p/io_ihex.c', 'p/io_ihex.c',
'p/io_mach.c', 'p/io_mach.c',
'p/io_malloc.c', 'p/io_malloc.c',
'p/io_mmap.c', 'p/io_mmap.c',
'p/io_null.c', 'p/io_null.c',
'p/io_procpid.c', 'p/io_procpid.c',
'p/io_ptrace.c', 'p/io_ptrace.c',
'p/io_qnx.c', 'p/io_qnx.c',
'p/io_r2k.c', 'p/io_r2k.c',
'p/io_r2pipe.c', 'p/io_r2pipe.c',
'p/io_r2web.c', 'p/io_r2web.c',
'p/io_rap.c', 'p/io_rap.c',
'p/io_self.c', 'p/io_self.c',
'p/io_shm.c', 'p/io_shm.c',
'p/io_sparse.c', 'p/io_sparse.c',
'p/io_tcp.c', 'p/io_tcp.c',
'p/io_windbg.c', 'p/io_windbg.c',
'p/io_winedbg.c', 'p/io_winedbg.c',
'p/io_zip.c', 'p/io_zip.c',
] ]
if host_os == 'linux' if host_os == 'linux'
@ -55,18 +55,21 @@ files += [
endif endif
r_io = library('r_io', files, r_io = library('r_io', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'../../shlr/bochs/include', platform_inc,
'../../shlr/gdb/include', include_directories([
'../../shlr/qnx/include', '../../shlr/bochs/include',
'../../shlr/windbg', '../../shlr/gdb/include',
'../../shlr/ar', '../../shlr/qnx/include',
'../../shlr/zip/include'] '../../shlr/windbg',
)], '../../shlr/ar',
link_with: [r_util, r_socket, libr2qnx, libr2bochs, libr2windbg, libr2gdb, libr2zip, libr2ar], '../../shlr/zip/include'
objects: [ ])
libr2sdb.extract_all_objects(),
], ],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], link_with: [
install: true r_util, r_socket, libr_shlr
],
c_args: ['-DCORELIB=1'],
install: true,
implicit_include_directories: false
) )

View File

@ -1,16 +1,17 @@
files=[ files = [
'lang.c', 'lang.c',
'p/c.c', 'p/c.c',
# 'p/cpipe.c', # 'p/cpipe.c',
'p/lib.c', 'p/lib.c',
'p/pipe.c', 'p/pipe.c',
'p/rust.c', 'p/rust.c',
'p/vala.c' 'p/vala.c'
] ]
r_lang = library('r_lang', files, r_lang = library('r_lang', files,
include_directories: [platform_inc], include_directories: [platform_inc],
c_args: ['-DCORELIB'], c_args: ['-DCORELIB=1'],
link_with: [r_util, r_cons], link_with: [r_util, r_cons],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,16 +1,18 @@
files=[ files = [
'apprentice.c', 'apprentice.c',
'ascmagic.c', 'ascmagic.c',
'fsmagic.c', 'fsmagic.c',
'funcs.c', 'funcs.c',
'is_tar.c', 'is_tar.c',
'magic.c', 'magic.c',
# XXX not used? 'print.c', # XXX not used? 'print.c',
'softmagic.c' 'softmagic.c'
] ]
r_magic = library('r_magic', files, r_magic = library('r_magic', files,
include_directories: [platform_inc], include_directories: [platform_inc],
c_args: ['-DCORELIB'], c_args: ['-DCORELIB=1'],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,259 +1,262 @@
anal = [ anal = [
'6502', '6502',
'8051', '8051',
'arc', 'arc',
'avr', 'avr',
'arm_cs', 'arm_cs',
'bf', 'bf',
'cr16', 'cr16',
'cris', 'cris',
'dalvik', 'dalvik',
'i4004', 'i4004',
'i8080', 'i8080',
'gb', 'gb',
'm68k_cs', 'm68k_cs',
'malbolge', 'malbolge',
'mips_cs', 'mips_cs',
'mips_gnu', 'mips_gnu',
'msp430', 'msp430',
'nios2', 'nios2',
'null', 'null',
'pic', 'pic',
'ppc_cs', 'ppc_cs',
'ppc_gnu', 'ppc_gnu',
'riscv', 'riscv',
'sh', 'sh',
'snes', 'snes',
'sparc_cs', 'sparc_cs',
'sparc_gnu', 'sparc_gnu',
'sysz', 'sysz',
'tms320', 'tms320',
'vax', 'vax',
'v810', 'v810',
'v850', 'v850',
'ws', 'ws',
'x86_cs', 'x86_cs',
'x86_udis', 'x86_udis',
'xap', 'xap',
'xcore_cs', 'xcore_cs',
'z80', 'z80',
] ]
asm = [ asm = [
'6502', '6502',
'8051', '8051',
'arc', 'arc',
'avr', 'avr',
'arm_as', 'arm_as',
'arm_cs', 'arm_cs',
'arm_winedbg', 'arm_winedbg',
'bf', 'bf',
'cr16', 'cr16',
'cris_gnu', 'cris_gnu',
'dalvik', 'dalvik',
'dcpu16', 'dcpu16',
'gb', 'gb',
'h8300', 'h8300',
'hppa_gnu', 'hppa_gnu',
'i4004', 'i4004',
'i8080', 'i8080',
'lanai_gnu', 'lanai_gnu',
'lh5801', 'lh5801',
'lm32', 'lm32',
'm68k_cs', 'm68k_cs',
'malbolge', 'malbolge',
'mcs96', 'mcs96',
'mips_cs', 'mips_cs',
'mips_gnu', 'mips_gnu',
'msp430', 'msp430',
'nios2', 'nios2',
'pic', 'pic',
'ppc_cs', 'ppc_cs',
'ppc_gnu', 'ppc_gnu',
'riscv', 'riscv',
'sh', 'sh',
'snes', 'snes',
'sparc_cs', 'sparc_cs',
'sparc_gnu', 'sparc_gnu',
'spc700', 'spc700',
'sysz', 'sysz',
'tms320', 'tms320',
'tricore', 'tricore',
'v810', 'v810',
'v850', 'v850',
'vax', 'vax',
'wasm', 'wasm',
'ws', 'ws',
'x86_as', 'x86_as',
'x86_cs', 'x86_cs',
'x86_nasm', 'x86_nasm',
'x86_nz', 'x86_nz',
'x86_udis', 'x86_udis',
'xap', 'xap',
'xcore_cs', 'xcore_cs',
'z80', 'z80',
] ]
bin = [ bin = [
'any', 'any',
'art', 'art',
'bf', 'bf',
'bflt', 'bflt',
'bios', 'bios',
'bootimg', 'bootimg',
'cgc', 'cgc',
'coff', 'coff',
'dex', 'dex',
'dol', 'dol',
'dyldcache', 'dyldcache',
'elf', 'elf',
'elf64', 'elf64',
'fs', 'fs',
'mach0', 'mach0',
'mach064', 'mach064',
'mbn', 'mbn',
'mdmp', 'mdmp',
'menuet', 'menuet',
'mz', 'mz',
'nes', 'nes',
'nin3ds', 'nin3ds',
'ninds', 'ninds',
'ningb', 'ningb',
'ningba', 'ningba',
'nro', 'nro',
'omf', 'omf',
'p9', 'p9',
'pe', 'pe',
'pe64', 'pe64',
'pebble', 'pebble',
'psxexe', 'psxexe',
'sfc', 'sfc',
'smd', 'smd',
'sms', 'sms',
'spc700', 'spc700',
'te', 'te',
'vsf', 'vsf',
'wasm', 'wasm',
'xbe', 'xbe',
'zimg', 'zimg',
'z64', 'z64',
] ]
bin_xtr = [ bin_xtr = [
'fatmach0', 'fatmach0',
'xtr_dyldcache' 'xtr_dyldcache'
] ]
bp = [ bp = [
'arm', 'arm',
'bf', 'bf',
'mips', 'mips',
'ppc', 'ppc',
'x86' 'x86'
] ]
core = [ core = [
'anal' 'anal'
] ]
crypto = [ crypto = [
'aes', 'aes',
'aes_cbc', 'aes_cbc',
'base64', 'base64',
'base91', 'base91',
'blowfish', 'blowfish',
'cps2', 'cps2',
'des', 'des',
'punycode', 'punycode',
'rc2', 'rc2',
'rc4', 'rc4',
'rc6', 'rc6',
'rol', 'rol',
'ror', 'ror',
'rot', 'rot',
'xor', 'xor',
'serpent' 'serpent'
] ]
debug = [ debug = [
'bf', 'bf',
'esil', 'esil',
'io', 'io',
'native', 'native',
'rap', 'rap',
'gdb', 'gdb',
'windbg' 'windbg'
] ]
egg = [ egg = [
'exec', 'exec',
'xor' 'xor'
] ]
fs = [ fs = [
'ext2', 'ext2',
'fat', 'fat',
'fb', 'fb',
'hfs', 'hfs',
'hfsplus', 'hfsplus',
'iso9660', 'iso9660',
'jfs', 'jfs',
'minix', 'minix',
'ntfs', 'ntfs',
'posix', 'posix',
'reiserfs', 'reiserfs',
'sfs', 'sfs',
'tar', 'tar',
'udf', 'udf',
'ufs', 'ufs',
'xfs' 'xfs'
] ]
io = [ io = [
'ar', 'ar',
'bfdbg', 'bfdbg',
'debug', 'debug',
'default', 'default',
'gdb', 'gdb',
'gzip', 'gzip',
'http', 'http',
'ihex', 'ihex',
'mach', 'mach',
'malloc', 'malloc',
'mmap', 'mmap',
'null', 'null',
'procpid', 'procpid',
'ptrace', 'ptrace',
'r2k', 'r2k',
'r2pipe', 'r2pipe',
'r2web', 'r2web',
'rap', 'rap',
'self', 'self',
'shm', 'shm',
'sparse', 'sparse',
'tcp', 'tcp',
'windbg', 'windbg',
'winedbg' 'winedbg'
] ]
if host_os == 'windows' if host_os == 'windows'
io += [ io += [
'w32dbg', 'w32dbg',
'w32', 'w32',
] ]
endif endif
lang = [ lang = [
'vala' 'vala'
] ]
parse = [ parse = [
'6502_pseudo', '6502_pseudo',
'arm_pseudo', 'arm_pseudo',
'att2intel', 'att2intel',
'dalvik_pseudo', 'dalvik_pseudo',
'm68k_pseudo', 'm68k_pseudo',
'mips_pseudo', 'mips_pseudo',
'mreplace', 'mreplace',
'ppc_pseudo', 'ppc_pseudo',
'sh_pseudo', 'sh_pseudo',
'avr_pseudo', 'avr_pseudo',
'x86_pseudo', 'x86_pseudo',
] ]

View File

@ -1,27 +1,31 @@
files=[ files = [
'code.c', 'code.c',
'parse.c', 'parse.c',
'p/parse_6502_pseudo.c', 'p/parse_6502_pseudo.c',
'p/parse_arm_pseudo.c', 'p/parse_arm_pseudo.c',
'p/parse_att2intel.c', 'p/parse_att2intel.c',
'p/parse_dalvik_pseudo.c', 'p/parse_dalvik_pseudo.c',
'p/parse_m68k_pseudo.c', 'p/parse_m68k_pseudo.c',
'p/parse_mips_pseudo.c', 'p/parse_mips_pseudo.c',
'p/parse_mreplace.c', 'p/parse_mreplace.c',
'p/parse_ppc_pseudo.c', 'p/parse_ppc_pseudo.c',
'p/parse_x86_pseudo.c', 'p/parse_x86_pseudo.c',
'p/parse_z80_pseudo.c', 'p/parse_z80_pseudo.c',
'p/parse_sh_pseudo.c', 'p/parse_sh_pseudo.c',
'p/parse_avr_pseudo.c', 'p/parse_avr_pseudo.c',
'p/parse_mreplace/mreplace.c', 'p/parse_mreplace/mreplace.c',
'p/parse_mreplace/mmemory.c' 'p/parse_mreplace/mmemory.c'
] ]
r_parse = library('r_parse', files, r_parse = library('r_parse', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'../../shlr/tcc', platform_inc,
])], include_directories([
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'], '../../shlr/tcc',
link_with: [r_util, r_flag, r_syscall, r_reg, libr2tcc, libr2sdb], ])
install: true ],
c_args: ['-DCORELIB=1'],
link_with: [r_util, r_flag, r_syscall, r_reg, libr_shlr],
install: true,
implicit_include_directories: false
) )

View File

@ -1,14 +1,15 @@
files=[ files = [
'arena.c', 'arena.c',
'cond.c', 'cond.c',
'double.c', 'double.c',
'profile.c', 'profile.c',
'reg.c', 'reg.c',
'value.c', 'value.c',
] ]
r_reg = library('r_reg', files, r_reg = library('r_reg', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,17 +1,18 @@
files=[ files = [
'aes-find.c', 'aes-find.c',
'bytepat.c', 'bytepat.c',
'keyword.c', 'keyword.c',
# 'old_xrefs.c', # 'old_xrefs.c',
'regexp.c', 'regexp.c',
'rsa-find.c', 'rsa-find.c',
'search.c', 'search.c',
'strings.c', 'strings.c',
'xrefs.c', 'xrefs.c',
] ]
r_search = library('r_search', files, r_search = library('r_search', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,18 +1,19 @@
files=[ files = [
'http.c', 'http.c',
'http_server.c', 'http_server.c',
'proc.c', 'proc.c',
'r2pipe.c', 'r2pipe.c',
'rap_server.c', 'rap_server.c',
'run.c', 'run.c',
'socket.c', 'socket.c',
'serial.c', 'serial.c',
] ]
r_socket = library('r_socket', files, r_socket = library('r_socket', files,
include_directories: [platform_inc], include_directories: [platform_inc],
dependencies: [utl, platform_deps], dependencies: [utl, platform_deps],
link_with: [r_util], link_with: [r_util],
c_args : '-DCORELIB=1', c_args: ['-DCORELIB=1'],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -1,13 +1,11 @@
files=[ files = [
'syscall.c', 'syscall.c',
'ioports.c' 'ioports.c'
] ]
r_syscall = library('r_syscall', files, r_syscall = library('r_syscall', files,
include_directories: [platform_inc], include_directories: [platform_inc],
link_with: [r_util], link_with: [r_util, libr_shlr],
objects: [ install: true,
libr2sdb.extract_all_objects() implicit_include_directories: false
],
install: true
) )

View File

@ -1,95 +1,92 @@
# project('r_util', 'c')
# 'big-gmp.c', # 'big-gmp.c',
# 'big-ssl.c', # 'big-ssl.c',
# 'mixed.c', # 'mixed.c',
# 'iconv.c', # 'iconv.c',
files=[ files = [
'base85.c', 'base85.c',
'base91.c', 'base91.c',
'bdiff.c', 'bdiff.c',
'big.c', 'big.c',
'binheap.c', 'binheap.c',
'bitmap.c', 'bitmap.c',
'btree.c', 'btree.c',
'buf.c', 'buf.c',
'cache.c', 'cache.c',
'calc.c', 'calc.c',
'chmod.c', 'chmod.c',
'constr.c', 'constr.c',
'debruijn.c', 'debruijn.c',
'des.c', 'des.c',
'diff.c', 'diff.c',
'file.c', 'file.c',
'flist.c', 'flist.c',
'graph.c', 'graph.c',
'hex.c', 'hex.c',
'idpool.c', 'idpool.c',
'json_indent.c', 'json_indent.c',
'lib.c', 'lib.c',
'list.c', 'list.c',
'log.c', 'log.c',
'mem.c', 'mem.c',
'name.c', 'name.c',
'p_date.c', 'p_date.c',
'p_format.c', 'p_format.c',
'p_seven.c', 'p_seven.c',
'pool.c', 'pool.c',
'print.c', 'print.c',
'prof.c', 'prof.c',
'punycode.c', 'punycode.c',
'qrcode.c', 'qrcode.c',
'queue.c', 'queue.c',
'r_asn1.c', 'r_asn1.c',
'r_pkcs7.c', 'r_pkcs7.c',
'r_x509.c', 'r_x509.c',
'randomart.c', 'randomart.c',
'range.c', 'range.c',
'rbtree.c', 'rbtree.c',
'sandbox.c', 'sandbox.c',
'signal.c', 'signal.c',
'skiplist.c', 'skiplist.c',
'slist.c', 'slist.c',
'spaces.c', 'spaces.c',
'stack.c', 'stack.c',
'str.c', 'str.c',
'str_trim.c', 'str_trim.c',
'strbuf.c', 'strbuf.c',
'strpool.c', 'strpool.c',
'sys.c', 'sys.c',
'syscmd.c', 'syscmd.c',
'thread.c', 'thread.c',
'thread_lock.c', 'thread_lock.c',
'thread_msg.c', 'thread_msg.c',
'thread_pipe.c', 'thread_pipe.c',
'tinyrange.c', 'tinyrange.c',
'tree.c', 'tree.c',
'r_json.c', 'r_json.c',
'ubase64.c', 'ubase64.c',
'uleb128.c', 'uleb128.c',
'unum.c', 'unum.c',
'utf8.c', 'utf8.c',
'utf16.c', 'utf16.c',
'utf32.c', 'utf32.c',
'vector.c', 'vector.c',
'w32-sys.c', 'w32-sys.c',
'zip.c', 'zip.c',
'regex/regcomp.c', 'regex/regcomp.c',
'regex/regexec.c', 'regex/regexec.c',
'regex/regerror.c' 'regex/regerror.c'
] ]
incdir = '../include'
r_util = library('r_util', files, r_util = library('r_util', files,
include_directories: [platform_inc, include_directories([ include_directories: [
'../../shlr/zip/include'] platform_inc,
)], include_directories([
dependencies: [ldl, pth, utl], '../../shlr/zip/include'
objects: [ ])
libr2sdb.extract_all_objects(),
libr2zip.extract_all_objects()
], ],
install: true dependencies: [ldl, pth, utl],
link_with: [libr_shlr],
install: true,
implicit_include_directories: false
) )

View File

@ -75,10 +75,10 @@ else
endif endif
platform_deps = [] platform_deps = []
platform_inc = include_directories(['.','libr/include']) platform_inc = include_directories(['.', 'libr/include'])
if host_machine.system() == 'windows' if host_machine.system() == 'windows'
platform_deps = [cc.find_library('ws2_32')] platform_deps = [cc.find_library('ws2_32')]
platform_inc = include_directories(['.','libr/include','libr/include/msvc']) platform_inc = include_directories(['.', 'libr/include', 'libr/include/msvc'])
host_os = 'windows' host_os = 'windows'
if get_option('default_library') == 'static' if get_option('default_library') == 'static'
if get_option('buildtype') == 'release' and not meson.is_subproject() if get_option('buildtype') == 'release' and not meson.is_subproject()
@ -112,9 +112,9 @@ conf_data.set('plugins_debug', '&r_debug_plugin_' + ',&r_debug_plugin_'.join(deb
conf_data.set('plugins_egg', '&r_egg_plugin_' + ',&r_egg_plugin_'.join(egg) + ', 0') conf_data.set('plugins_egg', '&r_egg_plugin_' + ',&r_egg_plugin_'.join(egg) + ', 0')
conf_data.set('plugins_lang', '&r_lang_plugin_' + ',&r_lang_plugin_'.join(lang) + ', 0') conf_data.set('plugins_lang', '&r_lang_plugin_' + ',&r_lang_plugin_'.join(lang) + ', 0')
conf_data.set('plugins_parse', '&r_parse_plugin_' + ',&r_parse_plugin_'.join(parse) + ', 0') conf_data.set('plugins_parse', '&r_parse_plugin_' + ',&r_parse_plugin_'.join(parse) + ', 0')
configure_file(input : 'libr/config.h.in', configure_file(input: 'libr/config.h.in',
output : 'config.h', output: 'config.h',
configuration : conf_data) configuration: conf_data)
userconf = configuration_data() userconf = configuration_data()
userconf.set('DEBUGGER', 1) userconf.set('DEBUGGER', 1)
@ -132,9 +132,9 @@ if host_machine.system() == 'windows'
else else
userconf.set('HAVE_JEMALLOC', 1) userconf.set('HAVE_JEMALLOC', 1)
endif endif
configure_file(input : 'libr/include/r_userconf.h.in', configure_file(input: 'libr/include/r_userconf.h.in',
output : 'r_userconf.h', output: 'r_userconf.h',
configuration : userconf) configuration: userconf)
versionconf = configuration_data() versionconf = configuration_data()
versionconf.set('VERSIONCOMMIT', version_commit) versionconf.set('VERSIONCOMMIT', version_commit)
@ -142,9 +142,9 @@ versionconf.set('R2_VERSION', r2version)
versionconf.set('R2_GITTAP', gittap) versionconf.set('R2_GITTAP', gittap)
versionconf.set('R2_GITTIP', gittip) versionconf.set('R2_GITTIP', gittip)
versionconf.set('R2_BIRTH', r2birth) versionconf.set('R2_BIRTH', r2birth)
configure_file(input : 'libr/include/r_version.h.in', configure_file(input: 'libr/include/r_version.h.in',
output : 'r_version.h', output: 'r_version.h',
configuration : versionconf) configuration: versionconf)
# Copy missing header # Copy missing header
run_command('python', '-c', '__import__("shutil").copyfile("shlr/spp/config.def.h", "shlr/spp/config.h")') run_command('python', '-c', '__import__("shutil").copyfile("shlr/spp/config.def.h", "shlr/spp/config.h")')
@ -174,13 +174,17 @@ subdir('libr/debug')
subdir('libr/core') subdir('libr/core')
if meson.is_subproject() if meson.is_subproject()
libr2_lib = [r_anal, r_asm, r_bin, r_bp, r_config, r_cons, r_core, r_crypto, libr2_lib = [
r_egg, r_flag, r_fs, r_hash, r_io, r_lang, r_magic, r_parse, r_anal, r_asm, r_bin, r_bp, r_config, r_cons, r_core, r_crypto, r_egg,
r_reg, r_search, r_socket, r_syscall, r_util] r_flag, r_fs, r_hash, r_io, r_lang, r_magic, r_parse, r_reg, r_search,
r_socket, r_syscall, r_util
]
libr2_inc = include_directories(['.', 'libr/include']) libr2_inc = include_directories(['.', 'libr/include'])
libr2_dep = declare_dependency(link_with: libr2_lib, libr2_dep = declare_dependency(
include_directories: libr2_inc, link_with: libr2_lib,
version: r2version) include_directories: libr2_inc,
version: r2version
)
else else
subdir('binr/rahash2') subdir('binr/rahash2')
subdir('binr/rarun2') subdir('binr/rarun2')

View File

@ -1,283 +1,318 @@
bochs_files=[ bochs_files = [
'bochs/src/libbochs.c' 'bochs/src/libbochs.c'
] ]
libr2bochs = static_library('libr2bochs', bochs_files, libr2bochs = static_library('libr2bochs', bochs_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'bochs/include' platform_inc,
])] include_directories([
'bochs/include'
])
],
implicit_include_directories: false
) )
gdb_files = [
'gdb/src/arch.c',
'gdb/src/common.c',
'gdb/src/packet.c',
'gdb/src/utils.c',
'gdb/src/libgdbr.c',
gdb_files=[ 'gdb/src/gdbclient/core.c',
'gdb/src/arch.c', 'gdb/src/gdbclient/responses.c',
'gdb/src/common.c', 'gdb/src/gdbclient/xml.c',
'gdb/src/packet.c',
'gdb/src/utils.c',
'gdb/src/libgdbr.c',
'gdb/src/gdbclient/core.c', 'gdb/src/gdbserver/core.c',
'gdb/src/gdbclient/responses.c',
'gdb/src/gdbclient/xml.c',
'gdb/src/gdbserver/core.c',
] ]
libr2gdb = static_library('libr2gdb', gdb_files, libr2gdb = static_library('libr2gdb', gdb_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'./gdb/include', platform_inc,
'./gdb/include/gdbclient', include_directories([
'./gdb/include/gdbserver' './gdb/include',
])] './gdb/include/gdbclient',
'./gdb/include/gdbserver'
])
],
implicit_include_directories: false
) )
java_files=[ java_files = [
'java/class.c', 'java/class.c',
'java/code.c', 'java/code.c',
'java/dsojson.c', 'java/dsojson.c',
'java/ops.c', 'java/ops.c',
#'java/main.c', #'java/main.c',
] ]
libr2java = static_library('libr2java', java_files, libr2java = static_library('libr2java', java_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'java' platform_inc,
])] include_directories([
'java'
])
],
implicit_include_directories: false
) )
qnx_files=[ qnx_files = [
'qnx/src/core.c', 'qnx/src/core.c',
'qnx/src/libqnxr.c', 'qnx/src/libqnxr.c',
'qnx/src/packet.c', 'qnx/src/packet.c',
'qnx/src/sigutil.c', 'qnx/src/sigutil.c',
'qnx/src/utils.c', 'qnx/src/utils.c',
] ]
libr2qnx = static_library('libr2qnx', qnx_files, libr2qnx = static_library('libr2qnx', qnx_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'qnx/include' platform_inc,
])] include_directories([
'qnx/include'
])
],
implicit_include_directories: false
) )
tcc_files=[ tcc_files = [
'tcc/libtcc.c', 'tcc/libtcc.c',
'tcc/tccgen.c', 'tcc/tccgen.c',
'tcc/tccpp.c' 'tcc/tccpp.c'
] ]
libr2tcc = static_library('libr2tcc', tcc_files, libr2tcc = static_library('libr2tcc', tcc_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'tcc' platform_inc,
])] include_directories([
'tcc'
])
],
implicit_include_directories: false
) )
spp_files=[ spp_files = [
'spp/spp.c' 'spp/spp.c'
] ]
libr2spp = static_library('libr2spp', spp_files, libr2spp = static_library('libr2spp', spp_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'spp/' platform_inc,
])], include_directories([
c_args: ['-DHAVE_R_UTIL'] 'spp/'
])
],
c_args: ['-DHAVE_R_UTIL'],
implicit_include_directories: false
) )
sdb_files=[ sdb_files = [
'sdb/src/array.c', 'sdb/src/array.c',
'sdb/src/base64.c', 'sdb/src/base64.c',
'sdb/src/buffer.c', 'sdb/src/buffer.c',
'sdb/src/cdb.c', 'sdb/src/cdb.c',
'sdb/src/cdb_make.c', 'sdb/src/cdb_make.c',
'sdb/src/disk.c', 'sdb/src/disk.c',
'sdb/src/fmt.c', 'sdb/src/fmt.c',
'sdb/src/ht.c', 'sdb/src/ht.c',
'sdb/src/journal.c', 'sdb/src/journal.c',
'sdb/src/json.c', 'sdb/src/json.c',
'sdb/src/lock.c', 'sdb/src/lock.c',
'sdb/src/ls.c', 'sdb/src/ls.c',
# 'sdb/src/main.c', # 'sdb/src/main.c',
'sdb/src/match.c', 'sdb/src/match.c',
'sdb/src/ns.c', 'sdb/src/ns.c',
'sdb/src/num.c', 'sdb/src/num.c',
'sdb/src/query.c', 'sdb/src/query.c',
'sdb/src/sdb.c', 'sdb/src/sdb.c',
'sdb/src/sdbht.c', 'sdb/src/sdbht.c',
'sdb/src/util.c' 'sdb/src/util.c'
] ]
libr2sdb = static_library('libr2sdb', sdb_files, libr2sdb = static_library('libr2sdb', sdb_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'sdb/src', platform_inc,
'../libr/include/sdb' include_directories([
])] 'sdb/src',
'../libr/include/sdb'
])
],
implicit_include_directories: false
) )
lz4_files=[ lz4_files = [
'lz4/lz4.c', 'lz4/lz4.c',
] ]
libr2lz4 = static_library('libr2lz4', lz4_files, libr2lz4 = static_library('libr2lz4', lz4_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'lz4' platform_inc,
])] include_directories([
'lz4'
])
],
implicit_include_directories: false
) )
zlib_files=[ zlib_files = [
'zip/zip/zip_add.c', 'zip/zip/zip_add.c',
'zip/zip/zip_add_dir.c', 'zip/zip/zip_add_dir.c',
'zip/zip/zip_add_entry.c', 'zip/zip/zip_add_entry.c',
'zip/zip/zip_close.c', 'zip/zip/zip_close.c',
'zip/zip/zip_delete.c', 'zip/zip/zip_delete.c',
'zip/zip/zip_dir_add.c', 'zip/zip/zip_dir_add.c',
'zip/zip/zip_dirent.c', 'zip/zip/zip_dirent.c',
'zip/zip/zip_discard.c', 'zip/zip/zip_discard.c',
'zip/zip/zip_entry.c', 'zip/zip/zip_entry.c',
'zip/zip/zip_err_str.c', 'zip/zip/zip_err_str.c',
'zip/zip/zip_error.c', 'zip/zip/zip_error.c',
#'zip/zip/zip_error_clear.c', #'zip/zip/zip_error_clear.c',
'zip/zip/zip_error_get.c', 'zip/zip/zip_error_get.c',
'zip/zip/zip_error_get_sys_type.c', 'zip/zip/zip_error_get_sys_type.c',
'zip/zip/zip_error_strerror.c', 'zip/zip/zip_error_strerror.c',
'zip/zip/zip_error_to_str.c', 'zip/zip/zip_error_to_str.c',
'zip/zip/zip_extra_field.c', 'zip/zip/zip_extra_field.c',
'zip/zip/zip_extra_field_api.c', 'zip/zip/zip_extra_field_api.c',
'zip/zip/zip_fclose.c', 'zip/zip/zip_fclose.c',
'zip/zip/zip_fdopen.c', 'zip/zip/zip_fdopen.c',
'zip/zip/zip_file_add.c', 'zip/zip/zip_file_add.c',
#'zip/zip/zip_file_error_clear.c', #'zip/zip/zip_file_error_clear.c',
'zip/zip/zip_file_error_get.c', 'zip/zip/zip_file_error_get.c',
'zip/zip/zip_file_get_comment.c', 'zip/zip/zip_file_get_comment.c',
'zip/zip/zip_file_get_offset.c', 'zip/zip/zip_file_get_offset.c',
'zip/zip/zip_file_rename.c', 'zip/zip/zip_file_rename.c',
'zip/zip/zip_file_replace.c', 'zip/zip/zip_file_replace.c',
'zip/zip/zip_file_set_comment.c', 'zip/zip/zip_file_set_comment.c',
'zip/zip/zip_file_strerror.c', 'zip/zip/zip_file_strerror.c',
'zip/zip/zip_filerange_crc.c', 'zip/zip/zip_filerange_crc.c',
'zip/zip/zip_fopen.c', 'zip/zip/zip_fopen.c',
'zip/zip/zip_fopen_encrypted.c', 'zip/zip/zip_fopen_encrypted.c',
'zip/zip/zip_fopen_index.c', 'zip/zip/zip_fopen_index.c',
'zip/zip/zip_fopen_index_encrypted.c', 'zip/zip/zip_fopen_index_encrypted.c',
'zip/zip/zip_fread.c', 'zip/zip/zip_fread.c',
'zip/zip/zip_get_archive_comment.c', 'zip/zip/zip_get_archive_comment.c',
'zip/zip/zip_get_archive_flag.c', 'zip/zip/zip_get_archive_flag.c',
'zip/zip/zip_get_compression_implementation.c', 'zip/zip/zip_get_compression_implementation.c',
'zip/zip/zip_get_encryption_implementation.c', 'zip/zip/zip_get_encryption_implementation.c',
'zip/zip/zip_get_file_comment.c', 'zip/zip/zip_get_file_comment.c',
'zip/zip/zip_get_name.c', 'zip/zip/zip_get_name.c',
'zip/zip/zip_get_num_entries.c', 'zip/zip/zip_get_num_entries.c',
'zip/zip/zip_get_num_files.c', 'zip/zip/zip_get_num_files.c',
'zip/zip/zip_name_locate.c', 'zip/zip/zip_name_locate.c',
'zip/zip/zip_new.c', 'zip/zip/zip_new.c',
'zip/zip/zip_open.c', 'zip/zip/zip_open.c',
'zip/zip/zip_rename.c', 'zip/zip/zip_rename.c',
'zip/zip/zip_replace.c', 'zip/zip/zip_replace.c',
'zip/zip/zip_set_archive_comment.c', 'zip/zip/zip_set_archive_comment.c',
'zip/zip/zip_set_archive_flag.c', 'zip/zip/zip_set_archive_flag.c',
'zip/zip/zip_set_default_password.c', 'zip/zip/zip_set_default_password.c',
'zip/zip/zip_set_file_comment.c', 'zip/zip/zip_set_file_comment.c',
'zip/zip/zip_set_file_compression.c', 'zip/zip/zip_set_file_compression.c',
'zip/zip/zip_set_name.c', 'zip/zip/zip_set_name.c',
'zip/zip/zip_source_buffer.c', 'zip/zip/zip_source_buffer.c',
'zip/zip/zip_source_close.c', 'zip/zip/zip_source_close.c',
'zip/zip/zip_source_crc.c', 'zip/zip/zip_source_crc.c',
'zip/zip/zip_source_deflate.c', 'zip/zip/zip_source_deflate.c',
'zip/zip/zip_source_error.c', 'zip/zip/zip_source_error.c',
'zip/zip/zip_source_file.c', 'zip/zip/zip_source_file.c',
'zip/zip/zip_source_filep.c', 'zip/zip/zip_source_filep.c',
'zip/zip/zip_source_free.c', 'zip/zip/zip_source_free.c',
'zip/zip/zip_source_function.c', 'zip/zip/zip_source_function.c',
'zip/zip/zip_source_layered.c', 'zip/zip/zip_source_layered.c',
'zip/zip/zip_source_open.c', 'zip/zip/zip_source_open.c',
'zip/zip/zip_source_pkware.c', 'zip/zip/zip_source_pkware.c',
'zip/zip/zip_source_pop.c', 'zip/zip/zip_source_pop.c',
'zip/zip/zip_source_read.c', 'zip/zip/zip_source_read.c',
'zip/zip/zip_source_stat.c', 'zip/zip/zip_source_stat.c',
'zip/zip/zip_source_window.c', 'zip/zip/zip_source_window.c',
'zip/zip/zip_source_zip.c', 'zip/zip/zip_source_zip.c',
'zip/zip/zip_source_zip_new.c', 'zip/zip/zip_source_zip_new.c',
'zip/zip/zip_stat.c', 'zip/zip/zip_stat.c',
'zip/zip/zip_stat_index.c', 'zip/zip/zip_stat_index.c',
'zip/zip/zip_stat_init.c', 'zip/zip/zip_stat_init.c',
'zip/zip/zip_strerror.c', 'zip/zip/zip_strerror.c',
'zip/zip/zip_string.c', 'zip/zip/zip_string.c',
'zip/zip/zip_unchange.c', 'zip/zip/zip_unchange.c',
'zip/zip/zip_unchange_all.c', 'zip/zip/zip_unchange_all.c',
'zip/zip/zip_unchange_archive.c', 'zip/zip/zip_unchange_archive.c',
'zip/zip/zip_unchange_data.c', 'zip/zip/zip_unchange_data.c',
'zip/zip/zip_utf-8.c', 'zip/zip/zip_utf-8.c',
'zip/zlib/adler32.c', 'zip/zlib/adler32.c',
'zip/zlib/compress.c', 'zip/zlib/compress.c',
'zip/zlib/crc32.c', 'zip/zlib/crc32.c',
'zip/zlib/deflate.c', 'zip/zlib/deflate.c',
'zip/zlib/gzclose.c', 'zip/zlib/gzclose.c',
'zip/zlib/gzlib.c', 'zip/zlib/gzlib.c',
'zip/zlib/gzread.c', 'zip/zlib/gzread.c',
'zip/zlib/gzwrite.c', 'zip/zlib/gzwrite.c',
'zip/zlib/infback.c', 'zip/zlib/infback.c',
'zip/zlib/inffast.c', 'zip/zlib/inffast.c',
'zip/zlib/inflate.c', 'zip/zlib/inflate.c',
'zip/zlib/inftrees.c', 'zip/zlib/inftrees.c',
'zip/zlib/trees.c', 'zip/zlib/trees.c',
'zip/zlib/uncompr.c', 'zip/zlib/uncompr.c',
'zip/zlib/zutil.c' 'zip/zlib/zutil.c'
] ]
libr2zip = static_library('libr2zip', zlib_files, libr2zip = static_library('libr2zip', zlib_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'zip/include' platform_inc,
])] include_directories([
'zip/include'
])
],
implicit_include_directories: false
) )
cs_files=[ cs_files = [
'capstone/arch/AArch64/AArch64BaseInfo.c', 'capstone/arch/AArch64/AArch64BaseInfo.c',
'capstone/arch/AArch64/AArch64Disassembler.c', 'capstone/arch/AArch64/AArch64Disassembler.c',
'capstone/arch/AArch64/AArch64InstPrinter.c', 'capstone/arch/AArch64/AArch64InstPrinter.c',
'capstone/arch/AArch64/AArch64Mapping.c', 'capstone/arch/AArch64/AArch64Mapping.c',
'capstone/arch/AArch64/AArch64Module.c', 'capstone/arch/AArch64/AArch64Module.c',
'capstone/arch/ARM/ARMDisassembler.c', 'capstone/arch/ARM/ARMDisassembler.c',
'capstone/arch/ARM/ARMInstPrinter.c', 'capstone/arch/ARM/ARMInstPrinter.c',
'capstone/arch/ARM/ARMMapping.c', 'capstone/arch/ARM/ARMMapping.c',
'capstone/arch/ARM/ARMModule.c', 'capstone/arch/ARM/ARMModule.c',
'capstone/arch/M68K/M68KDisassembler.c', 'capstone/arch/M68K/M68KDisassembler.c',
'capstone/arch/M68K/M68KInstPrinter.c', 'capstone/arch/M68K/M68KInstPrinter.c',
'capstone/arch/M68K/M68KModule.c', 'capstone/arch/M68K/M68KModule.c',
'capstone/arch/Mips/MipsDisassembler.c', 'capstone/arch/Mips/MipsDisassembler.c',
'capstone/arch/Mips/MipsInstPrinter.c', 'capstone/arch/Mips/MipsInstPrinter.c',
'capstone/arch/Mips/MipsMapping.c', 'capstone/arch/Mips/MipsMapping.c',
'capstone/arch/Mips/MipsModule.c', 'capstone/arch/Mips/MipsModule.c',
'capstone/arch/PowerPC/PPCDisassembler.c', 'capstone/arch/PowerPC/PPCDisassembler.c',
'capstone/arch/PowerPC/PPCInstPrinter.c', 'capstone/arch/PowerPC/PPCInstPrinter.c',
'capstone/arch/PowerPC/PPCMapping.c', 'capstone/arch/PowerPC/PPCMapping.c',
'capstone/arch/PowerPC/PPCModule.c', 'capstone/arch/PowerPC/PPCModule.c',
'capstone/arch/Sparc/SparcDisassembler.c', 'capstone/arch/Sparc/SparcDisassembler.c',
'capstone/arch/Sparc/SparcInstPrinter.c', 'capstone/arch/Sparc/SparcInstPrinter.c',
'capstone/arch/Sparc/SparcMapping.c', 'capstone/arch/Sparc/SparcMapping.c',
'capstone/arch/Sparc/SparcModule.c', 'capstone/arch/Sparc/SparcModule.c',
'capstone/arch/SystemZ/SystemZDisassembler.c', 'capstone/arch/SystemZ/SystemZDisassembler.c',
'capstone/arch/SystemZ/SystemZInstPrinter.c', 'capstone/arch/SystemZ/SystemZInstPrinter.c',
'capstone/arch/SystemZ/SystemZMapping.c', 'capstone/arch/SystemZ/SystemZMapping.c',
'capstone/arch/SystemZ/SystemZMCTargetDesc.c', 'capstone/arch/SystemZ/SystemZMCTargetDesc.c',
'capstone/arch/SystemZ/SystemZModule.c', 'capstone/arch/SystemZ/SystemZModule.c',
'capstone/arch/TMS320C64x/TMS320C64xDisassembler.c', 'capstone/arch/TMS320C64x/TMS320C64xDisassembler.c',
'capstone/arch/TMS320C64x/TMS320C64xInstPrinter.c', 'capstone/arch/TMS320C64x/TMS320C64xInstPrinter.c',
'capstone/arch/TMS320C64x/TMS320C64xMapping.c', 'capstone/arch/TMS320C64x/TMS320C64xMapping.c',
'capstone/arch/TMS320C64x/TMS320C64xModule.c', 'capstone/arch/TMS320C64x/TMS320C64xModule.c',
'capstone/arch/X86/X86ATTInstPrinter.c', 'capstone/arch/X86/X86ATTInstPrinter.c',
'capstone/arch/X86/X86Disassembler.c', 'capstone/arch/X86/X86Disassembler.c',
'capstone/arch/X86/X86DisassemblerDecoder.c', 'capstone/arch/X86/X86DisassemblerDecoder.c',
'capstone/arch/X86/X86IntelInstPrinter.c', 'capstone/arch/X86/X86IntelInstPrinter.c',
'capstone/arch/X86/X86Mapping.c', 'capstone/arch/X86/X86Mapping.c',
'capstone/arch/X86/X86Module.c', 'capstone/arch/X86/X86Module.c',
'capstone/arch/XCore/XCoreDisassembler.c', 'capstone/arch/XCore/XCoreDisassembler.c',
'capstone/arch/XCore/XCoreInstPrinter.c', 'capstone/arch/XCore/XCoreInstPrinter.c',
'capstone/arch/XCore/XCoreMapping.c', 'capstone/arch/XCore/XCoreMapping.c',
'capstone/arch/XCore/XCoreModule.c', 'capstone/arch/XCore/XCoreModule.c',
'capstone/cs.c', 'capstone/cs.c',
'capstone/MCInst.c', 'capstone/MCInst.c',
'capstone/MCInstrDesc.c', 'capstone/MCInstrDesc.c',
'capstone/MCRegisterInfo.c', 'capstone/MCRegisterInfo.c',
'capstone/SStream.c', 'capstone/SStream.c',
'capstone/utils.c', 'capstone/utils.c',
] ]
libr2capstone = static_library('libr2capstone', cs_files, libr2capstone = static_library('libr2capstone', cs_files,
@ -297,105 +332,130 @@ libr2capstone = static_library('libr2capstone', cs_files,
'-DCAPSTONE_HAS_XCORE', '-DCAPSTONE_HAS_XCORE',
'-DCAPSTONE_HAS_TMS320C64X', '-DCAPSTONE_HAS_TMS320C64X',
], ],
include_directories: include_directories([ include_directories: [
'capstone/include' include_directories([
]) 'capstone/include'
])
],
implicit_include_directories: false
) )
grub_files=[ grub_files = [
'grub/fs/affs.c', 'grub/fs/affs.c',
#'grub/fs/afs.c', #'grub/fs/afs.c',
#'grub/fs/afs_be.c', #'grub/fs/afs_be.c',
#'grub/fs/befs.c', #'grub/fs/befs.c',
#'grub/fs/befs_be.c', #'grub/fs/befs_be.c',
'grub/fs/btrfs.c', 'grub/fs/btrfs.c',
#'grub/fs/cpio.c', #'grub/fs/cpio.c',
'grub/fs/ext2.c', 'grub/fs/ext2.c',
'grub/fs/fat.c', 'grub/fs/fat.c',
'grub/fs/fb.c', 'grub/fs/fb.c',
'grub/fs/fshelp.c', 'grub/fs/fshelp.c',
'grub/fs/hfs.c', 'grub/fs/hfs.c',
'grub/fs/hfsplus.c', 'grub/fs/hfsplus.c',
'grub/fs/iso9660.c', 'grub/fs/iso9660.c',
'grub/fs/jfs.c', 'grub/fs/jfs.c',
'grub/fs/minix.c', 'grub/fs/minix.c',
'grub/fs/minix2.c', 'grub/fs/minix2.c',
'grub/fs/nilfs2.c', 'grub/fs/nilfs2.c',
'grub/fs/ntfs.c', 'grub/fs/ntfs.c',
'grub/fs/ntfscomp.c', 'grub/fs/ntfscomp.c',
'grub/fs/reiserfs.c', 'grub/fs/reiserfs.c',
'grub/fs/sfs.c', 'grub/fs/sfs.c',
'grub/fs/tar.c', 'grub/fs/tar.c',
'grub/fs/udf.c', 'grub/fs/udf.c',
'grub/fs/ufs.c', 'grub/fs/ufs.c',
'grub/fs/ufs2.c', 'grub/fs/ufs2.c',
'grub/fs/xfs.c', 'grub/fs/xfs.c',
'grub/grubfs.c', 'grub/grubfs.c',
'grub/kern/device.c', 'grub/kern/device.c',
'grub/kern/disk.c', 'grub/kern/disk.c',
#'grub/kern/dl.c', #'grub/kern/dl.c',
'grub/kern/env.c', 'grub/kern/env.c',
'grub/kern/err.c', 'grub/kern/err.c',
'grub/kern/file.c', 'grub/kern/file.c',
'grub/kern/fs.c', 'grub/kern/fs.c',
'grub/kern/list.c', 'grub/kern/list.c',
'grub/kern/misc.c', 'grub/kern/misc.c',
'grub/kern/mm.c', 'grub/kern/mm.c',
'grub/kern/partition.c', 'grub/kern/partition.c',
'grub/kern/term.c', 'grub/kern/term.c',
'grub/kern/time.c', 'grub/kern/time.c',
#'grub/main.c', #'grub/main.c',
#'grub/partmap/acorn.c', #'grub/partmap/acorn.c',
'grub/partmap/amiga.c', 'grub/partmap/amiga.c',
'grub/partmap/apple.c', 'grub/partmap/apple.c',
'grub/partmap/bsdlabel.c', 'grub/partmap/bsdlabel.c',
'grub/partmap/gpt.c', 'grub/partmap/gpt.c',
'grub/partmap/msdos.c', 'grub/partmap/msdos.c',
'grub/partmap/sun.c', 'grub/partmap/sun.c',
'grub/partmap/sunpc.c', 'grub/partmap/sunpc.c',
] ]
libr2grub = static_library('libr2grub', grub_files, libr2grub = static_library('libr2grub', grub_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'grub', platform_inc,
'grub/include' include_directories([
])] 'grub',
'grub/include'
])
],
implicit_include_directories: false
) )
windbg_files=[ windbg_files = [
'windbg/iob_pipe.c', 'windbg/iob_pipe.c',
'windbg/kd.c', 'windbg/kd.c',
'windbg/transport.c', 'windbg/transport.c',
'windbg/windbg.c', 'windbg/windbg.c',
] ]
libr2windbg = static_library('libr2windbg', windbg_files, libr2windbg = static_library('libr2windbg', windbg_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'windbg' platform_inc,
])] include_directories([
'windbg'
])
],
implicit_include_directories: false
) )
udis86_files=[ udis86_files = [
'udis86/decode.c', 'udis86/decode.c',
'udis86/itab.c', 'udis86/itab.c',
'udis86/syn.c', 'udis86/syn.c',
'udis86/syn-att.c', 'udis86/syn-att.c',
'udis86/syn-intel.c', 'udis86/syn-intel.c',
'udis86/udis86.c', 'udis86/udis86.c',
] ]
libr2udis86 = static_library('libr2udis86', udis86_files, libr2udis86 = static_library('libr2udis86', udis86_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'udis86' platform_inc,
])] include_directories([
'udis86'
])
],
implicit_include_directories: false
) )
ar_files=[ ar_files = [
'ar/ar.c' 'ar/ar.c'
] ]
libr2ar = static_library('libr2ar', ar_files, libr2ar = static_library('libr2ar', ar_files,
include_directories: [platform_inc, include_directories([ include_directories: [
'ar' platform_inc,
])] include_directories([
'ar'
])
],
implicit_include_directories: false
) )
libr_shlr = [
libr2ar, libr2bochs, libr2capstone, libr2gdb, libr2grub, libr2java, libr2lz4,
libr2qnx, libr2sdb, libr2spp, libr2spp, libr2tcc, libr2udis86, libr2windbg,
libr2zip
]

View File

@ -38,11 +38,23 @@ files = [
] ]
libsdb = static_library('sdb', files, libsdb = static_library('sdb', files,
include_directories: [platform_inc, include_directories(['src'])] include_directories: [
platform_inc,
include_directories([
'src'
])
],
implicit_include_directories: false
) )
executable('sdb', 'src/main.c', executable('sdb', 'src/main.c',
include_directories: [platform_inc, include_directories(['src'])], include_directories: [
platform_inc,
include_directories([
'src'
])
],
link_with: [libsdb], link_with: [libsdb],
install: true install: true,
implicit_include_directories: false
) )

View File

@ -21,7 +21,7 @@ ROOT = None
log = None log = None
def set_global_variables(): def set_global_variables():
"""[R2_API] Set global variables""" """[R_API] Set global variables"""
global log global log
global ROOT global ROOT
global MESON global MESON
@ -51,7 +51,7 @@ def set_global_variables():
def meson(root, build, prefix=None, backend=None, def meson(root, build, prefix=None, backend=None,
release=False, shared=False, *, options=[]): release=False, shared=False, *, options=[]):
"""[R2_API] Invoke meson""" """[R_API] Invoke meson"""
command = MESON + [root, build] command = MESON + [root, build]
if prefix: if prefix:
command.append('--prefix={}'.format(prefix)) command.append('--prefix={}'.format(prefix))
@ -73,7 +73,7 @@ def meson(root, build, prefix=None, backend=None,
sys.exit(1) sys.exit(1)
def ninja(folder, *targets): def ninja(folder, *targets):
"""[R2_API] Invoke ninja""" """[R_API] Invoke ninja"""
command = ['ninja', '-C', folder] command = ['ninja', '-C', folder]
if targets: if targets:
command.extend(targets) command.extend(targets)
@ -84,7 +84,7 @@ def ninja(folder, *targets):
sys.exit(1) sys.exit(1)
def msbuild(project, *params): def msbuild(project, *params):
"""[R2_API] Invoke MSbuild""" """[R_API] Invoke MSbuild"""
command = ['msbuild', project] command = ['msbuild', project]
if params: if params:
command.extend(params) command.extend(params)
@ -149,6 +149,27 @@ def xp_compat(builddir):
proj.write(c) proj.write(c)
log.debug("%s .. OK", f) log.debug("%s .. OK", f)
def vs_dedup(builddir):
"""Remove duplicated dependency entries from vs project"""
start = '<AdditionalDependencies>'
end = ';%(AdditionalDependencies)'
for f in glob.iglob(os.path.join(builddir, '**', '*.vcxproj'), recursive=True):
with open(f) as proj:
data = proj.read()
idx = data.find(start)
if idx < 0:
continue
idx += len(start)
idx2 = data.find(end, idx)
if idx2 < 0:
continue
libs = set(data[idx:idx2].split(';'))
with open(f, 'w') as proj:
proj.write(data[:idx])
proj.write(';'.join(sorted(libs)))
proj.write(data[idx2:])
log.debug('%s processed', f)
def win_dist(args): def win_dist(args):
"""Create r2 distribution for Windows""" """Create r2 distribution for Windows"""
builddir = os.path.join(ROOT, args.dir) builddir = os.path.join(ROOT, args.dir)
@ -178,7 +199,7 @@ def win_dist(args):
win_dist_libr2() win_dist_libr2()
def win_dist_libr2(**path_fmt): def win_dist_libr2(**path_fmt):
"""[R2_API] Add libr2 data (www, include, sdb's, ...) to dist directory""" """[R_API] Add libr2 data (www, include, sdb's, ...) to dist directory"""
PATH_FMT.update(path_fmt) PATH_FMT.update(path_fmt)
copytree(r'{ROOT}\shlr\www', r'{DIST}\www') copytree(r'{ROOT}\shlr\www', r'{DIST}\www')
@ -209,7 +230,7 @@ def win_dist_libr2(**path_fmt):
copy(r'{ROOT}\doc\hud', r'{DIST}\share\radare2\{R2_VERSION}\hud\main') copy(r'{ROOT}\doc\hud', r'{DIST}\share\radare2\{R2_VERSION}\hud\main')
def build_sdb(backend, release=True): def build_sdb(backend, release=True):
"""[R2_API] Build and generate sdb files""" """[R_API] Build and generate sdb files"""
log.info('Building SDB') log.info('Building SDB')
sdb_builddir = os.path.join(ROOT, SDB_BUILDDIR) sdb_builddir = os.path.join(ROOT, SDB_BUILDDIR)
if not os.path.exists(sdb_builddir): if not os.path.exists(sdb_builddir):
@ -231,8 +252,6 @@ def build_sdb(backend, release=True):
for folder in datadirs: for folder in datadirs:
log.debug('Looking up %s', folder) log.debug('Looking up %s', folder)
for f in glob.iglob(os.path.join(folder, '**', '*.sdb.txt'), recursive=True): for f in glob.iglob(os.path.join(folder, '**', '*.sdb.txt'), recursive=True):
if os.path.isdir(f) or os.path.islink(f):
continue
convert_sdb(f) convert_sdb(f)
log.debug('Done') log.debug('Done')
@ -244,6 +263,7 @@ def build_r2(args):
meson(ROOT, r2_builddir, prefix=args.prefix, backend=args.backend, meson(ROOT, r2_builddir, prefix=args.prefix, backend=args.backend,
release=args.release, shared=args.shared) release=args.release, shared=args.shared)
if args.backend != 'ninja': if args.backend != 'ninja':
vs_dedup(r2_builddir)
if args.xp: if args.xp:
xp_compat(r2_builddir) xp_compat(r2_builddir)
if not args.project: if not args.project:
@ -253,7 +273,7 @@ def build_r2(args):
ninja(r2_builddir) ninja(r2_builddir)
def prepare_capstone(): def prepare_capstone():
"""[R2_API] Prepare capstone""" """[R_API] Prepare capstone"""
capstone_path = os.path.join(ROOT, 'shlr', 'capstone') capstone_path = os.path.join(ROOT, 'shlr', 'capstone')
if not os.path.isdir(capstone_path): if not os.path.isdir(capstone_path):
log.info('Cloning capstone') log.info('Cloning capstone')
@ -287,15 +307,14 @@ def main():
help='Create a visual studio project and do not build.') help='Create a visual studio project and do not build.')
parser.add_argument('--release', action='store_true', parser.add_argument('--release', action='store_true',
help='Set the build as Release (remove debug info)') help='Set the build as Release (remove debug info)')
parser.add_argument('--backend', action='store', choices=BACKENDS, parser.add_argument('--backend', choices=BACKENDS, default='ninja',
default='ninja', help='Choose build backend') help='Choose build backend (default: %(default)s)')
parser.add_argument('--shared', action='store_true', parser.add_argument('--shared', action='store_true',
help='Link dynamically (shared library) rather than statically') help='Link dynamically (shared library) rather than statically')
parser.add_argument('--prefix', action='store', default=None, parser.add_argument('--prefix', default=None,
help='Set project installation prefix (default: /usr/local)') help='Set project installation prefix')
parser.add_argument('--dir', action='store', default=BUILDDIR, parser.add_argument('--dir', default=BUILDDIR, required=False,
help='Destination build directory (default: {})'.format(BUILDDIR), help='Destination build directory (default: %(default)s)')
required=False)
parser.add_argument('--xp', action='store_true', parser.add_argument('--xp', action='store_true',
help='Adds support for Windows XP') help='Adds support for Windows XP')
if os.name == 'nt': if os.name == 'nt':