summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-04-30 07:39:46 +0000
committerrubidium <rubidium@openttd.org>2008-04-30 07:39:46 +0000
commit4097d81323214a711f48b1ce93e744bfed3b53e4 (patch)
treefd05b40c24c7c6acb690ad39463bacc2d587724d
parentc76b2be6447a68fac37d4cfd694eb8ecc3f8a047 (diff)
downloadopenttd-4097d81323214a711f48b1ce93e744bfed3b53e4.tar.xz
(svn r12930) -Add: build support for NetBSD and HP-UX. Patch by ahoka.
-rw-r--r--config.lib19
-rw-r--r--src/network/core/os_abstraction.h2
-rw-r--r--src/stdafx.h2
3 files changed, 14 insertions, 9 deletions
diff --git a/config.lib b/config.lib
index 1a3229756..017a84622 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 c1f7b028a..914c152fe 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 <net/if.h>
/* According to glibc/NEWS, <ifaddrs.h> 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 14d493879..17bbb3ca1 100644
--- a/src/stdafx.h
+++ b/src/stdafx.h
@@ -76,7 +76,7 @@
#include <SupportDefs.h>
#endif
-#if defined(SUNOS)
+#if defined(SUNOS) || defined(HPUX)
#include <alloca.h>
#endif