summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/route_group.cc1
-rw-r--r--libs/ardour/session.cc2
-rw-r--r--libs/ardour/session_state.cc4
-rw-r--r--libs/midi++2/midi++/ipmidi_port.h2
-rw-r--r--libs/pbd/cpus.cc6
-rw-r--r--libs/pbd/pbd/floating.h1
-rw-r--r--libs/pbd/pbd/system_exec.h3
-rw-r--r--libs/ptformat/ptfformat.cc1
-rw-r--r--tools/gccabicheck/wscript5
-rw-r--r--wscript8
10 files changed, 26 insertions, 7 deletions
diff --git a/libs/ardour/route_group.cc b/libs/ardour/route_group.cc
index f258e9f14d..91303af07e 100644
--- a/libs/ardour/route_group.cc
+++ b/libs/ardour/route_group.cc
@@ -32,6 +32,7 @@
#include "ardour/route.h"
#include "ardour/route_group.h"
#include "ardour/session.h"
+#include "ardour/debug.h"
#include "i18n.h"
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 0005584403..6ef78eacb6 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3459,7 +3459,7 @@ Session::add_routes_inner (RouteList& new_routes, bool input_auto_connect, bool
}
}
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
/* clang complains: 'operator<<' should be declared prior to the call site or in an associated namespace of one of its
* arguments std::ostream& operator<<(std::ostream& o, ARDOUR::PresentationInfo const& rid)"
*/
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index a9d7828d8b..0075799a16 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -39,7 +39,7 @@
#include <sys/vfs.h>
#endif
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__FreeBSD__)
#include <sys/param.h>
#include <sys/mount.h>
#endif
@@ -2262,7 +2262,7 @@ Session::save_template (string template_name, bool replace_existing)
void
Session::refresh_disk_space ()
{
-#if __APPLE__ || (HAVE_SYS_VFS_H && HAVE_SYS_STATVFS_H)
+#if __APPLE__ || __FreeBSD__ || (HAVE_SYS_VFS_H && HAVE_SYS_STATVFS_H)
Glib::Threads::Mutex::Lock lm (space_lock);
diff --git a/libs/midi++2/midi++/ipmidi_port.h b/libs/midi++2/midi++/ipmidi_port.h
index 313208892f..d870c79ef0 100644
--- a/libs/midi++2/midi++/ipmidi_port.h
+++ b/libs/midi++2/midi++/ipmidi_port.h
@@ -23,7 +23,7 @@
#include <iostream>
#if defined(PLATFORM_WINDOWS)
#include <winsock.h>
-#elif defined(__FREE_BSD__)
+#elif defined(__FreeBSD__)
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/_sockaddr_storage.h>
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>
diff --git a/libs/ptformat/ptfformat.cc b/libs/ptformat/ptfformat.cc
index caf2c2f42a..3d66ec025e 100644
--- a/libs/ptformat/ptfformat.cc
+++ b/libs/ptformat/ptfformat.cc
@@ -15,6 +15,7 @@
*/
#include <stdio.h>
+#include <stdlib.h>
#include <string>
#include <string.h>
#include <assert.h>
diff --git a/tools/gccabicheck/wscript b/tools/gccabicheck/wscript
index ecef5c6aa7..afdb99f506 100644
--- a/tools/gccabicheck/wscript
+++ b/tools/gccabicheck/wscript
@@ -2,6 +2,8 @@
from waflib.extras import autowaf as autowaf
from waflib import Options
import os
+import re
+import sys
# Mandatory variables
top = '.'
@@ -19,5 +21,6 @@ def build(bld):
obj.source = [ 'abicheck.c' ]
obj.target = 'gcc-glibmm-abi-check'
obj.name = 'gcc-glibmm-abi-check'
- obj.lib = 'dl'
+ if re.search ("freebsd", sys.platform) == None:
+ obj.lib = 'dl'
obj.install_path = None
diff --git a/wscript b/wscript
index 352c9cda2c..f23a987b3c 100644
--- a/wscript
+++ b/wscript
@@ -568,6 +568,9 @@ int main() { return 0; }''',
if opt.stl_debug:
cxx_flags.append("-D_GLIBCXX_DEBUG")
+ if re.search ("freebsd", sys.platform) != None:
+ linker_flags.append('-lexecinfo')
+
if conf.env['DEBUG_RT_ALLOC']:
compiler_flags.append('-DDEBUG_RT_ALLOC')
linker_flags.append('-ldl')
@@ -940,7 +943,10 @@ def configure(conf):
# executing a test program is n/a when cross-compiling
if Options.options.dist_target != 'mingw':
if Options.options.dist_target != 'msvc':
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
+ if re.search ("freebsd", sys.platform) != None:
+ conf.check_cc(function_name='dlopen', header_name='dlfcn.h', uselib_store='DL')
+ else:
+ conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
execute = "1",
mandatory = True,