Date: Mon, 25 Nov 2013 15:19:00 +0000 (UTC) From: "Jason E. Hale" <jhale@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r334856 - in head/graphics/opencv: . files Message-ID: <201311251519.rAPFJ08W090535@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhale Date: Mon Nov 25 15:19:00 2013 New Revision: 334856 URL: http://svnweb.freebsd.org/changeset/ports/334856 Log: - Allow build with clang without libc++ on 8.x and 9.x [1][2][3] - Fix build on powerpc64 [4] PR: ports/183238 [1], ports/183954 [2], ports/182046 [4] Submitted by: Chess Griffin <chess@chessgriffin.com> [1], Guillaume Bibaut <yom@iaelu.net> [2], jhibbits [4] Patched by: tijl (via private mail) [3] Modified: head/graphics/opencv/Makefile head/graphics/opencv/files/patch-modules__ts__include__opencv2__ts__ts_gtest.h Modified: head/graphics/opencv/Makefile ============================================================================== --- head/graphics/opencv/Makefile Mon Nov 25 15:06:59 2013 (r334855) +++ head/graphics/opencv/Makefile Mon Nov 25 15:19:00 2013 (r334856) @@ -17,12 +17,14 @@ LICENSE_FILE= ${WRKSRC}/doc/license.txt WANT_GSTREAMER= yes MAKE_JOBS_UNSAFE= yes USE_BZIP2= yes -USES= compiler:features cmake pkgconfig +USES= cmake pkgconfig USE_DOS2UNIX= yes USE_LDCONFIG= yes WRKSRC= ${WRKDIR}/OpenCV-${DISTVERSION} +CXXFLAGS+= -DGTEST_USE_OWN_TR1_TUPLE=1 + NOT_FOR_ARCHS= sparc64 NOT_FOR_ARCHS_REASON_sparc64= does not compile on sparc64 @@ -154,6 +156,9 @@ CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=Off \ -DWITH_PVAPI:BOOL=Off \ -DWITH_1394:BOOL=Off \ -DWITH_CUDA:BOOL=Off + +.include <bsd.port.options.mk> + .endif # defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON) .if defined(_BUILDING_OPENCV_PYTHON) @@ -162,19 +167,13 @@ CMAKE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT: CMAKE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT:BOOL=Off .endif -.include <bsd.port.pre.mk> - -.if ${COMPILER_TYPE}=="clang" -USE_CXXSTD= c++11 -CXXFLAGS+= -stdlib=libc++ -Wno-error -Wno-c++11-narrowing -.endif - post-patch: @${MKDIR} ${CONFIGURE_WRKSRC} @${REINPLACE_CMD} -e 's:set(OPENCV_SOVERSION.*:set(OPENCV_SOVERSION "$${OPENCV_VERSION_MAJOR}"):' \ -e 's:-pthread:${PTHREAD_LIBS}:g' \ -e 's:$${OPENCV_LIB_INSTALL_PATH}/pkgconfig:$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig:g' \ -e 's:share/OpenCV/doc:share/doc/opencv:g' \ + -e 's:-mcpu=G3::g' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e 's|${PORTNAME}/samples|examples/${PORTNAME}|g' \ ${WRKSRC}/samples/*/CMakeLists.txt \ @@ -210,4 +209,4 @@ post-patch: ${WRKSRC}/CMakeLists.txt .endif -.include <bsd.port.post.mk> +.include <bsd.port.mk> Modified: head/graphics/opencv/files/patch-modules__ts__include__opencv2__ts__ts_gtest.h ============================================================================== --- head/graphics/opencv/files/patch-modules__ts__include__opencv2__ts__ts_gtest.h Mon Nov 25 15:06:59 2013 (r334855) +++ head/graphics/opencv/files/patch-modules__ts__include__opencv2__ts__ts_gtest.h Mon Nov 25 15:19:00 2013 (r334856) @@ -8,265 +8,3 @@ // Copyright 2005, Google Inc. // All rights reserved. -@@ -543,7 +544,7 @@ - // Author: wan@google.com (Zhanyong Wan) - - // Implements a subset of TR1 tuple needed by Google Test and Google Mock. -- -+#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ 1 - #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ - #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_ - -@@ -1504,11 +1505,35 @@ - // <tr1/functional>. Hence the following #define is a hack to prevent - // <tr1/functional> from being included. - #define _TR1_FUNCTIONAL 1 -+#ifdef __clang__ -+#if __has_include(<tuple>) -+#include <tuple> -+namespace gtest { -+ using ::std::tuple; -+} -+#endif -+#else - #include <tr1/tuple> -+namespace gtest { -+ using ::std::tr1::tuple; -+} -+#endif - #undef _TR1_FUNCTIONAL // Allows the user to #include - // <tr1/functional> if he chooses to. - #else --#include <tr1/tuple> // NOLINT -+#if defined(__clang__) -+#if __has_include(<tuple>) -+#include <tuple> -+namespace gtest { -+ using ::std::tuple; -+} -+#endif -+#else -+#include <tr1/tuple> -+namespace gtest { -+ using ::std::tr1::tuple; -+} -+#endif - #endif // !GTEST_HAS_RTTI && GTEST_GCC_VER_ < 40302 - - #else -@@ -11951,9 +11976,9 @@ - // - template <typename T1, typename T2> - class CartesianProductGenerator2 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2> > { -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2> > { - public: -- typedef ::std::tr1::tuple<T1, T2> ParamType; -+ typedef gtest::tuple<T1, T2> ParamType; - - CartesianProductGenerator2(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2) -@@ -12066,9 +12091,9 @@ - - template <typename T1, typename T2, typename T3> - class CartesianProductGenerator3 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3> > { -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3> ParamType; -+ typedef gtest::tuple<T1, T2, T3> ParamType; - - CartesianProductGenerator3(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3) -@@ -12198,9 +12223,9 @@ - - template <typename T1, typename T2, typename T3, typename T4> - class CartesianProductGenerator4 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4> > { -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4> ParamType; - - CartesianProductGenerator4(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -12349,9 +12374,9 @@ - - template <typename T1, typename T2, typename T3, typename T4, typename T5> - class CartesianProductGenerator5 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5> > { -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5> ParamType; - - CartesianProductGenerator5(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -12517,10 +12542,10 @@ - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6> - class CartesianProductGenerator6 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5, - T6> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5, T6> ParamType; - - CartesianProductGenerator6(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -12703,10 +12728,10 @@ - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7> - class CartesianProductGenerator7 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5, T6, - T7> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType; - - CartesianProductGenerator7(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -12906,10 +12931,10 @@ - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8> - class CartesianProductGenerator8 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5, T6, - T7, T8> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType; - - CartesianProductGenerator8(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -13128,10 +13153,10 @@ - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9> - class CartesianProductGenerator9 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5, T6, - T7, T8, T9> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType; - - CartesianProductGenerator9(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -13367,10 +13392,10 @@ - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10> - class CartesianProductGenerator10 -- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, -+ : public ParamGeneratorInterface< gtest::tuple<T1, T2, T3, T4, T5, T6, - T7, T8, T9, T10> > { - public: -- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType; -+ typedef gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType; - - CartesianProductGenerator10(const ParamGenerator<T1>& g1, - const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, -@@ -13632,8 +13657,8 @@ - CartesianProductHolder2(const Generator1& g1, const Generator2& g2) - : g1_(g1), g2_(g2) {} - template <typename T1, typename T2> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2> >( -+ operator ParamGenerator< gtest::tuple<T1, T2> >() const { -+ return ParamGenerator< gtest::tuple<T1, T2> >( - new CartesianProductGenerator2<T1, T2>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_))); -@@ -13654,8 +13679,8 @@ - const Generator3& g3) - : g1_(g1), g2_(g2), g3_(g3) {} - template <typename T1, typename T2, typename T3> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >( -+ operator ParamGenerator< gtest::tuple<T1, T2, T3> >() const { -+ return ParamGenerator< gtest::tuple<T1, T2, T3> >( - new CartesianProductGenerator3<T1, T2, T3>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13679,8 +13704,8 @@ - const Generator3& g3, const Generator4& g4) - : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} - template <typename T1, typename T2, typename T3, typename T4> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >( -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4> >() const { -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4> >( - new CartesianProductGenerator4<T1, T2, T3, T4>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13706,8 +13731,8 @@ - const Generator3& g3, const Generator4& g4, const Generator5& g5) - : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >( -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5> >() const { -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5> >( - new CartesianProductGenerator5<T1, T2, T3, T4, T5>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13737,8 +13762,8 @@ - : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >( -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6> >() const { -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6> >( - new CartesianProductGenerator6<T1, T2, T3, T4, T5, T6>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13770,9 +13795,9 @@ - : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, - T7> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> >( -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7> >( - new CartesianProductGenerator7<T1, T2, T3, T4, T5, T6, T7>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13808,9 +13833,9 @@ - g8_(g8) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, - T8> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >( -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >( - new CartesianProductGenerator8<T1, T2, T3, T4, T5, T6, T7, T8>( - static_cast<ParamGenerator<T1> >(g1_), - static_cast<ParamGenerator<T2> >(g2_), -@@ -13849,9 +13874,9 @@ - g9_(g9) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, - T9> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, - T9> >( - new CartesianProductGenerator9<T1, T2, T3, T4, T5, T6, T7, T8, T9>( - static_cast<ParamGenerator<T1> >(g1_), -@@ -13893,9 +13918,9 @@ - g9_(g9), g10_(g10) {} - template <typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6, typename T7, typename T8, typename T9, typename T10> -- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, -+ operator ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, - T9, T10> >() const { -- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, -+ return ParamGenerator< gtest::tuple<T1, T2, T3, T4, T5, T6, T7, T8, - T9, T10> >( - new CartesianProductGenerator10<T1, T2, T3, T4, T5, T6, T7, T8, T9, - T10>(
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311251519.rAPFJ08W090535>