diff options
author | Jens Verwiebe <info@jensverwiebe.de> | 2012-11-08 01:19:43 +0400 |
---|---|---|
committer | Jens Verwiebe <info@jensverwiebe.de> | 2012-11-08 01:19:43 +0400 |
commit | aa42934cef8a5f545518bbfe3d7ddf4825818b3b (patch) | |
tree | 67ed34fc4bebc1267a3daeea0cc47adfa94036c3 /intern | |
parent | 204113b791a8eea6087de61199df1d5811055244 (diff) |
itask: reworked conditionals for osx version compatibility
Diffstat (limited to 'intern')
-rw-r--r-- | intern/itasc/kdl/chain.hpp | 9 | ||||
-rw-r--r-- | intern/itasc/kdl/tree.hpp | 19 |
2 files changed, 22 insertions, 6 deletions
diff --git a/intern/itasc/kdl/chain.hpp b/intern/itasc/kdl/chain.hpp index 24e40858bff..fde9d4ed23e 100644 --- a/intern/itasc/kdl/chain.hpp +++ b/intern/itasc/kdl/chain.hpp @@ -35,11 +35,16 @@ namespace KDL { */ class Chain { private: -#if !defined(__APPLE__) +#if defined(__APPLE__) +# if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5 + std::vector<Segment> segments; +# else // Eigen allocator is needed for alignment of Eigen data types std::vector<Segment, Eigen::aligned_allocator<Segment> > segments; +# endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ #else - std::vector<Segment> segments; + // Eigen allocator is needed for alignment of Eigen data types + std::vector<Segment, Eigen::aligned_allocator<Segment> > segments; #endif unsigned int nrOfJoints; unsigned int nrOfSegments; diff --git a/intern/itasc/kdl/tree.hpp b/intern/itasc/kdl/tree.hpp index 4da764ac6d6..a020c6cf2cf 100644 --- a/intern/itasc/kdl/tree.hpp +++ b/intern/itasc/kdl/tree.hpp @@ -27,19 +27,30 @@ #include <string> #include <map> -#if !defined(__APPLE__) -#include <Eigen/Core> +#if defined(__APPLE__) +# if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5 + //no include +# else +# include <Eigen/Core> +# endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ +#else +# include <Eigen/Core> #endif namespace KDL { //Forward declaration class TreeElement; -#if !defined(__APPLE__) +#if defined(__APPLE__) +# if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_5 + typedef std::map<std::string,TreeElement> SegmentMap; +# else // Eigen allocator is needed for alignment of Eigen data types typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap; +# endif /* MAC_OS_X_VERSION_MIN_REQUIRED */ #else - typedef std::map<std::string,TreeElement> SegmentMap; + // Eigen allocator is needed for alignment of Eigen data types + typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap; #endif class TreeElement { |