Haiku porting patches, Credit to Paul Davey.
authorEdward O'Callaghan <eocallaghan@auroraux.org>
Mon, 12 Oct 2009 04:57:20 +0000 (04:57 +0000)
committerEdward O'Callaghan <eocallaghan@auroraux.org>
Mon, 12 Oct 2009 04:57:20 +0000 (04:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83823 91177308-0d34-0410-b5e6-96231b3b80d8

autoconf/configure.ac
lib/System/Unix/Process.inc
utils/unittest/googletest/include/gtest/internal/gtest-port.h

index e24edf5e4a8926d272a0cd06a9c8c006a84c0c08..c4aad36553f1b8775f99100df5ca03137983497c 100644 (file)
@@ -175,6 +175,11 @@ AC_CACHE_CHECK([type of operating system we're going to host on],
     llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
     llvm_cv_os_type="MingW"
     llvm_cv_platform_type="Win32" ;;
+  *-*-haiku*)
+    llvm_cv_link_all_option="-Wl,--whole-archive"
+    llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+    llvm_cv_os_type="Haiku"
+    llvm_cv_platform_type="Unix" ;;  
   *-unknown-eabi*)
     llvm_cv_link_all_option="-Wl,--whole-archive"
     llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
@@ -223,6 +228,8 @@ AC_CACHE_CHECK([type of operating system we're going to target],
     llvm_cv_target_os_type="Win32" ;;
   *-*-mingw*)
     llvm_cv_target_os_type="MingW" ;;
+  *-*-haiku*)
+    llvm_cv_target_os_type="Haiku" ;;  
   *-unknown-eabi*)
     llvm_cv_target_os_type="Freestanding" ;;
   *)
@@ -960,7 +967,9 @@ AC_SEARCH_LIBS(mallinfo,malloc,AC_DEFINE([HAVE_MALLINFO],[1],
 dnl pthread locking functions are optional - but llvm will not be thread-safe
 dnl without locks.
 if test "$ENABLE_THREADS" -eq 1 ; then
-  AC_CHECK_LIB(pthread,pthread_mutex_init)
+  AC_SEARCH_LIBS(pthread_mutex_init,pthread,
+                 AC_DEFINE([HAVE_PTHREAD],[1],
+                           [Have pthread]))
   AC_SEARCH_LIBS(pthread_mutex_lock,pthread,
                  AC_DEFINE([HAVE_PTHREAD_MUTEX_LOCK],[1],
                            [Have pthread_mutex_lock]))
index d7155852bf2aa5de55ffc2b82c80b222d82252b1..94e4c1bde25c2ad46d4939272516838bf16fca7c 100644 (file)
@@ -91,7 +91,7 @@ Process::GetTotalMemoryUsage()
   malloc_statistics_t Stats;
   malloc_zone_statistics(malloc_default_zone(), &Stats);
   return Stats.size_allocated;   // darwin
-#elif defined(HAVE_GETRUSAGE)
+#elif defined(HAVE_GETRUSAGE) && !defined(__HAIKU__)
   struct rusage usage;
   ::getrusage(RUSAGE_SELF, &usage);
   return usage.ru_maxrss;
index 6a1593ef01784f6e558caa565a6ad0a4fc7fa270..3e49993bff4c4af56c089e012e49865dce2e58c6 100644 (file)
 #define GTEST_OS_ZOS
 #elif defined(__sun) && defined(__SVR4)
 #define GTEST_OS_SOLARIS
+#elif defined(__HAIKU__)
+#define GTEST_OS_HAIKU
 #endif  // _MSC_VER
 
 // Determines whether ::std::string and ::string are available.
 // TODO(wan@google.com): uses autoconf to detect whether ::std::wstring
 //   is available.
 
-#if defined(GTEST_OS_CYGWIN) || defined(GTEST_OS_SOLARIS)
+#if defined(GTEST_OS_CYGWIN) || defined(GTEST_OS_SOLARIS) || defined(GTEST_OS_HAIKU)
 // At least some versions of cygwin don't support ::std::wstring.
 // Solaris' libc++ doesn't support it either.
 #define GTEST_HAS_STD_WSTRING 0