Add --disable-rpath to configure (fixes #422)

This commit is contained in:
Jay Berkenbilt 2020-10-20 17:17:46 -04:00
parent bed165c9fc
commit 56d96e2260
7 changed files with 53 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2020-10-20 Jay Berkenbilt <ejb@ql.org>
* Build option: add --disable-rpath option to ./configure, which
disables passing -rpath to the linker when building shared
libraries with libtool. Fixes #422.
2020-10-18 Jay Berkenbilt <ejb@ql.org>
* Note that InputSource::unreadCh is deprecated and will be

1
TODO
View File

@ -6,7 +6,6 @@ Candidates for upcoming release
* Add --warning-exit-0 option. Search for --no-warn in the docs.
* Easy build/test
* #422: disable rpath when building RPM
* #352: building standalone executables (lambda layer)
* #460: potential malware in fuzzer seed corpus
* Consider building workflow on a schedule to detect build rot. This

View File

@ -23,6 +23,7 @@ LIBS=@LIBS@
CPPFLAGS=@CPPFLAGS@
CXX=@CXX@
CXXFLAGS=@CXXFLAGS@ $(CXXWFLAGS) $(WFLAGS)
RPATH=@RPATH@
AR=@AR@
RANLIB=@RANLIB@
DLLTOOL=@DLLTOOL@

View File

@ -1,4 +1,4 @@
d2cb3f80935a7e6e265a04da6ba9c0df4eabae3de33c6a48384a9fa50a15143b configure.ac
cc3c7947646412e7c3152c3ef238226ede1c2199328a38df93debee26184b087 configure.ac
d3f9ee6f6f0846888d9a10fd3dad2e4b1258be84205426cf04d7cef02d61dad7 aclocal.m4
cf2c764639c4c94abc183a0976eca6ae500b80790ea25e3d0af97b23587363b7 libqpdf/qpdf/qpdf-config.h.in
5297971a0ef90bcd5563eb3f7127a032bb76d3ae2af7258bf13479caf8983a60 m4/ax_cxx_compile_stdcxx.m4

27
configure vendored
View File

@ -670,6 +670,7 @@ PKG_CONFIG
WINDOWS_WORDSIZE
IS_32BIT
RANDOM_DEVICE
RPATH
LT_SONAME
LT_AGE
LT_REVISION
@ -775,6 +776,7 @@ with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
enable_rpath
enable_insecure_random
enable_os_secure_random
with_random
@ -1458,6 +1460,8 @@ Optional Features:
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-rpath whether to pass -rpath to the linker when building
libraries
--enable-insecure-random
whether to use stdlib's random number generator
(default is no)
@ -16213,6 +16217,29 @@ LT_REVISION=1
LT_SONAME=$(expr $LT_CURRENT - $LT_AGE)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for whether to use -rpath" >&5
$as_echo_n "checking for whether to use -rpath... " >&6; }
# Check whether --enable-rpath was given.
if test "${enable_rpath+set}" = set; then :
enableval=$enable_rpath; if test "$enableval" = "yes"; then
qpdf_USE_RPATH=1;
else
qpdf_USE_RPATH=0;
fi
else
qpdf_USE_RPATH=1
fi
if test "$qpdf_USE_RPATH" = "1"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
RPATH='-rpath $(libdir)'
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fvisibility=hidden" >&5
$as_echo_n "checking for -fvisibility=hidden... " >&6; }
try_flags=-fvisibility=hidden

View File

@ -61,6 +61,23 @@ AC_SUBST(LT_AGE)
LT_SONAME=$(expr $LT_CURRENT - $LT_AGE)
AC_SUBST(LT_SONAME)
AC_MSG_CHECKING(for whether to use -rpath)
AC_ARG_ENABLE(rpath,
AS_HELP_STRING([--enable-rpath],
[whether to pass -rpath to the linker when building libraries]),
[if test "$enableval" = "yes"; then
qpdf_USE_RPATH=1;
else
qpdf_USE_RPATH=0;
fi], [qpdf_USE_RPATH=1])
if test "$qpdf_USE_RPATH" = "1"; then
AC_MSG_RESULT(yes)
RPATH='-rpath $(libdir)'
else
AC_MSG_RESULT(no)
fi
AC_SUBST(RPATH)
AC_MSG_CHECKING(for -fvisibility=hidden)
try_flags=-fvisibility=hidden
oCXXFLAGS=$CXXFLAGS

View File

@ -95,7 +95,7 @@ define makelib
$(LIBTOOL) --mode=link \
$(CXX) $(CXXFLAGS) $(LD_VERSION_FLAGS) \
-o $(2) $(1) $(3) $(4) \
-rpath $(libdir) -version-info $(5):$(6):$(7) -no-undefined
$(RPATH) -version-info $(5):$(6):$(7) -no-undefined
endef
# 1 2 3 4 5