Commit Graph

216 Commits

Author SHA1 Message Date
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
pancake c4e8864e7d Build fixes 2016-02-29 00:04:31 +01:00
pancake e56be2fbd5 More multi-arch static build archive fixes for iOS/OSX/tvOS/WatchOS/*OS 2015-12-28 18:31:05 +01:00
pancake 1d8b761ca1 Various static and iOS related build issues are now fixed 2015-12-28 02:01:45 +01:00
xambroz d448260816 build cleanup focused on possibility to control the lib directories with the build parameters
needed mainly for RedHat/Fedora builds
2015-10-27 03:26:45 +01:00
XVilka 381c9fbd6a Unify -fPIC handling, improve windows building 2015-10-09 18:58:03 +03:00
pancake 90f8ec4ff8 Fix #3297 - make install after make symstall 2015-09-17 11:11:24 +02:00
pancake a7da6118f0 Fix recursive symlink issue in `make symstall` 2015-07-08 21:49:30 +02:00