Simplify gl_LIBSIGSEGV.
authorBruno Haible <bruno@clisp.org>
Sun, 26 Apr 2009 16:10:08 +0000 (18:10 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 26 Apr 2009 16:10:08 +0000 (18:10 +0200)
ChangeLog
m4/lib-link.m4
m4/libsigsegv.m4

index 41b018e..1d93452 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-04-26  Bruno Haible  <bruno@clisp.org>
 
 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.
        * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
        u32_conv_from_encoding): Expect a resultbuf argument and return the
        Simplify calling convention of u*_conv_from_encoding.
        * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
        u32_conv_from_encoding): Expect a resultbuf argument and return the
index fcd3391..2144203 100644 (file)
@@ -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,
 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 @@ AC_DEFUN([AC_LIB_LINKFLAGS],
   popdef([Name])
 ])
 
   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 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
 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_DEFUN([AC_LIB_HAVE_LINKFLAGS],
   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
     ac_save_LIBS="$LIBS"
     LIBS="$LIBS $LIB[]NAME"
   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
     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
     AC_MSG_CHECKING([how to link with lib[]$1])
     AC_MSG_RESULT([$LIB[]NAME])
   else
index ecd81f2..a0d7969 100644 (file)
@@ -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,
 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 @@ dnl From Bruno Haible, Sam Steingold.
 
 AC_DEFUN([gl_LIBSIGSEGV],
 [
 
 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"
 ])
 ])