diff -urN cmake-2.8.10.2-orig/bootstrap cmake-2.8.10.2/bootstrap --- cmake-2.8.10.2-orig/bootstrap 2012-11-27 05:26:34.015728640 -0800 +++ cmake-2.8.10.2/bootstrap 2012-12-03 12:02:17.615251968 -0800 @@ -146,7 +146,9 @@ cmake_default_prefix="c:/Program Files/CMake" fi elif ${cmake_system_haiku}; then - cmake_default_prefix=`/bin/finddir B_COMMON_DIRECTORY` + cmake_default_prefix=`finddir B_COMMON_DIRECTORY` + cmake_man_dir="/documentation/man" + cmake_doc_dir="/documentation/doc/cmake-${cmake_version}" else cmake_default_prefix="/usr/local" fi diff -urN cmake-2.8.10.2-orig/Modules/CMakePlatformId.h.in cmake-2.8.10.2/Modules/CMakePlatformId.h.in --- cmake-2.8.10.2-orig/Modules/CMakePlatformId.h.in 2012-11-27 05:26:32.056623104 -0800 +++ cmake-2.8.10.2/Modules/CMakePlatformId.h.in 2012-12-03 12:02:17.633864192 -0800 @@ -35,11 +35,8 @@ #elif defined(__hpux) || defined(__hpux__) # define PLATFORM_ID "HP-UX" -#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +#elif 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" --- cmake-2.8.10.2-orig/Modules/FindFreetype.cmake 2012-11-27 13:26:32.037486592 +0000 +++ cmake-2.8.10.2/Modules/FindFreetype.cmake 2013-02-10 23:15:25.000000000 +0000 @@ -46,20 +46,22 @@ HINTS ENV FREETYPE_DIR PATHS + /boot/develop/headers /usr/local/X11R6 /usr/local/X11 /usr/freeware - PATH_SUFFIXES include/freetype2 include + PATH_SUFFIXES include/freetype2 include 3rdparty ) find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h HINTS ENV FREETYPE_DIR PATHS + /boot/develop/headers /usr/local/X11R6 /usr/local/X11 /usr/freeware - PATH_SUFFIXES include/freetype2 include + PATH_SUFFIXES include/freetype2 include 3rdparty/freetype2 3rdparty ) find_library(FREETYPE_LIBRARY @@ -68,6 +70,7 @@ ENV FREETYPE_DIR PATH_SUFFIXES lib PATHS + /boot/system/lib /usr/local/X11R6 /usr/local/X11 /usr/freeware diff -urN cmake-2.8.10.2-orig/Modules/FindGLUT.cmake cmake-2.8.10.2/Modules/FindGLUT.cmake --- cmake-2.8.10.2-orig/Modules/FindGLUT.cmake 2012-11-27 13:26:32.057147392 +0000 +++ cmake-2.8.10.2/Modules/FindGLUT.cmake 2012-12-04 09:11:43.176422912 +0000 @@ -46,19 +46,23 @@ /usr/openwin/include /opt/graphics/OpenGL/include /opt/graphics/OpenGL/contrib/libglut + /boot/develop/headers/os/opengl ) find_library( GLUT_glut_LIBRARY glut /usr/openwin/lib + /boot/develop/lib/x86/ ) - find_library( GLUT_Xi_LIBRARY Xi - /usr/openwin/lib - ) - - find_library( GLUT_Xmu_LIBRARY Xmu - /usr/openwin/lib - ) + if(NOT BEOS AND NOT HAIKU) + find_library( GLUT_Xi_LIBRARY Xi + /usr/openwin/lib + ) + + find_library( GLUT_Xmu_LIBRARY Xmu + /usr/openwin/lib + ) + endif() endif () @@ -70,12 +74,18 @@ if (GLUT_FOUND) # Is -lXi and -lXmu required on all platforms that have it? # If not, we need some way to figure out what platform we are on. - set( GLUT_LIBRARIES - ${GLUT_glut_LIBRARY} - ${GLUT_Xmu_LIBRARY} - ${GLUT_Xi_LIBRARY} - ${GLUT_cocoa_LIBRARY} - ) + if(BEOS OR HAIKU) + set( GLUT_LIBRARIES + ${GLUT_glut_LIBRARY} + ) + else + set( GLUT_LIBRARIES + ${GLUT_glut_LIBRARY} + ${GLUT_Xmu_LIBRARY} + ${GLUT_Xi_LIBRARY} + ${GLUT_cocoa_LIBRARY} + ) + endif() #The following deprecated settings are for backwards compatibility with CMake1.4 set (GLUT_LIBRARY ${GLUT_LIBRARIES}) diff -urN cmake-2.8.10.2-orig/Modules/FindLua51.cmake cmake-2.8.10.2/Modules/FindLua51.cmake --- cmake-2.8.10.2-orig/Modules/FindLua51.cmake 2012-11-27 05:26:32.033030144 -0800 +++ cmake-2.8.10.2/Modules/FindLua51.cmake 2012-12-03 12:02:17.644612096 -0800 @@ -54,7 +54,7 @@ if(LUA_LIBRARY) # include the math library for Unix - if(UNIX AND NOT APPLE) + if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) find_library(LUA_MATH_LIBRARY m) set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries") # For Windows and Mac, don't need to explicitly include the math library diff -urN cmake-2.8.10.2-orig/Modules/FindOpenGL.cmake cmake-2.8.10.2/Modules/FindOpenGL.cmake --- cmake-2.8.10.2-orig/Modules/FindOpenGL.cmake 2012-11-27 05:26:32.034340864 -0800 +++ cmake-2.8.10.2/Modules/FindOpenGL.cmake 2012-12-03 12:02:17.651952128 -0800 @@ -80,6 +80,7 @@ /usr/share/doc/NVIDIA_GLX-1.0/include /usr/openwin/share/include /opt/graphics/OpenGL/include /usr/X11R6/include + /boot/develop/headers/os/opengl ) find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h @@ -94,6 +95,7 @@ /usr/openwin/lib /usr/shlib /usr/X11R6/lib ${HPUX_IA_OPENGL_LIB_PATH} + /boot/develop/lib/x86/ ) # On Unix OpenGL most certainly always requires X11. diff -urN cmake-2.8.10.2-orig/Modules/Platform/Haiku.cmake cmake-2.8.10.2/Modules/Platform/Haiku.cmake --- cmake-2.8.10.2-orig/Modules/Platform/Haiku.cmake 2012-12-03 12:11:47.804519936 -0800 +++ cmake-2.8.10.2/Modules/Platform/Haiku.cmake 2012-12-03 12:02:17.652738560 -0800 @@ -1,20 +1,25 @@ +set(HAIKU 1) +set(UNIX 1) + +set(CMAKE_DL_LIBS "") -set(BEOS 1) - -set(CMAKE_DL_LIBS root be) -set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC") -set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE") set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") +set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") -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_RPATH_LINK_C_FLAG "-Wl,-rpath-link,") set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") +set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic") + +list(APPEND CMAKE_SYSTEM_PREFIX_PATH + /boot/common/non-packaged + /boot/common + /boot/system + ) +list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + /boot/common/non-packaged/lib + /boot/common/lib + /boot/develop/lib/x86 + ) - -include(Platform/UnixPaths) -list(APPEND CMAKE_SYSTEM_PREFIX_PATH /boot/common) -list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/common/include) -list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/common/lib) -list(APPEND CMAKE_SYSTEM_PROGRAM_PATH /boot/common/bin) -list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES /boot/common/lib) list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/develop/headers/3rdparty) list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/develop/lib/x86) diff -urN cmake-2.8.10.2-orig/Source/cmCTest.cxx cmake-2.8.10.2/Source/cmCTest.cxx --- cmake-2.8.10.2-orig/Source/cmCTest.cxx 2012-11-27 05:26:32.060030976 -0800 +++ cmake-2.8.10.2/Source/cmCTest.cxx 2012-12-03 12:02:17.659816448 -0800 @@ -53,7 +53,7 @@ #include #include -#if defined(__BEOS__) && !defined(__HAIKU__) +#if defined(__BEOS__) #include /* disable_debugger() API. */ #endif diff -urN cmake-2.8.10.2-orig/Source/cmExportCommand.cxx cmake-2.8.10.2/Source/cmExportCommand.cxx --- cmake-2.8.10.2-orig/Source/cmExportCommand.cxx 2012-11-27 05:26:33.039059456 -0800 +++ cmake-2.8.10.2/Source/cmExportCommand.cxx 2012-12-03 12:02:17.665059328 -0800 @@ -20,7 +20,8 @@ #include "cmExportBuildFileGenerator.h" #if defined(__HAIKU__) -#include +#include +#include #endif cmExportCommand::cmExportCommand() @@ -305,14 +306,15 @@ const char* hash) { #if defined(__HAIKU__) - BPath dir; - if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) != B_OK) + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) != + B_OK) { return; } - dir.Append("cmake/packages"); - dir.Append(package.c_str()); - std::string fname = dir.Path(); + std::string fname = dir; + fname += "/cmake/packages/"; + fname += package; #else const char* home = cmSystemTools::GetEnv("HOME"); if(!home) diff -urN cmake-2.8.10.2-orig/Source/cmFindPackageCommand.cxx cmake-2.8.10.2/Source/cmFindPackageCommand.cxx --- cmake-2.8.10.2-orig/Source/cmFindPackageCommand.cxx 2012-11-27 05:26:33.059768832 -0800 +++ cmake-2.8.10.2/Source/cmFindPackageCommand.cxx 2012-12-03 12:02:17.666107904 -0800 @@ -19,7 +19,9 @@ #endif #if defined(__HAIKU__) -#include +#include +#include +#include #endif void cmFindPackageNeedBackwardsCompatibility(const std::string& variable, @@ -1583,12 +1585,13 @@ #if defined(_WIN32) && !defined(__CYGWIN__) this->LoadPackageRegistryWinUser(); #elif defined(__HAIKU__) - BPath dir; - if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) == B_OK) + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) == + B_OK) { - dir.Append("cmake/packages"); - dir.Append(this->Name.c_str()); - this->LoadPackageRegistryDir(dir.Path()); + strlcat(dir, "/cmake/packages/", sizeof(dir)); + strlcat(dir, this->Name.c_str(), sizeof(dir)); + this->LoadPackageRegistryDir(dir); } #else if(const char* home = cmSystemTools::GetEnv("HOME")) diff -urN cmake-2.8.10.2-orig/Source/cmLocalGenerator.cxx cmake-2.8.10.2/Source/cmLocalGenerator.cxx --- cmake-2.8.10.2-orig/Source/cmLocalGenerator.cxx 2012-11-27 05:26:33.035389440 -0800 +++ cmake-2.8.10.2/Source/cmLocalGenerator.cxx 2012-12-03 12:02:17.672399360 -0800 @@ -37,7 +37,8 @@ #include #if defined(__HAIKU__) -#include +#include +#include #endif cmLocalGenerator::cmLocalGenerator() @@ -354,12 +355,12 @@ prefix = prefix_win32.c_str(); } #elif defined(__HAIKU__) + char dir[B_PATH_NAME_LENGTH]; if (!prefix) { - BPath dir; - if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK) + if (find_directory(B_COMMON_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK) { - prefix = dir.Path(); + prefix = dir; } else { diff -urN cmake-2.8.10.2-orig/Source/CPack/cmCPackGenerator.cxx cmake-2.8.10.2/Source/CPack/cmCPackGenerator.cxx --- cmake-2.8.10.2-orig/Source/CPack/cmCPackGenerator.cxx 2012-11-27 05:26:32.015466496 -0800 +++ cmake-2.8.10.2/Source/CPack/cmCPackGenerator.cxx 2012-12-03 12:02:17.677904384 -0800 @@ -27,7 +27,8 @@ #include #if defined(__HAIKU__) -#include +#include +#include #endif //---------------------------------------------------------------------- @@ -1265,10 +1266,10 @@ this->InstallPath += "-"; this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION"); #elif defined(__HAIKU__) - BPath dir; - if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK) + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_COMMON_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK) { - this->InstallPath = dir.Path(); + this->InstallPath = dir; } else { diff -urN cmake-2.8.10.2-orig/Source/CPack/cmCPackGeneratorFactory.cxx cmake-2.8.10.2/Source/CPack/cmCPackGeneratorFactory.cxx --- cmake-2.8.10.2-orig/Source/CPack/cmCPackGeneratorFactory.cxx 2012-12-03 12:07:50.301203456 -0800 +++ cmake-2.8.10.2/Source/CPack/cmCPackGeneratorFactory.cxx 2012-12-03 12:02:17.678428672 -0800 @@ -113,7 +113,7 @@ } #endif #if !defined(_WIN32) \ + && !defined(__QNXNTO__) && !defined(__BEOS__) && !defined(__HAIKU__) - && !defined(__QNXNTO__) && !defined(__BEOS__) if (cmCPackDebGenerator::CanGenerate()) { this->RegisterGenerator("DEB", "Debian packages", diff -urN cmake-2.8.10.2-orig/Source/kwsys/ProcessUNIX.c cmake-2.8.10.2/Source/kwsys/ProcessUNIX.c --- cmake-2.8.10.2-orig/Source/kwsys/ProcessUNIX.c 2012-11-27 05:26:33.000524288 -0800 +++ cmake-2.8.10.2/Source/kwsys/ProcessUNIX.c 2012-12-03 12:02:17.707264512 -0800 @@ -63,10 +63,6 @@ #include /* DIR, dirent */ #include /* isspace */ -#ifdef __HAIKU__ -#undef __BEOS__ -#endif - #if defined(__VMS) # define KWSYSPE_VMS_NONBLOCK , O_NONBLOCK #else diff -urN cmake-2.8.10.2-orig/Source/kwsys/SystemTools.cxx cmake-2.8.10.2/Source/kwsys/SystemTools.cxx --- cmake-2.8.10.2-orig/Source/kwsys/SystemTools.cxx 2012-11-27 05:26:33.005505024 -0800 +++ cmake-2.8.10.2/Source/kwsys/SystemTools.cxx 2012-12-03 12:02:17.708313088 -0800 @@ -157,7 +157,7 @@ #include #endif -#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) +#if defined(__BEOS__) && !defined(__ZETA__) #include #include diff -urN cmake-2.8.10.2-orig/Source/kwsys/testDynamicLoader.cxx cmake-2.8.10.2/Source/kwsys/testDynamicLoader.cxx --- cmake-2.8.10.2-orig/Source/kwsys/testDynamicLoader.cxx 2012-11-27 05:26:33.006815744 -0800 +++ cmake-2.8.10.2/Source/kwsys/testDynamicLoader.cxx 2012-12-03 12:02:17.713818112 -0800 @@ -15,7 +15,7 @@ #include KWSYS_HEADER(ios/iostream) #include KWSYS_HEADER(stl/string) -#if defined(__BEOS__) && !defined(__HAIKU__) +#if defined(__BEOS__) #include /* disable_debugger() API. */ #endif diff -urN cmake-2.8.10.2-orig/Source/kwsys/testProcess.c cmake-2.8.10.2/Source/kwsys/testProcess.c --- cmake-2.8.10.2-orig/Source/kwsys/testProcess.c 2012-11-27 05:26:33.007602176 -0800 +++ cmake-2.8.10.2/Source/kwsys/testProcess.c 2012-12-03 12:02:17.714604544 -0800 @@ -32,7 +32,7 @@ # pragma warn -8060 /* possibly incorrect assignment */ #endif -#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) +#if defined(__BEOS__) && !defined(__ZETA__) /* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */ # include static inline void testProcess_usleep(unsigned int msec) diff -urN cmake-2.8.10.2-orig/Tests/ComplexOneConfig/Library/CMakeLists.txt cmake-2.8.10.2/Tests/ComplexOneConfig/Library/CMakeLists.txt --- cmake-2.8.10.2-orig/Tests/ComplexOneConfig/Library/CMakeLists.txt 2012-11-27 05:26:34.013369344 -0800 +++ cmake-2.8.10.2/Tests/ComplexOneConfig/Library/CMakeLists.txt 2012-12-03 12:02:42.181665792 -0800 @@ -51,7 +51,7 @@ FULL_DOCS "A simple etst proerty that means nothign and is used for nothing" ) set_target_properties(CMakeTestCLibraryShared PROPERTIES FOO BAR) -if(NOT BEOS AND NOT WIN32) # No libm on BeOS. +if(NOT BEOS AND NOT WIN32 AND NOT HAIKU) # No libm on BeOS. set_target_properties(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm") endif() get_target_property(FOO_BAR_VAR CMakeTestCLibraryShared FOO) diff -urN cmake-2.8.10.2-orig/Utilities/cmcurl/CMake/CurlTests.c cmake-2.8.10.2/Utilities/cmcurl/CMake/CurlTests.c --- cmake-2.8.10.2-orig/Utilities/cmcurl/CMake/CurlTests.c 2012-11-27 05:26:34.045350912 -0800 +++ cmake-2.8.10.2/Utilities/cmcurl/CMake/CurlTests.c 2012-12-03 12:02:42.189005824 -0800 @@ -38,7 +38,7 @@ # define PLATFORM_AIX_V3 #endif -#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || (defined(__BEOS__) && !defined(__HAIKU__)) +#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__) #error "O_NONBLOCK does not work on this platform" #endif int socket; diff -urN cmake-2.8.10.2-orig/Utilities/cmcurl/select.c cmake-2.8.10.2/Utilities/cmcurl/select.c --- cmake-2.8.10.2-orig/Utilities/cmcurl/select.c 2012-11-27 05:26:34.055312384 -0800 +++ cmake-2.8.10.2/Utilities/cmcurl/select.c 2012-12-03 12:02:42.189792256 -0800 @@ -39,7 +39,7 @@ #error "We can't compile without select() support!" #endif -#if defined(__BEOS__) && !defined(__HAIKU__) +#if defined(__BEOS__) /* BeOS has FD_SET defined in socket.h */ #include #endif diff -urN cmake-2.8.10.2-orig/Utilities/cmzlib/zconf.h cmake-2.8.10.2/Utilities/cmzlib/zconf.h --- cmake-2.8.10.2-orig/Utilities/cmzlib/zconf.h 2012-11-27 05:26:34.022020096 -0800 +++ cmake-2.8.10.2/Utilities/cmzlib/zconf.h 2012-12-03 12:02:42.190578688 -0800 @@ -237,7 +237,7 @@ # endif #endif -#if defined (__BEOS__) && !defined (__HAIKU__) +#if defined (__BEOS__) # ifdef ZLIB_DLL # ifdef ZLIB_INTERNAL # define ZEXPORT __declspec(dllexport) diff -urN cmake-2.8.10.2-orig/Utilities/cmzlib/zutil.h cmake-2.8.10.2/Utilities/cmzlib/zutil.h --- cmake-2.8.10.2-orig/Utilities/cmzlib/zutil.h 2012-11-27 05:26:34.022806528 -0800 +++ cmake-2.8.10.2/Utilities/cmzlib/zutil.h 2012-12-03 12:02:42.195559424 -0800 @@ -147,12 +147,6 @@ # define OS_CODE 0x0f #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(_BEOS_) || defined(RISCOS) # define fdopen(fd,mode) NULL /* No fdopen() */ #endif