summaryrefslogtreecommitdiff
path: root/aclocal.m4
diff options
context:
space:
mode:
authorwl <wl>2005-04-30 07:03:13 +0000
committerwl <wl>2005-04-30 07:03:13 +0000
commitec489443c547a071b108cd48b9f4d62cffb23faf (patch)
tree120a1aa2d7ab27ce93887d99e7ecfbd90fe25855 /aclocal.m4
parent92c348a91936ad6e8a9e78bcc70b2fec8d0fa685 (diff)
downloadgroff-ec489443c547a071b108cd48b9f4d62cffb23faf.tar.gz
AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
* aclocal.m4 (GROFF_TYPE_SIGNAL): New function. * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL. * configure, src/include/config.hin: Regenerated. * PROBLEMS: Updated. Update getopt files. * src/include/getopt.h, src/libs/libgroff/getopt.c, src/libs/libgroff/getopt1.c: Updated from GNU libc CVS. * src/include/getopt_int.h: New file (from GNU libc CVS). * src/include/groff-getopt.h: Updated. * src/include/Makefile.sub (HDRS): Add getopt_int.h. * font/devutf8/NOTES: Updated. Bug fix for Win32 relocatable code. Based on a patch from Keith Marshall. * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH' also. * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally. (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m442
1 files changed, 42 insertions, 0 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index d272bc45..2e122d17 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -266,6 +266,48 @@ extern "C" { void srand(unsigned int); }
[AC_MSG_RESULT([int])])
AC_LANG_POP([C++])])
+# In April 2005, autoconf's AC_TYPE_SIGNAL is still broken.
+
+AC_DEFUN([GROFF_TYPE_SIGNAL],
+ [AC_MSG_CHECKING([for return type of signal handlers])
+ for groff_declaration in \
+ 'extern "C" void (*signal (int, void (*)(int)))(int);' \
+ 'extern "C" void (*signal (int, void (*)(int)) throw ())(int);' \
+ 'void (*signal ()) ();'
+ do
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+# undef signal
+#endif
+$groff_declaration
+
+ ]],
+ [[
+
+int i;
+
+ ]])
+ ],
+ [break],
+ [continue])
+ done
+
+ if test -n "$groff_declaration"; then
+ AC_MSG_RESULT([void])
+ AC_DEFINE([RETSIGTYPE], [void],
+ [Define as the return type of signal handlers
+ (`int' or `void').])
+ else
+ AC_MSG_RESULT([int])
+ AC_DEFINE([RETSIGTYPE], [int],
+ [Define as the return type of signal handlers
+ (`int' or `void').])
+ fi])
+
AC_DEFUN([GROFF_SYS_NERR],
[AC_LANG_PUSH([C++])
AC_MSG_CHECKING([for sys_nerr in <errno.h>, <stdio.h>, or <stdlib.h>])