diff options
author | Sébastien Fabbro <sebfabbro@gmail.com> | 2012-04-23 19:43:29 +0100 |
---|---|---|
committer | Sébastien Fabbro <sebfabbro@gmail.com> | 2012-04-23 19:43:29 +0100 |
commit | 04534a273bd28334ba5e041871ce23e2a0ceff26 (patch) | |
tree | f6a013e8b79b6d25ea25021be8d38c9fb72850f7 /sci-libs/lapacke-reference | |
parent | sci-libs/lapack-reference: Version bump (diff) | |
download | sci-04534a273bd28334ba5e041871ce23e2a0ceff26.tar.gz sci-04534a273bd28334ba5e041871ce23e2a0ceff26.tar.bz2 sci-04534a273bd28334ba5e041871ce23e2a0ceff26.zip |
sci-libs/lapacke-reference: Version bump
(Portage version: 2.1.10.56/git/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'sci-libs/lapacke-reference')
-rw-r--r-- | sci-libs/lapacke-reference/ChangeLog | 6 | ||||
-rw-r--r-- | sci-libs/lapacke-reference/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/lapacke-reference/files/3.4.1-cmake.patch | 199 | ||||
-rw-r--r-- | sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild | 75 |
4 files changed, 281 insertions, 0 deletions
diff --git a/sci-libs/lapacke-reference/ChangeLog b/sci-libs/lapacke-reference/ChangeLog index 2d9e3b68b..795624837 100644 --- a/sci-libs/lapacke-reference/ChangeLog +++ b/sci-libs/lapacke-reference/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*lapacke-reference-3.4.1 (23 Apr 2012) + + 23 Apr 2012; Sébastien Fabbro <bicatali@gentoo.org> + +files/3.4.1-cmake.patch, +lapacke-reference-3.4.1.ebuild: + Version bump + 23 Feb 2012; Justin Lecher <jlec@gentoo.org> lapacke-reference-3.4.0_p20120215-r1.ebuild, metadata.xml: Keyworded for ~-linux prefix diff --git a/sci-libs/lapacke-reference/Manifest b/sci-libs/lapacke-reference/Manifest index 3f189e022..ffbeb5fa7 100644 --- a/sci-libs/lapacke-reference/Manifest +++ b/sci-libs/lapacke-reference/Manifest @@ -1 +1,2 @@ DIST lapack-3.4.0_p20120215.tar.bz2 4290529 SHA256 4fd1b7e3b573a1fa98241dd45ce0c0a89e8649824c5bca194a30c965520d53f3 SHA512 a62381c0b6b30ad752f5d9161e68c89cf7982959077b94a7a2609d617ba985141330ad61b92c393133a3cbcc46a6257c05f43c75b0fe35c1d422f6166615097f WHIRLPOOL 1e2438521ba4761c5661dc22a9be3e5c96a957f0f09721037b8ac3dcf0fecab0d896af8b969d69a200e32296d5e4c3b5ebd8f851d101b5220173847e3c3b7ddf +DIST lapack-3.4.1.tgz 6147766 SHA256 e315d210e25c056e34dd8ccabd34e3ad66b4c59f6941bdbf5f8f61167fa33ce2 SHA512 2ef7fb8b7d5c9d9088434bc8a88b05a256fc71bf05d26c5ccc13f4896790f2652e74acc0566f368dbbb6e41c3b4656dde4d345eea616dffea580b87ccd770008 WHIRLPOOL 2342dbe47a55472cfb95170d3b266f50695d7519c56929fcf3bec658d0ae6e4f6ce2ca34b8a4876de33d3f7373a9264d879ed0cb15ff5aab420b5839aebbe1b0 diff --git a/sci-libs/lapacke-reference/files/3.4.1-cmake.patch b/sci-libs/lapacke-reference/files/3.4.1-cmake.patch new file mode 100644 index 000000000..465f68a79 --- /dev/null +++ b/sci-libs/lapacke-reference/files/3.4.1-cmake.patch @@ -0,0 +1,199 @@ +Index: CMakeLists.txt +=================================================================== +--- CMakeLists.txt (revision 1284) ++++ CMakeLists.txt (working copy) +@@ -94,10 +94,6 @@ + # Precision to build + # By default all precisions are generated + +-option(BUILD_SINGLE "Build LAPACK Single Precision" ON) +-option(BUILD_DOUBLE "Build LAPACK Double Precision" ON) +-option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON) +-option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON) + + # -------------------------------------------------- + # Subdirectories that need to be processed +@@ -147,7 +143,49 @@ + find_library(XBLAS_LIBRARY NAMES xblas) + endif(USE_XBLAS) + +-add_subdirectory(SRC) ++option(USE_OPTIMIZED_LAPACK "Whether or not to use an optimized LAPACK library instead of included netlib LAPACK" OFF) ++ ++# Check the usage of the user provided LAPACK libraries ++if(LAPACK_LIBRARIES) ++ include(CheckFortranFunctionExists) ++ set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES}) ++ CHECK_FORTRAN_FUNCTION_EXISTS("dpotrf" LAPACK_FOUND) ++ unset( CMAKE_REQUIRED_LIBRARIES ) ++ if(LAPACK_FOUND) ++ message(STATUS "--> LAPACK supplied by user is WORKING, will use ${LAPACK_LIBRARIES}.") ++ else(LAPACK_FOUND) ++ message(ERROR "--> LAPACK supplied by user is not WORKING, CANNOT USE $LAPACK_LIBRARIES}.") ++ message(ERROR "--> Will use REFERENCE LAPACK (by default)") ++ message(ERROR "--> Or Correct your LAPACK_LIBRARIES entry ") ++ message(ERROR "--> Or Consider checking USE_OPTIMIZED_LAPACK") ++ endif(LAPACK_FOUND) ++ ++ # User did not provide a LAPACK Library but specified to search for one ++elseif( USE_OPTIMIZED_LAPACK ) ++ find_package( LAPACK ) ++endif (LAPACK_LIBRARIES) ++ ++# Neither user specified or optimized LAPACK libraries can be used ++if(NOT LAPACK_FOUND) ++ message(STATUS "Using supplied NETLIB LAPACK implementation") ++ set( LAPACK_LIBRARIES lapack ) ++ option(BUILD_SINGLE "Build LAPACK Single Precision" ON) ++ option(BUILD_DOUBLE "Build LAPACK Double Precision" ON) ++ option(BUILD_COMPLEX "Build LAPACK Complex Precision" ON) ++ option(BUILD_COMPLEX16 "Build LAPACK Double Complex Precision" ON) ++ add_subdirectory(SRC) ++else() ++ set( CMAKE_EXE_LINKER_FLAGS ++ "${CMAKE_EXE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" ++ CACHE STRING "Linker flags for executables" FORCE) ++ set( CMAKE_MODULE_LINKER_FLAGS ++ "${CMAKE_MODULE_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" ++ CACHE STRING "Linker flags for modules" FORCE) ++ set( CMAKE_SHARED_LINKER_FLAGS ++ "${CMAKE_SHARED_LINKER_FLAGS} ${LAPACK_LINKER_FLAGS}" ++ CACHE STRING "Linker flags for shared libs" FORCE) ++endif( NOT LAPACK_FOUND ) ++ + if(BUILD_TESTING) + add_subdirectory(TESTING) + endif(BUILD_TESTING) +@@ -155,6 +193,10 @@ + # -------------------------------------------------- + # LAPACKE + option(LAPACKE "Build LAPACKE" OFF) ++if(LAPACKE) ++ add_subdirectory(lapacke) ++endif(LAPACKE) ++ + # LAPACKE has also the interface to some routines from tmglib, + # if LAPACKE_WITH_TMG is selected, we need to add those routines to LAPACKE + option(LAPACKE_WITH_TMG "Build LAPACKE with tmglib routines" OFF) +@@ -162,9 +204,6 @@ + option(LAPACKE "Build LAPACKE" ON) + endif(LAPACKE_WITH_TMG) + +-if(LAPACKE) +- add_subdirectory(lapacke) +-endif(LAPACKE) + + # -------------------------------------------------- + # CPACK Packaging +@@ -202,20 +241,24 @@ + OPTION(BUILD_STATIC_LIBS "Build static libraries" ON ) + #OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON ) + +-if( NOT BLAS_FOUND ) +- if(LAPACKE) +- export(TARGETS blas lapack tmglib lapacke FILE lapack-targets.cmake) +- else (LAPACKE) +- export(TARGETS blas lapack tmglib FILE lapack-targets.cmake) +- endif(LAPACKE) +-else( NOT BLAS_FOUND ) +- if(LAPACKE) +- export(TARGETS lapack tmglib lapacke FILE lapack-targets.cmake) +- else (LAPACKE) +- export(TARGETS lapack tmglib FILE lapack-targets.cmake) +- endif(LAPACKE) +-endif( NOT BLAS_FOUND ) ++if(NOT BLAS_FOUND) ++ set(ALL_TARGETS ${ALL_TARGETS} blas) ++endif(NOT BLAS_FOUND) + ++if(NOT LAPACK_FOUND) ++ set(ALL_TARGETS ${ALL_TARGETS} lapack) ++endif(NOT LAPACK_FOUND) ++ ++if(BUILD_TESTING OR LAPACKE_WITH_TMG) ++ set(ALL_TARGETS ${ALL_TARGETS} tmglib) ++endif(BUILD_TESTING OR LAPACKE_WITH_TMG) ++ ++if(LAPACKE) ++ set(ALL_TARGETS ${ALL_TARGETS} lapacke) ++endif(LAPACKE) ++ ++export(TARGETS ${ALL_TARGETS} FILE lapack-targets.cmake) ++ + configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-version.cmake.in + ${LAPACK_BINARY_DIR}/lapack-config-version.cmake @ONLY) + configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in +Index: lapacke/example/CMakeLists.txt +=================================================================== +--- lapacke/example/CMakeLists.txt (revision 1284) ++++ lapacke/example/CMakeLists.txt (working copy) +@@ -1,8 +1,8 @@ + add_executable(xexample_DGESV_rowmajor example_DGESV_rowmajor.c) + add_executable(xexample_ZGESV_rowmajor example_ZGESV_rowmajor.c) + +-target_link_libraries(xexample_DGESV_rowmajor lapacke lapack ${BLAS_LIBRARIES}) +-target_link_libraries(xexample_ZGESV_rowmajor lapacke lapack ${BLAS_LIBRARIES}) ++target_link_libraries(xexample_DGESV_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) ++target_link_libraries(xexample_ZGESV_rowmajor lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) + + add_test(example_DGESV_rowmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_DGESV_rowmajor) + add_test(example_ZGESV_rowmajor ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xexample_ZGESV_rowmajor) +Index: lapacke/CMakeLists.txt +=================================================================== +--- lapacke/CMakeLists.txt (revision 1284) ++++ lapacke/CMakeLists.txt (working copy) +@@ -45,14 +45,14 @@ + + if (USE_XBLAS) + add_library(lapacke ${SRC_OBJ} ${SRCX_OBJ} ${UTILS_OBJ}) +- target_link_libraries(lapacke lapack ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) ++ target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} ${XBLAS_LIBRARY}) + else (USE_XBLAS) + if (LAPACKE_WITH_TMG) + add_library(lapacke ${SRC_OBJ} ${MATGEN_OBJ} ${UTILS_OBJ}) +- target_link_libraries(lapacke tmglib lapack ${BLAS_LIBRARIES} ) ++ target_link_libraries(lapacke tmglib ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) + else (LAPACKE_WITH_TMG) + add_library(lapacke ${SRC_OBJ} ${UTILS_OBJ}) +- target_link_libraries(lapacke lapack ${BLAS_LIBRARIES} ) ++ target_link_libraries(lapacke ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) + endif(LAPACKE_WITH_TMG) + endif(USE_XBLAS) + +Index: TESTING/LIN/CMakeLists.txt +=================================================================== +--- TESTING/LIN/CMakeLists.txt (revision 1284) ++++ TESTING/LIN/CMakeLists.txt (working copy) +@@ -193,7 +193,7 @@ + + macro(add_lin_executable name ) + add_executable(${name} ${ARGN}) +- target_link_libraries(${name} tmglib lapack) ++ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES}) + endmacro(add_lin_executable) + + IF(BUILD_SINGLE) +Index: TESTING/EIG/CMakeLists.txt +=================================================================== +--- TESTING/EIG/CMakeLists.txt (revision 1284) ++++ TESTING/EIG/CMakeLists.txt (working copy) +@@ -119,7 +119,7 @@ + + macro(add_eig_executable name ) + add_executable(${name} ${ARGN}) +- target_link_libraries(${name} tmglib lapack ) ++ target_link_libraries(${name} tmglib ${LAPACK_LIBRARIES}) + endmacro(add_eig_executable) + + if (BUILD_SINGLE) +Index: TESTING/MATGEN/CMakeLists.txt +=================================================================== +--- TESTING/MATGEN/CMakeLists.txt (revision 1284) ++++ TESTING/MATGEN/CMakeLists.txt (working copy) +@@ -71,5 +71,5 @@ + ${DZATGEN}) + endif() + add_library(tmglib ${ALLOBJ} ) +-target_link_libraries(tmglib lapack) ++target_link_libraries(tmglib ${LAPACK_LIBRARIES}) + lapack_install_library(tmglib) diff --git a/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild b/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild new file mode 100644 index 000000000..bb30d09c8 --- /dev/null +++ b/sci-libs/lapacke-reference/lapacke-reference-3.4.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 +inherit cmake-utils fortran-2 alternatives-2 + +MYP=lapack-${PV} + +DESCRIPTION="C Interface to LAPACK" +HOMEPAGE="http://www.netlib.org/lapack/" +SRC_URI="http://www.netlib.org/lapack/${MYP}.tgz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="static-libs test xblas" + +RDEPEND="virtual/blas + virtual/lapack + xblas? ( sci-libs/xblas )" +DEPEND="${RDEPEND} + test? ( virtual/fortran ) + dev-util/pkgconfig" + +S="${WORKDIR}/${MYP}" + +src_prepare() { + epatch "${FILESDIR}"/${PV}-cmake.patch + use static-libs && mkdir "${WORKDIR}/${PN}_static" +} + +src_configure() { + lapack_configure() { + local mycmakeargs=( + -DUSE_OPTIMIZED_BLAS=ON + -DUSE_OPTIMIZED_LAPACK=ON + -DLAPACKE=ON + -DBLAS_LIBRARIES="$(pkg-config --libs blas)" + -DLAPACK_LIBRARIES="$(pkg-config --libs lapack)" + $(cmake-utils_use_build test TESTING) + $(cmake-utils_use_use xblas XBLAS) + $@ + ) + cmake-utils_src_configure + } + + lapack_configure -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF + use static-libs && \ + CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" lapack_configure \ + -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON +} + +src_compile() { + use test && cmake-utils_src_compile -C TESTING/MATGEN + cmake-utils_src_compile -C lapacke + use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \ + cmake-utils_src_compile -C lapacke +} + +src_test() { + pushd "${CMAKE_BUILD_DIR}/lapacke" > /dev/null + local ctestargs + [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" + ctest ${ctestargs} || die + popd > /dev/null +} + +src_install() { + cmake-utils_src_install -C lapacke + use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \ + cmake-utils_src_install -C lapacke + alternatives_for lapacke reference 0 \ + /usr/$(get_libdir)/pkgconfig/lapacke.pc reflapacke.pc +} |