support for static build (#7822)

* support for static build
* improved sharard/static build
This commit is contained in:
SkUaTeR 2017-06-28 22:54:40 +02:00 committed by radare
parent 4e4ed9fd20
commit c31d81da26
23 changed files with 64 additions and 73 deletions

View File

@ -79,21 +79,20 @@ files=[
'var.c',
'xrefs.c',
]
r_anal = shared_library('r_anal', files,
r_anal = library('r_anal', files,
include_directories: [platform_inc, include_directories([
'arch/gb',
'../asm/arch/8051',
'../asm/arch/cr16',
'../asm/arch/include/',
'../../shlr/capstone/include',
'../../shlr',
'arch/gb',
'../asm/arch/8051',
'../asm/arch/cr16',
'../asm/arch/include/',
'../../shlr/capstone/include',
'../../shlr',
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, r_reg, r_syscall, r_search, r_cons, libr2udis86],
objects: [
libr2capstone.extract_all_objects(),
libr2capstone.extract_all_objects(),
libr2sdb.extract_all_objects(),
libr2spp.extract_all_objects(),
],

View File

@ -140,25 +140,25 @@ files=[
#'arch//z80/z80asm.c',
]
r_asm = shared_library('r_asm', files,
r_asm = library('r_asm', files,
include_directories: [platform_inc, include_directories([
'arch/include',
'../../shlr/capstone/include',
'../../shlr',
'arch',
'arch/h8300',
'arch/msp430',
'arch/rsp',
'arch/v850',
'arch/propeller',
'arch/ebc',
'arch/cr16',
'arch/8051',
'arch/include',
'../../shlr/capstone/include',
'../../shlr',
'arch',
'arch/h8300',
'arch/msp430',
'arch/rsp',
'arch/v850',
'arch/propeller',
'arch/ebc',
'arch/cr16',
'arch/8051',
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, r_syscall, r_parse, r_lang, r_flag, r_socket, libr2java, libr2udis86],
objects: [
libr2capstone.extract_all_objects(),
libr2capstone.extract_all_objects(),
libr2sdb.extract_all_objects(),
libr2spp.extract_all_objects(),
],

View File

@ -104,15 +104,15 @@ files=[
'pdb/tpi.c'
]
r_bin = shared_library('r_bin', files,
r_bin = library('r_bin', files,
include_directories: [platform_inc, include_directories([
'mangling',
'format'
'mangling',
'format'
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, r_io, r_socket, r_magic, libr2java],
objects: [
libr2sdb.extract_all_objects()
libr2sdb.extract_all_objects()
],
install: true
)

View File

@ -12,7 +12,7 @@ files=[
'p/bp_x86.c'
]
r_bp = shared_library('r_bp', files,
r_bp = library('r_bp', files,
include_directories: [platform_inc],
c_args: ['-DCORELIB'],
link_with: [r_util],

View File

@ -3,11 +3,11 @@ files=[
'config.c',
]
r_config = shared_library('r_config', files,
r_config = library('r_config', files,
include_directories: [platform_inc],
link_with: [r_util],
objects: [
libr2sdb.extract_all_objects()
libr2sdb.extract_all_objects()
],
install: true
)

View File

@ -18,12 +18,11 @@ files=[
'utf8.c'
]
r_cons = shared_library('r_cons', files,
r_cons = library('r_cons', files,
include_directories: [platform_inc],
link_with: [r_util],
objects: [
libr2sdb.extract_all_objects()
libr2sdb.extract_all_objects()
],
install: true
)

View File

@ -58,15 +58,14 @@ files=[
'vmenus.c',
'yank.c'
]
r_core = shared_library('r_core', files,
r_core = library('r_core', files,
include_directories: [platform_inc, include_directories([
'../../shlr'
'../../shlr'
])],
c_args: ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
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],
objects: [
libr2sdb.extract_all_objects(),
libr2sdb.extract_all_objects(),
libr2spp.extract_all_objects(),
libr2gdb.extract_all_objects()
],

View File

@ -18,7 +18,7 @@ files=[
'p/crypto_xor.c',
]
r_crypto = shared_library('r_crypto', files,
r_crypto = library('r_crypto', files,
include_directories: [platform_inc],
link_with: [r_util],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],

View File

@ -57,14 +57,14 @@ if host_os == 'darwin'
]
endif
r_debug = shared_library('r_debug', files,
r_debug = library('r_debug', files,
include_directories: [platform_inc, include_directories([
'../bin/format/elf',
'../bin/format/elf',
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
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],
objects: [
libr2sdb.extract_all_objects(),
libr2sdb.extract_all_objects(),
],
install: true
)

View File

@ -13,14 +13,12 @@ files=[
#'p/egg_shya.c',
'p/egg_xor.c'
]
r_egg = shared_library('r_egg', files,
r_egg = library('r_egg', files,
include_directories: [platform_inc],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, r_asm, r_syscall],
objects: [
libr2sdb.extract_all_objects(),
libr2sdb.extract_all_objects(),
],
install: true
)

View File

@ -6,12 +6,11 @@ files=[
'zones.c'
]
r_flag = shared_library('r_flag', files,
r_flag = library('r_flag', files,
include_directories: [platform_inc],
link_with: [r_util],
objects: [
libr2sdb.extract_all_objects()
libr2sdb.extract_all_objects()
],
install: true
)

View File

@ -24,12 +24,11 @@ files=[
'p/part_dos.c'
]
r_fs = shared_library('r_fs', files,
r_fs = library('r_fs', files,
include_directories: [platform_inc, include_directories([
'../../shlr/grub/include'
'../../shlr/grub/include'
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, libr2grub],
install: true
)

View File

@ -15,10 +15,9 @@ files=[
'xxhash.c'
]
r_hash = shared_library('r_hash', files,
r_hash = library('r_hash', files,
include_directories: [platform_inc],
dependencies: [mth],
link_with: [r_util],
install: true
)

View File

@ -48,9 +48,9 @@ files += [
]
endif
r_io = shared_library('r_io', files,
r_io = library('r_io', files,
include_directories: [platform_inc, include_directories([
'../../shlr/bochs/include',
'../../shlr/bochs/include',
'../../shlr/gdb/include',
'../../shlr/qnx/include',
'../../shlr/wind',

View File

@ -8,7 +8,7 @@ files=[
'p/vala.c'
]
r_lang = shared_library('r_lang', files,
r_lang = library('r_lang', files,
include_directories: [platform_inc],
c_args: ['-DCORELIB'],
link_with: [r_util, r_cons],

View File

@ -8,8 +8,7 @@ files=[
# XXX not used? 'print.c',
'softmagic.c'
]
r_magic = shared_library('r_magic', files,
r_magic = library('r_magic', files,
include_directories: [platform_inc],
c_args: ['-DCORELIB'],
link_with: [r_util],

View File

@ -15,12 +15,11 @@ files=[
'p/parse_mreplace/mmemory.c'
]
r_parse = shared_library('r_parse', files,
r_parse = library('r_parse', files,
include_directories: [platform_inc, include_directories([
'../../shlr/tcc',
'../../shlr/tcc',
])],
c_args : ['-DCORELIB=1', '-I' + meson.current_build_dir() + '/../..'],
link_with: [r_util, r_flag, r_syscall, r_reg, libr2tcc, libr2sdb],
install: true
)

View File

@ -7,9 +7,8 @@ files=[
'value.c',
]
r_reg = shared_library('r_reg', files,
r_reg = library('r_reg', files,
include_directories: [platform_inc],
link_with: [r_util],
install: true
)

View File

@ -10,7 +10,7 @@ files=[
'xrefs.c',
]
r_search = shared_library('r_search', files,
r_search = library('r_search', files,
include_directories: [platform_inc],
link_with: [r_util],
install: true

View File

@ -9,7 +9,7 @@ files=[
'serial.c',
]
r_socket = shared_library('r_socket', files,
r_socket = library('r_socket', files,
include_directories: [platform_inc],
dependencies: [utl],
link_with: [r_util],

View File

@ -3,11 +3,11 @@ files=[
'ioports.c'
]
r_syscall = shared_library('r_syscall', files,
r_syscall = library('r_syscall', files,
include_directories: [platform_inc],
link_with: [r_util],
objects: [
libr2sdb.extract_all_objects()
libr2sdb.extract_all_objects()
],
install: true
)

View File

@ -73,15 +73,15 @@ files=[
]
incdir = '../include'
r_util = shared_library('r_util', files,
r_util = library('r_util', files,
include_directories: [platform_inc, include_directories([
'../../shlr/zip/include']
)],
dependencies: [ldl, pth, utl],
objects: [
libr2sdb.extract_all_objects(),
libr2sdb.extract_all_objects(),
libr2zip.extract_all_objects()
],
install: true
)

View File

@ -48,9 +48,11 @@ if host_machine.system() == 'windows'
#platform_deps = [cc.find_library('ws2_32')]
platform_inc = include_directories(['.','../libr/include','../libr/include/msvc'])
host_os = 'windows'
if get_option('buildtype') == 'release'
# Add /MT flag to add necessary runtimes into libraries/executables.
add_global_arguments('/MT', language: 'c')
if get_option('default_library') == 'static'
add_global_arguments('/MT', language: 'c')
message(' ------ WINDOWS VERSION: BUILD STATIC ------')
else
message(' ------ WINDOWS VERSION: BUILD SHARED ------')
endif
endif