Commit graph

49 commits

Author SHA1 Message Date
ur4t
f0c932f2cf
subprojects/zlib: Improve meson.build, emulating configure script (#3759)
* subprojects/zlib: Improve meson.build, emulating configure script
* Update zlib to 1.3
2023-08-24 12:32:38 +08:00
Anton Kochkov
2cbe8fe0f0
Update capstone-v5 to 5.0.1 (#3777) 2023-08-23 16:00:11 +08:00
Florian Märkl
d8aeabb501
Fix blake3 build with incompatible assemblers (#3764)
Apple Clang 4.2 on Mac OS X 10.7 Lion does support avx2, but it has
issues with some of the asm syntax used, in particular jc and some mov
syntax.
So we add an additional check for a short assembly snippet.
2023-08-17 09:51:57 +08:00
Florian Märkl
22e56a3628
Fix blake3 build when a simd extension is missing (#3751)
Regression from avx512 fix: Any call to add_project_arguments() must
happen before declaring any build target.
2023-08-14 09:02:05 +08:00
Florian Märkl
14d607e7fd
Fix AVX512 detection and build in blake3 (#3739)
The test for avx512 could result in false-positives because the
_mm256_setr_epi64x intrinsic requires only AVX, not AVX512. Specifically what
is needed here is AVX512VL.
In addition, not passing the -mavx* args to the asm compilation failed the
build on macOS High Sierra and below (Apple LLVM version 10.0.0,
clang-1000.11.45.5)
2023-08-12 10:02:30 +02:00
billow
6e57bf6261 Adding new cs-based tricore analysis and asm plugin 2023-07-16 13:22:47 +08:00
yossizap
4aadd18f7e Set the default capstone version to v5 instead of v4
Co-authored-by: wargio <wargio@libero.it>
2023-07-16 13:22:47 +08:00
Riccardo Schirone
29623e19a6 subprojects/libzip: patch zip_win32_file_operations 2023-05-09 09:31:56 +08:00
Riccardo Schirone
71c9a7f07b subprojects/xz: update to 5.4.3
Recently builds on Windows are failing due to intrin.h being required
for some functions. This has been fixed in the new 5.4.3 release.
2023-05-09 09:31:56 +08:00
Giovanni
8d46a25203
Updated libmspack to latest commit (#3349)
Fixed url for lz4 dep
2023-02-05 13:23:02 +08:00
Anton Kochkov
8bd0d3356d Update xz (liblzma) to 5.4.1 2023-02-02 13:50:52 +08:00
Anton Kochkov
d765127a33 Update liblz4 to 1.9.4 2023-02-02 13:50:52 +08:00
Anton Kochkov
a68be33f38 Update zlib to 1.2.13 2023-02-02 13:50:52 +08:00
Anton Kochkov
0ffa5e3233 Update tree-sitter to 0.20.7 2023-01-31 19:06:55 +08:00
Giovanni
e453f8ba76
Use only x64 for optimizations and portable for x86 (#3135) 2022-10-27 15:14:03 +02:00
Giovanni
5168303b6d
Update blake3 to use cpu extensions (#3108) 2022-10-26 23:27:08 +02:00
Giovanni
5b1e5e6762
Support blake3 hash algo (#3030) 2022-09-17 18:38:21 +02:00
Florian Märkl
b85636317c Drop libuv dependency
libuv was only ever used for the tcp server for almost 4 years. Since
the non-libuv implementation of that is working now, it can be dropped
entirely without sacrificing functionality.
2022-08-06 13:20:52 +02:00
Riccardo Schirone
0c9b295dd9
lzma: fix compilation on s390x (#2801) 2022-07-11 19:54:59 +08:00
Riccardo Schirone
3363579337 Update libzip to v1.9.2 2022-07-04 19:05:50 +08:00
Riccardo Schirone
98acbb041a build: use gnu99 globally instead of per-project 2022-07-04 19:05:50 +08:00
Riccardo Schirone
2f1e39818e Add liblzma subproject 2022-07-02 10:12:26 +02:00
Giovanni
648882d544
Add libmspack and add idpx to extracts compressed pdb (#2728)
* Add libmspack, cabextract and add idpx to extracts compressed pdb
* Remove cabextract from CIs since it is not anymore required.
2022-06-27 23:52:07 +02:00
Riccardo Schirone
fdd7c6200c
Fix compilation on Termux and Haiku (#2671)
* build: fix compilation on Termux by using meson checks
* build: fix compilation on termux, which is recognized as linux

meson identifies termux as "linux" system, however pthread_sigmask is
not available there. Since pthread-fixes.c just defines
uv__pthread_sigmask we include it also in regular linux builds, because
the function is then used automatically instead of pthread_sigmask only
when __ANDROID__ is defined.

* subprojects/rzwinkd: define cc in meson.build before use
2022-06-07 23:44:41 +02:00
Riccardo Schirone
4664f791ac build: properly use #cmakedefine 2022-06-07 12:18:51 +02:00
Mario Haustein
52f6de18f0 Make capstone include path consistent 2022-05-10 11:10:04 +02:00
Anton Kochkov
0a309afbe9
Update zlib subproject to 1.2.12 2022-04-06 08:33:56 +08:00
Riccardo Schirone
88b0872dca Update tree-sitter to 0.20 for rzshell and C parsers 2022-03-18 17:29:39 +01:00
Anton Kochkov
e170bfe80e
Fix Meson subprojects language option (#2341) 2022-02-21 20:22:26 +08:00
Giovanni
e90d770e4a
Fix muon issue due type casting (#2198) 2022-01-12 18:37:21 +01:00
Riccardo Schirone
6f40dfe493
Move remaining things from shlr/ to meson subprojects (#2126)
* Move binrz meson directives to binrz/ dir

* Move rizin-shell-parser to a subproject

* Move bochs to a meson subproject

* Move rzqnx to meson subproject

* Move winkd to a meson subproject

* Move rzar to a meson subproject

* Move rzw32dbg_wrap to a meson subproject

* Move ptrace-wrap to a meson subproject

* Move rzgdb to a meson subproject

* Rename w32dbg_wrap to rzw32dbg_wrap

* Update CODEOWNERS

* Remove old references to shlr

* Move shlr/heap stuff in core and remove shlr/arm

* Move spp to a meson subproject

* Remove last references to shlr

* Remove use_webui option

* Move include files directives to librz/include/meson.build

* Move librz meson directives into librz/meson.build

* Handle d/ directories inside the specific module meson.build

* Move plugins listing to specific module meson.build

* Move rzheap to its own subproject

* Fix js linter and licenses

* Use meson.override_dependency for all rz_ modules
2021-12-22 09:20:39 +08:00
Giovanni
bda1e9cfca
Disable GPL code and Add RISC-V support via Capstone 5 (#2087)
* -Duse_gpl=false is supported by rizin and added riscv_cs for capstone v5
* Added GPL build workflow in CI
2021-12-11 13:30:01 +01:00
Khairul Azhar Kasmiran
98e4816b03
Update capstone-bundled for -Wunneeded-internal-declaration (#2058) 2021-12-02 15:53:09 +01:00
Khairul Azhar Kasmiran
ffc0b9cf74
Use --werror with Linux Clang builds (#2043) 2021-11-29 22:37:45 +08:00
Florian Märkl
a978564527
Add Big-Endian Patch to Tree-Sitter Subproject (#1969) 2021-11-12 14:53:15 +01:00
Florian Märkl
3bf5534380 Check for arc4random_buf in libzip 2021-10-26 10:50:22 +02:00
Riccardo Schirone
0ef69ba2e8
Update tree-sitter to 0.19.5 (#1633) 2021-09-09 08:21:55 +08:00
Anton Kochkov
aacd6421e6
Fix #683 - enable SPDX linter checks (#1578)
* Fix #683 - enable SPDX linter checks
* Add license to the last remaining file
2021-09-03 00:54:40 +08:00
Anton Kochkov
3c59df7e98
Refactor RzTypes to use structs instead of SDB + New Tree-Sitter based C Parser (#1047)
- Removed oldshell version of `t` (types) commands
- Removed `tk` command because types storage switched to the hashtable
- Added `tfc` command to show the calling convention of the function or set it
- Added `tsl` (RZ_OUTPUT_MODE_LONG) to show structure members' sizes and offsets
- Added `tul` (RZ_OUTPUT_MODE_LONG) to show union members' sizes
- Switched the types storage to the hashtable instead of SDB
- Added load and export from/to SDB for standard type libraries and serialization for Projects
- Changed all `char *type` occurences to the proper `RzType`
- Added `RzCallable` type for the function/class method types
- Changed all function types API to use the `RzCallable` API
- Switched the function types (`RzCallable`) storage to the hashtable instead of SDB
- Added a connection between `RzAnalysisFunction` and `RzCallable` - `rz_analysis_function_derive_type()` API function to derive new `RzCallable` type from the `RzAnalysisFunction` even if it doesn't exist in the RzTypeDB.
- Moved type links to the RzAnalysis where they belong
- Removed TCC and MPC-based parsers
- Added Tree-Sitter-based parser for C grammar (see `librz/type/parser/*`)
- Reworked type databases in `librz/analysis/d/` to be consistent with C standard, libc, platform-specific definitions
- Switched the type links from `char *` to `RzType`
- Switched the type links from SDB to the hashtable
- Added concept of the "type paths", e.g. `a.b[20].c` where `b` is a member of `a` (`a` is either structure or a union) and `c` is a member of `b`, and `b` is an array where we take 20-th element.
- Added concept of the typeclasses (a bit similar to Haskell) for numerical types: `None` (the most generic one), `Num` (includes `Integral` and `Floating`), `Integral` (includes `Signed Integral` and `Unsigned Integral`), `Floating`.
- Added concept of type equality (`rz_types_equal(a, b)` API function)
- Added Doxygen documentation to every API function in the `librz/type/*`.
- Updated the project format from **V2** to **V3**, added migration.
2021-07-20 01:46:45 +08:00
Khairul Azhar Kasmiran
13d18c2b29
Use -Wno-error=stringop-truncation for capstone v3 (#1128) 2021-05-13 23:08:01 +08:00
Khairul Azhar Kasmiran
b845c8a110
Update capstone-bundled for warning-free asan build (#1127) 2021-05-13 22:32:28 +08: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
4e98ff8f86
libzip: use conf_data not zipconf_data in meson.build for HAVE_SHARED (#629) 2021-02-15 17:02:10 +01: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
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
130aed6582 Move lz4 to meson subproject wrap 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
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