Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rizin as subproject dist #4684

Merged
merged 2 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions librz/include/rz_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
#include <inttypes.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

// TODO: fix this to make it crosscompile-friendly: RZ_SYS_OSTYPE ?
/* operating system */
#undef __BSD__
Expand Down Expand Up @@ -729,4 +733,8 @@ static inline void *rz_asm_plugin_data_from_rz_analysis(RZ_NONNULL void /*<RzAna
return rasm->plugin_data;
}

#ifdef __cplusplus
}
#endif

#endif // RZ_TYPES_H
8 changes: 8 additions & 0 deletions librz/include/rz_util/rz_intervaltree.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
#include "rz_rbtree.h"
#include "../rz_types.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
* RzIntervalTree is a special RBTree (augmented red-black tree)
* that holds its entries, each associated with a interval,
Expand Down Expand Up @@ -100,4 +104,8 @@ static inline bool rz_interval_tree_empty(RzIntervalTree *tree) {
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)))

#ifdef __cplusplus
}
#endif

#endif // RZ_INTERVALTREE_H
22 changes: 11 additions & 11 deletions meson.build
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project('rizin', 'c',
version: 'v0.8.0',
license: 'LGPL3',
license: 'LGPL-3.0-only',
meson_version: '>=0.57.0',
default_options: [
'buildtype=debugoptimized',
Expand Down Expand Up @@ -91,14 +91,14 @@ if cc.has_argument('-Wenum-compare')
endif

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')
add_global_arguments('--std=c99', language: ['c', 'cpp'])
add_project_arguments('--std=c99', language: ['c', 'cpp'])
endif

# Sanitize correct usage of rz_strf()
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

if cc.has_argument('-Wimplicit-fallthrough=3')
Expand All @@ -117,17 +117,17 @@ endif

if get_option('default_library') == 'shared'
if cc.has_argument('-fvisibility=hidden')
add_global_arguments('-fvisibility=hidden', language: 'c')
add_project_arguments('-fvisibility=hidden', language: 'c')
endif
endif

add_project_arguments(['-DRZ_PLUGIN_INCORE=1'], language: 'c')
b_sanitize_opt = get_option('b_sanitize')
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_global_link_arguments('-shared-libasan', language: 'c')
add_global_arguments('-shared-libasan', language: 'c', native: true)
add_global_link_arguments('-shared-libasan', language: 'c', native: true)
add_project_arguments('-shared-libasan', language: 'c')
add_project_link_arguments('-shared-libasan', language: 'c')
add_project_arguments('-shared-libasan', language: 'c', native: true)
add_project_link_arguments('-shared-libasan', language: 'c', native: true)
endif

fs = import('fs')
Expand Down Expand Up @@ -366,7 +366,7 @@ foreach it : ccs
have_pthread = it_th.found() and it_machine.system() != 'windows'
if it_machine.system() == 'sunos'
# workaround for Solaris until https://github.com/mesonbuild/meson/issues/4328 is fixed
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the comment also then.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thestr4ng3r take a look at this one please

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't test unfortunately. Seems my solaris disk is not in the server and I have no physical access at the moment. But from manual review, this looks good and likely we can remove this workaround entirely in another patch independently of this pr.

it_mth = declare_dependency(link_args: '-lm', native: it_native)
it_mth = declare_dependency(link_args: '-lm')
else
it_mth = it_cc.find_library('m', required: false, static: is_static_build)
endif
Expand Down Expand Up @@ -569,7 +569,7 @@ if git_exe.found() and fs.exists('.git')
build_always_stale: true,
build_by_default: true,
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_dir: rizin_datdir_rz
)
Expand Down
2 changes: 1 addition & 1 deletion subprojects/nettle/meson.build
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
project('nettle', 'c',
license: [ 'LGPL'],
license: 'LGPL',
version: '3.7.3'
)
# https://git.lysator.liu.se/nettle/nettle
Expand Down
9 changes: 8 additions & 1 deletion subprojects/packagefiles/blake3/meson.build
Original file line number Diff line number Diff line change
@@ -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')

Expand Down
13 changes: 12 additions & 1 deletion subprojects/packagefiles/capstone-4.0.2/meson.build
Original file line number Diff line number Diff line change
@@ -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 = [
'arch/AArch64/AArch64BaseInfo.c',
Expand Down
13 changes: 12 additions & 1 deletion subprojects/packagefiles/capstone-5.0.1/meson.build
Original file line number Diff line number Diff line change
@@ -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 = [
'arch/AArch64/AArch64BaseInfo.c',
Expand Down
13 changes: 12 additions & 1 deletion subprojects/packagefiles/capstone-6.0.0-alpha1/meson.build
Original file line number Diff line number Diff line change
@@ -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 = [
'arch/Alpha/AlphaDisassembler.c',
Expand Down
13 changes: 12 additions & 1 deletion subprojects/packagefiles/capstone-next/meson.build
Original file line number Diff line number Diff line change
@@ -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 = [
'arch/Alpha/AlphaDisassembler.c',
Expand Down
10 changes: 9 additions & 1 deletion subprojects/packagefiles/libmspack/meson.build
Original file line number Diff line number Diff line change
@@ -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')

if cc.has_argument('--std=c99')
add_project_arguments('--std=c99', language: ['c'])
endif

# handle libmspack dependency
libmspack_files = [
'libmspack' / 'mspack' / 'cabc.c',
Expand Down
11 changes: 10 additions & 1 deletion subprojects/packagefiles/libzip-1.9.2/meson.build
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
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()
cc = meson.get_compiler('c')
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
conf_data = configuration_data()
zlib_dep = dependency('zlib', required: get_option('use_sys_zlib'), static: is_static_build)
Expand Down
11 changes: 9 additions & 2 deletions subprojects/packagefiles/lz4-1.9.4/meson.build
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
project('lz4', ['c'],
license: ['BSD', 'GPLv2'],
license: 'BSD-2-Clause-Patent AND GPL-2.0-or-later',
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 = [
'lib/lz4.c',
Expand Down
4 changes: 4 additions & 0 deletions subprojects/packagefiles/pcre2/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ project('pcre2', 'c', version: '10.44')

cc = meson.get_compiler('c')

if cc.has_argument('--std=c99')
add_project_arguments('--std=c99', language: ['c'])
endif

conf_data = configuration_data()

pcre2_chartables = configure_file(input : 'src/pcre2_chartables.c.dist',
Expand Down
14 changes: 13 additions & 1 deletion subprojects/packagefiles/rizin-grammar-c/meson.build
Original file line number Diff line number Diff line change
@@ -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 = [
'src/parser.c'
Expand Down
11 changes: 10 additions & 1 deletion subprojects/packagefiles/tree-sitter-0.21.0/meson.build
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
project('tree-sitter', 'c')
project('tree-sitter', 'c',
license: 'MIT',
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

tree_sitter_path = 'tree-sitter'

tree_sitter_files = ['lib/src/lib.c']
Expand Down
12 changes: 10 additions & 2 deletions subprojects/packagefiles/xz-5.2.9/meson.build
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# liblzma is what upstream uses for their pkg-config name
project('liblzma', 'c',
version : '5.2.9',
license : 'pd/lgpl2/gpl2/gpl3',)
version : '5.4.3',
license : ['PD', 'LGPL2', 'GPL2', 'GPL3'],
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

lzma_cflags = ['-DHAVE_CONFIG_H', '-DTUKLIB_SYMBOL_PREFIX=lzma_', '-DLZMA_API_STATIC']

cdata = configuration_data()
Expand Down
10 changes: 9 additions & 1 deletion subprojects/packagefiles/zlib-1.3.1/meson.build
Original file line number Diff line number Diff line change
@@ -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')

if cc.has_argument('--std=c99')
add_project_arguments('--std=c99', language: ['c'])
endif

link_args = []
compile_args = []
if cc.get_argument_syntax() == 'msvc'
Expand Down
9 changes: 8 additions & 1 deletion subprojects/rizin-shell-parser/meson.build
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
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')
grammar_js = files('grammar.js')
tree_sitter_wrap_py = files('meson_tree_sitter_generate.py')
Expand Down
11 changes: 10 additions & 1 deletion subprojects/rzar/meson.build
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
project('rzar', 'c',
license : [ 'LGPL']
license: 'LGPL-3.0-only',
meson_version: '>=0.55.0',
)

# handle ar dependency
ar_files = [
'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')
ar_inc = [include_directories(['.'])]

Expand Down
7 changes: 7 additions & 0 deletions subprojects/rzgdb/meson.build
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
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 = [
'src/arch.c',
Expand Down
Loading
Loading