Commit Graph

189 Commits

Author SHA1 Message Date
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
Anton Kochkov
445dde9ba8 More improvements for cygwin and mingw32 building 2014-07-10 02:21:41 +04:00
pancake
d65700dedd Fixes to make RBin/RIO more consistent for bindings 2014-05-28 18:58:53 +02:00
pancake
773b033620 Fix negative/huge mallocs in PE parser and fix invalid fd close 2014-05-08 01:32:06 +02:00
pancake
aac9538103 Remove RCons dependency for RSocket 2014-05-06 04:07:26 +02:00
pancake
13cf707ea3 Refix deps 2014-05-05 14:39:18 +02:00
pancake
44f43eb42b Use MAKE_JOBS in more places 2014-05-03 01:23:12 +02:00
pancake
53edf7c17d Merge RCmd inside RCore 2014-03-18 00:05:44 +01:00
David Holm
87d336c796 Fix solib version for symstall rule
The same change as f0dbeb9 but for the symstall rule.
2014-03-09 11:24:44 +01:00
David Holm
f0dbeb9950 Fix solib file name on MacOS X
On MacOS X the library version goes before the library extension (dylib).  This
patch adds two helper functions that are used by the install rule to get the
correct library file name.
2014-03-08 23:13:18 +01:00
pancake
a3daa7c61f Do not install /bin/ dylib's 2014-01-19 00:52:33 +01:00
pancake
802e808072 Merge libr/lib into libr/util and add r_sys_environ API 2014-01-18 02:42:23 +01:00
David Martínez Moreno
010301e970 This solves the problem of creating and installing parse/t/lib.so as
/usr/lib/x86_64-linux-gnu/t.0.9.6.
2013-12-31 23:40:50 -08:00
pancake
dba63fbd3c Add some Jam files and merge rsign into ranal 2013-12-31 05:30:39 +01:00
pancake
125ed04dd0 Fix install 2013-12-14 02:23:20 +01:00
pancake
9928ceb99c Use ar qv instead or qvf 2013-10-01 23:06:21 +02:00
pancake
18cc767292 More emscripten/android build fixes 2013-09-07 02:20:38 +02:00
pancake
7855f4952f Initial work supporting emscripten compilation 2013-09-07 00:39:08 +02:00
pancake
ef53587e89 Fix 'last' symlink 2013-09-03 22:56:03 +02:00
pancake
b612d2a6b1 Fix static build (+android) 2013-04-12 02:39:46 +02:00
pancake
27c38164cf Fix race condition in make and exit status of rahash2 2013-03-04 00:44:46 +01:00
pancake
bdd616141c Update io_ewf plugin for latest API. Fix in configure 2013-03-01 02:00:22 +01:00