From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 9D19D138E20 for ; Fri, 21 Feb 2014 16:26:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8363CE0ED4; Fri, 21 Feb 2014 16:19:22 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 471C4E0EBE for ; Fri, 21 Feb 2014 16:19:21 +0000 (UTC) Received: from spoonbill.gentoo.org (spoonbill.gentoo.org [81.93.255.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 4821733FA93 for ; Fri, 21 Feb 2014 16:19:20 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by spoonbill.gentoo.org (Postfix) with ESMTP id 1B513188CB for ; Fri, 21 Feb 2014 16:19:19 +0000 (UTC) From: "Justin Lecher" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Justin Lecher" Message-ID: <1392999491.567d134fd96c6186a454c998dcac4d3c8c3a3125.jlec@gentoo> Subject: [gentoo-commits] proj/sci:master commit in: sci-libs/mkl/ X-VCS-Repository: proj/sci X-VCS-Files: sci-libs/mkl/ChangeLog sci-libs/mkl/mkl-11.1.1.106.ebuild X-VCS-Directories: sci-libs/mkl/ X-VCS-Committer: jlec X-VCS-Committer-Name: Justin Lecher X-VCS-Revision: 567d134fd96c6186a454c998dcac4d3c8c3a3125 X-VCS-Branch: master Date: Fri, 21 Feb 2014 16:19:19 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: d536228e-2d89-4615-8c88-0789b2913b73 X-Archives-Hash: e3bc1fa56818708898bd772008a31422 commit: 567d134fd96c6186a454c998dcac4d3c8c3a3125 Author: Justin Lecher gentoo org> AuthorDate: Fri Feb 21 16:18:11 2014 +0000 Commit: Justin Lecher gentoo org> CommitDate: Fri Feb 21 16:18:11 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=567d134f sci-libs/mkl: Version Bump, #500386 Package-Manager: portage-2.2.8-r1 --- sci-libs/mkl/ChangeLog | 7 +- sci-libs/mkl/mkl-11.1.1.106.ebuild | 141 +++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) diff --git a/sci-libs/mkl/ChangeLog b/sci-libs/mkl/ChangeLog index c5a87f8..230741e 100644 --- a/sci-libs/mkl/ChangeLog +++ b/sci-libs/mkl/ChangeLog @@ -1,7 +1,12 @@ # ChangeLog for sci-libs/mkl -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*mkl-11.1.1.106 (21 Feb 2014) + + 21 Feb 2014; Justin Lecher +mkl-11.1.1.106.ebuild: + Version Bump, #500386 + 08 Dec 2013; Justin Lecher -mkl-11.0.3.163.ebuild, -mkl-11.0.5.192.ebuild, -mkl-11.1.0.080.ebuild, +mkl-11.1.0.080-r1.ebuild: Fix linking problems with openmp support, #492802; thanks Andrew Savchenko diff --git a/sci-libs/mkl/mkl-11.1.1.106.ebuild b/sci-libs/mkl/mkl-11.1.1.106.ebuild new file mode 100644 index 0000000..bb977cb --- /dev/null +++ b/sci-libs/mkl/mkl-11.1.1.106.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +INTEL_DPN=parallel_studio_xe +INTEL_DID=3644 +INTEL_DPV=2013_sp1_update1 +INTEL_SUBDIR=composerxe +INTEL_SINGLE_ARCH=false + +inherit intel-sdp multilib alternatives-2 + +DESCRIPTION="Intel Math Kernel Library: linear algebra, fft, math functions" +HOMEPAGE="http://software.intel.com/en-us/articles/intel-mkl/" + +IUSE="" +KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux" + +DEPEND="" +RDEPEND=">=dev-libs/intel-common-13" + +CHECKREQS_DISK_BUILD=2500M + +INTEL_BIN_RPMS=" + mkl mkl-devel + mkl-cluster mkl-cluster-devel + mkl-f95-devel + mkl-gnu mkl-gnu-devel + mkl-pgi mkl-pgi-devel" +# single arch packages +# mkl-mic mkl-mic-devel +# mkl-sp2dp mkl-sp2dp-devel +INTEL_DAT_RPMS="mkl-common mkl-cluster-common mkl-f95-common" + +src_prepare() { + chmod u+w -R opt +} + +mkl_add_prof() { + local pcname=${1} libs cflags x + shift + [[ ${pcname} = *int64* ]] && cflags=-DMKL_ILP64 + cat <<-EOF > ${pcname}.pc + prefix=${INTEL_SDP_EDIR}/mkl + libdir=\${prefix}/lib/${IARCH} + libdir_comp=${INTEL_SDP_EDIR}/compiler/lib/${IARCH} + includedir=\${prefix}/include + Name: ${pcname} + Description: ${DESCRIPTION} + Version: ${PV} + URL: ${HOMEPAGE} + Libs: -L\${libdir} -L\${libdir_comp} ${libs} + Cflags: -I\${includedir} ${cflags} + EOF + insinto /usr/$(get_libdir)/pkgconfig + doins ${pcname}.pc + for x in $*; do + alternatives_for ${x} ${pcname/-${x}} 0 \ + /usr/$(get_libdir)/pkgconfig/${x}.pc ${pcname}.pc + done +} + +# mkl_prof [_ilp64 or _lp64] +# help: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ +mkl_prof() { + local bits="" + if [[ ${IARCH} == intel64 ]]; then + bits=_lp64 + [[ ${1} == int64 ]] && bits=_ilp64 + fi + local gf="-Wl,--start-group -lmkl_gf${bits}" + local intel="-Wl,--start-group -lmkl_intel${bits}" + local core="-lmkl_core -Wl,--end-group" + local prof=mkl${IARCH:((${#IARCH} - 2)):2} + [[ ${1} == int64 ]] && prof=${prof}-int64 + local libs + + libs="${gf} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-gfortran blas lapack + libs="${intel} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-intel blas lapack cblas lapacke + libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gfortran-openmp blas lapack + libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gcc-openmp cblas lapacke + libs="${intel} -lmkl_intel_thread ${core} -openmp -lpthread" \ + mkl_add_prof ${prof}-intel-openmp blas lapack cblas lapacke + libs="-lmkl_rt -lpthread" \ + mkl_add_prof ${prof}-dynamic blas lapack cblas lapacke + libs="-lmkl_rt -liomp5 -lpthread" \ + mkl_add_prof ${prof}-dynamic-openmp blas lapack cblas lapacke + + # blacs and scalapack + local scal="-lmkl_scalapack${bits:-_core}" + local blacs="-lmkl_blacs_intelmpi${bits}" + core="-lmkl_core ${blacs} -Wl,--end-group" + + libs="${gf} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-gfortran-blacs blacs + libs="${scal} ${gf} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-gfortran-scalapack scalapack + libs="${intel} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-intel-blacs blacs + libs="${scal} ${intel} -lmkl_sequential ${core} -lpthread" \ + mkl_add_prof ${prof}-intel-scalapack scalapack + libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gfortran-openmp-blacs blacs + libs="${scal} ${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gfortran-openmp-scalapack scalapack + libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gcc-openmp-blacs blacs + libs="${scal} ${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \ + mkl_add_prof ${prof}-gcc-openmp-scalapack scalapack + libs="${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \ + mkl_add_prof ${prof}-intel-openmp-blacs blacs + libs="${scal} ${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \ + mkl_add_prof ${prof}-intel-openmp-scalapack scalapack + libs="-lmkl_rt ${blacs} -lpthread" \ + mkl_add_prof ${prof}-dynamic-blacs blacs + libs="${scal} -lmkl_rt ${blacs} -lpthread" \ + mkl_add_prof ${prof}-dynamic-scalapack scalapack + libs="-lmkl_rt ${blacs} -liomp5 -lpthread" \ + mkl_add_prof ${prof}-dynamic-openmp-blacs blacs + libs="${scal} -lmkl_rt ${blacs} -liomp5 -lpthread" \ + mkl_add_prof ${prof}-dynamic-openmp-scalapack scalapack +} + +src_install() { + intel-sdp_src_install + echo -n > 35mkl "LDPATH=" + for IARCH in ${INTEL_ARCH}; do + mkl_prof + sed -i -e '/mkl/s/$/:/' 35mkl + echo -n >> 35mkl "${INTEL_SDP_EDIR}/mkl/lib/${IARCH}" + [[ ${IARCH} == intel64 ]] && mkl_prof int64 + done + echo >> 35mkl + doenvd 35mkl +}