fix debian packaging and fix build on new mac; refs #11

This commit is contained in:
Marc Wäckerlin
2014-11-06 10:24:05 +00:00
parent f07fe7dc85
commit 83530df845
5 changed files with 55 additions and 42 deletions

View File

@@ -71,29 +71,31 @@ namespace std {
# warning trying standard C++11 support
# endif
# elif __APPLE__
/// Code is compiled with an old non C++11 standard compliant compiler
/** There are workarounds for old non C++11 compatible
compilers. These workarounds are deprecated, but will remain
until most compilers fully support C++11. So this workaround
will be removed in future releases, when support for C++11 is
more common. Only rely on this workaround, if you really have
to. */
# define MRW__OLD_PRE11_COMPILER
# warning you need a C++11 compliant compiler, on gcc: add -std=c++11
# warning emulating C++11 - this changes the way you use the library
# warning this is deprecated and will be removed in future releases
# warning refere to the library documentation for more details
# warning special workaround for apple
# include <tr1/memory>
namespace std {
// there is no std::shared_ptr in apple, but
// std::tr1::shared_ptr in <tr1/memory>
template <typename T> class shared_ptr: public tr1::shared_ptr<T> {
public:
explicit shared_ptr(): tr1::shared_ptr<T>() {}
explicit shared_ptr(T* p): tr1::shared_ptr<T>(p) {}
};
}
# if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_9
/// Code is compiled with an old non C++11 standard compliant compiler
/** There are workarounds for old non C++11 compatible
compilers. These workarounds are deprecated, but will
remain until most compilers fully support C++11. So this
workaround will be removed in future releases, when support
for C++11 is more common. Only rely on this workaround, if
you really have to. */
# define MRW__OLD_PRE11_COMPILER
# warning you need a C++11 compliant compiler, on gcc: add -std=c++11
# warning emulating C++11 - this changes the way you use the library
# warning this is deprecated and will be removed in future releases
# warning refere to the library documentation for more details
# warning special workaround for apple
# include <tr1/memory>
namespace std {
// there is no std::shared_ptr in apple, but
// std::tr1::shared_ptr in <tr1/memory>
template <typename T> class shared_ptr: public tr1::shared_ptr<T> {
public:
explicit shared_ptr(): tr1::shared_ptr<T>() {}
explicit shared_ptr(T* p): tr1::shared_ptr<T>(p) {}
};
}
# endif
# endif
#endif