summaryrefslogtreecommitdiff
path: root/libs/pbd
diff options
context:
space:
mode:
Diffstat (limited to 'libs/pbd')
-rw-r--r--libs/pbd/cpus.cc6
-rw-r--r--libs/pbd/pbd/floating.h1
-rw-r--r--libs/pbd/pbd/system_exec.h3
3 files changed, 9 insertions, 1 deletions
diff --git a/libs/pbd/cpus.cc b/libs/pbd/cpus.cc
index fb94b475de..69421e5e92 100644
--- a/libs/pbd/cpus.cc
+++ b/libs/pbd/cpus.cc
@@ -43,10 +43,14 @@ hardware_concurrency()
{
#if defined(PTW32_VERSION) || defined(__hpux)
return pthread_num_processors_np();
-#elif defined(__APPLE__) || defined(__FreeBSD__)
+#elif defined(__APPLE__)
int count;
size_t size=sizeof(count);
return sysctlbyname("hw.physicalcpu",&count,&size,NULL,0)?0:count;
+#elif defined(__FreeBSD__)
+ int count;
+ size_t size=sizeof(count);
+ return sysctlbyname("hw.ncpu",&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;
diff --git a/libs/pbd/pbd/floating.h b/libs/pbd/pbd/floating.h
index 86ab4a68f0..d7d6349a34 100644
--- a/libs/pbd/pbd/floating.h
+++ b/libs/pbd/pbd/floating.h
@@ -28,6 +28,7 @@
#include <stdint.h>
+#include <cstdlib> // abs(int)
#include <cmath>
#include "pbd/libpbd_visibility.h"
diff --git a/libs/pbd/pbd/system_exec.h b/libs/pbd/pbd/system_exec.h
index d5b14c8273..a8a30ba18d 100644
--- a/libs/pbd/pbd/system_exec.h
+++ b/libs/pbd/pbd/system_exec.h
@@ -37,6 +37,9 @@
#undef interface // VKamyshniy: to avoid "include/giomm-2.4/giomm/dbusmessage.h:270:94: error: expected ',' or '...' before 'struct'"
#endif
+#else // posix
+#include <sys/types.h>
+#include <sys/wait.h> /* WNOHANG is part of the exposed API */
#endif
#include <string>