Commit graph

255 commits

Author SHA1 Message Date
Riccardo Schirone
db04bed503
Fix autocompletion of rz- commands in rizin shell and rename wrong rz_ (#944) 2021-03-31 16:10:54 +02:00
Riccardo Schirone
f4304f17f4
Update rizin-shell-parser to tree-sitter 0.19.4 (#928) 2021-03-29 19:14:16 +02:00
Khairul Azhar Kasmiran
7a4f9b3201
Set CI buildtypes to highest opt level possible and set default buildtype to debugoptimized (#260)
* Set default meson buildtype to debugoptimized
* Add separate Codecov build and remove linux-meson-gcc-build build
* Set test buildtypes to highest optimization level possible
* Run Codecov build only on dev branch
2021-03-10 18:00:56 +08:00
Riccardo Schirone
c16e420911 Rename esil.7 to rz-esil.7 to avoid collisions with r2 2021-03-08 09:52:06 +01:00
Riccardo Schirone
084ea0a424 build: improve documentation for static building 2021-03-03 09:57:10 +01:00
Riccardo Schirone
53b4537160 Introduce portable build option to use relative paths
`portable` makes rizin use paths relative to the executable binary path,
so that all resource files (e.g. SDB files) can be retrieved without
having an hard-coded prefix in the binary. By doing so, rizin
installation directory can be moved from location to location and still
work. This is useful when having a static rizin that you want to execute
on another system.

It makes sure that all PATHs defined in rz_userconf.h are just relative
to the prefix and that, in the code, the prefix is prepended to all
these paths.
2021-02-25 19:41:38 +08:00
Riccardo Schirone
1ea1d265b6 Move libuv to meson subproject wrap
* disable werror on libuv, it would fail otherwise
* ci.yml: use --werror instead of changing CFLAGS
* keep libuv optional but used by default
2021-02-12 11:08:51 +08:00
Riccardo Schirone
fe05c9710a Move xxhash to meson subproject wrap 2021-02-12 11:08:51 +08:00
Riccardo Schirone
9349b2f3ed Move libzip to meson subproject wrap
* optionally depend on lzma, bzip2 and openssl for additional zip support
* add use_sys_libzip_openssl meson option to choose if openssl should be
  used in libzip or not
* avoid optional dependencies on windows to avoid troubles
2021-02-12 11:08:51 +08:00
Riccardo Schirone
95d4564434 Move zlib to meson subproject wrap 2021-02-12 11:08:51 +08:00
Riccardo Schirone
43e4269d34 Make use_sys_* meson option features instead of boolean
* Use the features directly as argument of `dependency`.
* Remove doc/capstone.md doc file because already in PACKAGERS.md
2021-02-12 11:08:51 +08:00
Riccardo Schirone
f8291ee3c1
Switch to meson subprojects and wraps
* Remove tree-sitter/sdb git submodules and move them to meson subprojects/wraps
* Use meson subprojects/wraps to get capstone
* Remove capstone patches as they are already applied to rizinorg/capstone repository
* Use meson from master branch to create the release tarball, as all released versions so far have a bug that prevent wrap-git to be patched correctly when creating the tarball with meson dist
* Add check_meson_subproject script to do a quick check if the currently downloaded subprojects are updated
* Add subprojects_check meson option to skip the check_meson_subproject script
* Update documentation to remove references to git submodules.
2021-02-03 14:31:11 +01:00
Florian Märkl
e76c435565
Add rz_strf() Macro (#506) 2021-02-02 19:17:44 +01:00
Riccardo Schirone
7ec33c3cb4
Rename .acr to .in and remove RZ_MESON_VERSION (#499) 2021-02-01 13:33:23 +00:00
Riccardo Schirone
11ed71244c
Search for static dependencies/libraries when static_runtime is set (#473)
Do not search for static windows-specific libraries, they will be
handled by /MT.
2021-01-29 16:54:18 +08:00
Riccardo Schirone
f1f11349a1 Use 'v' prefix for version 2021-01-28 11:57:28 +01:00
Riccardo Schirone
4198091991 Remove configure.acr and use meson project version 2021-01-28 11:57:28 +01:00
Riccardo Schirone
301e5af217 Remove RZ_GITTAP 2021-01-28 11:57:28 +01:00
Riccardo Schirone
cee8d470c2 Remove Makefiles and many related scripts 2021-01-28 11:57:28 +01:00
Riccardo Schirone
018c0eaa53
Change how version is reported in -v command flag 2021-01-27 16:42:47 +08:00
Paul I
0d3cd2ff56
Update sdb submodule (#446)
* Update sdb submodule

* Update makefile
2021-01-24 21:30:07 +08:00
GustavoLCR
03d97f1e83
Meson: Escape paths on Windows (#444) 2021-01-24 00:37:24 +01:00
Riccardo Schirone
1d9ffc916f
Fix rpath on MacOS, broken by moving binaries for signing (#411) 2021-01-21 09:13:41 +01:00
Khairul Azhar Kasmiran
ca2471ae95
Update sdb submodule to latest (#349)
* Update sdb submodule to 82434290dbb535671354cdc3f96ee3e1a380587f

* Try to remove SDB_API definition

Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2021-01-13 19:11:29 +08:00
Riccardo Schirone
6f41360178
MacOS improvements (#322)
* Ad-hoc sign rizin binary with debugger entitlements on MacOS
* Use re.rizin.rizin and move OSX pkg files in dist/osx
* Use dist/osx/build_osx_package.sh to create OSX pkg with meson
* Mention how to create OSX pkg in doc/PACKAGERS.md
* Remove doc/macos.md
2021-01-11 14:45:38 +01:00
Anton Kochkov
f53c0e194e Set gnu99/c99 for ACR builds too 2021-01-06 21:19:18 +08:00
Michael Scherer
80efabdf92 Add -std=c99, for older gcc ##build
While modern compilers seems to default to c99, GCC 4.8,
the version on RHEL 7 don't, despites supporting C99.
2021-01-06 21:19:18 +08:00
Anton Kochkov
e9d91af698 More Rizin renames 2021-01-05 05:21:41 -06:00
Khairul Azhar Kasmiran
ab9605acb5
Use /MT for VS2019 build (#300)
* Do not use MTd, just MT

Co-authored-by: Riccardo Schirone <ret2libc@users.noreply.github.com>
2021-01-05 17:36:12 +08:00
Riccardo Schirone
7316b71619 Simplify io_default with RzBuffer 2021-01-03 11:42:38 +01:00
Riccardo Schirone
a7fd3fa3c6 Use mu_main to reduce boilerplate in unit tests
* Disable colors on Windows because terminal looks bad otherwise
* Use environment on Windows to set PATH and make sure unit tests use
  the compiled libraries and not the installed ones
* Define ssize_t on Windows as well by using SSIZE_T

Update test_analysis_block.c

Update test_intervaltree.c

Update test_unum.c
2021-01-03 11:42:38 +01:00
yossizap
53e96239a6
Disable clang-cl -fno-common (#227)
Co-authored-by: yossizap <yossizap@users.noreply.github.com>
2020-12-20 14:42:22 +08:00
Riccardo Schirone
a0e8808994
Use async-signal-safe functions after fork in multithread program (#207)
* Do not use setenv after fork, it's not async-signal-safe
* Do not use mutexes after fork

If pipe2 is not available on a system, we try to simulate the atomic
setting of O_CLOEXEC in different ways (depending on whether O_CLOEXEC
is at least available or not). However this involves using mutexes. When
forking, only the calling thread is forked, so it is important to lock
the mutex before the fork. However, in the child between the fork and
the exec* it is recommended to use only async-signal-safe functions. mutex
operations are not async-signal-safe, so we just keep track of whether we are
in the child or not and avoid using the mutex as necessary.

* Replace pthread_atfork with rz_sys_fork
2020-12-18 19:32:06 +01:00
Riccardo Schirone
564e64be3e
Improve meson information, structure and move fortunes (#213)
* Simplify a bit meson.build
* Use meson summary and move fortunes install dir
* Use 0.55.0 meson version
* Use /CURRENTUSER to select local installation
2020-12-18 11:28:19 +01:00
Riccardo Schirone
a20dd5a338
Check if submodules are downloaded and warn user if they are not (#184) 2020-12-17 23:13:43 +01:00
Riccardo Schirone
286f930b93 Use O_CLOEXEC when creating pipes so they are closed on exec
By default, pipes file descriptors are not closed on exec. This means
they are inherited by the child process. However, this may be a problem
in particular in multi-threading programs (e.g. rz-test), because EOF is
not sent to a pipe until the last pipe file descriptor is closed.

This commit makes sure that by default pipes are created with O_CLOEXEC,
so they are closed whenever an exec syscall is executed. Usually pipe
file descriptors are duplicated to be stdin/stdout/stderr of the
children process and those dupped file descriptors won't be closed on
exec.

In case pipe2 is not available (e.g. MacOS), we do a pipe + fcntl, which
is in theory racy (see man open(2)). For this reason pipe, exec, system,
etc. are wrapped in rz_sys and they use a global mutex to make sure a
pipe is either created and set as O_CLOEXEC or not created at all before
an exec operation is done.

On very old systems, O_CLOEXEC may not be available at all. In those
cases, which should be rare, we just keep a list of file descriptors
created with rz_sys_pipe that we need to close before executing another
process.

Interaction with external libs may be tricky. We expect external libs to
create files/pipes that need to be closed on exec with the right flags
and we expect rizin code to manually close pipes file descriptors as
appropriate if the exec syscall is executed by an external library
(non-rizin code).

Make sure execl is found by acr/make
2020-12-15 10:18:50 +01:00
Riccardo Schirone
bbccf28ee0
Use RPATH when the prefix is not the standard /usr (#164)
This is to make it easier for people to install rizin without dealing
with LD_LIBRARY_PATH, while at the same time avoiding RPATH when things
are installed in the system-wide path (for most systems, at least). In
any case, people can disable this behaviour by using `-Dlocal=disabled`.
2020-12-11 00:07:39 +08:00
Riccardo Schirone
85ce44b435 Ignore unresolved symbols in object files on FreeBSD
On some platforms (e.g. FreeBSD) by default -Wl,--no-undefined is passed
to the compiler, thus when generating the util library there is an
error, because `environ` is defined only in an executable. Let's
automatically add a linker option to ignore those errors on FreeBSD.
2020-12-09 18:37:30 +01:00
Riccardo Schirone
f5bfadf181
Use meson in FreeBSD/OpenBSD CI (#138)
* Use meson in FreeBSD/OpenBSD CI
2020-12-09 08:58:05 +08:00
Anton Kochkov
041d73dce3
Change the "anal" abbreviation to "Analysis" in Code (#117) 2020-12-06 19:25:27 +01:00
Giovanni
35a9ef94c9
Code and comments cleanup (#108) 2020-12-04 18:11:51 +08:00
Riccardo Schirone
7912502149
Fix compilation when python is run through meson runpython (#111)
Multiline scripts had issues on my windows system while building
from `cmd`. I removed some "pre_sdb" scripts used to read symlinks
because there are only two and it's probably easier to just avoid
symlinks for better portability.

Also moved a bunch of inlined script to separate files in sys/.
2020-12-01 09:17:24 +01:00
Riccardo Schirone
9ce5003ca6
Create RzCmdDesc generator from YAML file ##newshell
* Create RzCmdDesc generator from YAML file

The commands tree can be entirely described in a YAML file, that is
parsed at build-time and generates cmd_descs.c/cmd_descs.h files. The
developer then just needs to provide the handler with the proper name to
make sure things work.

* Add PyYAML to CI jobs
2020-11-16 09:36:51 +01:00
Riccardo Schirone
22239a1bfc
Delete some unneded documentation (#59)
* Adjust doxygen documentation on rz_cmd
2020-10-30 16:06:38 +01:00
Riccardo Schirone
cb09988b9d
Rewrite some documentation (#49) 2020-10-26 17:12:19 +01:00
Florian Märkl
4e18226c8d
Add new Projects Implementation (#12) 2020-10-26 15:17:33 +01:00
Riccardo Schirone
7ceebc725e Mass renaming r2 to rz/rizin 2020-10-13 12:43:34 +02:00
Riccardo Schirone
502e91aff7
Rename R_ and R2_ to RZ_ (#8)
* Rename R2_ -> RZ_
* Rename R_ -> RZ_
* Rename R2R_ -> RZ_TEST_
* Rename R2R defines and types to RZ_TEST/RzTest
* Keep R_ for REIL registers
2020-10-02 16:09:13 +02:00
Anton Kochkov
881058693d
Remove GRUB and librz_fs plugins (#9) 2020-10-02 21:02:00 +08:00
Riccardo Schirone
338e6fe172 Other renames in man and small places
Remove rz link, just keep rizin

Remove r2 link from acr

Fix http test on macos
2020-10-01 17:53:29 +02:00
Riccardo Schirone
721609a17b
Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
Damien Zammit
56fb85bff4
Revert "r2sdb: Install executable" (#17724)
This partially reverts commit 2a0d8fbe59
Fix meson warnings.
2020-09-29 11:22:43 +02:00
Damien Zammit
2a0d8fbe59
Install r2sdb, detect R2_HOME_SDB_FCNSIGN for r2extras custom CC ##build
* cc: Add autodetection for R2_HOME_SDB_FCNSIGN new location of custom calling conventions
* Fix r_file_exists not expanding tilde path
* r2sdb: Install executable
2020-09-24 12:26:53 +02:00
Florian Märkl
ed00e85e65
Use sdb == for generating dbs in meson (#17676) 2020-09-21 15:11:46 +02:00
Khairul Azhar Kasmiran
d9057505dc
Set RPATH/RUNPATH on r2 libs too if local (#17639) 2020-09-15 09:16:14 +02: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
Zi Fan
0ba897f5c9
Add network support for WinDbg/KD (KDNET) ##debug (#17340)
* Add network support for WinDbg/KD (KDNET) ##debug
* Add iob_net io_backend plugin for shlr/winkd
* Add Windows 10 (May 2019 Update) build 18362 profile
* Add r_hash_do_hmac_sha256 function to r_hash
* Change r_socket_connect to bind source port for UDP connection
2020-08-26 10:24:20 +08:00
Khairul Azhar Kasmiran
fb1190d248
meson install: Create shortcut/symlink to radare2 (#17463) 2020-08-18 18:22:17 +08:00
Riccardo Schirone
48c30dfd99
Support compilation with meson on old systems like CentOS6/DebianWheezy ##build (#17345)
* Compile tree-sitter and newshell parser with gnu99 if possible ##meson
* Make sure to use `-lrt` when needed to use clock_gettime ##meson
2020-07-27 12:25:06 +08:00
Riccardo Schirone
2d160f2509
Avoid sdb double headers (#17249) ##build
* Avoid duplication of SDB headers in libr/include

SDB is an external project and as such it should live in shlr. However,
for simplicity in dealing with the include flags, the SDB headers were
copied in libr/include as well. This patch just keeps the SDB files
confined in shlr/sdb and make sure various r_* libs use the headers from
there.

* Fix pkgconfig file generation
2020-07-21 10:28:43 +02:00
Riccardo Schirone
594b940b7c
Fixes some of the issues in Travis (#17267)
* Do not check with r_return_ if the convention is present

Let's just assume the NULL default in such a case, so that architectures
for which we don't have a defined calling convention can still be
processed somehow by the analysis code. It won't be precise, but it's
better than nothing.

Also add a warning message so users are aware when the calling
convention is not defined.

* Fix oob-read when # is at the end of the cmd string

* Do not set TMPDIR when the new value is the empty string

When TMPDIR is set to empty value, clang+ld behaves in weird ways and
you cannot compile files from within the r2 shell (e.g. when using #!c
or #!cpipe)

* Use meson and add -lasan to pkgconfig files when sanitizer are used
2020-07-16 20:47:30 +08: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
pancake
27a625065a
Fix #16781 - Add --without-dylink configure flag to disable libdl features ##build (#17173)
* Add `--without-dylink` configure flag to disable "libdl" features
* Add "WANT_DYLINK" option in Meson buildsystem

Co-authored-by: pancake <pancake@nopcode.org>
2020-07-02 11:58:12 +08:00
GustavoLCR
77cc18ba04
Fix R2_INCDIR on Windows (#16940) 2020-06-12 17:12:48 +08:00
GustavoLCR
04edfa82c1
Fix command injection on PDB download (#16966)
* Fix r_sys_mkdirp with absolute path on Windows
* Fix build with --with-openssl
* Use RBuffer in r_socket_http_answer()
* r_socket_http_answer: Fix read for big responses
* Implement r_str_escape_sh()
* Cleanup r_socket_connect() on Windows
* Fix socket being created without a protocol
* Fix socket connect with SSL ##socket
* Use select() in r_socket_ready()
* Fix read failing if received only protocol answer
* Fix double-free
* r_socket_http_get: Fail if req. SSL with no support
* Follow redirects in r_socket_http_answer()
* Fix r_socket_http_get result length with R2_CURL=1
* Also follow redirects
* Avoid using curl for downloading PDBs
* Use r_socket_http_get() on UNIXs
* Use WinINet API on Windows for r_socket_http_get()
* Fix command injection
* Fix r_sys_cmd_str_full output for binary data
* Validate GUID on PDB download
* Pass depth to socket_http_get_recursive()
* Remove 'r_' and '__' from static function names
* Fix is_valid_guid
* Fix for comments
2020-06-10 18:00:00 +02:00
Khairul Azhar Kasmiran
3662290b45
meson: Build rasign2 (#16831) 2020-05-17 00:36:43 +08: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
radare
45eb0052b1
Upgrade to acr-1.8.1 to get semver support ##core (#15816)
Move all version defines into r_version.h and handle it from meson too

- R2_VERSION_MAJOR
- R2_VERSION_MINOR
- R2_VERSION_PATCH
- R2_VERSION_NUMBER
2020-01-17 12:18:05 +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
yossizap
e35f447a2a Added break to gdbserver vCont and refactored the code to use locks (#15433)
The previous gdbr implementation didn't allow interrupting background
tasks with &b since send_vcon wasn't properly configured with the cons
api. In addition to that, gdbserver doesn't support processing multiple
commands at the same time, resulting in undefined behavior once cons
were set up for vcont.
This commit adds the relevant cons api and solves the concurrency issues
by adding locks on all socket related logic.
2019-11-10 19:03:56 +01:00
GustavoLCR
2bad46e266 Fix build (#15422) 2019-11-06 16:25:43 +01:00
Paul I
0891c6966a Update meson.build (#15099) 2019-09-22 20:36:32 +08:00
Khairul Azhar Kasmiran
18ef593b2e Set rpath if non-Windows Meson shared ##build (#15051) 2019-09-22 10:49:54 +02:00
Paul I
64a6baf0a9 Use abs path for LIBDIR and INCLUDEDIR on Windows (#15096) 2019-09-22 10:42:49 +02:00
GustavoLCR
a6898965c0 Fix Win32 build patch from @sanguinawer (#14945) 2019-09-02 01:16:51 +02:00
Paul I
2556919857 Add clang-cl support (#14814) 2019-08-16 12:10:00 +08:00
Anton Kochkov
9677804b8e
Windows native debugger refactoring ##debug ##windows
* Windows native debugger refactoring

Massive win32 native debugging code refactoring
and corresponding fixes.

* Fix hang after killing process
2019-07-29 11:19:26 +08:00
radare
571a080ca7
s/CORELIB/R2_PLUGIN_INCORE/g (#14295) 2019-06-13 19:12:51 +02:00
lzutao
9c659fdd17 meson: Change completions installation directory (#13647) 2019-04-07 09:59:06 +02:00
radare
e04f31a313
Completely kill the msvc/ directory and the unix-specific includes workarounds 2019-03-19 17:34:02 +01:00
radare
82416b0212
Create libr_main and make all binaries use it ##core
* Cleanup the use of getopt with our wrapper
2019-03-08 14:22:59 +01:00
Florian Märkl
30e74481f7 Meson: Add r_debug_dep to libr2_dep (#13088) 2019-02-13 23:09:17 +01:00
Riccardo Schirone
73edc4af04 OS X does not seem to accept X.Y.Z-git as lib version (#13043)
acr+make does work because it does not set any lib version on darwin. This patch
will adjust the version to use for libraries when radare2 is installed through
meson.
2019-02-10 23:36:08 +01:00
Florian Märkl
6a10d9d6f7 Fix #12834 - Set minimum version for libuv to 1.0.0 ##build 2019-01-20 00:06:34 +01:00
Riccardo Schirone
7185d6ca0a Set gittap even in release tarball ##build 2019-01-10 10:34:33 +01:00
lzutao
9cc6d2d291 meson: Do not use glob with meson ##build
* meson: Explicit is better than implicit
* meson: Fix deprecated warnings in Meson 0.49.0
* meson: Do not need separate array for installed files

libr/socket/meson.build:30: DEPRECATION: Library r_socket was passed to
the "libraries" keyword argument of a previous call to generate() method
instead of first positional argument. Adding r_socket to "Requires" field,
but this is a deprecated behaviour that will change in a future version
of Meson. Please report the issue if this warning cannot be avoided in
your case.
2018-12-27 14:17:54 +01: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
pancake
32a5afee6b Fix the meson build. 2018-11-29 10:48:00 +01:00
Paul I
ebcb175401 Update meson.build (#12342) 2018-11-27 22:48:46 +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
0c0fee7b48 ptrace-wrap (#11723)
* Add ptrace-wrap
* Add r_io_ptrace* and r_debug_ptrace()
* Use wrappers instead of calling ptrace and fork directly
* Sleep while waiting in linux_debug
* Add ptrace-wrap Makefile
* Link io against ptrace-wrap with acr
* Define ptrace usages in r_userconf.h
* Conditional ptrace-wrap in acr
* Fix HAVE_PTRACE
* Some fixes for Solaris
* Fixes for FreeBSD
* More fixes for Solaris
* Style Fix
2018-10-12 12:20:18 +02: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
eee1385466
Meson private (#11331)
* meson: refactor library cflags
* meson: use visibility=hidden by default
* remove unused var
* magic/meson: replace tabs with spaces
2018-09-03 10:07:28 +02:00
Paul I
0ba26fb3d6 Add R2_GLOBAL_RC (#11258) 2018-08-26 14:09:32 +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
201c360b10 meson: copy most of the stuff out of sdb dir (#10961)
we need to handle sdb meson.build file with subprojects. For now I'm
extracting most of its current content here, so that it will be easier
to update sdb later.
2018-08-07 12:12:19 +02:00
Riccardo Schirone
1b129f4862 Make xxhash dependency optional in acr and meson (#10901) 2018-08-06 15:18:50 +02:00
Riccardo Schirone
9a06b35277
meson.build: do not add "r_magic" as Require in pkgconfig if using sys 2018-07-18 15:50:02 +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
3e68187c36 Fix pathes for meson (#10536) 2018-06-30 10:08:22 +02:00
xarkes
c2cc0462b5
Removed deplicated file for meson (#10367) 2018-06-16 22:13:01 +02:00
Florian Märkl
737e7d33da Set HAVE_EXPLICIT_BZERO in meson (#10359) 2018-06-15 19:06:56 +02:00
David CARLIER
4d1d5adb0d Using randomisation wrapper (#10310)
* various tweaks, updating configure.acr script
* moving code to existing utils and modifying builds scripts
* use arc4random_buf when available
2018-06-11 02:50:30 +02:00
Paul I
cad927a591 Meson: add rule for tags.r2 (#10215) 2018-05-28 23:25:48 +02:00
Paul I
7e9f982849 Meson: some cleanup (#10076) 2018-05-16 10:24:35 +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
5180e0220f Add R2_PLUGINS, R2_EXTRAS, R2_BINDINGS macros (#9994) 2018-05-02 15:58:14 +02:00
Paul I
52aabd40ff Reduce r2 default subdirs paths for Windows (#9991)
R2_INCDIR: include\libr -> include
R2_WWWROOT': share\radare2\{R2_VERSION}\www -> share\www
R2_SDB': share\radare2\{R2_VERSION} -> share
R2_ZIGNS': share\radare2\{R2_VERSION}\zigns -> share\zigns
R2_THEMES': share\radare2\{R2_VERSION}\cons -> share\cons
R2_FORTUNES': share\doc\radare2 -> share\doc
R2_HUD': share\radare2\{R2_VERSION}\hud -> share\hud
2018-04-30 12:38:25 +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
6fa279ca1f Update Meson version to 0.46.0 (#9950) 2018-04-25 13:07:43 +02:00
Paul I
bfb54eafb8 Meson: add ADDR_NO_RANDOMIZE check (#9905) 2018-04-17 10:53:08 +02:00
Paul I
40b4a5b557 Meson: disable libversion info for Windows (#9858) 2018-04-10 22:44:54 +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
4e73ad7d19 Meson: some cleanup (#9753) 2018-03-23 07:47:46 +01:00
Florian Märkl
9074d2904a Make R2_LIBDIR, R2_INCDIR and R2_DATDIR absolute in meson (#9740) 2018-03-21 12:18:15 +01:00
Paul I
b282418ef7 Meson: use more built-in options (#9678) 2018-03-13 07:54:33 +01:00
Paul I
9c0d682e60 Meson: Invoke python via <python3> module + some little fixes (#9594)
* Meson: Invoke python via <python3> module

* Meson: Added version check

* Meson: Disable git output for capstone cloning command
2018-03-06 08:28:40 +01:00
Paul I
13f7013696 Meson: Added sdb building/installation rules (#9575) 2018-03-05 00:10:28 +01:00
Florian Märkl
95a1b75784 Install Headers and .pc Files with Meson (#9548)
Use meson pkgconfig for .pc files

meson 0.44

Install same headers as acr
2018-03-03 20:00:18 +08:00
Paul I
bb4f61580e Cleanup meson files (#9424) 2018-02-20 09:33:19 +01:00
Paul I
d66df132e7 mesonbuild: Using radare2 as subproject (#9317)
* meson: Using radare2 as subproject
* JUST TEST
2018-02-06 13:41:42 +01:00
xarkes
410ca09803
Added dynamic linking build for Appveyor (#8948)
* Revert "Enable GDB for Windows (#8877)"
Because it does not work while linking dynamically on windows
This reverts commit 12b9d8c3b4.
* Added dynamic linking build for Appveyor
* Try cleaning Windows linkage (meson)
2017-12-03 21:26:13 +01:00
xarkes
6cad3b5225 Some meson linux improvements 2017-12-02 12:56:31 +01:00
xarkes
c118091c42 Fix #8486 (meson missing bins) (#8519) 2017-09-15 10:17:50 +02:00
xarkes
57f2c6da27 Fixing meson build (#8178) 2017-08-10 17:04:13 +02:00
alvarofe
7264603877 Revert "Fix meson build"
This reverts commit 96f1e821a2.
2017-08-10 13:15:30 +02:00
xarkes
96f1e821a2 Fix meson build 2017-08-10 10:18:12 +02:00
xarkes
567b5837b0 Moving /MT modifier to release build (#8103) 2017-08-02 13:13:25 +02:00
xarkes
d4d07ee1ca Better meson build 2017-07-28 14:02:27 +02:00
xarkes
221b312046 Meson builds generates sdb files (+build clean) (#8035) 2017-07-26 23:15:41 +02:00
xarkes
f0fc5cbc25 Fixed meson r_version creation + reorder (#7909) 2017-07-14 13:13:18 +02:00
xarkes
927c484932 Reorganized meson version grabbing (#7828) 2017-06-29 17:35:40 +02:00
SkUaTeR
c31d81da26 support for static build (#7822)
* support for static build
* improved sharard/static build
2017-06-28 22:54:40 +02:00
xarkes
0452dea522 Better release handling 2017-06-23 18:30:29 +08:00
xarkes
ec6ac26e8b msvc compile with /MT to include redistributables into binaries 2017-06-23 11:40:30 +08:00
Lowly Worm
af4dda8721 rm whitespace in meson build file 2017-06-17 16:29:42 -07:00
xarkes
a4a48386db Ignore meson scripts (#7751)
Add VS2017 project generation
2017-06-15 22:17:59 +02:00
xarkes
f590de9e71 Fixed meson r_version.h (#7702) 2017-06-08 05:32:17 +02:00
xarkes
bcdbfcaf8a Moved meson bat script + better meson.build file (#7701) 2017-06-07 23:36:02 +02:00
SkUaTeR
dc7914644e Meson improvements 2017-05-31 13:38:47 +02:00
SkUaTeR
0596c1c08e Meson shlr libs 2017-05-30 18:38:19 +02:00
pancake
0b383d892b Fix make meson-symstall 2017-05-29 22:47:51 +02:00
SkUaTeR
080416d09e Fixed meson build for msvc 2017-05-29 22:35:59 +02:00
pancake
22cde23367 Generate r_userconf.h with Meson too 2017-05-29 13:06:10 +02:00