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>
This commit is contained in:
Emanuele Bovisio 2020-10-22 16:24:02 +02:00
parent 84de5a245a
commit 7134d0e9b2
2 changed files with 20 additions and 3 deletions

View file

@ -451,6 +451,11 @@ fi
AC_SUBST([AC_LDFLAGS]) AC_SUBST([AC_LDFLAGS])
AM_CONDITIONAL([STATIC_BIN], [test "$enable_static_bin" = "yes"]) 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 dnl $AR and $RANLIB are set by LT_INIT above
AC_MSG_CHECKING([whether $AR supports D option]) AC_MSG_CHECKING([whether $AR supports D option])
if $AR crD conftest.a >/dev/null 2>/dev/null; then 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. ## It's already in CVS until texinfo 4.7 is more common.
AC_OUTPUT 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 " echo "
FRRouting configuration FRRouting configuration
------------------------------ ------------------------------

View file

@ -273,15 +273,15 @@ options from the list below.
With this option, we provide a way to strip out these characters for APK dev With this option, we provide a way to strip out these characters for APK dev
package builds. package builds.
..option:: --disable-version-build-config .. option:: --disable-version-build-config
Remove the "configuerd with" field that has all of the build configuration Remove the "configuerd with" field that has all of the build configuration
arguments when reporting the version string in `show version` command. 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 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 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. 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 You may specify any combination of the above options to the configure
script. By default, the executables are placed in :file:`/usr/local/sbin` 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/` and the configuration files in :file:`/usr/local/etc`. The :file:`/usr/local/`