You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ma...@hyperreal.org on 1999/12/09 18:19:49 UTC

cvs commit: apache-1.3/src/support Makefile.tmpl htdigest.c

martin      99/12/09 09:19:49

  Modified:    src      CHANGES Configure Makefile.tmpl
               .        INSTALL Makefile.tmpl configure
               src/helpers GuessOS TestCompile binbuild.sh
               src/include ap_config.h
               src/main http_main.c util_script.c
               src/support Makefile.tmpl htdigest.c
  Log:
  OS specific patches for IBM's OS/390.
  
  Submitted by:   Ovies Brabson <ov...@us.ibm.com>
  Reviewed by:    Martin Kraemer, Paul Gilmartin
  
  Revision  Changes    Path
  1.1477    +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1476
  retrieving revision 1.1477
  diff -u -r1.1476 -r1.1477
  --- CHANGES	1999/12/09 12:04:59	1.1476
  +++ CHANGES	1999/12/09 17:19:28	1.1477
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.10
   
  +  *) OS: Added first cut at support for IBM's OS/390.
  +     [Ovies Brabson <ov...@us.ibm.com>]
  +
     *) Replace all occurrences of "\012\015" by a macro CRLF. This makes
        the code (somewhat) more readable, and improves the portability
        to character sets other than ASCII (e.g., EBCDIC).
  
  
  
  1.378     +13 -1     apache-1.3/src/Configure
  
  Index: Configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.377
  retrieving revision 1.378
  diff -u -r1.377 -r1.378
  --- Configure	1999/12/07 12:19:48	1.377
  +++ Configure	1999/12/09 17:19:30	1.378
  @@ -783,6 +783,14 @@
   	CFLAGS="-D_TANDEM_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
   	CC='c89'
   	;;
  +    *-IBM-OS390*)
  +       OS='OS390'
  +       OSDIR='os/os390'
  +       CC='c89'
  +       CFLAGS="$CFLAGS -DOS390 -DCHARSET_EBCDIC -D_ALL_SOURCE"
  +       DEF_WANTHSREGEX=yes
  +       LIBS="$LIBS"
  +       ;;
       *) # default: Catch systems we don't know about
   	OS='Unknown and unsupported OS'
       	echo Sorry, but we cannot grok \"$PLAT\"
  @@ -830,6 +838,7 @@
   echo >>Makefile.config "INCDIR=\$(SRCDIR)/include"
   echo >>Makefile.config "INCLUDES0=-I\$(OSDIR) -I\$(INCDIR)"
   echo >>Makefile.config "SHELL=$SHELL"
  +echo >>Makefile.config "OS=$OS"
   
   ####################################################################
   ## And adjust/override WANTHSREGEX as needed
  @@ -2237,7 +2246,10 @@
   	@for i in \$(MODULES) ""; do \\
   	  if [ "x\$\$i" != "x" ]; then \\
   	    echo "===> \$(SDP)modules/\$\$i"; \\
  -		(cd \$\$i && \$(MAKE) \$(MFLAGS_STATIC) SDP='\$(SDP)' CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1; \\
  +		case "x\$(OS)" in \\
  +		  xOS390 | xTPF) (cd \$\$i && \$(MAKE) SDP='\$(SDP)' \$@) || exit 1;; \\
  +		              *) (cd \$\$i && \$(MAKE) \$(MFLAGS_STATIC) SDP='\$(SDP)' CC='\$(CC)' AUX_CFLAGS='\$(CFLAGS)' RANLIB='\$(RANLIB)' \$@) || exit 1;; \\
  +		esac; \\
   		echo "<=== \$(SDP)modules/\$\$i"; \\
   	  fi; \\
   	done
  
  
  
  1.115     +4 -1      apache-1.3/src/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v
  retrieving revision 1.114
  retrieving revision 1.115
  diff -u -r1.114 -r1.115
  --- Makefile.tmpl	1999/08/19 08:54:14	1.114
  +++ Makefile.tmpl	1999/12/09 17:19:31	1.115
  @@ -63,7 +63,10 @@
   subdirs:
   	@for i in $(SUBDIRS); do \
   		echo "===> $(SDP)$$i"; \
  -		( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1; \
  +		case ".$(OS)" in \
  +		  .OS390 | .TPF) ( cd $$i && $(MAKE) SDP='$(SDP)' ) || exit 1;; \
  +		              *) ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1;; \
  +		esac; \
   		echo "<=== $(SDP)$$i"; \
   	done
   
  
  
  
  1.61      +10 -0     apache-1.3/INSTALL
  
  Index: INSTALL
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/INSTALL,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- INSTALL	1999/08/29 10:17:07	1.60
  +++ INSTALL	1999/12/09 17:19:35	1.61
  @@ -160,6 +160,8 @@
                                [--without-support]       [--suexec-gidmin=GID]
                                [--without-confadjust]    [--suexec-safepath=PATH]
                                [--without-execstrip]
  +			     [--server-uid=UID]
  +			     [--server-gid=GID]
   
        Use the CC, OPTIM, CFLAGS, INCLUDES, LDFLAGS, LIBS, CFLAGS_SHLIB,
        LD_SHLIB, LDFLAGS_SHLIB, LDFLAGS_SHLIB_EXPORT, RANLIB, DEPS and TARGET
  @@ -413,6 +415,14 @@
    
        Use the --verbose option to enable additional verbose messages.
        
  +     Use the --server-uid option to specify the user ID you want the server to run
  +     as. If not specified the server will run as user nobody.  If the user ID
  +     specified is different than the ID of the user starting the server, you need to
  +     start the server as root.
  +
  +     Use the --server-gid option to specify the group ID you want the server user ID to
  +     be a member of.  If not specified, the group ID will be #-1.
  +
     4. Building the package
        --------------------
        
  
  
  
  1.94      +10 -1     apache-1.3/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/Makefile.tmpl,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- Makefile.tmpl	1999/12/02 21:00:19	1.93
  +++ Makefile.tmpl	1999/12/09 17:19:35	1.94
  @@ -69,6 +69,9 @@
   #   safe environment
   SHELL           = @SHELL@
   
  +#   what platform are we on
  +PLATFORM	= @PLATFORM@
  +
   #   paths to the source tree parts
   TOP             = .
   SRC             = @SRC@
  @@ -176,11 +179,17 @@
   
   #   build the standard stuff
   build-std:
  -	@cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) SDP=$(SRC)/ all
  +	@case "x$(PLATFORM)" in \
  +	  x*390*) _C89_STEPS="0xffffffff"; export _C89_STEPS;; \
  +	esac; \
  +	cd $(TOP)/$(SRC); $(MAKE) $(MFLAGS) SDP=$(SRC)/ all
   
   #   build the additional support stuff
   build-support:
   	@echo "===> $(SRC)/support"; \
  +	case "x$(PLATFORM)" in \
  +	  x*390*) _C89_STEPS="0xffffffff"; export _C89_STEPS;; \
  +	esac; \
   	cd $(TOP)/$(SRC)/support; $(MAKE) $(MFLAGS) all || exit 1; \
   	if [ ".$(suexec)" = .1 ]; then \
   	    $(MAKE) $(MFLAGS) \
  
  
  
  1.113     +51 -2     apache-1.3/configure
  
  Index: configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/configure,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- configure	1999/12/07 14:14:59	1.112
  +++ configure	1999/12/09 17:19:35	1.113
  @@ -134,6 +134,7 @@
   fi
   
   ##
  +##
   ##  determine path to (optional) Perl interpreter
   ##
   PERL=no-perl-on-this-system
  @@ -197,6 +198,16 @@
   esac
   
   ##
  +## Request USTAR format for tar files on OS/390
  +## Request that prelink step be used for 390
  +##
  +case $PLATFORM in
  +    *-IBM-OS390*)
  +       TAROPT="${TAROPT}U"
  +       ;;
  +esac
  +
  +##
   ##  determine path to sh, it's not /bin/sh on ALL systems
   ##
   SHELL=/bin/sh
  @@ -347,6 +358,12 @@
   esac
   
   ##
  +##  Initialize server user ID and group ID variables
  +##
  +conf_user=""
  +conf_group=""
  +
  +##
   ##  Iterate over the command line options the first time.
   ##
   ##  This time we pre-process options which need high priority 
  @@ -417,6 +434,8 @@
               echo " --without-support      disable the build and installation of support tools"
               echo " --without-confadjust   disable the user/situation adjustments in config"
               echo " --without-execstrip    disable the stripping of executables on installation"
  +            echo " --server-uid=UID       set the user ID the web server should run as [nobody]"
  +            echo " --server-gid=GID       set the group ID the web server UID is a memeber of [-1]"
               echo ""
               echo "suEXEC options:"
               echo " --enable-suexec        enable the suEXEC feature"
  @@ -954,6 +973,22 @@
               suexec_safepath="$apc_optarg"
               suexec_ok=1
               ;;
  +        --server-uid=*)
  +            conf_user="$apc_optarg"
  +	    # protect the '#' against interpretation as comment
  +	    case x"${conf_user}" in
  +              "#"*)  conf_user="\\\\${conf_user}";;
  +              "\\#"*)conf_user="\\${conf_user}";;
  +            esac
  +            ;;
  +        --server-gid=*)
  +            conf_group="$apc_optarg"
  +	    # protect the '#' against interpretation as comment
  +	    case x"${conf_group}" in
  +              "#"*)  conf_group="\\\\${conf_group}";;
  +              "\\#"*)conf_group="\\${conf_group}";;
  +            esac
  +            ;;
           * )
               echo "configure:Error: invalid option '$apc_option'" 1>&2
               exit 1
  @@ -1098,8 +1133,6 @@
   ##  on platforms using NIS. But then you propably do not want a
   ##  UID/GID as production oriented as a web server in NIS anyway.
   ##
  -conf_user="nobody"
  -conf_group="\\\\#-1"
   if [ "x$port" != "x" ]; then
       conf_port=$port
   else
  @@ -1109,12 +1142,15 @@
   conf_servername="new.host.name"
   if [ "x$confadjust" = "x1" ]; then
       if [ -f /etc/passwd ]; then
  +        if [ "x$conf_user" = "x" ]; then
           for uid in nobody www daemon demon http httpd; do 
               if [ "x`egrep \^${uid}: /etc/passwd`" != "x" ]; then
                   conf_user="$uid"
                   break
               fi
           done
  +        fi
  +        if [ "x$conf_group" = "x" ]; then
           for gid in nobody nogroup www daemon demon http httpd; do 
               if [ "x`egrep \^${gid}: /etc/group`" != "x" ]; then
                   conf_group="$gid"
  @@ -1122,6 +1158,7 @@
               fi
           done
       fi
  +    fi
       if [ "x`$aux/getuid.sh`" != "x0" -a "x$port" = "x" ]; then
           conf_port="8080"
       fi
  @@ -1130,6 +1167,17 @@
   fi
    
   ##
  +## Default server user id and group id if not specified on configure invocation and none
  +## of the ids in /etc/passwd or /etc/group worked.
  +##
  +if [ "x$conf_user" = "x" ]; then
  +    conf_user="nobody"
  +fi
  +if [ "x$conf_group" = "x" ]; then
  +    conf_group="\\\\#-1"
  +fi
  +
  +##
   ##  determine prefix-relative paths for directories
   ##  because Apache supports them for the -d and -f 
   ##  options, the LoadModule directive, etc.
  @@ -1201,6 +1249,7 @@
       echo "Creating $mkf"
   fi
   sed <Makefile.tmpl >$mkf \
  +-e "s%@PLATFORM@%$PLATFORM%g" \
   -e "s%@PERL@%$PERL%g" \
   -e "s%@TAR@%$TAR%g" \
   -e "s%@TAROPT@%$TAROPT%g" \
  
  
  
  1.65      +3 -0      apache-1.3/src/helpers/GuessOS
  
  Index: GuessOS
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/helpers/GuessOS,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- GuessOS	1999/11/28 11:24:27	1.64
  +++ GuessOS	1999/12/09 17:19:40	1.65
  @@ -279,6 +279,9 @@
       *:*:*:"DRS 6000")
           echo "drs6000-whatever-whatever"; exit 0;
   	;;
  +    OS/390:*)
  +        echo "${MACHINE}-IBM-OS390-${RELEASE}-${VERSION}"; exit 0;
  +        ;;
   esac
   
   #
  
  
  
  1.35      +6 -4      apache-1.3/src/helpers/TestCompile
  
  Index: TestCompile
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/helpers/TestCompile,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- TestCompile	1999/07/21 14:32:55	1.34
  +++ TestCompile	1999/12/09 17:19:42	1.35
  @@ -1,6 +1,6 @@
   #!/bin/sh
   exstat=1
  -trap 'rm -f Makefile dummy dummy.exe testfunc.c testfunc testfunc.exe; exit $exstat' 0 1 2 3 15
  +trap 'rm -f Makefile dummy ../dummy.o dummy.exe testfunc.c testfunc ../testfunc.o testfunc.exe; exit $exstat' 0 1 2 3 15
   #
   # Yet another Apache Configure helper script.
   # This script tests certain aspects of the compilation
  @@ -191,7 +191,8 @@
   #
   # Get makefile settings and build a basic Makefile
   #
  -rm -f dummy
  +rm -f dummy ../dummy.o testfunc ../testfunc.o
  +
   cat ../Makefile.config > Makefile
   cat <<EOF >> Makefile
   CFLAGS=\$(OPTIM) \$(CFLAGS1) \$(EXTRA_CFLAGS)
  @@ -200,10 +201,10 @@
   LDFLAGS=\$(LDFLAGS1) \$(EXTRA_LDFLAGS)
   
   dummy:
  -	cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) helpers/dummy.c -o helpers/dummy $TLIB \$(LIBS)
  +	cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) -o helpers/dummy $TLIB \$(LIBS) helpers/dummy.c
   
   testfunc:
  -	cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) helpers/testfunc.c -o helpers/testfunc $TLIB \$(LIBS)
  +	cd ..; \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) -o helpers/testfunc $TLIB \$(LIBS) helpers/testfunc.c
   EOF
   
   # Now run that Makefile
  @@ -221,3 +222,4 @@
       fi
       exstat=0
   fi
  +
  
  
  
  1.14      +9 -4      apache-1.3/src/helpers/binbuild.sh
  
  Index: binbuild.sh
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/helpers/binbuild.sh,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- binbuild.sh	1999/08/13 03:26:29	1.13
  +++ binbuild.sh	1999/12/09 17:19:42	1.14
  @@ -6,12 +6,14 @@
   # This script falls under the Apache License.
   # See http://www.apache.org/docs/LICENSE
   
  -
  -CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-shared=max"
  +OS=`src/helpers/GuessOS`
  +case "x$OS" in
  +  x*390) CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-module=log_agent --enable-module=log_referer --enable-module=example --enable-module=mmap_static";;
  +      *) CONFIGPARAM="--with-layout=BinaryDistribution --enable-module=most --enable-shared=max";;
  +esac
   APDIR=`pwd`
   APDIR=`basename $APDIR`
   VER=`echo $APDIR |sed s/apache_//`
  -OS=`src/helpers/GuessOS`
   TAR="`src/helpers/PrintPath tar`"
   GTAR="`src/helpers/PrintPath gtar`"
   GZIP="`src/helpers/PrintPath gzip`"
  @@ -269,7 +271,10 @@
     else
       if [ "x$TAR" != "x" ]
       then
  -      $TAR -cf ../apache_$VER-$OS.tar -C .. apache_$VER
  +      case "x$OS" in
  +        x*390) $TAR -cfU ../apache_$VER-$OS.tar -C .. apache_$VER;;
  +	    *) $TAR -cf ../apache_$VER-$OS.tar -C .. apache_$VER;;
  +      esac
         if [ "x$GZIP" != "x" ]
         then
           $GZIP ../apache_$VER-$OS.tar
  
  
  
  1.279     +23 -0     apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.278
  retrieving revision 1.279
  diff -u -r1.278 -r1.279
  --- ap_config.h	1999/12/08 23:02:23	1.278
  +++ ap_config.h	1999/12/09 17:19:43	1.279
  @@ -949,6 +949,29 @@
   #define NO_KILLPG
   #define NEED_INITGROUPS
   #define NO_SLACK
  +
  +#elif defined(OS390)                /* IBM OS/390 Operating System      */
  +#define HAVE_MMAP
  +#define HAVE_SHMGET
  +#define USE_SHMGET_SCOREBOARD
  +#define USE_MMAP_FILES
  +#define USE_FCNTL_SERIALIZED_ACCEPT
  +#define _POSIX_SOURCE
  +#include <signal.h>
  +#define NSIG SIGDUMP+1
  +#define JMP_BUF sigjmp_buf
  +#define _XOPEN_SOURCE_EXTENDED 1
  +#define _OPEN_MSGQ_EXT
  +#define _XOPEN_SOURCE
  +#define SHM_R S_IRUSR
  +#define SHM_W S_IWUSR
  +#include <sys/time.h>
  +#include <sys/types.h>
  +#include <sys/msg.h>
  +#include <sys/socket.h>
  +#define NET_SIZE_T size_t
  +#define NEED_HASHBANG_EMUL
  +
   #else
   /* Unknown system - Edit these to match */
   #ifdef BSD
  
  
  
  1.484     +1 -1      apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.483
  retrieving revision 1.484
  diff -u -r1.483 -r1.484
  --- http_main.c	1999/12/08 18:51:03	1.483
  +++ http_main.c	1999/12/09 17:19:44	1.484
  @@ -116,7 +116,7 @@
   #endif
   #ifdef WIN32
   #include "../os/win32/getopt.h"
  -#elif !defined(BEOS) && !defined(TPF) && !defined(NETWARE)
  +#elif !defined(BEOS) && !defined(TPF) && !defined(NETWARE) && !defined(OS390)
   #include <netinet/tcp.h>
   #endif
   #ifdef HAVE_BSTRING_H
  
  
  
  1.149     +1 -1      apache-1.3/src/main/util_script.c
  
  Index: util_script.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v
  retrieving revision 1.148
  retrieving revision 1.149
  diff -u -r1.148 -r1.149
  --- util_script.c	1999/12/09 12:05:04	1.148
  +++ util_script.c	1999/12/09 17:19:45	1.149
  @@ -250,7 +250,7 @@
   	}
       }
   
  -    if (!(env_path = getenv("PATH"))) {
  +    if (!(env_path = ap_pstrdup(r->pool, getenv("PATH")))) {
   	env_path = DEFAULT_PATH;
       }
   
  
  
  
  1.31      +6 -6      apache-1.3/src/support/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/support/Makefile.tmpl,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- Makefile.tmpl	1999/08/10 14:37:18	1.30
  +++ Makefile.tmpl	1999/12/09 17:19:48	1.31
  @@ -14,19 +14,19 @@
   all: $(TARGETS)
   
   htpasswd: htpasswd.o
  -	$(CC) $(CFLAGS) htpasswd.o -o htpasswd $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o htpasswd $(LDFLAGS) htpasswd.o $(LIBS)
   
   htdigest: htdigest.o
  -	$(CC) $(CFLAGS) htdigest.o -o htdigest $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o htdigest $(LDFLAGS) htdigest.o $(LIBS)
   
   rotatelogs: rotatelogs.o
  -	$(CC) $(CFLAGS) rotatelogs.o -o rotatelogs $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o rotatelogs $(LDFLAGS) rotatelogs.o $(LIBS)
   
   logresolve: logresolve.o
  -	$(CC) $(CFLAGS) logresolve.o -o logresolve $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o logresolve $(LDFLAGS) logresolve.o $(LIBS)
   
   ab: ab.o
  -	$(CC) $(CFLAGS) ab.o -o ab $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o ab $(LDFLAGS) ab.o $(LIBS)
   
   apxs: apxs.pl
   	sed <apxs.pl >apxs \
  @@ -39,7 +39,7 @@
   	    -e 's%@LIBS_SHLIB@%$(LIBS_SHLIB)%g' && chmod a+x apxs
   
   suexec: suexec.o
  -	$(CC) $(CFLAGS) suexec.o -o suexec $(LDFLAGS) $(LIBS)
  +	$(CC) $(CFLAGS) -o suexec $(LDFLAGS) suexec.o $(LIBS)
   
   clean:
   	rm -f $(TARGETS) *.o
  
  
  
  1.28      +1 -1      apache-1.3/src/support/htdigest.c
  
  Index: htdigest.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/support/htdigest.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- htdigest.c	1999/10/21 20:46:31	1.27
  +++ htdigest.c	1999/12/09 17:19:48	1.28
  @@ -72,7 +72,7 @@
   #endif
   #include "ap.h"
   #include "ap_md5.h"
  -#if defined(MPE) || defined(QNX) || defined(WIN32) || defined(__TANDEM)
  +#if defined(MPE) || defined(QNX) || defined(WIN32) || defined(__TANDEM) || defined(OS390)
   #include <signal.h>
   #else
   #include <sys/signal.h>