summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2011-07-20 18:04:58 +0100
committerSébastien Fabbro <bicatali@gentoo.org>2011-07-20 18:04:58 +0100
commit15b1f7b78ce893a042aba437a0e9b12b2b1969bc (patch)
tree0eee6f99ab48b8b40437e910ec1949a614a5e169
parentadded more include files (diff)
downloadbicatali-15b1f7b78ce893a042aba437a0e9b12b2b1969bc.tar.gz
bicatali-15b1f7b78ce893a042aba437a0e9b12b2b1969bc.tar.bz2
bicatali-15b1f7b78ce893a042aba437a0e9b12b2b1969bc.zip
reworked mkl profiles
-rw-r--r--sci-libs/mkl/Manifest2
-rw-r--r--sci-libs/mkl/mkl-10.3.4.191.ebuild77
2 files changed, 44 insertions, 35 deletions
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
index f3beb91..5179ae0 100644
--- a/sci-libs/mkl/Manifest
+++ b/sci-libs/mkl/Manifest
@@ -1,6 +1,6 @@
DIST parallel_studio_xe_2011_update2.tgz 1551817814 RMD160 7f1c770a1ad5fe626718a5c352d2db6d628b22aa SHA1 b216e25ec4f1254e7e07defa5ab0ec835965a018 SHA256 3e77fb39fc05e0c4eafa594617674858ae9c59a5cfddb0f95651bbf7d4baa907
DIST parallel_studio_xe_2011_update2_ia32.tgz 810216099 RMD160 33293a7f524722b1e2f4fc839aea3984dff490c5 SHA1 73368f9f14ff530dc953aeeca1ec5de90607774d SHA256 e2d040774cc4888a294dbd2081882b7f90fef7280ad1c4dcb04026871d6e638d
DIST parallel_studio_xe_2011_update2_intel64.tgz 966899604 RMD160 e14ebd58b2e626431c3b796d925ff460752fc689 SHA1 55cfdb64f7c84222ff599f4e9def3cb66e45c962 SHA256 f6d9acacb350cccb3e29c2309ced7b9564d86d53d59409b4a79d7a79b396f2f1
-EBUILD mkl-10.3.4.191.ebuild 3927 RMD160 6595ca39688fdc895eba2394cae8b7d5331d3579 SHA1 33792ed60ac03bef25acf3dc3793dbad49170098 SHA256 044d1b7fcf02db19b9602a3213ec70c32ba2a6f0059e606c02d8e70967ab4df1
+EBUILD mkl-10.3.4.191.ebuild 4384 RMD160 c7414a52c7c29707561848932ca76d9659707c5c SHA1 4cc700a23d80b8f927a65985f178146b6ed5efad SHA256 609ed0a217dbc7c502fcebd36d4a7db80b6ca31fd43c661093c53ce848902d06
MISC ChangeLog 553 RMD160 f68c1b5e6ae43b571a6148433ec539ef926e7050 SHA1 ba4ebe939c353515e46de0e349f020cc63e8e59f SHA256 e5167e96ce9d103ac20cd2cc33a206d12104a9382ab2232e75fd4bb3347140b1
MISC metadata.xml 617 RMD160 9066d97c2d34843270db78a9b31b8d6f8b32497e SHA1 6d9842a03eb3367d4fc85458f1e65e52490e98b2 SHA256 2b482d847f4ae464b31e582f412ffa59c97c59b75309d6392edfcbd9f16b2ae5
diff --git a/sci-libs/mkl/mkl-10.3.4.191.ebuild b/sci-libs/mkl/mkl-10.3.4.191.ebuild
index 0193f91..1d6850e 100644
--- a/sci-libs/mkl/mkl-10.3.4.191.ebuild
+++ b/sci-libs/mkl/mkl-10.3.4.191.ebuild
@@ -35,13 +35,14 @@ src_prepare() {
}
mkl_add_prof() {
- local x prof=${1}
+ local pcname=${1} libs cflags x
shift
- cat <<-EOF > ${prof}.pc
+ [[ ${pcname} = *int64* ]] && cflags=-DMKL_ILP64
+ cat <<-EOF > ${pcname}.pc
prefix=${INTEL_SDP_EDIR}/mkl
- libdir=\${prefix}/lib/
+ libdir=\${prefix}/lib/${IARCH}
includedir=\${prefix}/include
- Name: ${prof}
+ Name: ${pcname}
Description: ${DESCRIPTION}
Version: ${PV}
URL: ${HOMEPAGE}
@@ -49,23 +50,27 @@ mkl_add_prof() {
Cflags: -I\${includedir} ${cflags}
EOF
insinto /usr/$(get_libdir)/pkgconfig
- doins ${prof}.pc || die
+ doins ${pcname}.pc
for x in $*; do
- alternatives_for ${x} ${prof} 0 \
- "/usr/$(get_libdir)/pkgconfig/${x}.pc" "${prof}.pc"
+ 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 scal="-lmkl_scalapack${1:-_core}"
- local blacs="-lmkl_blacs_intelmpi${1}"
- local gf="-Wl,--start-group -lmkl_gf${1}"
- local intel="-Wl,--start-group -lmkl_intel${1}"
+ 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
- [[ ${1} == *ilp64 ]] && prof=mkl-int64 && cflags=-DMKL_ILP64
+ 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
@@ -83,40 +88,44 @@ mkl_prof() {
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
- libs="${intel} -lmkl_sequential ${core} -lpthread" \
- mkl_add_prof ${prof}-intel blacs
+ mkl_add_prof ${prof}-gfortran-blacs blacs
libs="${scal} ${gf} -lmkl_sequential ${core} -lpthread" \
- mkl_add_prof ${prof}-gfortran scalapack
+ 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
+ mkl_add_prof ${prof}-intel-scalapack scalapack
libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
- mkl_add_prof ${prof}-gfortran-openmp blacs
+ 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
+ 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
- libs="${scal} ${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
- mkl_add_prof ${prof}-gfortran-openmp scalapack
+ mkl_add_prof ${prof}-intel-openmp-blacs blacs
libs="${scal} ${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \
- mkl_add_prof ${prof}-intel-openmp scalapack
+ mkl_add_prof ${prof}-intel-openmp-scalapack scalapack
libs="-lmkl_rt ${blacs} -lpthread" \
- mkl_add_prof ${prof}-dynamic blacs
- libs="-lmkl_rt ${blacs} -liomp5 -lpthread" \
- mkl_add_prof ${prof}-dynamic-openmp blacs
+ mkl_add_prof ${prof}-dynamic-blacs blacs
libs="${scal} -lmkl_rt ${blacs} -lpthread" \
- mkl_add_prof ${prof}-dynamic scalapack
+ 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
+ mkl_add_prof ${prof}-dynamic-openmp-scalapack scalapack
}
src_install() {
intel-sdp_src_install
- use x86 && mkl_prof
- if use amd64; then
- mkl_prof _lp64
- mkl_prof _ilp64
- fi
+ for IARCH in ${INTEL_ARCH}; do
+ mkl_prof
+ [[ ${IARCH} == intel64 ]] && mkl_prof int64
+ done
}