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