merge MacOs compilation fixes for Boost 1.76

This commit is contained in:
Ion Gaztañaga
2021-03-12 17:07:45 +01:00
4 changed files with 37 additions and 43 deletions

View File

@@ -31,17 +31,16 @@
#include <boost/limits.hpp>
#include <boost/assert.hpp>
#if defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
#include <boost/interprocess/sync/spin/condition.hpp>
#elif defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
#include <boost/interprocess/sync/posix/condition.hpp>
#define BOOST_INTERPROCESS_CONDITION_USE_POSIX
//Experimental...
#elif defined (BOOST_INTERPROCESS_WINDOWS)
#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
#include <boost/interprocess/sync/windows/condition.hpp>
#define BOOST_INTERPROCESS_CONDITION_USE_WINAPI
#else
#error "Unsuported interprocess_condition"
//spin_condition is used
#include <boost/interprocess/sync/spin/condition.hpp>
#endif
#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED

View File

@@ -32,28 +32,25 @@
#include <boost/assert.hpp>
#include <boost/interprocess/sync/detail/common_algorithms.hpp>
#if defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
#include <boost/interprocess/sync/spin/mutex.hpp>
namespace boost {
namespace interprocess {
namespace ipcdetail{
namespace robust_emulation_helpers {
template<class T>
class mutex_traits;
}}}}
#elif defined (BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
#include <boost/interprocess/sync/posix/mutex.hpp>
#define BOOST_INTERPROCESS_MUTEX_USE_POSIX
//Experimental...
#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
//Experimental...
#define BOOST_INTERPROCESS_MUTEX_USE_WINAPI
#include <boost/interprocess/sync/windows/mutex.hpp>
#else
#error "Unsuported interprocess_mutex"
//spin_mutex is used
#include <boost/interprocess/sync/spin/mutex.hpp>
namespace boost {
namespace interprocess {
namespace ipcdetail{
namespace robust_emulation_helpers {
template<class T>
class mutex_traits;
}}}}
#endif
#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED

View File

@@ -43,30 +43,27 @@
#include <boost/interprocess/sync/detail/common_algorithms.hpp>
#include <boost/assert.hpp>
#if defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
#include <boost/interprocess/sync/spin/recursive_mutex.hpp>
#elif defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED) && defined (BOOST_INTERPROCESS_POSIX_RECURSIVE_MUTEXES)
#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && \
defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED) && \
defined (BOOST_INTERPROCESS_POSIX_RECURSIVE_MUTEXES)
//Experimental...
#include <boost/interprocess/sync/posix/recursive_mutex.hpp>
#define BOOST_INTERPROCESS_RECURSIVE_MUTEX_USE_POSIX
//Experimental...
#elif defined (BOOST_INTERPROCESS_WINDOWS)
#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
#include <boost/interprocess/sync/windows/recursive_mutex.hpp>
#define BOOST_INTERPROCESS_RECURSIVE_MUTEX_USE_WINAPI
#else
#error "Unsuported interprocess_recursive_mutex"
#endif
//spin_recursive_mutex is used
#include <boost/interprocess/sync/spin/recursive_mutex.hpp>
namespace boost {
namespace interprocess {
namespace ipcdetail{
namespace robust_emulation_helpers {
#if defined (BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
namespace boost {
namespace interprocess {
namespace ipcdetail{
namespace robust_emulation_helpers {
template<class T>
class mutex_traits;
}}}}
template<class T>
class mutex_traits;
}}}}
#endif
#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED

View File

@@ -30,17 +30,18 @@
#include <boost/interprocess/sync/detail/locks.hpp>
#include <boost/interprocess/sync/detail/common_algorithms.hpp>
#if defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
#include <boost/interprocess/sync/spin/semaphore.hpp>
#elif defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED) && defined(BOOST_INTERPROCESS_POSIX_UNNAMED_SEMAPHORES)
#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && \
defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED) && \
defined(BOOST_INTERPROCESS_POSIX_UNNAMED_SEMAPHORES)
#include <boost/interprocess/sync/posix/semaphore.hpp>
#define BOOST_INTERPROCESS_SEMAPHORE_USE_POSIX
#elif defined (BOOST_INTERPROCESS_WINDOWS)
#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
//Experimental...
#include <boost/interprocess/sync/windows/semaphore.hpp>
#define BOOST_INTERPROCESS_SEMAPHORE_USE_WINAPI
#else
#error "Unsuported interprocess_semaphore"
//spin_semaphore is used
#include <boost/interprocess/sync/spin/semaphore.hpp>
#endif
#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED