Add --with-rpath to fix build on linux with !/usr

Do some changes in sys/ to make it happy
This commit is contained in:
pancake 2012-08-27 17:02:58 +02:00
parent e9829c5c9f
commit e241d81f4a
8 changed files with 23 additions and 8 deletions

View File

@ -40,8 +40,6 @@ Concrete TODO points
lives at a specified offset. (is this already done?)
* r_bin
- Implement more get_main() (NOOB)
- Add DEX file format support
- Find why objdump can find stripped symbols with objcopy (see /TODO)
* radare2

View File

@ -12,6 +12,7 @@ EWF_LDFLAGS=@EWF_LDFLAGS@
HAVE_LIB_GMP=@HAVE_LIB_GMP@
LIL_ENDIAN=@LIL_ENDIAN@
FLEX=@FLEX@
USE_RPATH=@USE_RPATH@
MKPLUGINS=mk/stat.mk mk/sloc.mk

7
configure vendored
View File

@ -22,6 +22,7 @@ USE_MAGIC=0
HAVE_EWF=1
HAVE_GMP=1
HAVE_OPENSSL=1
USE_RPATH=0
HAVE_LILEND=0
HAVE_BIGEND=0
[ -z "${USERCC}" ] && USERCC="gcc"
@ -154,6 +155,7 @@ printf "\nOptional Features:
--without-ewf disable EWF dependency
--without-gmp disable GMP dependency
--without-ssl disable openssl dependency
--with-rpath use rpath to build
--with-little-endian force little endian
--with-big-endian force big endian
--with-compiler Define compiler to use (see mk/) (USERCC=gcc)
@ -212,7 +214,7 @@ echo "LANGS: c"
echo "REQUIRED: libdl"
echo "OPTIONAL: libmagic"
echo "PKG-CONFIG: libewf openssl"
echo "FLAGS: --without-debugger --with-sysmagic --without-ewf --without-gmp --without-ssl --with-little-endian --with-big-endian --with-compiler=gcc --with-ostype=auto --without-pic --with-nonpic --with-libversion=xxx"
echo "FLAGS: --without-debugger --with-sysmagic --without-ewf --without-gmp --without-ssl --with-rpath --with-little-endian --with-big-endian --with-compiler=gcc --with-ostype=auto --without-pic --with-nonpic --with-libversion=xxx"
exit 0
;;
"--cache-file")
@ -259,6 +261,7 @@ echo "FLAGS: --without-debugger --with-sysmagic --without-ewf --without-gmp
"--without-ewf") HAVE_EWF="0"; ;;
"--without-gmp") HAVE_GMP="0"; ;;
"--without-ssl") HAVE_OPENSSL="0"; ;;
"--with-rpath") USE_RPATH="1"; ;;
"--with-little-endian") HAVE_LILEND="1"; ;;
"--with-big-endian") HAVE_BIGEND="1"; ;;
--with-compiler) if [ -z "${value}" ]; then USERCC="gcc"; else USERCC="${value}" ; fi ;;
@ -283,7 +286,7 @@ parse_options $1
shift
done
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU PKGNAME VPATH VERSION CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C DEBUGGER HAVE_LIB_DL DL_LIBS LIL_ENDIAN BIG_ENDIAN BYTEORDER HAVE_LIB_MAGIC USE_MAGIC USE_LIB_MAGIC LIBMAGIC HAVE_FLEX FLEX HAVE_LIB_EWF EWF_CFLAGS EWF_LDFLAGS HAVE_PKGCFG_LIBEWF HAVE_EWF HAVE_LIB_GMP HAVE_GMP HAVE_LIB_SSL SSL_CFLAGS SSL_LDFLAGS HAVE_PKGCFG_OPENSSL HAVE_OPENSSL HAVE_LILEND HAVE_BIGEND HAVE_LIB_LUA5_1 HAVE_LIB_TCC USERCC USEROSTYPE WITHPIC WITHNONPIC LIBVERSION"
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU PKGNAME VPATH VERSION CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C DEBUGGER HAVE_LIB_DL DL_LIBS LIL_ENDIAN BIG_ENDIAN BYTEORDER HAVE_LIB_MAGIC USE_MAGIC USE_LIB_MAGIC LIBMAGIC HAVE_FLEX FLEX HAVE_LIB_EWF EWF_CFLAGS EWF_LDFLAGS HAVE_PKGCFG_LIBEWF HAVE_EWF HAVE_LIB_GMP HAVE_GMP HAVE_LIB_SSL SSL_CFLAGS SSL_LDFLAGS HAVE_PKGCFG_OPENSSL HAVE_OPENSSL USE_RPATH HAVE_LILEND HAVE_BIGEND HAVE_LIB_LUA5_1 HAVE_LIB_TCC USERCC USEROSTYPE WITHPIC WITHNONPIC LIBVERSION"
create_environ

View File

@ -48,6 +48,8 @@ IFNULL SSL_LDFLAGS {
}
}
ARG_WITH USE_RPATH rpath use rpath to build ;
ARG_WITH HAVE_LILEND little-endian force little endian ;
IF HAVE_LILEND { LIL_ENDIAN = 1 ; }
ARG_WITH HAVE_BIGEND big-endian force big endian ;

View File

@ -4,6 +4,11 @@ _INCLUDE_RULES_MK_=1
LIBR:=$(abspath $(dir $(lastword $(MAKEFILE_LIST))))
include $(LIBR)/config.mk
ifeq ($(USE_RPATH),1)
LDFLAGS+=-Wl,-R${PREFIX}/lib
endif
#-------------------------------------#
# Rules for libraries
ifneq ($(NAME),)

View File

@ -3,14 +3,14 @@
PortSystem 1.0
name radare2
version 0.9
version 0.9.2
categories security
platforms darwin
license LGPL
maintainers pancake@nopcode.org
description Opensource tools to disasm, debug, analyze and manipulate binary files
long_description Opensource tools to disasm, debug, analyze and manipulate binary files
homepage http://radare.org/y/
homepage http://www.radare.org
master_sites http://radare.org/get/
checksums md5 751f0dc71f82b7689f10365ee3a5842f \

View File

@ -1,6 +1,10 @@
#!/bin/sh
MAKE_JOBS=8
PREFIX=/usr
[ ! "${PREFIX}" = /usr ] && \
CFGARG=--with-rpath
MAKE=make
gmake --help >/dev/null 2>&1
@ -20,5 +24,5 @@ fi
${MAKE} mrproper > /dev/null 2>&1
[ "`uname`" = Linux ] && export LDFLAGS="-Wl,--as-needed"
rm -f plugins.cfg
./configure --prefix=/usr || exit 1
./configure ${CFGARG} --prefix=${PREFIX} || exit 1
exec ${MAKE} -s -j ${MAKE_JOBS}

View File

@ -14,4 +14,6 @@ elif [ -d .git ]; then
git pull
fi
./sys/build.sh && sudo ${MAKE} symstall
[ "`id -u`" = 0 ] || SUDO=sudo
./sys/build.sh && ${SUDO} ${MAKE} symstall