Date: Fri, 20 Sep 2013 15:01:58 +0930 From: Shane Ambler <FreeBSD@ShaneWare.Biz> To: FreeBSD-ports <freebsd-ports@freebsd.org> Subject: libc++ differences between 9.2 and 10.0 Message-ID: <523BDDCE.4060801@ShaneWare.Biz>
next in thread | raw e-mail | index | archive | help
I'm Starting to look at fixing my ports to build on 10.0 and there appears to be a difference between 9.2 and 10.0 when it comes to using libc++ The first port I am looking at is graphics/opencolorio. a patch was submitted (ports/182220) that works fine on 10.0 but it breaks 9.2 build when using clang with - error: no type named 'shared_ptr' in namespace 'std' The patch is simple, just adding - #elif __cplusplus >= 199711 #include <memory> #define OCIO_SHARED_PTR std::shared_ptr #define OCIO_DYNAMIC_POINTER_CAST std::dynamic_pointer_cast As far as I can see both 10.0 and 9.2 use the same contrib/libc++ contents but I don't see why 9.2 isn't finding std::shared_ptr The other thing is I don't think testing __cplusplus is the right way to go but don't see an alternative. __cplusplus is defined in clang irrespective of the library used so isn't really a reliable test. Are there any defines to easily test for std::shared_ptr or is that a test I need to create for configure or cmake - has already been done?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?523BDDCE.4060801>