Home | History | Annotate | Line # | Download | only in ksh
conf-end.h revision 1.2
      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