NO-OP re-indent
[ardour.git] / libs / pbd / cpus.cc
index ba4ba32fe4d10acbfb2767533acab2eee1c55722..fb94b475de69735c8990f1f85dc50c619b8929d0 100644 (file)
 #ifdef __linux__
 #include <unistd.h>
 #elif defined(__APPLE__) || defined(__FreeBSD__)
+#include <stddef.h>
 #include <sys/types.h>
 #include <sys/sysctl.h>
+#elif defined(PLATFORM_WINDOWS)
+#include <windows.h>
 #endif
 
 #include "pbd/cpus.h"
 
+#if defined(COMPILER_MSVC) && !defined(PTW32_VERSION)
+#include <ardourext/pthread.h>  // Gets us 'PTW32_VERSION'
+#endif
+
 uint32_t
 hardware_concurrency()
 {
@@ -39,10 +46,14 @@ hardware_concurrency()
 #elif defined(__APPLE__) || defined(__FreeBSD__)
         int count;
         size_t size=sizeof(count);
-        return sysctlbyname("hw.ncpu",&count,&size,NULL,0)?0:count;
+        return sysctlbyname("hw.physicalcpu",&count,&size,NULL,0)?0:count;
 #elif defined(HAVE_UNISTD) && defined(_SC_NPROCESSORS_ONLN)
         int const count=sysconf(_SC_NPROCESSORS_ONLN);
         return (count>0)?count:0;
+#elif defined(PLATFORM_WINDOWS)
+               SYSTEM_INFO sys_info;
+               GetSystemInfo( &sys_info );
+               return sys_info.dwNumberOfProcessors;
 #else
         return 0;
 #endif