public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sebastien Fabbro" <bicatali@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sci-libs/blas-reference/, sci-libs/blas-reference/files/
Date: Wed, 25 Apr 2012 16:10:50 +0000 (UTC)	[thread overview]
Message-ID: <1335370149.67ad3e44a3da307bb9dcf4d1dfe43a9a320decac.bicatali@gentoo> (raw)

commit:     67ad3e44a3da307bb9dcf4d1dfe43a9a320decac
Author:     Sébastien Fabbro <sebfabbro <AT> gmail <DOT> com>
AuthorDate: Wed Apr 25 16:09:09 2012 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Wed Apr 25 16:09:09 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=67ad3e44

sci-libs/blas-reference: applied lapack patch to not compile tmglib when not needed

(Portage version: 2.1.10.56/git/Linux x86_64, unsigned Manifest commit)

---
 sci-libs/blas-reference/ChangeLog                  |    5 +
 .../blas-reference-20120215-r1.ebuild              |   66 ------
 .../blas-reference/blas-reference-20120423.ebuild  |    7 +-
 .../blas-reference/files/lapack-3.4.1-cmake.patch  |  208 ++++++++++++++++++++
 4 files changed, 217 insertions(+), 69 deletions(-)

diff --git a/sci-libs/blas-reference/ChangeLog b/sci-libs/blas-reference/ChangeLog
index 89e3019..45948d2 100644
--- a/sci-libs/blas-reference/ChangeLog
+++ b/sci-libs/blas-reference/ChangeLog
@@ -2,6 +2,11 @@
 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  25 Apr 2012; Sébastien Fabbro <bicatali@gentoo.org>
+  +files/lapack-3.4.1-cmake.patch, -blas-reference-20120215-r1.ebuild,
+  blas-reference-20120423.ebuild:
+  applied lapack patch to not compile tmglib when not needed
+
   24 Apr 2012; Justin Lecher <jlec@gentoo.org> Manifest:
   Clean checksums
 

diff --git a/sci-libs/blas-reference/blas-reference-20120215-r1.ebuild b/sci-libs/blas-reference/blas-reference-20120215-r1.ebuild
deleted file mode 100644
index 1f9cd25..0000000
--- a/sci-libs/blas-reference/blas-reference-20120215-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=4
-inherit fortran-2 cmake-utils alternatives-2
-
-MYP=lapack-3.4.0_p${PV}
-
-DESCRIPTION="Reference implementation of BLAS"
-HOMEPAGE="http://www.netlib.org/lapack/"
-#SRC_URI="http://www.netlib.org/lapack/${MYP}.tgz"
-SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${MYP}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-
-RDEPEND="virtual/fortran"
-DEPEND="${RDEPEND}
-	dev-util/pkgconfig"
-
-S="${WORKDIR}/${MYP}"
-
-src_prepare() {
-	use static-libs && mkdir "${WORKDIR}/${PN}_static"
-}
-
-src_configure() {
-	lapack_configure() {
-		local mycmakeargs=(
-			-DUSE_OPTIMIZED_BLAS=OFF
-			$(cmake-utils_use_build test TESTING)
-			$@
-		)
-		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() {
-	cmake-utils_src_compile -C BLAS
-	use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \
-		cmake-utils_src_compile -C BLAS
-}
-
-src_test() {
-	pushd "${CMAKE_BUILD_DIR}/BLAS" > /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 BLAS
-	use static-libs && CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" \
-			cmake-utils_src_install -C BLAS
-	alternatives_for blas reference 0 \
-		/usr/$(get_libdir)/pkgconfig/blas.pc refblas.pc
-}

diff --git a/sci-libs/blas-reference/blas-reference-20120423.ebuild b/sci-libs/blas-reference/blas-reference-20120423.ebuild
index e057922..48d4f61 100644
--- a/sci-libs/blas-reference/blas-reference-20120423.ebuild
+++ b/sci-libs/blas-reference/blas-reference-20120423.ebuild
@@ -23,11 +23,12 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MYP}"
 
 src_prepare() {
+	epatch "${FILESDIR}"/${MYP}-cmake.patch
 	use static-libs && mkdir "${WORKDIR}/${PN}_static"
 }
 
 src_configure() {
-	lapack_configure() {
+	blas_configure() {
 		local mycmakeargs=(
 			-DUSE_OPTIMIZED_BLAS=OFF
 			$(cmake-utils_use_build test TESTING)
@@ -36,9 +37,9 @@ src_configure() {
 		cmake-utils_src_configure
 	}
 
-	lapack_configure -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+	blas_configure -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
 	use static-libs && \
-		CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" lapack_configure \
+		CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" blas_configure \
 		-DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
 }
 

diff --git a/sci-libs/blas-reference/files/lapack-3.4.1-cmake.patch b/sci-libs/blas-reference/files/lapack-3.4.1-cmake.patch
new file mode 100644
index 0000000..78dece8
--- /dev/null
+++ b/sci-libs/blas-reference/files/lapack-3.4.1-cmake.patch
@@ -0,0 +1,208 @@
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt	(revision 1294)
++++ 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 1294)
++++ 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 1294)
++++ 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 1294)
++++ 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 1294)
++++ 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 1294)
++++ TESTING/MATGEN/CMakeLists.txt	(working copy)
+@@ -64,12 +64,12 @@
+   set(ALLOBJ ${ALLOBJ} ${ZMATGEN} ${DZATGEN})
+ endif()
+ 
+-list(REMOVE_DUPLICATES ALLOBJ)
+-
+ if (NOT ALLOBJ)
+ set(ALLOBJ ${SMATGEN} ${CMATGEN} ${SCATGEN} ${DMATGEN} ${ZMATGEN}
+   ${DZATGEN})
++else()
++  list(REMOVE_DUPLICATES ALLOBJ)
+ endif()
+ add_library(tmglib ${ALLOBJ} )
+-target_link_libraries(tmglib lapack)
++target_link_libraries(tmglib ${LAPACK_LIBRARIES})
+ lapack_install_library(tmglib)



             reply	other threads:[~2012-04-25 16:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25 16:10 Sebastien Fabbro [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-05-23  5:13 [gentoo-commits] proj/sci:master commit in: sci-libs/blas-reference/, sci-libs/blas-reference/files/ Sebastien Fabbro
2011-09-07 21:51 Sebastien Fabbro
2011-08-23 20:01 Sebastien Fabbro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1335370149.67ad3e44a3da307bb9dcf4d1dfe43a9a320decac.bicatali@gentoo \
    --to=bicatali@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox