Commit Graph

223 Commits

Author SHA1 Message Date
GustavoLCR
489538e02b
Add DbgEng based debug backend for Windows ##debug (#17491)
* Rename `windbg` plugin to `winkd` ##debug
* Add DbgEng based debug backend for Windows ##debug
2020-08-24 19:01:10 +08:00
pancake
8b33d764a7
Fix #3929 - Enable LTO in sys/static.sh ##build (#17141)
* Fix #3929 - Enable LTO in sys/static.sh
* Update Ubuntu to 20.04 for static build
* Use `gcc-ar` when needed
* Do not use "c" option for ${AR}
* Use `$$AR` instead of `$AR`
* Aim to fix  `-dynamiclib` issue outside darwin
* Run tests for static LTO build

Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Anton Kochkov <xvilka@gmail.com>
2020-08-13 13:55:39 +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
e3b67f124c
Release pipeline with GitHub Actions (#17192)
* Make sure meson can build with `system` = `android`.
* Add support for binr/blob in meson build
* Create release GitHub Actions workflow
* Add publish-docker-image job
* Also create Ubuntu packages and ship static windows zip
2020-07-09 12:07:45 +08:00
Anton Kochkov
ffe743ef39
Fix #4056 - rename DEPS to R2DEPS ##build (#17020)
* Rename DEPS to R2DEPS
* Cleanup of sys/build.sh
2020-06-12 10:49:28 +08:00
pancake
b49609af7f
Fix static build (#16926) 2020-05-20 00:35:06 +08:00
radare
5a1df188f6
Build fixes to make emscripten builds happy (#16406) ##build 2020-04-02 17:52:03 +02:00
pancake
eaf5826533 Fix build of the onefied shared lib ##build 2019-10-29 16:53:41 +01:00
radare
c93c094c40
Fix android-static ##build 2019-08-01 04:39:40 +02:00
pancake
f88c30dce7 Delete prefix/ and fix static builds (missing libmpc.a) ##build 2019-07-26 05:30:21 +02:00
radare
dc0892a1a0
Towards emscripten build fix (update sdb) ##build 2019-07-07 16:52:41 +02:00
pancake
e29ba99a07 Add sys/build-shlib.sh and fix static builds ##build 2019-05-28 23:15:22 +02: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
pancake
b8deafe0a8 Handle libr/libs.custom.mk to make partial r2 builds if you need just a portion of r2 ##build 2018-11-16 08:37:47 +01:00
radare
71053f17e9
Move trie, mixed, slist into Sdb's Attic, and DES from util to crypto ##refactor 2018-11-07 17:18:14 +01:00
radare
c50357fbe6
Fix the build of the iOS SDK ##build (#11884) 2018-10-21 14:56:56 +02:00
pancake
d930ebf298 Fix the build of the static merged shared library ##build
* Remove PIC plugin from static builds, no need to keep fighting
* I will merge asm/anal plugins before someone cares about this
* It's still built as shared, so it can be loaded on startup
2018-10-20 19:48:32 +02:00
pancake
0b05d6f91e Rewrite libr.a make target without partial-ld ##build 2018-10-20 18:32:38 +02:00
pancake
8caa2ba2ee Fix sys/sdk.sh (--without-gpl) 2018-09-26 10:03:32 -07:00
pancake
afe3792d0f Force embed-bitcode on iOS builds
- Fix typo and improve ios-sdk build
- Don't let capstone set the -arch flags
2018-06-10 03:38:28 +02:00
pancake
cfa6aa4720 Refix Makefile and remove harmless eprintf 2018-05-30 18:47:45 +02:00
pancake
49a2f2406d FIx for install 2018-05-30 18:12:32 +02:00
pancake
5827f2b045 Fix symstall issues 2018-05-30 18:11:14 +02:00
pancake
92e9604f6a Fixes for the symstall and install with-rpath 2018-05-30 17:06:34 +02:00
Levente Polyak
95d27a8694 make: don't dist .${LIBVERSION} into /usr/lib (#10164)
Not exlucidng ^libr.{so,dynlin}$ doesn't do any good and will purely
result in distributing a .${LIBVERSION} into $DESTDIR
f.e. /usr/lib/.2.6.0

Introduced by: 8bab02
2018-05-30 16:57:45 +02:00
radare
d461644977
Add --with-libr and deprecate --with-{nonpic,pic,merged} (#10212) 2018-05-28 17:14:49 +02:00
Misty De Meo
f7c43fcfad libr: use openssl LDFLAGS at link time (#10188)
libr will have been compiled with openssl support if it was requested,
so it also needs to use the openssl LDFLAGS.

Fixes #10154.
2018-05-26 11:49:58 +02:00
Levente Polyak
2ca2a0ae15 libc: respect zip/deps.mk for zlib/libzip (#10163)
Additionally respect standard caller {C,CPP,LD}FLAGS plus the
deps.mk relaed LINK
2018-05-23 11:13:26 +02:00
cc
3752d992f3 fix for build with syscapstone 2018-05-22 09:34:34 +02:00
pancake
8bab020ff5 Honor libr.dylib on ios-sdk.sh 2018-05-21 02:03:41 +02:00
Sebastien Marie
d5af26b3da run objcopy --localize-hidden on BSD too (#10141) 2018-05-21 01:54:07 +02:00
pancake
efda76cc18 Bring back libr.* targets in libr even without BUILD_MERGED 2018-05-20 01:12:36 +02:00
pancake
93551610b8 Fixes for the ios-sdk build 2018-05-16 10:16:56 +02:00
radare
9e08da0fa6
Improve build of libr.a and libr.dylib, fix and improve sys/ios-sdk.sh (#10046)
- Update spp and force hidden visibility
- Use R_API wisely
- RSys.prefix returns const things
- Use -install_name on Apple
- Fix merged lib visibility linking on Linux
- Use OSTYPE instead of BUILD_OS
- Honor crosscompiler-objcopy and support android like linux
- Add extra missing archives
- Fix for android
- Upgrade spp and sdb
- Skip libr. from symstall
- Add --enable-merged configure option
- Use --enable-merged on ios-sdk
- Upgrade sdb again for js0n
- Kill sys/ios-shell.sh
- Msvc dynamic build fix
2018-05-09 23:31:52 +02:00
pancake
e4c0746cb8 Remove a bunch of conflicting plugins for the static build
- Will be re-enabled when fixed the visibility of common symbols
2018-02-19 13:17:21 +01:00
pancake
d5ec745276 Fix static linking by creating libr_shlr.a and stripping sdb and tcc from them
This exposes some implicit static linking of libs, and also shows that librz.a
can be removed or generalized into using the partial-ld appraoch.

Still issues with pkg-config because libr_shlr is only available as a static
library and can be used in libr_util.pc, creating an empty libr_shlr.${EXT_SO}
may simplify the problem but still a workaround.

It is dangerous to link against it results in much bigger builds
(also faster), which requires LTO to get adjusted sizes.
2018-02-18 01:47:07 +01:00
whitequark
e5c22bd4f9 Simplify and unbreak libr.a generation.
libr.a is a static library that combines every library r2 builds
and/or depends on, which means that they should be repackaged.

Before this commit, the situation was quite sorry:
  * Makefile-ar.mk was parameterized by ARTYPE;
  * there were three ARTYPEs, default, gnu and ios;
  * the ios ARTYPE was not used and instead its logic was folded
    into default;
  * the gnu ARTYPE was obviously broken (typo in "rm -f libr.",
    typo in "$(C_AR)") preventing it from ever running correctly;
  * the default ARTYPE created libraries that did not link
    on e.g. a Linux desktop, since the libr.a it created consisted
    only of another .a files, and this just results in an error
    trying to link:
      libr.a: error adding symbols: Archive has no index; run ranlib to add one
  * the default ARTYPE, when targeting iOS, performed a bunch of
    useless work combining the archives as above, and then just
    delegated to libtool, which overwrites the result.

After this commit:
  * there is no ARTYPE (nothing in the r2 tree sets it anyway);
  * there are no platform-specific assumptions about ar, such
    as support for the -M option;
  * there is only one code path;
  * every archive is partially linked into a single object file
    and then added to libr.a.
2018-01-11 23:09:22 +01:00
pancake
e51998171d Fix #8714 - r_util symlink not created 2017-10-19 22:01:32 +02:00
pancake
54a766a751 More makefile fixes for android and mingw32 2017-10-19 01:54:44 +02:00
pancake
6c17d2036d Initial support for relative installation paths and clean some warnings 2017-10-19 01:07:56 +02:00
pancake
1926ad859a Fix make symstall with relative paths 2017-10-18 17:53:00 +02:00
pancake
c2d1392af2 Use libtool instead of ranlib for iOS 2017-10-09 10:53:41 +02:00
pancake
8c3035acc2 Fix ios-sdk builds 2017-07-04 19:16:24 +02:00
pancake
ba6dce4d73 Add REgg as dependency of RDebug 2017-05-28 22:38:10 +02:00
xarkes
926f024909 Improved MSVC support (WIP) 2017-05-09 14:25:57 +02:00
Sevan Janiyan
0e4b401635 Upstream patches from pkgsrc/devel/radare2 (#6491)
* Upstream patches from pkgsrc/devel/radare2
Switch to using egrep instead of non-portable "grep -e".
Add support for SunOS.

* Add support for SunOS.

* FIONREAD is defined in sys/filio.h on SunOS.

* Ask find(1) to look for files with desired extension rather than searching for
all files & fishing out the desired extension in the pipeline, with grep.
2017-01-18 00:47:46 +01:00
pancake
c041decf9b Fix libr.a for android 2016-12-10 01:48:46 +01:00
pancake
d41b577106 Fix #5924 - r_flags -> r_flag 2016-10-27 01:07:58 +02:00
Anton Kochkov
3ce9d8ef3f Install libr/include/r_util/* 2016-07-10 01:12:20 +03:00
pancake
f96f00d62d Fix #5158 - Merge r_db into r_util 2016-06-17 12:19:16 +02:00