build: Improved meson-build to use rizin as subproject (#4684)
* Setting GNU99/C99 standard for subprojects * Remove use of `add_global_arguments` * Added extern "C" linkage specification to some public headers of rizin * Changed the meson_git_wrapper.py-script to explicitly specify the output-path * Made the RIZIN_BUILD_PATH conditional in the integration-test meson-build Co-authored-by: amibranch <amibranch@users.noreply.github.com>
This commit is contained in:
parent
86d8953912
commit
8e6b764fb5
25 changed files with 228 additions and 46 deletions
|
|
@ -14,6 +14,10 @@
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
// TODO: fix this to make it crosscompile-friendly: RZ_SYS_OSTYPE ?
|
// TODO: fix this to make it crosscompile-friendly: RZ_SYS_OSTYPE ?
|
||||||
/* operating system */
|
/* operating system */
|
||||||
#undef __BSD__
|
#undef __BSD__
|
||||||
|
|
@ -729,4 +733,8 @@ static inline void *rz_asm_plugin_data_from_rz_analysis(RZ_NONNULL void /*<RzAna
|
||||||
return rasm->plugin_data;
|
return rasm->plugin_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // RZ_TYPES_H
|
#endif // RZ_TYPES_H
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,10 @@
|
||||||
#include "rz_rbtree.h"
|
#include "rz_rbtree.h"
|
||||||
#include "../rz_types.h"
|
#include "../rz_types.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RzIntervalTree is a special RBTree (augmented red-black tree)
|
* RzIntervalTree is a special RBTree (augmented red-black tree)
|
||||||
* that holds its entries, each associated with a interval,
|
* that holds its entries, each associated with a interval,
|
||||||
|
|
@ -100,4 +104,8 @@ static inline bool rz_interval_tree_empty(RzIntervalTree *tree) {
|
||||||
if ((tree)->root) \
|
if ((tree)->root) \
|
||||||
for ((it) = rz_rbtree_last(&(tree)->root->node); rz_rbtree_iter_has(&it) && (dat = rz_rbtree_iter_get(&it, RzIntervalNode, node)->data); rz_rbtree_iter_prev(&(it)))
|
for ((it) = rz_rbtree_last(&(tree)->root->node); rz_rbtree_iter_has(&it) && (dat = rz_rbtree_iter_get(&it, RzIntervalNode, node)->data); rz_rbtree_iter_prev(&(it)))
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // RZ_INTERVALTREE_H
|
#endif // RZ_INTERVALTREE_H
|
||||||
|
|
|
||||||
22
meson.build
22
meson.build
|
|
@ -1,6 +1,6 @@
|
||||||
project('rizin', 'c',
|
project('rizin', 'c',
|
||||||
version: 'v0.8.0',
|
version: 'v0.8.0',
|
||||||
license: 'LGPL3',
|
license: 'LGPL-3.0-only',
|
||||||
meson_version: '>=0.57.0',
|
meson_version: '>=0.57.0',
|
||||||
default_options: [
|
default_options: [
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
|
|
@ -91,14 +91,14 @@ if cc.has_argument('-Wenum-compare')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if cc.has_argument('--std=gnu99')
|
if cc.has_argument('--std=gnu99')
|
||||||
add_global_arguments('--std=gnu99', language: ['c', 'cpp'])
|
add_project_arguments('--std=gnu99', language: ['c', 'cpp'])
|
||||||
elif cc.has_argument('--std=c99')
|
elif cc.has_argument('--std=c99')
|
||||||
add_global_arguments('--std=c99', language: ['c', 'cpp'])
|
add_project_arguments('--std=c99', language: ['c', 'cpp'])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Sanitize correct usage of rz_strf()
|
# Sanitize correct usage of rz_strf()
|
||||||
if cc.has_argument('-Werror=sizeof-pointer-memaccess')
|
if cc.has_argument('-Werror=sizeof-pointer-memaccess')
|
||||||
add_global_arguments('-Werror=sizeof-pointer-memaccess', language: ['c', 'cpp'])
|
add_project_arguments('-Werror=sizeof-pointer-memaccess', language: ['c', 'cpp'])
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if cc.has_argument('-Wimplicit-fallthrough=3')
|
if cc.has_argument('-Wimplicit-fallthrough=3')
|
||||||
|
|
@ -117,17 +117,17 @@ endif
|
||||||
|
|
||||||
if get_option('default_library') == 'shared'
|
if get_option('default_library') == 'shared'
|
||||||
if cc.has_argument('-fvisibility=hidden')
|
if cc.has_argument('-fvisibility=hidden')
|
||||||
add_global_arguments('-fvisibility=hidden', language: 'c')
|
add_project_arguments('-fvisibility=hidden', language: 'c')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
add_project_arguments(['-DRZ_PLUGIN_INCORE=1'], language: 'c')
|
add_project_arguments(['-DRZ_PLUGIN_INCORE=1'], language: 'c')
|
||||||
b_sanitize_opt = get_option('b_sanitize')
|
b_sanitize_opt = get_option('b_sanitize')
|
||||||
if (b_sanitize_opt.contains('address') or b_sanitize_opt.contains('undefined')) and cc.get_id() == 'clang'
|
if (b_sanitize_opt.contains('address') or b_sanitize_opt.contains('undefined')) and cc.get_id() == 'clang'
|
||||||
add_global_arguments('-shared-libasan', language: 'c')
|
add_project_arguments('-shared-libasan', language: 'c')
|
||||||
add_global_link_arguments('-shared-libasan', language: 'c')
|
add_project_link_arguments('-shared-libasan', language: 'c')
|
||||||
add_global_arguments('-shared-libasan', language: 'c', native: true)
|
add_project_arguments('-shared-libasan', language: 'c', native: true)
|
||||||
add_global_link_arguments('-shared-libasan', language: 'c', native: true)
|
add_project_link_arguments('-shared-libasan', language: 'c', native: true)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fs = import('fs')
|
fs = import('fs')
|
||||||
|
|
@ -366,7 +366,7 @@ foreach it : ccs
|
||||||
have_pthread = it_th.found() and it_machine.system() != 'windows'
|
have_pthread = it_th.found() and it_machine.system() != 'windows'
|
||||||
if it_machine.system() == 'sunos'
|
if it_machine.system() == 'sunos'
|
||||||
# workaround for Solaris until https://github.com/mesonbuild/meson/issues/4328 is fixed
|
# workaround for Solaris until https://github.com/mesonbuild/meson/issues/4328 is fixed
|
||||||
it_mth = declare_dependency(link_args: '-lm', native: it_native)
|
it_mth = declare_dependency(link_args: '-lm')
|
||||||
else
|
else
|
||||||
it_mth = it_cc.find_library('m', required: false, static: is_static_build)
|
it_mth = it_cc.find_library('m', required: false, static: is_static_build)
|
||||||
endif
|
endif
|
||||||
|
|
@ -569,7 +569,7 @@ if git_exe.found() and fs.exists('.git')
|
||||||
build_always_stale: true,
|
build_always_stale: true,
|
||||||
build_by_default: true,
|
build_by_default: true,
|
||||||
output: 'gittip',
|
output: 'gittip',
|
||||||
command: [py3_exe, git_exe_repo_py, git_exe, repo, 'rev-parse', 'HEAD'],
|
command: [py3_exe, git_exe_repo_py, git_exe, repo, '@OUTPUT@', 'rev-parse', 'HEAD'],
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: rizin_datdir_rz
|
install_dir: rizin_datdir_rz
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
project('nettle', 'c',
|
project('nettle', 'c',
|
||||||
license: [ 'LGPL'],
|
license: 'LGPL',
|
||||||
version: '3.7.3'
|
version: '3.7.3'
|
||||||
)
|
)
|
||||||
# https://git.lysator.liu.se/nettle/nettle
|
# https://git.lysator.liu.se/nettle/nettle
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
project('blake3', 'c', version: '1.3.1', license : ['CC0-1.0'], meson_version: '>=0.55.0')
|
project('blake3', 'c',
|
||||||
|
version: '1.3.1',
|
||||||
|
license: 'CC0-1.0',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
default_options: [
|
||||||
|
'c_std=c99',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
project('capstone', 'c', version: '4.0.2', meson_version: '>=0.55.0')
|
project('capstone', 'c',
|
||||||
|
version: '4.0.2',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
cs_files = [
|
cs_files = [
|
||||||
'arch/AArch64/AArch64BaseInfo.c',
|
'arch/AArch64/AArch64BaseInfo.c',
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
project('capstone', 'c', version: '5.0.1', meson_version: '>=0.55.0')
|
project('capstone', 'c',
|
||||||
|
version: '5.0.1',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
cs_files = [
|
cs_files = [
|
||||||
'arch/AArch64/AArch64BaseInfo.c',
|
'arch/AArch64/AArch64BaseInfo.c',
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
project('capstone', 'c', version: 'next', meson_version: '>=0.55.0')
|
project('capstone', 'c',
|
||||||
|
version: 'next',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
cs_files = [
|
cs_files = [
|
||||||
'arch/Alpha/AlphaDisassembler.c',
|
'arch/Alpha/AlphaDisassembler.c',
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,15 @@
|
||||||
project('capstone', 'c', version: 'next', meson_version: '>=0.55.0')
|
project('capstone', 'c',
|
||||||
|
version: 'next',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
cs_files = [
|
cs_files = [
|
||||||
'arch/Alpha/AlphaDisassembler.c',
|
'arch/Alpha/AlphaDisassembler.c',
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,15 @@
|
||||||
project('libmspack', 'c', version: '0.10.1alpha', license : ['LGPL2'], meson_version: '>=0.55.0')
|
project('libmspack', 'c',
|
||||||
|
version: '0.10.1alpha',
|
||||||
|
license : 'LGPL2',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
# handle libmspack dependency
|
# handle libmspack dependency
|
||||||
libmspack_files = [
|
libmspack_files = [
|
||||||
'libmspack' / 'mspack' / 'cabc.c',
|
'libmspack' / 'mspack' / 'cabc.c',
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
project('libzip', 'c',
|
project('libzip', 'c',
|
||||||
version: '1.9.2')
|
version: '1.9.2',
|
||||||
|
license: 'BSD-3-clause',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
py3_exe = import('python').find_installation()
|
py3_exe = import('python').find_installation()
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
is_static_build = get_option('static_runtime')
|
is_static_build = get_option('static_runtime')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
# Create config.h file
|
# Create config.h file
|
||||||
conf_data = configuration_data()
|
conf_data = configuration_data()
|
||||||
zlib_dep = dependency('zlib', required: get_option('use_sys_zlib'), static: is_static_build)
|
zlib_dep = dependency('zlib', required: get_option('use_sys_zlib'), static: is_static_build)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,14 @@
|
||||||
project('lz4', ['c'],
|
project('lz4', ['c'],
|
||||||
license: ['BSD', 'GPLv2'],
|
license: 'BSD-2-Clause-Patent AND GPL-2.0-or-later',
|
||||||
version: '1.9.4',
|
version: '1.9.4',
|
||||||
meson_version: '>=0.47.0')
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
lz4_files = [
|
lz4_files = [
|
||||||
'lib/lz4.c',
|
'lib/lz4.c',
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,10 @@ project('pcre2', 'c', version: '10.44')
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
conf_data = configuration_data()
|
conf_data = configuration_data()
|
||||||
|
|
||||||
pcre2_chartables = configure_file(input : 'src/pcre2_chartables.c.dist',
|
pcre2_chartables = configure_file(input : 'src/pcre2_chartables.c.dist',
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,16 @@
|
||||||
project('rizin-grammar-c', 'c', default_options: ['werror=false'])
|
project('rizin-grammar-c', 'c',
|
||||||
|
license: 'MIT',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
default_options: [
|
||||||
|
'werror=false'
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
ts_c_files = [
|
ts_c_files = [
|
||||||
'src/parser.c'
|
'src/parser.c'
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,16 @@
|
||||||
project('tree-sitter', 'c')
|
project('tree-sitter', 'c',
|
||||||
|
license: 'MIT',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
tree_sitter_path = 'tree-sitter'
|
tree_sitter_path = 'tree-sitter'
|
||||||
|
|
||||||
tree_sitter_files = ['lib/src/lib.c']
|
tree_sitter_files = ['lib/src/lib.c']
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,18 @@
|
||||||
# liblzma is what upstream uses for their pkg-config name
|
# liblzma is what upstream uses for their pkg-config name
|
||||||
project('liblzma', 'c',
|
project('liblzma', 'c',
|
||||||
version : '5.2.9',
|
version : '5.4.3',
|
||||||
license : 'pd/lgpl2/gpl2/gpl3',)
|
license : ['PD', 'LGPL2', 'GPL2', 'GPL3'],
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
lzma_cflags = ['-DHAVE_CONFIG_H', '-DTUKLIB_SYMBOL_PREFIX=lzma_', '-DLZMA_API_STATIC']
|
lzma_cflags = ['-DHAVE_CONFIG_H', '-DTUKLIB_SYMBOL_PREFIX=lzma_', '-DLZMA_API_STATIC']
|
||||||
|
|
||||||
cdata = configuration_data()
|
cdata = configuration_data()
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,15 @@
|
||||||
project('zlib', 'c', version : '1.3.1', license : 'zlib')
|
project('zlib', 'c',
|
||||||
|
version : '1.3.1',
|
||||||
|
license : 'zlib',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
link_args = []
|
link_args = []
|
||||||
compile_args = []
|
compile_args = []
|
||||||
if cc.get_argument_syntax() == 'msvc'
|
if cc.get_argument_syntax() == 'msvc'
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,14 @@
|
||||||
project('rizin-shell-parser', 'c',
|
project('rizin-shell-parser', 'c',
|
||||||
license : [ 'LGPL']
|
license: 'LGPL-3.0-only',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
tree_sitter_dep = dependency('tree-sitter')
|
tree_sitter_dep = dependency('tree-sitter')
|
||||||
grammar_js = files('grammar.js')
|
grammar_js = files('grammar.js')
|
||||||
tree_sitter_wrap_py = files('meson_tree_sitter_generate.py')
|
tree_sitter_wrap_py = files('meson_tree_sitter_generate.py')
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
project('rzar', 'c',
|
project('rzar', 'c',
|
||||||
license : [ 'LGPL']
|
license: 'LGPL-3.0-only',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
)
|
)
|
||||||
|
|
||||||
# handle ar dependency
|
# handle ar dependency
|
||||||
|
|
@ -7,6 +8,14 @@ ar_files = [
|
||||||
'ar.c'
|
'ar.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
rz_util_dep = dependency('rz_util')
|
rz_util_dep = dependency('rz_util')
|
||||||
ar_inc = [include_directories(['.'])]
|
ar_inc = [include_directories(['.'])]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
project('rzw32dbg_wrap', 'c')
|
project('rzw32dbg_wrap', 'c')
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
gdb_files = [
|
gdb_files = [
|
||||||
'src/arch.c',
|
'src/arch.c',
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,16 @@
|
||||||
project('rzqnx', 'c',
|
project('rzqnx', 'c',
|
||||||
license : [ 'GPL']
|
license: 'GPL-2.0-only',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
qnx_files = [
|
qnx_files = [
|
||||||
'src/core.c',
|
'src/core.c',
|
||||||
'src/packet.c',
|
'src/packet.c',
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
project('rzwinkd', 'c',
|
project('rzwinkd', 'c',
|
||||||
license : [ 'LGPL']
|
license: 'LGPL-3.0-only',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
)
|
)
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
@ -12,6 +13,12 @@ winkd_files = [
|
||||||
'winkd.c',
|
'winkd.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if cc.has_argument('--std=gnu99')
|
||||||
|
add_project_arguments('--std=gnu99', language: ['c'])
|
||||||
|
elif cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
winkd_inc = [include_directories('.')]
|
winkd_inc = [include_directories('.')]
|
||||||
|
|
||||||
rz_util_dep = dependency('rz_util')
|
rz_util_dep = dependency('rz_util')
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,15 @@
|
||||||
project('xxhash', 'c',
|
project('xxhash', 'c',
|
||||||
# library files are BSD licensed. xxhsum utility is GPL licensed.
|
# library files are BSD licensed. xxhsum utility is GPL licensed.
|
||||||
license : [ 'BSD', 'GPL'],
|
version : '0.6.5',
|
||||||
version : '0.6.5')
|
license: 'BSD-2-Clause AND GPL-2.0-or-later',
|
||||||
|
meson_version: '>=0.55.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
if cc.has_argument('--std=c99')
|
||||||
|
add_project_arguments('--std=c99', language: ['c'])
|
||||||
|
endif
|
||||||
|
|
||||||
inc = include_directories('.')
|
inc = include_directories('.')
|
||||||
|
|
||||||
|
|
@ -13,4 +21,4 @@ libxxhash = library('xxhash',
|
||||||
|
|
||||||
xxhash_dep = declare_dependency(
|
xxhash_dep = declare_dependency(
|
||||||
include_directories : inc,
|
include_directories : inc,
|
||||||
link_with : libxxhash)
|
link_with : libxxhash)
|
||||||
|
|
|
||||||
|
|
@ -23,12 +23,10 @@ def isCArgSupported(executable, path):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def simple_git_execution(args, gittip_dir=None):
|
def simple_git_execution(args, output_path=None):
|
||||||
try:
|
try:
|
||||||
called = subprocess.run(args, check=True, stdout=subprocess.PIPE)
|
called = subprocess.run(args, check=True, stdout=subprocess.PIPE)
|
||||||
if gittip_dir is not None:
|
with open(output_path, "w", encoding="utf8") as f:
|
||||||
os.chdir(gittip_dir)
|
|
||||||
with open("gittip", "w", encoding="utf8") as f:
|
|
||||||
f.write(called.stdout.decode("utf8").strip())
|
f.write(called.stdout.decode("utf8").strip())
|
||||||
sys.exit(called.returncode)
|
sys.exit(called.returncode)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
|
|
@ -38,7 +36,7 @@ def simple_git_execution(args, gittip_dir=None):
|
||||||
def parse():
|
def parse():
|
||||||
if len(sys.argv) <= 3:
|
if len(sys.argv) <= 3:
|
||||||
print(
|
print(
|
||||||
"Usage: {} <git_executable_path> <repo_path> [git_args...]".format(
|
"Usage: {} <git_executable_path> <repo_path> <output_path> [git_args...]".format(
|
||||||
sys.argv[0]
|
sys.argv[0]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -46,20 +44,21 @@ def parse():
|
||||||
|
|
||||||
git_exe = sys.argv[1]
|
git_exe = sys.argv[1]
|
||||||
repo_path = sys.argv[2]
|
repo_path = sys.argv[2]
|
||||||
args = sys.argv[3:]
|
output_path = sys.argv[3]
|
||||||
|
args = sys.argv[4:]
|
||||||
|
|
||||||
return git_exe, repo_path, args
|
return git_exe, repo_path, output_path, args
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
git_exe, repo_path, args = parse()
|
git_exe, repo_path, output_path, args = parse()
|
||||||
|
|
||||||
if isCArgSupported(git_exe, repo_path):
|
if isCArgSupported(git_exe, repo_path):
|
||||||
simple_git_execution([git_exe, "-C", repo_path] + args)
|
simple_git_execution([git_exe, "-C", repo_path] + args, output_path=output_path)
|
||||||
else:
|
else:
|
||||||
gittip_dir = os.getcwd()
|
out_abs_path = os.path.abspath(output_path)
|
||||||
os.chdir(repo_path)
|
os.chdir(repo_path)
|
||||||
simple_git_execution([git_exe] + args, gittip_dir)
|
simple_git_execution([git_exe] + args, out_abs_path)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
if get_option('enable_tests')
|
if get_option('enable_tests')
|
||||||
test_conf_data = configuration_data()
|
test_conf_data = configuration_data()
|
||||||
test_conf_data.set_quoted('RIZIN_BUILD_PATH', rizin_exe.full_path())
|
if cli_enabled
|
||||||
|
test_conf_data.set_quoted('RIZIN_BUILD_PATH', rizin_exe.full_path())
|
||||||
|
else
|
||||||
|
test_conf_data.set_quoted('RIZIN_BUILD_PATH', meson.current_build_dir())
|
||||||
|
endif
|
||||||
test_conf_data.set_quoted('TEST_BUILD_TYPES_DIR', fs.as_posix(types_build_dir))
|
test_conf_data.set_quoted('TEST_BUILD_TYPES_DIR', fs.as_posix(types_build_dir))
|
||||||
test_config_h = configure_file(
|
test_config_h = configure_file(
|
||||||
input: 'test_config.h.in',
|
input: 'test_config.h.in',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue