changeset 11515:0ef1bc4d4c97

Simplify gl_LIBSIGSEGV.
author Bruno Haible <bruno@clisp.org>
date Sun, 26 Apr 2009 18:10:08 +0200
parents 3ba5fff00fed
children 5165bfb23649
files ChangeLog m4/lib-link.m4 m4/libsigsegv.m4
diffstat 3 files changed, 22 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-26  Bruno Haible  <bruno@clisp.org>
+
+	* m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
+	* m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
+	AC_LIB_HAVE_LINKFLAGS.
+
 2009-04-26  Bruno Haible  <bruno@clisp.org>
 
 	Simplify calling convention of u*_conv_from_encoding.
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,4 +1,4 @@
-# lib-link.m4 serial 18 (gettext-0.18)
+# lib-link.m4 serial 19 (gettext-0.18)
 dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -43,12 +43,13 @@
   popdef([Name])
 ])
 
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
 dnl searches for libname and the libraries corresponding to explicit and
 dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
 dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
@@ -74,12 +75,14 @@
   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     ac_save_LIBS="$LIBS"
     LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+    AC_TRY_LINK([$3], [$4],
+      [ac_cv_lib[]Name=yes],
+      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
     LIBS="$ac_save_LIBS"
   ])
   if test "$ac_cv_lib[]Name" = yes; then
     HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib[]$1 library.])
     AC_MSG_CHECKING([how to link with lib[]$1])
     AC_MSG_RESULT([$LIB[]NAME])
   else
--- a/m4/libsigsegv.m4
+++ b/m4/libsigsegv.m4
@@ -1,4 +1,4 @@
-# libsigsegv.m4 serial 3
+# libsigsegv.m4 serial 4
 dnl Copyright (C) 2002-2003, 2008, 2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -8,41 +8,9 @@
 
 AC_DEFUN([gl_LIBSIGSEGV],
 [
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libsigsegv and define LIBSIGSEGV, LTLIBSIGSEGV and INCSIGSEGV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([sigsegv])
-
-  dnl Add $INCSIGSEGV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libsigsegv and not disabled its use
-  dnl via --without-libsigsegv-prefix, he wants to use it.
-  gl_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCSIGSEGV])
-
-  AC_CACHE_CHECK([for libsigsegv], [gl_cv_lib_sigsegv], [
-    gl_cv_lib_sigsegv="no, consider installing GNU libsigsegv"
-    gl_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIBSIGSEGV"
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sigsegv.h>]],
-      [sigsegv_deinstall_handler();])],
-      [gl_cv_lib_sigsegv=yes])
-    LIBS="$gl_save_LIBS"
-  ])
-  if test "$gl_cv_lib_sigsegv" = yes; then
-    AC_DEFINE([HAVE_LIBSIGSEGV], [1],
-      [Define if you have the libsigsegv library.])
-    AC_MSG_CHECKING([how to link with libsigsegv])
-    AC_MSG_RESULT([$LIBSIGSEGV])
-  else
-    dnl If $LIBSIGSEGV didn't lead to a usable library, we don't need
-    dnl $INCSIGSEGV either.
-    CPPFLAGS="$gl_save_CPPFLAGS"
-    LIBSIGSEGV=
-    LTLIBSIGSEGV=
-  fi
-  AC_SUBST([LIBSIGSEGV])
-  AC_SUBST([LTLIBSIGSEGV])
+  AC_LIB_HAVE_LINKFLAGS([sigsegv], [],
+    [#include <sigsegv.h>], [sigsegv_deinstall_handler();],
+    [no, consider installing GNU libsigsegv])
+  dnl Some other autoconf macros and clisp's configure use this variable.
+  gl_cv_lib_sigsegv="$ac_cv_libsigsegv"
 ])