summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2004-11-17 09:07:29 +0000
committertron <tron@openttd.org>2004-11-17 09:07:29 +0000
commit87adce3ca0bfd9018161a97c9e4f36eaf74d9b10 (patch)
tree5a3378a748ffa56073828573db89ccf305848977
parent13f0b6c0cf754184cfef8645e709f10240da5f98 (diff)
downloadopenttd-87adce3ca0bfd9018161a97c9e4f36eaf74d9b10.tar.xz
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
-rw-r--r--Makefile10
-rw-r--r--makefiledir/Makefile.config_writer1
-rw-r--r--makefiledir/Makefile.libdetection7
-rw-r--r--stdafx.h4
4 files changed, 21 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 55632f699..73a266d90 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,7 @@
# OSX: building on Mac OS X
# MORPHOS: building on MorphOS
# BEOS: building on BeOS
+# SUNOS: building on SunOS (Solaris)
#
# Summary of library choice defines
# WITH_ZLIB: savegames using zlib
@@ -242,7 +243,7 @@ REV_NUMBER := $(shell if test -d .svn; then svnversion . | tr -dc 0-9; fi)
ifdef RELEASE
REV:=$(RELEASE)
else
-REV := $(shell if test -d .svn; then echo -n r; svnversion .; fi)
+REV := $(shell if test -d .svn; then svnversion . | awk '{ print "r"$0 }'; fi)
tmp_test:=$(shell echo "$(REV)" | grep "M" )
ifdef tmp_test
REV_NUMBER:=1
@@ -341,6 +342,13 @@ ifdef WITH_NETWORK
endif
endif
+ifdef SUNOS
+CDEFS += -DSUNOS
+ifdef WITH_NETWORK
+LDFLAGS += -lnsl -lsocket
+endif
+endif
+
# SDL config
ifdef WITH_SDL
CDEFS += -DWITH_SDL
diff --git a/makefiledir/Makefile.config_writer b/makefiledir/Makefile.config_writer
index cf02dbfa8..116838c1a 100644
--- a/makefiledir/Makefile.config_writer
+++ b/makefiledir/Makefile.config_writer
@@ -77,6 +77,7 @@ $(MAKE_CONFIG):
$(call CONFIG_LINE,FREEBSD:=$(FREEBSD))
$(call CONFIG_LINE,MORPHOS:=$(MORPHOS))
$(call CONFIG_LINE,BEOS:=$(BEOS))
+ $(call CONFIG_LINE,SUNOS:=$(SUNOS))
$(call CONFIG_LINE,CYGWIN:=$(CYGWIN))
$(call CONFIG_LINE,MINGW:=$(MINGW))
$(call CONFIG_LINE,)
diff --git a/makefiledir/Makefile.libdetection b/makefiledir/Makefile.libdetection
index 084d13707..31478d3bb 100644
--- a/makefiledir/Makefile.libdetection
+++ b/makefiledir/Makefile.libdetection
@@ -39,6 +39,13 @@ BEOS_NET_SERVER:=1
endif
endif
+# Automatically recognize if building on SunOS/Solaris
+ifeq ($(shell uname), SunOS)
+SUNOS:=1
+# SunOS uses UNIX setup too
+UNIX:=1
+endif
+
# FreeBSD uses sdl11 instead of sdl
ifdef FREEBSD
SDL-CONFIG:=sdl11-config
diff --git a/stdafx.h b/stdafx.h
index aa5631c07..6785f8552 100644
--- a/stdafx.h
+++ b/stdafx.h
@@ -28,6 +28,10 @@
#include <SupportDefs.h>
#endif
+#ifdef SUNOS
+#include <alloca.h>
+#endif
+
#define BSWAP32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) << 8) & 0xFF0000) | (((x) << 24) & 0xFF000000))
#define BSWAP16(x) ((x) >> 8 | (x) << 8)