diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2008-09-15 21:53:28 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2008-09-15 21:53:28 (GMT) |
commit | 64fc597de292228b244a3ab18a33bcd8488e09d6 (patch) | |
tree | 17910ce2705e14c5428fdc4b1365b5c025867c58 /Modules | |
parent | f49f1d2973039b6e706326d763950c2ecd1d3153 (diff) | |
download | CMake-64fc597de292228b244a3ab18a33bcd8488e09d6.zip CMake-64fc597de292228b244a3ab18a33bcd8488e09d6.tar.gz CMake-64fc597de292228b244a3ab18a33bcd8488e09d6.tar.bz2 |
ENH: add initial support for HAIKU OS from bug# 7425
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CMakeFortranCompilerId.F90.in | 4 | ||||
-rw-r--r-- | Modules/CMakePlatformId.h.in | 6 | ||||
-rw-r--r-- | Modules/CheckForPthreads.c | 2 | ||||
-rw-r--r-- | Modules/Platform/Haiku.cmake | 14 |
4 files changed, 25 insertions, 1 deletions
diff --git a/Modules/CMakeFortranCompilerId.F90.in b/Modules/CMakeFortranCompilerId.F90.in index 0949b50..c7facb5 100644 --- a/Modules/CMakeFortranCompilerId.F90.in +++ b/Modules/CMakeFortranCompilerId.F90.in @@ -50,6 +50,10 @@ PROGRAM CMakeFortranCompilerId 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 --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in index 1f1fca6..8e786ba 100644 --- a/Modules/CMakePlatformId.h.in +++ b/Modules/CMakePlatformId.h.in @@ -35,6 +35,12 @@ #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 --git a/Modules/CheckForPthreads.c b/Modules/CheckForPthreads.c index a846567..d831078 100644 --- a/Modules/CheckForPthreads.c +++ b/Modules/CheckForPthreads.c @@ -16,7 +16,7 @@ int main(int ac, char*av[]){ 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 diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake new file mode 100644 index 0000000..b3c2ea3 --- /dev/null +++ b/Modules/Platform/Haiku.cmake @@ -0,0 +1,14 @@ +SET(BEOS 1) + +# GCC is the default compiler on Haiku. +INCLUDE(${CMAKE_ROOT}/Modules/Platform/gcc.cmake) + +SET(CMAKE_DL_LIBS root be) +SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") +SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart") +SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") +SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") +SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") +SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,") + +INCLUDE(Platform/UnixPaths) |