3 ?RCS: Copyright (c) 1996, Andy Dougherty
4 ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
6 ?RCS: You may redistribute only under the terms of the Artistic License,
7 ?RCS: as specified in the README file that comes with the distribution.
8 ?RCS: You may reuse parts of this distribution only within the terms of
9 ?RCS: that same Artistic License; a copy of which may be found at the root
10 ?RCS: of the source tree for dist 4.0.
12 ?RCS: You may distribute under the terms of either the GNU General Public
13 ?RCS: License or the Artistic License, as specified in the README file.
15 ?RCS: $Log: d_sigsetjmp.U,v $
16 ?RCS: Revision 3.0.1.1 1997/02/28 15:44:33 ram
17 ?RCS: patch61: created
19 ?MAKE:d_sigsetjmp: Setvar cat +cc +ccflags +ldflags libs rm
20 ?MAKE: -pick add $@ %<
22 ?S: This variable conditionally defines the HAS_SIGSETJMP symbol,
23 ?S: which indicates that the sigsetjmp() routine is available to
24 ?S: call setjmp() and optionally save the process's signal mask.
27 ?C: This variable indicates to the C program that the sigsetjmp()
28 ?C: routine is available to save the calling process's registers
29 ?C: and stack environment for later use by siglongjmp(), and
30 ?C: to optionally save the process's signal mask. See
31 ?C: Sigjmp_buf, Sigsetjmp, and Siglongjmp.
34 ?C: This is the buffer type to be used with Sigsetjmp and Siglongjmp.
37 ?C: This macro is used in the same way as sigsetjmp(), but will invoke
38 ?C: traditional setjmp() if sigsetjmp isn't available.
39 ?C: See HAS_SIGSETJMP.
42 ?C: This macro is used in the same way as siglongjmp(), but will invoke
43 ?C: traditional longjmp() if siglongjmp isn't available.
44 ?C: See HAS_SIGSETJMP.
46 ?H:?%<:#$d_sigsetjmp HAS_SIGSETJMP /**/
47 ?H:?%<:#ifdef HAS_SIGSETJMP
48 ?H:?%<:#define Sigjmp_buf sigjmp_buf
49 ?H:?%<:#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
50 ?H:?%<:#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
52 ?H:?%<:#define Sigjmp_buf jmp_buf
53 ?H:?%<:#define Sigsetjmp(buf,save_mask) setjmp((buf))
54 ?H:?%<:#define Siglongjmp(buf,retval) longjmp((buf),(retval))
57 ?W:%<:Sigjmp_buf Sigsetjmp Siglongjmp
60 : see if sigsetjmp exists
61 ?X: We can't check for these symbols with Inlibc because sigsetjmp
62 ?X: is (sometimes? always?) a macro under GCC
64 case "$d_sigsetjmp" in
79 if $cc $ccflags $ldflags -o set set.c $libs > /dev/null 2>&1 ; then
80 if ./set >/dev/null 2>&1; then
81 echo "POSIX sigsetjmp found." >&4
85 Uh-Oh! You have POSIX sigsetjmp and siglongjmp, but they do not work properly!!
91 echo "sigsetjmp not found." >&4
96 case "$d_sigsetjmp" in
97 $define) echo "POSIX sigsetjmp found." >&4;;
98 $undef) echo "sigsetjmp not found." >&4;;