Commit Graph

210 Commits

Author SHA1 Message Date
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
pancake
2970b9817b Fix #2674 - merge diff into util 2015-06-02 01:35:12 +02:00
pancake
2f551b4850 Use INSTALL_LIB for plugins too 2014-12-11 02:23:17 +01:00
pancake
046f0a447e Fix #1822 with the help of the latest ACR 2014-12-11 01:50:26 +01:00
pancake
0d620bd37f More native mingw32 fixes 2014-09-01 15:50:04 +02:00
pancake
0178d0a4ed More fixups for mingw32 2014-09-01 15:29:02 +02:00
pancake
2719a78290 Support make install & make symstall with DESTDIR or PREFIX with spaces 2014-07-10 01:13:04 +02:00