Files
haikuports/dev-util/cmake/cmake-2.6.0-haiku.diff
2008-07-30 16:49:08 +00:00

301 lines
12 KiB
Diff

diff -ur cmake-2.6.0/Modules/CMakeFortranCompilerId.F90.in cmake-2.6.0-haiku/Modules/CMakeFortranCompilerId.F90.in
--- cmake-2.6.0/Modules/CMakeFortranCompilerId.F90.in 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CMakeFortranCompilerId.F90.in 2008-06-19 11:16:50.000000000 +0000
@@ -48,6 +48,10 @@
PRINT *, 'INFO:platform[IRIX]'
#elif defined(__hpux) || defined(__hpux__)
PRINT *, 'INFO:platform[HP-UX]'
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+ PRINT *, 'INFO:platform[Haiku]'
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
PRINT *, 'INFO:platform[BeOS]'
#elif defined(__QNX__) || defined(__QNXNTO__)
diff -ur cmake-2.6.0/Modules/CMakePlatformId.h.in cmake-2.6.0-haiku/Modules/CMakePlatformId.h.in
--- cmake-2.6.0/Modules/CMakePlatformId.h.in 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CMakePlatformId.h.in 2008-06-19 11:16:50.000000000 +0000
@@ -35,6 +35,11 @@
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
+#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
+# define PLATFORM_ID "Haiku"
+! Haiku also defines __BEOS__ so we must
+! put it prior to the check for __BEOS__
+
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
diff -ur cmake-2.6.0/Modules/CheckForPthreads.c cmake-2.6.0-haiku/Modules/CheckForPthreads.c
--- cmake-2.6.0/Modules/CheckForPthreads.c 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Modules/CheckForPthreads.c 2008-06-19 11:16:50.000000000 +0000
@@ -16,7 +16,7 @@
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-#if defined(__BEOS__) && !defined(__ZETA__) // (no usleep on BeOS 5.)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
Only in cmake-2.6.0-haiku/Modules/Platform: Haiku.cmake
diff -ur cmake-2.6.0/Source/CPack/cmCPackGeneratorFactory.cxx cmake-2.6.0-haiku/Source/CPack/cmCPackGeneratorFactory.cxx
--- cmake-2.6.0/Source/CPack/cmCPackGeneratorFactory.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/CPack/cmCPackGeneratorFactory.cxx 2008-06-19 11:16:50.000000000 +0000
@@ -35,7 +35,7 @@
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__)
# include "cmCPackDebGenerator.h"
# include "cmCPackRPMGenerator.h"
#endif
@@ -72,7 +72,8 @@
cmCPackOSXX11Generator::CreateGenerator);
#endif
#if !defined(_WIN32) && !defined(__APPLE__) \
- && !defined(__QNXNTO__) && !defined(__BEOS__)
+ && !defined(__QNXNTO__) && !defined(__BEOS__)\
+ && !defined(__HAIKU__)
this->RegisterGenerator("DEB", "Debian packages",
cmCPackDebGenerator::CreateGenerator);
this->RegisterGenerator("RPM", "RPM packages",
diff -ur cmake-2.6.0/Source/cmCTest.cxx cmake-2.6.0-haiku/Source/cmCTest.cxx
--- cmake-2.6.0/Source/cmCTest.cxx 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/Source/cmCTest.cxx 2008-06-19 11:16:50.000000000 +0000
@@ -49,10 +49,15 @@
#include <memory> // auto_ptr
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
#include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+#if defined(__HAIKU__)
+#include <os/kernel/OS.h> /* disable_debugger() API. */
+#endif
+
+
#define DEBUGOUT std::cout << __LINE__ << " "; std::cout
#define DEBUGERR std::cerr << __LINE__ << " "; std::cerr
diff -ur cmake-2.6.0/Source/kwsys/DynamicLoader.cxx cmake-2.6.0-haiku/Source/kwsys/DynamicLoader.cxx
--- cmake-2.6.0/Source/kwsys/DynamicLoader.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/DynamicLoader.cxx 2008-06-20 14:08:23.000000000 +0000
@@ -331,7 +331,7 @@
// ---------------------------------------------------------------
// 4. Implementation for BeOS
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined(__HAIKU__)
#include <string.h> // for strerror()
#include <be/kernel/image.h>
#include <be/support/Errors.h>
diff -ur cmake-2.6.0/Source/kwsys/ProcessUNIX.c cmake-2.6.0-haiku/Source/kwsys/ProcessUNIX.c
--- cmake-2.6.0/Source/kwsys/ProcessUNIX.c 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/ProcessUNIX.c 2008-06-20 14:06:56.000000000 +0000
@@ -75,7 +75,7 @@
typedef int kwsysProcess_ssize_t;
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void kwsysProcess_usleep(unsigned int msec)
diff -ur cmake-2.6.0/Source/kwsys/SystemTools.cxx cmake-2.6.0-haiku/Source/kwsys/SystemTools.cxx
--- cmake-2.6.0/Source/kwsys/SystemTools.cxx 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/SystemTools.cxx 2008-06-19 15:49:33.000000000 +0000
@@ -131,7 +131,12 @@
#define _chdir chdir
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#ifdef (__HAIKU__)
+#include <os/kernel.OS.h>
+#include <os/storage/Path.h>
+#endif
+
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
#include <be/kernel/OS.h>
#include <be/storage/Path.h>
diff -ur cmake-2.6.0/Source/kwsys/testProcess.c cmake-2.6.0-haiku/Source/kwsys/testProcess.c
--- cmake-2.6.0/Source/kwsys/testProcess.c 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Source/kwsys/testProcess.c 2008-06-19 11:16:51.000000000 +0000
@@ -34,7 +34,7 @@
# pragma warn -8060 /* possibly incorrect assignment */
#endif
-#if defined(__BEOS__) && !defined(__ZETA__)
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
/* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */
# include <be/kernel/OS.h>
static inline void testProcess_usleep(unsigned int msec)
diff -ur cmake-2.6.0/Tests/Complex/Library/CMakeLists.txt cmake-2.6.0-haiku/Tests/Complex/Library/CMakeLists.txt
--- cmake-2.6.0/Tests/Complex/Library/CMakeLists.txt 2008-05-05 18:26:05.000000000 +0000
+++ cmake-2.6.0-haiku/Tests/Complex/Library/CMakeLists.txt 2008-06-19 11:16:51.000000000 +0000
@@ -53,7 +53,9 @@
)
SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
IF(NOT BEOS) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ IF(NOT HAIKU) # libm in included in libroot on Haiku
+ SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+ ENDIF(NOT HAIKU)
ENDIF(NOT BEOS)
GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
IF(${FOO_BAR_VAR} MATCHES "BAR")
diff -ur cmake-2.6.0/Utilities/cmcurl/CMake/CurlTests.c cmake-2.6.0-haiku/Utilities/cmcurl/CMake/CurlTests.c
--- cmake-2.6.0/Utilities/cmcurl/CMake/CurlTests.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/CMake/CurlTests.c 2008-06-19 11:16:51.000000000 +0000
@@ -38,6 +38,12 @@
# define PLATFORM_AIX_V3
#endif
+/* 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(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
#error "O_NONBLOCK does not work on this platform"
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/curl/curl.h cmake-2.6.0-haiku/Utilities/cmcurl/curl/curl.h
--- cmake-2.6.0/Utilities/cmcurl/curl/curl.h 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/curl/curl.h 2008-06-19 11:16:51.000000000 +0000
@@ -1133,7 +1133,7 @@
}
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#include <support/SupportDefs.h>
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/if2ip.c cmake-2.6.0-haiku/Utilities/cmcurl/if2ip.c
--- cmake-2.6.0/Utilities/cmcurl/if2ip.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/if2ip.c 2008-06-19 11:16:51.000000000 +0000
@@ -39,7 +39,7 @@
*/
#if !defined(WIN32) && !defined(__BEOS__) && !defined(__CYGWIN__) && \
!defined(__riscos__) && !defined(__INTERIX) && !defined(NETWARE) && \
- !defined(_AMIGASF) && !defined(__minix)
+ !defined(_AMIGASF) && !defined(__minix) && !defined(__HAIKU__)
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
diff -ur cmake-2.6.0/Utilities/cmcurl/select.c cmake-2.6.0-haiku/Utilities/cmcurl/select.c
--- cmake-2.6.0/Utilities/cmcurl/select.c 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/select.c 2008-06-19 11:16:51.000000000 +0000
@@ -39,7 +39,7 @@
#error "We can't compile without select() support!"
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
/* BeOS has FD_SET defined in socket.h */
#include <socket.h>
#endif
diff -ur cmake-2.6.0/Utilities/cmcurl/setup.h cmake-2.6.0-haiku/Utilities/cmcurl/setup.h
--- cmake-2.6.0/Utilities/cmcurl/setup.h 2008-05-05 18:26:06.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmcurl/setup.h 2008-06-19 11:16:51.000000000 +0000
@@ -264,7 +264,7 @@
#else /* MSDOS */
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
#define sclose(x) closesocket(x)
#else /* __BEOS__ */
#define sclose(x) close(x)
diff -ur cmake-2.6.0/Utilities/cmtar/libtar.c cmake-2.6.0-haiku/Utilities/cmtar/libtar.c
--- cmake-2.6.0/Utilities/cmtar/libtar.c 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmtar/libtar.c 2008-06-19 11:16:51.000000000 +0000
@@ -98,8 +98,8 @@
{
return -1;
}
-
-#if defined(__BEOS__) && !defined(__ZETA__) /* no fchmod on BeOS...do pathname instead. */
+/* no fchmod on BeOS...do pathname instead. */
+#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__)
if ((oflags & O_CREAT) && chmod(pathname, mode & 07777))
{
return -1;
diff -ur cmake-2.6.0/Utilities/cmxmlrpc/xmlrpc_curl_transport.c cmake-2.6.0-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c
--- cmake-2.6.0/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmxmlrpc/xmlrpc_curl_transport.c 2008-06-19 11:16:51.000000000 +0000
@@ -10,7 +10,7 @@
#include "xmlrpc_config.h"
-#if defined(__BEOS__)
+#if defined(__BEOS__) && !defined(__HAIKU__)
/* Some helpful system header has char==bool, then bool.h does int==bool. */
#define HAVE_BOOL 1
#endif
diff -ur cmake-2.6.0/Utilities/cmzlib/zconf.h cmake-2.6.0-haiku/Utilities/cmzlib/zconf.h
--- cmake-2.6.0/Utilities/cmzlib/zconf.h 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmzlib/zconf.h 2008-06-19 11:16:51.000000000 +0000
@@ -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 -ur cmake-2.6.0/Utilities/cmzlib/zutil.h cmake-2.6.0-haiku/Utilities/cmzlib/zutil.h
--- cmake-2.6.0/Utilities/cmzlib/zutil.h 2008-05-05 18:26:07.000000000 +0000
+++ cmake-2.6.0-haiku/Utilities/cmzlib/zutil.h 2008-06-19 11:16:51.000000000 +0000
@@ -147,7 +147,13 @@
# 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
diff -ur cmake-2.6.0/bootstrap cmake-2.6.0-haiku/bootstrap
--- cmake-2.6.0/bootstrap 2008-05-05 18:26:04.000000000 +0000
+++ cmake-2.6.0-haiku/bootstrap 2008-06-19 11:16:51.000000000 +0000
@@ -73,6 +73,13 @@
cmake_system_beos=false
fi
+# Determine whether this is Haiku
+if echo "${cmake_system}" | grep Haiku >/dev/null 2>&1; then
+ cmake_system_haiku=true
+else
+ cmake_system_haiku=false
+fi
+
# Choose the generator to use for bootstrapping.
if ${cmake_system_mingw}; then
# Bootstrapping from an MSYS prompt.
@@ -603,6 +610,11 @@
cmake_ld_flags="${LDFLAGS} -lroot -lbe"
fi
+# Add Haiku toolkits...
+if ${cmake_system_haiku}; then
+ cmake_ld_flags="${LDFLAGS} -lroot -lbe"
+fi
+
# Test C compiler
cmake_c_compiler=