diff options
Diffstat (limited to 'APACHE_1_3_42/src/helpers/GuessOS')
-rwxr-xr-x | APACHE_1_3_42/src/helpers/GuessOS | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/APACHE_1_3_42/src/helpers/GuessOS b/APACHE_1_3_42/src/helpers/GuessOS new file mode 100755 index 0000000000..ea431ac2ae --- /dev/null +++ b/APACHE_1_3_42/src/helpers/GuessOS @@ -0,0 +1,377 @@ +#!/bin/sh +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# Simple OS/Platform guesser. Similar to config.guess but +# much, much smaller. Since it was developed for use with +# Apache, it follows under Apache's regular licensing +# (see http://www.apache.org/docs/LICENSE) with one specific +# addition: Any changes or additions to this script should be +# Emailed to the Apache group (apache@apache.org). +# +# Initially written by Jim Jagielski for the Apache configuration mechanism +# +# Be as similar to the output of config.guess/config.sub +# as possible. + +# Handle TPF before the other operating systems +# since it's compiled on non-TPF platforms. +# This keeps GuessOS from returning incorrect +# uname values for TPF: +if [ "x$TPF" = "xYES" ]; then + echo "TPF" + exit 0 +fi + +# First get uname entries that we use below + +MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown" +RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown" +SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown" +VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown" + +# Some HP machines have slashes. +MACHINE=`echo ${MACHINE}|sed -e 's/\//_/'` + +# Now test for ISC and SCO, since it is has a braindamaged uname. +# +# We need to work around FreeBSD 1.1.5.1 +XREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'` +if [ "x$XREL" != "x" ]; then + if [ -f /etc/kconfig ]; then + case "$XREL" in + 4.0|4.1) + echo "${MACHINE}-whatever-isc4"; exit 0 + ;; + esac + else + case "$XREL" in + 3.2v4.2) + echo "whatever-whatever-sco3"; exit 0 + ;; + 3.2v5.0*) + echo "whatever-whatever-sco5"; exit 0 + ;; + 4.2MP) + if [ "x$VERSION" = "x2.1.1" ]; then + echo "${MACHINE}-whatever-unixware211"; exit 0 + elif [ "x$VERSION" = "x2.1.2" ]; then + echo "${MACHINE}-whatever-unixware212"; exit 0 + else + echo "${MACHINE}-whatever-unixware2"; exit 0 + fi + ;; + 4.2) + echo "whatever-whatever-unixware1"; exit 0 + ;; + 5) + case "$VERSION" in + 7*) + echo "${MACHINE}-whatever-unixware7"; exit 0 + ;; + 8*) + echo "${MACHINE}-whatever-OpenUNIX"; exit 0 + ;; + esac + ;; + esac + fi +fi +# Now we simply scan though... In most cases, the SYSTEM info is enough +# +case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in + MiNT:*) + echo "m68k-atari-mint"; exit 0 + ;; + A/UX:*) + echo "m68k-apple-aux3"; exit 0 + ;; + + AIX:*) + echo "${MACHINE}-ibm-aix${VERSION}.${RELEASE}"; exit 0 + ;; + + dgux:*) + echo "${MACHINE}-dg-dgux"; exit 0 + ;; + + HI-UX:*) + echo "${MACHINE}-hi-hiux"; exit 0 + ;; + + HP-UX:*) + HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo "${MACHINE}-hp-hpux${HPUXVER}"; exit 0 + ;; + + IRIX:*) + if [ -f /usr/lib32/mips4/libm.so ]; then + echo "${MACHINE}-sgi-irix32"; exit 0 + else + echo "${MACHINE}-sgi-irix"; exit 0 + fi + ;; + + IRIX64:*) + echo "${MACHINE}-sgi-irix64"; exit 0 + ;; + + Linux:2.0.*) + echo "${MACHINE}-whatever-linux20"; exit 0 + ;; + + Linux:[2-9].*) + # This handles linux 2.2 and above (2.4, ...) + # Don't worry if you don't really have a Linux-2.2 + echo "${MACHINE}-whatever-linux22"; exit 0 + ;; + + Linux:1.*) + echo "${MACHINE}-whatever-linux1"; exit 0 + ;; + + GNU:*) + echo "${MACHINE}-GNU-GNU/Hurd"; exit 0 + ;; + + LynxOS:*) + echo "${MACHINE}-lynx-lynxos"; exit 0 + ;; + + BSD/386:*:*:*486*|BSD/OS:*:*:*:*486*) + echo "i486-whatever-bsdi"; exit 0 + ;; + + BSD/386|BSD/OS:3.*) + echo "${MACHINE}-whatever-bsdi3"; exit 0 + ;; + + BSD/386:*|BSD/OS:*) + echo "${MACHINE}-whatever-bsdi"; exit 0 + ;; + + FreeBSD:*:*:*486*) + FREEBSDVERS=`echo ${RELEASE}|sed -e 's/[-(].*//'` + echo "i486-whatever-freebsd${FREEBSDVERS}"; exit 0 + ;; + + FreeBSD:*) + FREEBSDVERS=`echo ${RELEASE}|sed -e 's/[-(].*//'` + echo "${MACHINE}-whatever-freebsd${FREEBSDVERS}"; exit 0 + ;; + + NetBSD:*:*:*486*) + echo "i486-whatever-netbsd"; exit 0 + ;; + + NetBSD:*) + echo "${MACHINE}-whatever-netbsd"; exit 0 + ;; + + OpenBSD:*) + OPENBSDVERS=`echo ${RELEASE}|sed -e 's/[-(].*//'` + echo "${MACHINE}-whatever-openbsd${OPENBSDVERS}"; exit 0 + ;; + + OSF1:*:*:*alpha*) + echo "${MACHINE}-dec-osf"; exit 0 + ;; + + NONSTOP_KERNEL:*:*:*) + echo "${MACHINE}-tandem-oss"; exit 0; + ;; + + QNX:*) + if [ "$VERSION" -gt 422 ]; then + echo "${MACHINE}-qssl-qnx32" + else + echo "${MACHINE}-qssl-qnx" + fi + exit 0 + ;; + + Paragon*:*:*:*) + echo "i860-intel-osf1"; exit 0 + ;; + + SunOS:5.*) + SOLVER=`echo ${RELEASE}|awk -F. '{ + if (NF < 3) + printf "2%s0\n",$2 + else + printf "2%s%s\n",$2,$3 + }'` + echo "${MACHINE}-sun-solaris2.${SOLVER}"; exit 0 + ;; + + SunOS:*) + echo "${MACHINE}-sun-sunos4"; exit 0 + ;; + + UNIX_System_V:4.*:*) + echo "${MACHINE}-whatever-sysv4"; exit 0 + ;; + + unix:3.0.9*:*:88k) + echo "${MACHINE}-encore-sysv4"; exit 0 + ;; + + *:4*:R4*:m88k) + 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*:*:i386) + PTXVER=`echo ${VERSION}|sed -e 's/[^.]//'` + echo "${MACHINE}-sequent-ptx${PTXVER}"; exit 0 + ;; + + *:3.2.0:*:i386) + # uname on DYNIX/ptx below V4.0.0 is brain dead + PTXVER=`echo ${VERSION}|sed -e 's/[^.]//'` + echo "${MACHINE}-sequent-ptx${PTXVER}"; exit 0 + ;; + + *:4.0:3.0:[345][0-9]?? | *:4.0:3.0:3[34]??[/,]* | library:*) + echo "x86-ncr-sysv4"; exit 0 + ;; + + ULTRIX:*) + echo "${MACHINE}-unknown-ultrix"; exit 0 + ;; + + SINIX-?:* | ReliantUNIX-?:*) + echo "${MACHINE}-siemens-sysv4"; exit 0 + ;; + + POSIX*BS2000) + echo "${MACHINE}-siemens-sysv4"; exit 0 + ;; + + machten:*) + echo "${MACHINE}-tenon-${SYSTEM}"; exit 0; + ;; + + ConvexOS:*:11.*:*) + echo "${MACHINE}-v11-${SYSTEM}"; exit 0; + ;; + + UNIX_SV:*:*:maxion) + echo "${MACHINE}-ccur-sysv4"; exit 0; + ;; + + PowerMAX_OS:*:*:Night_Hawk) + MACHINE=`uname -p` + echo "${MACHINE}-concurrent-powermax"; exit 0; + ;; + + UNIX_SV:*) + if [ -d /usr/nec ];then + echo "mips-nec-sysv4"; exit 0; + fi + ;; + + NonStop-UX:4.[02]*:[BC]*:*) + echo "${MACHINE}-tandem-sysv4"; exit 0; + ;; + + NonStop-UX:*:*:*) + echo "${MACHINE}-compaq-sysv4"; exit 0; + ;; + + Rhapsody:*:*:*) + case "${MACHINE}" in + Power*) MACHINE=powerpc ;; + esac + echo "${MACHINE}-apple-rhapsody${RELEASE}"; exit 0 + ;; + + Darwin:*:*:*) + MACHINE=`uname -p` + echo "${MACHINE}-apple-darwin${RELEASE}"; exit 0 + ;; + + "RISC iX":*) + echo "arm-whatever-riscix"; exit 0; + ;; + + *:4.0:2:*) + echo "whatever-unisys-sysv4"; exit 0; + ;; + + *:*:dcosx:NILE*) + echo "pyramid-pyramid-svr4"; exit 0; + ;; + + *:*:*:"DRS 6000") + echo "drs6000-whatever-whatever"; exit 0; + ;; + OS/390:*) + echo "${MACHINE}-IBM-OS390-${RELEASE}-${VERSION}"; exit 0; + ;; + CYGWIN*:*:*:*) + echo "${MACHINE}-whatever-cygwin"; exit 0 + ;; + atheos:*) + echo "${MACHINE}-whatever-atheos"; exit 0 + ;; +esac + +# +# Ugg. These are all we can determine by what we know about +# the output of uname. Be more creative: +# + +# Do the Apollo stuff first. Here, we just simply assume +# that the existance of the /usr/apollo directory is proof +# enough +if [ -d /usr/apollo ]; then + echo "whatever-apollo-whatever" + exit 0 +fi + +# Now NeXT +ISNEXT=`hostinfo 2>/dev/null` +case "$ISNEXT" in + *NeXT*) +# echo "whatever-next-nextstep"; exit 0 + +# Swiped from a friendly uname clone for NEXT/OPEN Step. + NEXTOSVER="`hostinfo | sed -n 's/.*NeXT Mach \([0-9\.]*\).*/\1/p'`" + if [ "$NEXTOSVER" -gt 3.3 ] + then + NEXTOS="openstep" + else + NEXTOS="nextstep" + fi + + NEXTREL="`hostinfo | sed -n 's/.*NeXT Mach \([0-9\.]*\).*/\1/p'`" + NEXTARCH=`arch` + echo "${NEXTARCH}-next-${NEXTOS}${NEXTREL}" ; exit 0 + + ;; +esac + +# At this point we gone through all the one's +# we know of: Punt + +echo "${MACHINE}-whatever-${SYSTEM},${RELEASE},${VERSION}" +exit 0 |