[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
new module 'libsigsegv'
From: |
Bruno Haible |
Subject: |
new module 'libsigsegv' |
Date: |
Mon, 14 Jul 2008 13:16:52 +0200 |
User-agent: |
KMail/1.5.4 |
Sam Steingold wrote:
> OK - I am both proposing a patch AND asking a particular person (Bruno
> Haible).
OK, but please keep bug-gnulib in CC.
> 2008-07-13 Sam Steingold <address@hidden>
>
> Add sigsegv module.
> * modules/sigsegv, m4/sigsegv.m4: New files.
>
>
> ===========================================================
> --- MODULES.html.sh 13 Jul 2008 13:38:33 -0400 1.260
> +++ MODULES.html.sh 13 Jul 2008 13:53:32 -0400
> @@ -1744,6 +1744,7 @@ func_all_modules ()
> func_module fatal-signal
> func_module raise
> func_module strsignal
> + func_module sigsegv
> func_end_table
>
> element="Command-line arguments"
> ===========================================================
This is a welcome addition to gnulib, because Eric Blake considers to use
libsigsegv also for GNU m4.
I did the following changes:
- changed the module and file names from 'sigsegv' to 'libsigsegv', since
the module tests for libsigsegv, not for SIGSEGV. Likewise, define
HAVE_LIBSIGSEGV not HAVE_SIGSEGV.
- libsigsegv.m4:
- changed the copyright to match the one used by gnulib/m4/*.m4 files,
- removed trailing 'dnl' that serve no other purpose than to reduce
whitespace in the resulting configure file (an optimization that we have
given up a decade ago already),
- fixed m4 quoting: the first argument of AC_LANG_PROGRAM must be quoted
with [[ ]] not [ ],
- modules/libsigsegv:
- Please use always the complete TEMPLATE file, don't omit sections like
Makefile.am even if they are empty,
- configure.ac: You don't need an AC_REQUIRE around gl_LIBSIGSEGV.
- Added an Include and Link section.
- MODULES.html.sh:
- classified the module under POSIX extensions rather than ANSI C extensions
since ANSI C does not have the notion of "page faults" or SIGSEGV.
Your changes to these files were small enough (including in clisp
"cvs diff -u -r1.2 -r1.5 src/m4/sigsegv.m4") that it probably does not require
a copyright assignment to the FSF from you. For next time, could you please
make sure you send a copyright assignment to the FSF for your contributions
to gnulib? If you already have such an assignment on file, fine and sorry for
the reminder.
Bruno
2008-07-14 Sam Steingold <address@hidden>
Bruno Haible <address@hidden>
New module libsigsegv.
* modules/libsigsegv: New file.
* m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
modifications.
* MODULES.html.sh (Signal handling): New section.
*** MODULES.html.sh.orig 2008-07-14 13:12:37.000000000 +0200
--- MODULES.html.sh 2008-07-14 13:08:01.000000000 +0200
***************
*** 2380,2385 ****
--- 2380,2397 ----
func_module openmp
func_end_table
+ element="Signal handling"
+ element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+ func_section_wrap posix_ext_signal
+ func_wrap H3
+ func_echo "$element"
+
+ func_begin_table
+ func_module c-stack
+ func_module libsigsegv
+ func_module sig2str
+ func_end_table
+
element="Internationalization functions"
element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
func_section_wrap posix_ext_i18n
***************
*** 2877,2883 ****
func_module argz
func_module byteswap
func_module exitfail
- func_module c-stack
func_module error
func_module extensions
func_module getdomainname
--- 2889,2894 ----
***************
*** 2891,2897 ****
func_module quotearg
func_module quote
func_module readutmp
- func_module sig2str
func_module sysexits
func_module verror
func_module visibility
--- 2902,2907 ----
======================== modules/libsigsegv =================================
Description:
Handle page faults in user mode.
Files:
m4/libsigsegv.m4
Depends-on:
havelib
configure.ac:
gl_LIBSIGSEGV
Makefile.am:
Include:
#if HAVE_LIBSIGSEGV
# include <sigsegv.h>
#endif
Link:
$(LTLIBSIGSEGV) when linking with libtool, $(LIBSIGSEGV) otherwise
License:
GPL
Maintainer:
Bruno Haible
========================== m4/libsigsegv.m4 =================================
# libsigsegv.m4 serial 1
dnl Copyright (C) 2002-2003, 2008 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 with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible, Sam Steingold.
AC_PREREQ(2.61)
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)
])