X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Fcpus.cc;h=fb94b475de69735c8990f1f85dc50c619b8929d0;hb=f5f89d8c7e7e0cb6dad8c3f255b3871ef99a78cf;hp=77b95a455dce7898ec55b38eaae0b48f725b5c12;hpb=77c578f21c691206806d65c2dd8cd1f69c4ac7da;p=ardour.git diff --git a/libs/pbd/cpus.cc b/libs/pbd/cpus.cc index 77b95a455d..fb94b475de 100644 --- a/libs/pbd/cpus.cc +++ b/libs/pbd/cpus.cc @@ -28,10 +28,16 @@ #include #include #include +#elif defined(PLATFORM_WINDOWS) +#include #endif #include "pbd/cpus.h" +#if defined(COMPILER_MSVC) && !defined(PTW32_VERSION) +#include // Gets us 'PTW32_VERSION' +#endif + uint32_t hardware_concurrency() { @@ -40,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