summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkvater <Darkvater@openttd.org>2006-12-10 00:20:26 +0000
committerDarkvater <Darkvater@openttd.org>2006-12-10 00:20:26 +0000
commit6c3590338c60a2c4e613a722b49d245c82319df4 (patch)
treeaaa2dfc73ef6e44ff99d063798b851c407836952
parent533034780b33af04a631518a077b228ff21c70a9 (diff)
downloadopenttd-6c3590338c60a2c4e613a722b49d245c82319df4.tar.xz
(svn r7461) -Fix: [FS#262] Add support for building with GCC on OS/2 (psmedley)
-rw-r--r--Makefile8
-rwxr-xr-xconfigure5
-rw-r--r--driver.c2
-rw-r--r--makefiledir/Makefile.config_writer1
-rw-r--r--network_core.h4
5 files changed, 15 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index f80d708ff..d5ffa3341 100644
--- a/Makefile
+++ b/Makefile
@@ -254,9 +254,13 @@ endif
# Executable file extension
ifdef WIN32
-EXE=.exe
+ EXE=.exe
else
-EXE=
+ ifdef OS2
+ EXE=.exe
+ else
+ EXE=
+ endif
endif
# Set output executable names
diff --git a/configure b/configure
index d61944def..2fd293954 100755
--- a/configure
+++ b/configure
@@ -20,7 +20,7 @@ function showhelp() {
echo " --host-cxx Sets the C++ host-compiler []"
echo " --os Sets the OS. Listens to: [detected]"
echo " UNIX, OSX, FREEBSD, MORPHOS"
- echo " BEOS, SUNOS, CYGWIN, MINGW"
+ echo " BEOS, SUNOS, CYGWIN, MINGW, OS2"
echo " --windres Sets the windres (Windows) [windres]"
echo " --force-le Force LE platform [no]"
echo " --force-be Force BE platform [no]"
@@ -277,6 +277,9 @@ then
BEOS)
PARAM="$PARAM BEOS=1 UNIX=1"
;;
+ OS2)
+ PARAM="$PARAM OS2=1 UNIX=1"
+ ;;
SUNOS)
PARAM="$PARAM SUNOS=1 UNIX=1"
;;
diff --git a/driver.c b/driver.c
index 58a94d982..f1afb5ec7 100644
--- a/driver.c
+++ b/driver.c
@@ -45,7 +45,7 @@ static const DriverDesc _music_driver_descs[] = {
#ifdef __BEOS__
M("bemidi", "BeOS MIDI Driver", &_bemidi_music_driver),
#endif
-#ifdef __OS2__
+#if defined(__OS2__) && !defined(__INNOTEK_LIBC__)
M("os2", "OS/2 Music Driver", &_os2_music_driver),
#endif
#ifdef WIN32_ENABLE_DIRECTMUSIC_SUPPORT
diff --git a/makefiledir/Makefile.config_writer b/makefiledir/Makefile.config_writer
index 49b54e4f8..a956d9e62 100644
--- a/makefiledir/Makefile.config_writer
+++ b/makefiledir/Makefile.config_writer
@@ -84,6 +84,7 @@ $(MAKE_CONFIG):
$(call CONFIG_LINE,FREEBSD:=$(FREEBSD))
$(call CONFIG_LINE,MORPHOS:=$(MORPHOS))
$(call CONFIG_LINE,BEOS:=$(BEOS))
+ $(call CONFIG_LINE,OS2:=$(OS2))
$(call CONFIG_LINE,SUNOS:=$(SUNOS))
$(call CONFIG_LINE,CYGWIN:=$(CYGWIN))
$(call CONFIG_LINE,MINGW:=$(MINGW))
diff --git a/network_core.h b/network_core.h
index f2373574c..cdc79c168 100644
--- a/network_core.h
+++ b/network_core.h
@@ -64,7 +64,7 @@ typedef unsigned long in_addr_t;
# include <arpa/inet.h>
# include <net/if.h>
// According to glibc/NEWS, <ifaddrs.h> appeared in glibc-2.3.
-# if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) \
+# if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) && !defined(__INNOTEK_LIBC__) \
&& !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__)
// 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
@@ -118,7 +118,9 @@ typedef unsigned long in_addr_t;
# define INADDR_NONE 0xffffffff
typedef int socklen_t;
+#if !defined(__INNOTEK_LIBC__)
typedef unsigned long in_addr_t;
+#endif /* __INNOTEK_LIBC__ */
#endif // OS/2
// MorphOS and Amiga stuff