Commit Graph

46 Commits

Author SHA1 Message Date
Richard Patel
e319a7a71e add libFuzzer integration, r_run_parseline test ##fuzz 2022-08-21 22:35:28 +02:00
pancake
13f437ed5a Use true instead of 'true' in meson_options 2022-05-30 16:22:38 +02:00
pancake
50bf4d5918
Simplify meson logic and use ole's PR to fix Windows ##build
* Kudos to @oleavr for reproducing, spotting and fixing the bug!
* Context https://github.com/mesonbuild/meson/pull/9918
2022-01-31 23:54:00 +01:00
pancake
4c9fac84a0
Generate bin/d the same way as other sdb paths with meson ##build
* Add -Dwasan=true for meson to compile with msvc's address sanitizer
* Clear the prefix dir before installing, so we ensure it's more realistic
2021-11-14 00:57:35 +01:00
pancake
06a1270df7
Add meson support for the anal.arm.v35 plugin ##build 2021-08-18 03:35:01 +02:00
pancake
f766597b9c More fixes 2021-08-17 01:09:03 +00:00
pancake
bd888a2edf Fix more vs warnings 2021-08-17 00:35:52 +00:00
pancake
2e417ee938
Initial support for capstone-less compilations ##build 2021-06-21 17:48:00 +02:00
pancake
b545c72017
Better handling of HAVE_SYSTEM, PTY, FORK, DYLINK and THREADS ##build 2021-06-10 13:52:29 +02:00
pancake
46ec83c5a0
Add use_cgen meson option ##build (#18766) 2021-05-27 23:56:28 +02:00
pancake
2434c3ca74
Switch to Capstone5 as default ##asm (#18127)
* Add riscv for capstone5 in the meson
* Report capstone version in the asm plugins
* Many changes in the ppc analysis, seems like it's improved, (emulation quality and xrefs)
* Update all tests and report issues in capstone4 to upstream
* Fix-x86-16 test marked as broken as it needs better fix
2021-04-24 22:04:51 +02:00
pancake
cbc949c039 Remove tree-sitter and the r2-shell-parser ##shell
* Will be reimplemented soon with a new parser
* Simplifies and speedup the build
2021-04-24 21:58:09 +02:00
pancake
f98bdc775f
Add dbg.wrap for changing want_ptrace at runtime ##debug (#18607) 2021-04-21 12:07:01 +02:00
pancake
3bfa6b10cf Add the nogpl meson option ##build 2021-03-19 17:41:01 +01:00
pancake
ab48f55cc4
Add missing use_fork and use_dylink to meson ##build (#18398) 2021-03-01 20:20:24 +01:00
pancake
9e00eeda5c
Add meson -Dplugins=a,b,c to build only the specified plugins ##build (#18372)
Co-authored-by: pancake <pancake@nopcode.org>
2021-02-20 14:45:20 +01:00
pancake
70f51531d0
Add use_ssl meson option to be in sync with acr behaviour ##build (#18358) 2021-02-13 04:10:24 +01:00
Keegan Saunders
0939e57001
Support statically linking system OpenSSL ##build (#18296)
For projects that use radare2 as a subproject, allow OpenSSL to be
compiled statically into radare2 so the linker does not attempt to link
a dynamic library during static linking.

Co-authored-by: Keegan Saunders <meme@users.noreply.github.com>
2021-01-26 17:51:50 +01:00
Ole André Vadla Ravnås
8681963bce
Add Meson option to specify whether CLI tools should be built (#17625) ##build 2020-09-10 14:55:06 +02:00
Riccardo Schirone
3e3efcc005 Test compilation with various capstone versions ##build
Do not use #include <capstone/..>

This ensures compatibility with both capstone v3 and capstone as
installed on most distributions, where the pkg-config file of capstone
already adds -I/usr/include/capstone (with that dir directly containing
the headers).
2020-09-09 15:39:33 +02:00
Riccardo Schirone
d6c9bd4542
Add support for binr/blob and fix android build ##meson ##build (#17150)
* Make sure meson can build with `system` = `android`.

* Add support for binr/blob in meson build

* Add also r_util as dependency

* Create sdb_version.py to get the SDBVER value from config.mk

* Set unknown sdb version if something fails
2020-07-05 10:53:37 +08:00
Riccardo Schirone
58e5aa0887
Enable unit tests compilation by default in meson (#16990)
Including Fixes for Windows
2020-06-04 12:14:15 +02:00
Eli Schwartz
03bc3c59b5
Add an option to build with system tree-sitter (#16679)
As of https://github.com/tree-sitter/tree-sitter/pull/602 it is possible
to install tree-sitter as a system shared library, and distributions that want to
be able to disable vendored code.
2020-04-23 13:54:52 +08:00
Riccardo Schirone
06ab29b93c
Compile new shell parser by default (#16660)
* Move radare2-shell-parser/tree-sitter into shlr
* compile new shell parser by default, available with cfg.newshell variable
* Add README for radare2-shell-parser
* Improve CI
* Add gitattributes file
2020-04-21 13:44:30 +02:00
Florian Märkl
79fcf4fbff
Initial Implementation of R2R in C (#16216) ##test 2020-03-24 20:18:16 +01:00
Florian Märkl
d1e2b8fda4
Add Unit Tests to Meson (#15926) ##test 2020-02-05 09:55:30 +01:00
Riccardo Schirone
46e0a8d169
Do not compile radare2-shell-parser by default (#15769)
Last release (4.1.0) did compile it by default, but the build requires
internet access to download the repositories. For now, since the feature
is anyway very experimental, we disable it at compile time so that
distributions can just compile their packages without internet access.
In the future we may want to use submodules or augment the release
tarball to include the tree-sitter and radare2-shell-parser archives.
2020-01-07 13:37:04 +01:00
Riccardo Schirone
4ebd400fa7
Very simple tree sitter integration (#15414) ##command
* tree-sitter-integration: support tmp-seek, arged, and interpret commands
* Make meson automatically download tree-sitter and radare2-shell-parser grammar
* Add tree-sitter/radare2-shell-parser directories in gitignore
* Add Support for tree-sitter in acr/makefile
* Just use one script to download 3rd party repositories in shlr
* Use cfg.newshell
2019-11-06 10:33:23 +01:00
Khairul Azhar Kasmiran
18ef593b2e Set rpath if non-Windows Meson shared ##build (#15051) 2019-09-22 10:49:54 +02:00
radare
869b698c1c
Enable capstone5 at configure time option ##disasm
* Add --with-capstone5 configure flag
* Add use_capstone5 meson option
2019-05-07 12:47:27 +02:00
lzutao
f18838fff5 Improve the meson scripts ##build
* meson: Update to 0.47

Use a fallback version when sys/version.py failed.

* meson: Remove redundant calls to get_option

No need to join prefix with other project directories.

* meson: Check for explicit_memset

* meson: Use install_man to install manpages

Also, let install zsh completion files.

* meson: Install shlr/www only if use_webui built option is true

* Add use_webui build option

Rationale: Debian doesn't install shlr/www by default, give them an option
to enable/disable its installation.

* meson: Ensure python3 and no hard-code version

* meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path

* meson: WWWROOT be absolute path
2018-12-06 15:17:25 +01:00
Riccardo Schirone
752f37db4c Fixes for the --without-debugger compilations ##build
* io_ptrace: do not include io_ptrace if DEBUGGER is not defined
* meson: add `debugger` option to not use any debugger
2018-11-27 15:46:35 +01:00
Riccardo Schirone
6080edf13b
Fix r_log when used for r_assert (#11971)
- Split r_log in r_vlog/r_log and make r_assert_log use r_vlog because it
needs to provide a va_list.
- Rename _r_internal_logging to r_log because that's a R_API function
and it needs a good name
- Make R2_CHECKS_LEVEL dependent on 'buildtype' option
- Make R_LOGLVL_WARN the default log level when in debug mode (default)
- introduce ASSERT_STDOUT macro to print assert failures to stdout
- use ASSERT_STDOUT in the Travis env with asan
- use list of callbacks in RLog instead of just one.
2018-10-29 11:48:12 +01:00
Florian Märkl
c05c85aa9f Reimplement TCP Server with libuv and add configure/meson flags (#11403) 2018-09-17 12:07:00 +02:00
Riccardo Schirone
ab4dbd509f r_assert: create functions to handle preconditions (#11286) 2018-09-16 23:24:57 +02:00
Riccardo Schirone
4b2e1359ab
shlr/meson: use source path to store capstone directory (#10993)
* shlr/meson: use an option to chose whether to use builddir or not
2018-08-10 10:31:17 +02:00
Riccardo Schirone
54176f1bbc
Openssl meson (#10909)
* meson: allow to build with openssl
* use MD4 from openssl
* meson: use MD5 from openssl too
* meson: use SHA* functions from ssl library
* libr/hash: fix makefile when using openssl
2018-08-10 10:17:48 +02:00
Riccardo Schirone
1b129f4862 Make xxhash dependency optional in acr and meson (#10901) 2018-08-06 15:18:50 +02:00
Riccardo Schirone
c932d1abff
meson fixes (#10743)
* r2pm/meson.build: install r2pm
* meson.build: use system libraries when available
* travis: add fedora-sys to the list of things to test
* bin_nso.c: still include lz4.c when not on meson
* Dockerfile.travis: add required system dependencies to dockerfile
* meson.build: split zip_dep in libzip and zlib dependencies
* shlr/meson.build: zip needs zlib
2018-07-17 23:01:40 +02:00
Riccardo Schirone
7572f315ea
meson improvements (#10617)
* meson.build: fix meson build when not on git
* meson.build: make capstone a dependency
* meson.build: make r_magic library optional
* meson.build: capstone include is already in the dependency
* meson.build: use dependencies instead of manual linking + includes
* meson.build: add travis
* flag/meson.build: include sdb dependency
* travis-script: print messages based on install system
* io/meson.build: add sdb as dependency
* syscall/meson.build: missing sdb dependency
* {parse,config}/meson.build: add sdb dependency
* travis.yml: pass INSTALL_SYSTEM var to docker
* {bin/shlr}/meson.build: add sdb_dep to r2java and bin
* install meson and ninja-build in r2-travis docker
* travis.yml: allow meson build to fail for now
* anal/meson.build: add sdb and java dependencies
* egg/meson.build: add sdb dependency
* travis.yml: meson build env should be also in the includes list
* core/meson.build: add java dep
* meson.build: use dependencies also to create main r2 dependency
* rasm2/meson.build: replace link_with with dependencies
* rasm2/meson.build: add sdb as dependency
* meson.builds: convert link_with to dependencies and fix tabs
* travis-script: change meson install prefix and set PKG_CONFIG_PATH
* travis-script: add lib64 to LD_LIBRARY_PATH
2018-07-09 16:58:38 +02:00
Paul I
cad927a591 Meson: add rule for tags.r2 (#10215) 2018-05-28 23:25:48 +02:00
Jörg Thalheim
9656ba12aa meson: make git executable optional (#10092)
This is useful for reproducible offline builds
2018-05-16 08:32:26 +02:00
Paul I
cc90ec6be5 [WIP] Move hardcoded paths to r_userconf.h (#9959)
* Move hardcoded paths to r_userconf.h

* Add R2_HOME_* macros

* Some cleanup
2018-04-28 10:02:55 +02:00
Paul I
4f7687287f Meson: Some little fixes (#9783)
* fix shlr libraries names
* fix missing headers for Windows dist
* fix missing format files for Windows dist
* add <static_runtime> option
* add argument with list of additional meson options for sys/meson.py
2018-03-30 23:35:12 +02:00
Paul I
2782a1890e Some sys/meson.py cleanup (#9258) 2018-01-28 18:16:38 +01:00
pancake
8307a31249 Add dummy meson_options.txt 2017-05-09 23:54:02 +02:00