Patchwork [meta-oe,1/2] libeigen: initial contribution required by opencv

login
register
mail settings
Submitter Lukas Bulwahn
Date Sept. 24, 2013, 2:12 p.m.
Message ID <1380031928-29350-1-git-send-email-lukas.bulwahn@oss.bmw-carit.de>
Download mbox | patch
Permalink /patch/58671/
State Accepted, archived
Commit 424e3c1b930c0103c2cedfd4df1671e84a5256d5
Headers show

Comments

Lukas Bulwahn - Sept. 24, 2013, 2:12 p.m.
As opencv depends on libeigen, libeigen is added to the meta-oe
layer. This commit is derived from the work [1] by Kartik Mohta.

[1] https://github.com/kartikmohta/meta-km/tree/master/recipes-extended/eigen

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
---
 .../libeigen/libeigen/eigen-disable-tests.patch    |   75 ++++++++++++++++++++
 meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb |   25 +++++++
 2 files changed, 100 insertions(+)
 create mode 100644 meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch
 create mode 100644 meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb

Patch

diff --git a/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch b/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch
new file mode 100644
index 0000000..b3dddbe
--- /dev/null
+++ b/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch
@@ -0,0 +1,75 @@ 
+libeigen: don't try building tests
+
+While configuring, if the tests are enabled, it checks some machine-specific
+settings which we don't want to do while cross-compiling.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
+
+--- a/CMakeLists.txt~	2013-07-29 16:59:48.403504947 -0400
++++ b/CMakeLists.txt	2013-07-29 17:00:19.868020948 -0400
+@@ -346,25 +346,25 @@
+
+ add_subdirectory(doc EXCLUDE_FROM_ALL)
+
+-include(EigenConfigureTesting)
++#include(EigenConfigureTesting)
+
+ # fixme, not sure this line is still needed:
+-enable_testing() # must be called from the root CMakeLists, see man page
++#enable_testing() # must be called from the root CMakeLists, see man page
+
+
+-if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
+-  add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
+-else()
+-  add_subdirectory(test EXCLUDE_FROM_ALL)
+-endif()
++#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
++#  add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
++#else()
++#  add_subdirectory(test EXCLUDE_FROM_ALL)
++#endif()
+
+-if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
+-  add_subdirectory(blas)
+-  add_subdirectory(lapack)
+-else()
+-  add_subdirectory(blas EXCLUDE_FROM_ALL)
+-  add_subdirectory(lapack EXCLUDE_FROM_ALL)
+-endif()
++#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
++#  add_subdirectory(blas)
++#  add_subdirectory(lapack)
++#else()
++#  add_subdirectory(blas EXCLUDE_FROM_ALL)
++#  add_subdirectory(lapack EXCLUDE_FROM_ALL)
++#endif()
+
+ add_subdirectory(unsupported)
+
+@@ -384,7 +384,7 @@
+
+ configure_file(scripts/cdashtesting.cmake.in cdashtesting.cmake @ONLY)
+
+-ei_testing_print_summary()
++#ei_testing_print_summary()
+
+ message(STATUS "")
+ message(STATUS "Configured Eigen ${EIGEN_VERSION_NUMBER}")
+--- a/unsupported/CMakeLists.txt~	2013-07-29 16:59:54.091598607 -0400
++++ b/unsupported/CMakeLists.txt	2013-07-29 17:00:27.052139300 -0400
+@@ -1,7 +1,7 @@
+ add_subdirectory(Eigen)
+ add_subdirectory(doc EXCLUDE_FROM_ALL)
+-if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
+-  add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
+-else()
+-  add_subdirectory(test EXCLUDE_FROM_ALL)
+-endif()
++#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
++#  add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
++#else()
++#  add_subdirectory(test EXCLUDE_FROM_ALL)
++#endif()
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb
new file mode 100644
index 0000000..4183f05
--- /dev/null
+++ b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb
@@ -0,0 +1,25 @@ 
+DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
+AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
+HOMEPAGE = "http://eigen.tuxfamily.org/"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
+
+SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 \
+           file://eigen-disable-tests.patch"
+SRC_URI[md5sum] = "894381be5be65bb7099c6fd91d61b357"
+SRC_URI[sha256sum] = "011f78960d939227f9276173d0c4cc0053bb9e0a7356539a9a6c7c89d984fab6"
+
+S = "${WORKDIR}/eigen-eigen-ffa86ffb5570"
+
+inherit cmake
+
+OECMAKE_SOURCEPATH = ".."
+OECMAKE_BUILDPATH = "build"
+
+EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}"
+
+FILES_${PN} = "${includedir} ${libdir}"
+
+# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"