From: Martin Kraemer Date: Mon, 8 Oct 2001 15:49:33 +0000 (+0000) Subject: ==Port of Apache 1.3.20 to AtheOS== X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35dc3dbb22eb6c1cd32d6221ca103fa7d2c193f2;p=thirdparty%2Fapache%2Fhttpd.git ==Port of Apache 1.3.20 to AtheOS== Rodrigo Parra Novo writes: I have ported Apache 1.3.20 to AtheOS (A new OS, described on www.atheos.cx), following the rules described by the PORTING document, which can be found in Apache's src/ directory. I'm sending the (rather simple) patch attached. It would be nice if someone from the Apache team could take a look at the patch, and tell me if anything is still missing. It would be also nice if (hopefully) this patch could be added to the current Apache 1.3 branch, on CVS. I (and others) have been running Apache on AtheOS for some time now, and everything seems to work correctly, with the following exceptions: 1. AtheOS does not use mmap() and shmget(), so we are using the ScoreBoard on disk, for now; 2. AtheOS does not support DSO for the moment, as shared libraries are treated a bit differently from the way they are treated on UNIX. Submitted by: Rodrigo Parra Novo Reviewed by: Martin Kraemer git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@91351 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/CHANGES b/src/CHANGES index 6124a139207..d8761819071 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -1,5 +1,8 @@ Changes with Apache 1.3.22 + *) PORT: Support AtheOS (see www.atheos.cx) + [Rodrigo Parra Novo ] + *) Change to the EXPAT rule logic. We can now use the system's expat library if we want, use our own expat-lite or have Configure pick one for us (prefer system, but use expat-lite as a backup). diff --git a/src/Configure b/src/Configure index b14fa9e2856..63efe92494f 100755 --- a/src/Configure +++ b/src/Configure @@ -843,6 +843,12 @@ case "$PLAT" in DBM_LIB="-lgdbm" LIBS="$LIBS -lcrypt $DBM_LIB" ;; + *atheos*) + DEF_WANTSREGEX=yes + OS='AtheOS' + CFLAGS="$CFLAGS -DATHEOS" + LIBS="$LIBS -lcrypt" + ;; *) # default: Catch systems we don't know about OS='Unknown and unsupported OS' echo Sorry, but we cannot grok \"$PLAT\" @@ -1852,6 +1858,16 @@ fi ## to choose for us ('default' - system is prefered if available). ## +# set the default, based on whether expat-lite is bundled. if it is present, +# then we can always include expat. +if [ "x$RULE_EXPAT" = "xdefault" ]; then + if [ -d ./lib/expat-lite/ ]; then + RULE_EXPAT=yes + else + RULE_EXPAT=no + fi +fi + if ./helpers/TestCompile lib expat && [ "x$RULE_EXPAT" != "xno" ]; then echo " + using system Expat" LIBS="$LIBS -lexpat" diff --git a/src/helpers/GuessOS b/src/helpers/GuessOS index 49e6dfaa6e1..45eed624d5d 100755 --- a/src/helpers/GuessOS +++ b/src/helpers/GuessOS @@ -316,6 +316,9 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in CYGWIN*:*:*:*) echo "${MACHINE}-whatever-cygwin"; exit 0 ;; + atheos:*) + echo "${MACHINE}-whatever-atheos"; exit 0 + ;; esac # diff --git a/src/include/ap_config.h b/src/include/ap_config.h index f6f8bbb0590..2b00f7e1cfb 100644 --- a/src/include/ap_config.h +++ b/src/include/ap_config.h @@ -526,6 +526,26 @@ typedef int rlim_t; #define HAVE_SYSLOG 1 #undef HAVE_SYS_RESOURCE_H +#elif defined(ATHEOS) + +#include +#include +#include + +#define HAVE_FCNTL_SERIALIZED_ACCEPT +#define USE_FCNTL_SERIALIZED_ACCEPT + +#undef HAVE_GMTOFF +#undef NO_KILLPG +#undef NO_SETSID +#undef NEED_STRDUP +#define HAVE_SYSLOG 1 + +#ifdef PLATFORM +#undef PLATFORM +#endif +#define PLATFORM "AtheOS" + #elif defined(SCO5) #define HAVE_FCNTL_SERIALIZED_ACCEPT