Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 25278 invoked by uid 6000); 24 Oct 1997 07:48:10 -0000 Received: (qmail 25254 invoked from network); 24 Oct 1997 07:48:09 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 24 Oct 1997 07:48:09 -0000 Received: (qmail 28135 invoked by uid 500); 24 Oct 1997 07:48:49 -0000 Date: Fri, 24 Oct 1997 00:48:48 -0700 (PDT) From: Dean Gaudet To: new-httpd@apache.org Subject: [PATCH] Break everything Message-ID: Organization: Transmeta Corp. MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org This is a "it's better to break multiplatform stuff early in the beta cycle" patch. It's a bunch of portability patches. PR#849 AIX now uses USE_FCNTL_SERIALIZED_ACCEPT. If this doesn't work somewhere, we want to know now. PR#1267 The AIX/memmove thing was a red herring... we already #define memmove bcopy in regex for *i386 AIX*... which is what the user was reporting on. So do the same thing in conf.h. PR#482, 1246: Various versions of HPUX require Spencer regex. Why guess, why torment ourselves. Just get it over with, force them all to have Spencer regex. PR#977: Some versions of NetBSD don't define __NetBSD__. Clean up the FreeBSD/NetBSD selection code in Configure (the i486 and non-i486 stuff was the same), and define NETBSD to make sure this works. PR#1249: Unixware 2.x requires -lgen for syslog. Ultrix appears to not have syslog (I seem to recall this from the days that I used to work on ultrix as well...). Gemini port. All SVR4 systems have really similar headers, so NET_SIZE_T = size_t is probably correct for all of them. Similarly they're supposed to have shmget(). Given that shmget() means better reliability let's try defining it for all of them. (Martin, ISTR you saying that either shmget or mmap worked for you, I think shmget is more conservative given that it works on solaris and hpux too.) Flame away. Dean Index: CHANGES =================================================================== RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.470 diff -u -r1.470 CHANGES --- CHANGES 1997/10/22 08:26:50 1.470 +++ CHANGES 1997/10/24 07:41:41 @@ -1,5 +1,17 @@ Changes with Apache 1.3b3 + *) PORT: AIX now uses USE_FCNTL_SERIALIZED_ACCEPT. PR#849 + PORT: i386 AIX does not have memmove. PR#1267 + PORT: HPUX now defaults to using Spencer regex. PR#482, 1246 + PORT: Some versions of netbsd don't automatically define + __NetBSD__. Workaround by defining NETBSD. PR#977 + PORT: Unixware 2.x requires -lgen for syslog. PR#1249 + PORT: Ultrix appears to not have syslog. + PORT: Basic Gemini port (treat it like unixware212). + PORT: All SVR4 systems now use NET_SIZE_T = size_t, and + use HAVE_SHMGET. + [Dean Gaudet] + *) Various improvements in detecting config file errors (missing closing directives for , etc. blocks, prohibiting global server settings in blocks, flagging unhandled multiple Index: Configure =================================================================== RCS file: /export/home/cvs/apachen/src/Configure,v retrieving revision 1.161 diff -u -r1.161 Configure --- Configure 1997/10/21 06:41:07 1.161 +++ Configure 1997/10/24 07:41:41 @@ -223,10 +223,12 @@ *-hp-hpux10.*) OS='HP-UX 10' CFLAGS="$CFLAGS -DHPUX10" + DEF_WANTHSREGEX=yes ;; *-hp-hpux*) OS='HP-UX' CFLAGS="$CFLAGS -DHPUX" + DEF_WANTHSREGEX=yes ;; *-sgi-irix64) # Note: We'd like to see patches to compile 64-bit, but for now... @@ -304,14 +306,15 @@ DBM_LIB="" DB_LIB="" ;; - *486-*-freebsd*|*486-*-netbsd*) - OS='FreeBSD/NETBSD on 486' + *-netbsd*) + OS='NetBSD' + CFLAGS="$CFLAGS -DNETBSD" LIBS="$LIBS -lcrypt" DBM_LIB="" DB_LIB="" ;; - *-freebsd*|*-netbsd*) - OS='FreeBSD/NetBSD' + *-freebsd*) + OS='FreeBSD' LIBS="$LIBS -lcrypt" DBM_LIB="" DB_LIB="" @@ -398,17 +401,17 @@ DEF_WANTHSREGEX=yes OS='Unixware' CFLAGS="$CFLAGS -DSVR4 -DNO_LINGCLOSE" - LIBS="$LIBS -lsocket -lnsl -lcrypt" + LIBS="$LIBS -lsocket -lnsl -lcrypt -lgen" ;; *-unixware211) OS='Unixware 2.1.1' CFLAGS="$CFLAGS -DUW" - LIBS="$LIBS -lsocket -lnsl -lcrypt" + LIBS="$LIBS -lsocket -lnsl -lcrypt -lgen" ;; *-unixware212) OS='Unixware 2.1.2' CFLAGS="$CFLAGS -DUW" - LIBS="$LIBS -lsocket -lnsl -lcrypt" + LIBS="$LIBS -lsocket -lnsl -lcrypt -lgen" DBM_LIB="" ;; maxion-*-sysv4*) @@ -419,7 +422,7 @@ ;; *-sni-sysv4*) OS='SVR4' - CFLAGS="$CFLAGS -DSVR4 -D_XPG_IV -DHAVE_MMAP" + CFLAGS="$CFLAGS -DSVR4 -D_XPG_IV" DEF_WANTHSREGEX=yes LIBS="$LIBS -lsocket -lnsl -lc" ;; Index: helpers/GuessOS =================================================================== RCS file: /export/home/cvs/apachen/src/helpers/GuessOS,v retrieving revision 1.31 diff -u -r1.31 GuessOS --- GuessOS 1997/10/02 05:24:58 1.31 +++ GuessOS 1997/10/24 07:41:41 @@ -178,6 +178,11 @@ echo "${MACHINE}-whatever-sysv4"; exit 0 ;; + UnixWare:5:99*:*) + # Gemini, beta release of next rev of unixware + echo "${MACHINE}-whatever-unixware212"; exit 0 + ;; + DYNIX/ptx:4*:*) echo "${MACHINE}-whatever-sysv4"; exit 0 ;; Index: main/conf.h =================================================================== RCS file: /export/home/cvs/apachen/src/main/conf.h,v retrieving revision 1.149 diff -u -r1.149 conf.h --- conf.h 1997/10/22 20:29:34 1.149 +++ conf.h 1997/10/24 07:41:41 @@ -200,6 +200,10 @@ #ifdef NEED_RLIM_T typedef int rlim_t; #endif +#define USE_FCNTL_SERIALIZED_ACCEPT +#ifdef USEBCOPY +#define memmove(a,b,c) bcopy(b,a,c) +#endif #elif defined(ULTRIX) #define HAVE_GMTOFF @@ -211,7 +215,6 @@ #ifndef __ultrix__ /* Hack to check for pre-Ultrix 4.4 cc */ #define const /* Not implemented */ #endif -#define HAVE_SYSLOG #elif defined(OSF1) #define HAVE_GMTOFF @@ -397,9 +400,8 @@ /* A lot of SVR4 systems need this */ #define USE_FCNTL_SERIALIZED_ACCEPT #define HAVE_SYSLOG -#ifdef SNI /* SINIX/ReliantUNIX, probably other SVR4's as well */ #define NET_SIZE_T size_t -#endif /*SNI*/ +#define HAVE_SHMGET #elif defined(UW) #define NO_LINGCLOSE @@ -433,7 +435,7 @@ #define ap_inet_addr inet_network #define HAVE_SYSLOG -#elif defined(__NetBSD__) || defined(__OpenBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(NETBSD) #define HAVE_SYS_RESOURCE_H #define HAVE_GMTOFF #undef NO_KILLPG