summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmanuele Bovisio <emanuele.bovisio@eolo.it>2020-10-22 16:24:02 +0200
committerEmanuele Bovisio <emanuele.bovisio@eolo.it>2020-10-23 10:00:08 +0200
commit7134d0e9b273db4e6fa60e40a9773154e70514fd (patch)
tree97df3db29e81e5ba914c6ad53fb272c8024e7ce9
parent84de5a245a3eb17619588a535b9f408ce802a8c9 (diff)
build: add --disable-rpath option in configure
Add an option to remove RPATH entry from binary files. Useful for cross-compilation, otherwise libtool hardcodes the building path. Signed-off-by: Emanuele Bovisio <emanuele.bovisio@eolo.it>
-rwxr-xr-xconfigure.ac13
-rw-r--r--doc/user/installation.rst10
2 files changed, 20 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 8e86ba87ff..67290807c2 100755
--- a/configure.ac
+++ b/configure.ac
@@ -451,6 +451,11 @@ fi
AC_SUBST([AC_LDFLAGS])
AM_CONDITIONAL([STATIC_BIN], [test "$enable_static_bin" = "yes"])
+AC_ARG_ENABLE([rpath],
+ [AS_HELP_STRING([--enable-rpath], [set hardcoded rpaths in the executable @<:@default=yes@:>@])],
+ [],
+ [enable_rpath=yes])
+
dnl $AR and $RANLIB are set by LT_INIT above
AC_MSG_CHECKING([whether $AR supports D option])
if $AR crD conftest.a >/dev/null 2>/dev/null; then
@@ -2499,6 +2504,14 @@ AS_IF([test "$with_pkg_git_version" = "yes"], [
## It's already in CVS until texinfo 4.7 is more common.
AC_OUTPUT
+if test "$enable_rpath" = "yes" ; then
+ true
+else
+ # See https://old-en.opensuse.org/openSUSE:Packaging_Guidelines#Removing_Rpath
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+fi
+
echo "
FRRouting configuration
------------------------------
diff --git a/doc/user/installation.rst b/doc/user/installation.rst
index ee06578b7c..5d5dfa5cc5 100644
--- a/doc/user/installation.rst
+++ b/doc/user/installation.rst
@@ -273,15 +273,15 @@ options from the list below.
With this option, we provide a way to strip out these characters for APK dev
package builds.
-..option:: --disable-version-build-config
+.. option:: --disable-version-build-config
Remove the "configuerd with" field that has all of the build configuration
arguments when reporting the version string in `show version` command.
-..option:: --with-pkg-extra-version=VER
+.. option:: --with-pkg-extra-version=VER
Add extra version field, for packagers/distributions
-..option:: --with-pkg-git-version
+.. option:: --with-pkg-git-version
Add git information to MOTD and build version string
@@ -355,6 +355,10 @@ options from the list below.
Turn on the usage of PCRE Posix libs for regex functionality.
+.. option:: --enable-rpath
+
+ Set hardcoded rpaths in the executable [default=yes].
+
You may specify any combination of the above options to the configure
script. By default, the executables are placed in :file:`/usr/local/sbin`
and the configuration files in :file:`/usr/local/etc`. The :file:`/usr/local/`