From f1820a57083bcadda56ca78c007612e88021a25b Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 30 Apr 2008 07:39:46 +0000 Subject: [PATCH] (svn r12930) -Add: build support for NetBSD and HP-UX. Patch by ahoka. --- config.lib | 19 ++++++++++++------- src/network/core/os_abstraction.h | 2 +- src/stdafx.h | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/config.lib b/config.lib index 1a32297566..017a846223 100644 --- a/config.lib +++ b/config.lib @@ -392,9 +392,9 @@ check_params() { exit 1 fi # OS only allows DETECT, UNIX, OSX, FREEBSD, OPENBSD, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP - if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|OPENBSD|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2|WINCE|PSP)$'`" ]; then + if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2|WINCE|PSP)$'`" ]; then echo "configure: error: invalid option --os=$os" - echo " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|OPENBSD|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2|WINCE|PSP]" + echo " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|SUNOS|CYGWIN|MINGW|OS2|WINCE|PSP]" exit 1 fi # cpu_type can be either 32 or 64 @@ -1016,7 +1016,7 @@ make_cflags_and_ldflags() { fi # Most targets act like UNIX, just with some additions - if [ "$os" = "BEOS" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then + if [ "$os" = "BEOS" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then CFLAGS="$CFLAGS -DUNIX" fi # And others like Windows @@ -1524,7 +1524,7 @@ detect_awk() { detect_os() { if [ "$os" = "DETECT" ]; then - # Detect UNIX, OSX, FREEBSD, OPENBSD, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP + # Detect UNIX, OSX, FREEBSD, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP # Try first via dumpmachine, then via uname os=`echo "$host" | tr '[A-Z]' '[a-z]' | $awk ' @@ -1532,6 +1532,8 @@ detect_os() { /darwin/ { print "OSX"; exit} /freebsd/ { print "FREEBSD"; exit} /openbsd/ { print "OPENBSD"; exit} + /netbsd/ { print "NETBSD"; exit} + /hp-ux/ { print "HPUX"; exit} /morphos/ { print "MORPHOS"; exit} /beos/ { print "BEOS"; exit} /sunos/ { print "SUNOS"; exit} @@ -1549,6 +1551,8 @@ detect_os() { /darwin/ { print "OSX"; exit} /freebsd/ { print "FREEBSD"; exit} /openbsd/ { print "OPENBSD"; exit} + /netbsd/ { print "NETBSD"; exit} + /hp-ux/ { print "HPUX"; exit} /morphos/ { print "MORPHOS"; exit} /beos/ { print "BEOS"; exit} /sunos/ { print "SUNOS"; exit} @@ -1561,7 +1565,7 @@ detect_os() { if [ -z "$os" ]; then log 1 "detecting OS... none detected" log 1 "I couldn't detect your OS. Please use --os=OS to force one" - log 1 "Allowed values are: UNIX, OSX, FREEBSD, OPENBSD, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP" + log 1 "Allowed values are: UNIX, OSX, FREEBSD, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, SUNOS, CYGWIN, MINGW, OS2, WINCE, and PSP" exit 1 fi @@ -2309,8 +2313,9 @@ showhelp() { echo " --awk=AWK the awk to use in configure [awk]" echo " --lipo=LIPO the lipo to use (OSX ONLY) [HOST-lipo]" echo " --os=OS the OS we are compiling for [DETECT]" - echo " DETECT/UNIX/OSX/FREEBSD/OPENBSD/MORPHOS/" - echo " BEOS/SUNOS/CYGWIN/MINGW/OS2/WINCE/PSP" + echo " DETECT/UNIX/OSX/FREEBSD/OPENBSD/NETBSD/" + echo " MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/MINGW/OS2/" + echo " WINCE/PSP" echo " --endian=ENDIAN set the endian of the HOST (AUTO/LE/BE)" echo " --revision=rXXXX overwrite the revision detection." echo " Use with care!" diff --git a/src/network/core/os_abstraction.h b/src/network/core/os_abstraction.h index c1f7b028a8..914c152fe6 100644 --- a/src/network/core/os_abstraction.h +++ b/src/network/core/os_abstraction.h @@ -62,7 +62,7 @@ typedef unsigned long in_addr_t; # include /* According to glibc/NEWS, appeared in glibc-2.3. */ # if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) && !defined(__INNOTEK_LIBC__) \ - && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__) + && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__) && !defined(HPUX) /* If for any reason ifaddrs.h does not exist on your system, comment out * the following two lines and an alternative way will be used to fetch * the list of IPs from the system. */ diff --git a/src/stdafx.h b/src/stdafx.h index 14d4938790..17bbb3ca1c 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -76,7 +76,7 @@ #include #endif -#if defined(SUNOS) +#if defined(SUNOS) || defined(HPUX) #include #endif