[3/4] configure:restore the old way of checking for libtirpc
diff mbox

Message ID 9eef40dddd6c313a09150bffad4ff3b444a81cac.1420585444.git.yann.morin.1998@free.fr
State New, archived
Headers show

Commit Message

Yann E. MORIN Jan. 6, 2015, 11:07 p.m. UTC
Since 8534063 (configure: use pkg-config to find libtirpc), we use
pkg-config to check for libtirpc (he!).

As reported on the list, some user do not have the libtirpc registered
with pkg-config (even though it has been since at least 0.1.8).

So, partially restore the old checking code, as it was before 8534063,
but adapted to work with the pkg-config check, and also adapted to only
use proper macros (AS_IF) instead of shell constructs.

Re-introduce that old code in a separate function, so it is easy to get
rid of when we only want to support pkg-config in the future (i.e. when
virtually all libtirpc versions in the wild have been properly

Reported-by: Chuck Lever <check.lever@oracle.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Steve Dickson <SteveD@redhat.com>
 aclocal/libtirpc.m4 | 36 ++++++++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff mbox

diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
index 9ea17c5..5e9d76e 100644
--- a/aclocal/libtirpc.m4
+++ b/aclocal/libtirpc.m4
@@ -10,10 +10,42 @@  AC_DEFUN([AC_LIBTIRPC], [
                        AM_CPPFLAGS="${AM_CPPFLAGS} ${TIRPC_CFLAGS}"
                        AC_DEFINE([HAVE_LIBTIRPC], [1],
                                  [Define to 1 if you have and wish to use libtirpc.])],
-                      [AS_IF([test "$enable_tirpc" = "yes"], [AC_MSG_ERROR([libtirpc not found.])],
-                             [LIBTIRPC=""])])])
+                      [AC_LIBTIRPC_OLD
+                       AS_IF([test "$enable_tirpc" = "yes" -a -z "${LIBTIRPC}"],
+                             [AC_MSG_ERROR([libtirpc not found.])])])])
+dnl Old way of checking libtirpc without pkg-config
+dnl This can go away when virtually all libtirpc provide a .pc file
+  AC_ARG_WITH([tirpcinclude],
+              [AC_HELP_STRING([--with-tirpcinclude=DIR],
+                              [use TI-RPC headers in DIR])],
+              [tirpc_header_dir=$withval],
+              [tirpc_header_dir=/usr/include/tirpc])
+  dnl Look for the library
+  AC_CHECK_LIB([tirpc], [clnt_tli_create],
+               [has_libtirpc="yes"],
+               [has_libtirpc="no"])
+  dnl Also must have the headers installed where we expect
+  dnl to look for headers; add -I compiler option if found
+  AS_IF([test "$has_libtirpc" = "yes"],
+        [AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h],
+                          [AC_SUBST([AM_CPPFLAGS], ["-I${tirpc_header_dir}"])],
+                          [has_libtirpc="no"])])
+  dnl Now set $LIBTIRPC accordingly
+  AS_IF([test "$has_libtirpc" = "yes"],
+        [AC_DEFINE([HAVE_LIBTIRPC], [1],
+                   [Define to 1 if you have and wish to use libtirpc.])
+         LIBTIRPC="-ltirpc"])