xref: /minix3/bin/ksh/conf-end.h (revision 2718b5688b1550d32bf379153192626eee37752d)
1 /*	$NetBSD: conf-end.h,v 1.2 1997/01/12 19:11:43 tls Exp $	*/
2 
3 /*
4  * End of configuration stuff for PD ksh.
5  *
6  * RCSid: $NetBSD: conf-end.h,v 1.2 1997/01/12 19:11:43 tls Exp $
7  */
8 
9 #if defined(EMACS) || defined(VI)
10 # define	EDIT
11 #else
12 # undef		EDIT
13 #endif
14 
15 /* Editing implies history */
16 #if defined(EDIT) && !defined(HISTORY)
17 # define HISTORY
18 #endif /* EDIT */
19 
20 /*
21  * if you don't have mmap() you can't use Peter Collinson's history
22  * mechanism.  If that is the case, then define EASY_HISTORY
23  */
24 #if defined(HISTORY) && (!defined(COMPLEX_HISTORY) || !defined(HAVE_MMAP) || !defined(HAVE_FLOCK))
25 # undef COMPLEX_HISTORY
26 # define EASY_HISTORY			/* sjg's trivial history file */
27 #endif
28 
29 /* Can we safely catch sigchld and wait for processes? */
30 #if (defined(HAVE_WAITPID) || defined(HAVE_WAIT3)) \
31     && (defined(POSIX_SIGNALS) || defined(BSD42_SIGNALS))
32 # define JOB_SIGS
33 #endif
34 
35 #if !defined(JOB_SIGS) || !(defined(POSIX_PGRP) || defined(BSD_PGRP))
36 # undef JOBS /* if no JOB_SIGS, no job control support */
37 #endif
38 
39 /* pdksh assumes system calls return EINTR if a signal happened (this so
40  * the signal handler doesn't have to longjmp()).  I don't know if this
41  * happens (or can be made to happen) with sigset() et. al. (the bsd41 signal
42  * routines), so, the autoconf stuff checks what they do and defines
43  * SIGNALS_DONT_INTERRUPT if signals don't interrupt read().
44  * If SIGNALS_DONT_INTERRUPT isn't defined and your compiler chokes on this,
45  * delete the hash in front of the error (and file a bug report).
46  */
47 #ifdef SIGNALS_DONT_INTERRUPT
48   # error pdksh needs interruptable system calls.
49 #endif /* SIGNALS_DONT_INTERRUPT */
50 
51 #ifdef HAVE_GCC_FUNC_ATTR
52 # define GCC_FUNC_ATTR(x)	__attribute__((x))
53 # define GCC_FUNC_ATTR2(x,y)	__attribute__((x,y))
54 #else
55 # define GCC_FUNC_ATTR(x)
56 # define GCC_FUNC_ATTR2(x,y)
57 #endif /* HAVE_GCC_FUNC_ATTR */
58