summaryrefslogtreecommitdiffstats
path: root/Utilities
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2008-09-15 21:53:28 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2008-09-15 21:53:28 (GMT)
commit64fc597de292228b244a3ab18a33bcd8488e09d6 (patch)
tree17910ce2705e14c5428fdc4b1365b5c025867c58 /Utilities
parentf49f1d2973039b6e706326d763950c2ecd1d3153 (diff)
downloadCMake-64fc597de292228b244a3ab18a33bcd8488e09d6.zip
CMake-64fc597de292228b244a3ab18a33bcd8488e09d6.tar.gz
CMake-64fc597de292228b244a3ab18a33bcd8488e09d6.tar.bz2
ENH: add initial support for HAIKU OS from bug# 7425
Diffstat (limited to 'Utilities')
-rw-r--r--Utilities/cmcurl/CMake/CurlTests.c2
-rw-r--r--Utilities/cmcurl/CMakeLists.txt2
-rw-r--r--Utilities/cmcurl/curl/curl.h2
-rw-r--r--Utilities/cmzlib/zconf.h2
-rw-r--r--Utilities/cmzlib/zutil.h8
5 files changed, 12 insertions, 4 deletions
diff --git a/Utilities/cmcurl/CMake/CurlTests.c b/Utilities/cmcurl/CMake/CurlTests.c
index c5ba7c2..d74a4f0 100644
--- a/Utilities/cmcurl/CMake/CurlTests.c
+++ b/Utilities/cmcurl/CMake/CurlTests.c
@@ -38,7 +38,7 @@ main ()
# define PLATFORM_AIX_V3
#endif
-#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
+#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__))
#error "O_NONBLOCK does not work on this platform"
#endif
int socket;
diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
index d2f319d..bd5ddfb 100644
--- a/Utilities/cmcurl/CMakeLists.txt
+++ b/Utilities/cmcurl/CMakeLists.txt
@@ -165,6 +165,8 @@ IF(BEOS)
CHECK_LIBRARY_EXISTS_CONCAT("bnetapi" closesocket HAVE_LIBBNETAPI)
ENDIF(BEOS)
+CHECK_LIBRARY_EXISTS_CONCAT("network" recv HAVE_LIBNETWORK)
+
IF(NOT NOT_NEED_LIBNSL)
CHECK_LIBRARY_EXISTS_CONCAT("nsl" gethostbyname HAVE_LIBNSL)
ENDIF(NOT NOT_NEED_LIBNSL)
diff --git a/Utilities/cmcurl/curl/curl.h b/Utilities/cmcurl/curl/curl.h
index f6dad45..157c634 100644
--- a/Utilities/cmcurl/curl/curl.h
+++ b/Utilities/cmcurl/curl/curl.h
@@ -1133,7 +1133,7 @@ typedef enum {
}
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#include <support/SupportDefs.h>
#endif
diff --git a/Utilities/cmzlib/zconf.h b/Utilities/cmzlib/zconf.h
index 7a3b6fd..6eb52d1 100644
--- a/Utilities/cmzlib/zconf.h
+++ b/Utilities/cmzlib/zconf.h
@@ -237,7 +237,7 @@
# endif
#endif
-#if defined (__BEOS__)
+#if defined (__BEOS__) && !defined (__HAIKU__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
diff --git a/Utilities/cmzlib/zutil.h b/Utilities/cmzlib/zutil.h
index b7d5eff..74ef1f8 100644
--- a/Utilities/cmzlib/zutil.h
+++ b/Utilities/cmzlib/zutil.h
@@ -147,7 +147,13 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# define OS_CODE 0x0f
#endif
-#if defined(_BEOS_) || defined(RISCOS)
+/* Haiku defines both __HAIKU__ and __BEOS__ (for now) */
+/* many BeOS workarounds are no longer needed in Haiku */
+#if defined(__HAIKU__) && defined(__BEOS__)
+#undef __BEOS__
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif