mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-04 16:05:17 +00:00
[2356] introduce the helper m4 macro to identify -R variant linker options
extracted from the top-level configure.ac.
This commit is contained in:
@@ -13,6 +13,9 @@ AC_LANG([C++])
|
|||||||
|
|
||||||
# Checks for BIND 10 headers and libraries
|
# Checks for BIND 10 headers and libraries
|
||||||
AX_ISC_BIND10
|
AX_ISC_BIND10
|
||||||
|
if test "x$BIND10_RPATH" != "x"; then
|
||||||
|
LDFLAGS="$LDFLAGS $BIND10_RPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
# For the example host program, we require the BIND 10 DNS library
|
# For the example host program, we require the BIND 10 DNS library
|
||||||
if test "x$BIND10_DNS_LIB" = "x"; then
|
if test "x$BIND10_DNS_LIB" = "x"; then
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
dnl @synopsis AX_BIND10
|
dnl @synopsis AX_ISC_BIND10
|
||||||
dnl
|
dnl
|
||||||
dnl @summary figure out how to build C++ programs using ISC BIND 10 libraries
|
dnl @summary figure out how to build C++ programs using ISC BIND 10 libraries
|
||||||
dnl
|
dnl
|
||||||
@@ -23,6 +23,7 @@ dnl BIND10_xxx_LIB is defined.
|
|||||||
|
|
||||||
AC_DEFUN([AX_ISC_BIND10], [
|
AC_DEFUN([AX_ISC_BIND10], [
|
||||||
AC_REQUIRE([AX_BOOST_INCLUDE])
|
AC_REQUIRE([AX_BOOST_INCLUDE])
|
||||||
|
AC_REQUIRE([AX_ISC_RPATH])
|
||||||
AC_LANG_SAVE
|
AC_LANG_SAVE
|
||||||
AC_LANG([C++])
|
AC_LANG([C++])
|
||||||
|
|
||||||
@@ -82,7 +83,11 @@ do
|
|||||||
#include <util/buffer.h>
|
#include <util/buffer.h>
|
||||||
],[
|
],[
|
||||||
isc::util::OutputBuffer buffer(0);
|
isc::util::OutputBuffer buffer(0);
|
||||||
], [BIND10_LDFLAGS="-L${d}"])
|
], [BIND10_LDFLAGS="-L${d}"
|
||||||
|
if test "x$ISC_RPATH_FLAG" != "x"; then
|
||||||
|
BIND10_RPATH="-R${d}"
|
||||||
|
fi
|
||||||
|
])
|
||||||
if test "x$BIND10_LDFLAGS" != "x"; then
|
if test "x$BIND10_LDFLAGS" != "x"; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
33
examples/m4/ax_isc_rpath.m4
Normal file
33
examples/m4/ax_isc_rpath.m4
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
dnl @synopsis AX_ISC_RPATH
|
||||||
|
dnl
|
||||||
|
dnl @summary figure out whether and which "rpath" linker option is available
|
||||||
|
dnl
|
||||||
|
dnl This macro checks if the linker supports an option to embed a path
|
||||||
|
dnl to a runtime library (often installed in an uncommon place), such as
|
||||||
|
dnl gcc's -rpath option. If found, it sets the ISC_RPATH_FLAG variable to
|
||||||
|
dnl the found option flag. The main configure.ac can use it as follows:
|
||||||
|
dnl if test "x$ISC_RPATH_FLAG" != "x"; then
|
||||||
|
dnl LDFLAGS="$LDFLAGS ${ISC_RPATH_FLAG}/usr/local/lib/some_library"
|
||||||
|
dnl fi
|
||||||
|
|
||||||
|
AC_DEFUN([AX_ISC_RPATH], [
|
||||||
|
|
||||||
|
# check -R and -Wl,-R rather than gcc specific -rpath to be as portable
|
||||||
|
# as possible.
|
||||||
|
AC_MSG_CHECKING([whether -R flag is available in linker])
|
||||||
|
LDFLAGS_SAVED="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS -R/usr/lib"
|
||||||
|
AC_TRY_LINK([],[],
|
||||||
|
[ AC_MSG_RESULT(yes)
|
||||||
|
ISC_RPATH_FLAG=-R
|
||||||
|
],[ AC_MSG_RESULT(no)
|
||||||
|
AC_MSG_CHECKING([whether -Wl,-R flag is available in linker])
|
||||||
|
LDFLAGS="$LDFLAGS_SAVED -Wl,-R"
|
||||||
|
AC_TRY_LINK([], [],
|
||||||
|
[ AC_MSG_RESULT(yes)
|
||||||
|
ISC_RPATH_FLAG=-Wl,-R
|
||||||
|
],[ AC_MSG_RESULT(no) ])
|
||||||
|
])
|
||||||
|
LDFLAGS=$LDFLAGS_SAVED
|
||||||
|
|
||||||
|
])dnl AX_ISC_RPATH
|
Reference in New Issue
Block a user