aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild')
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild98
1 files changed, 43 insertions, 55 deletions
diff --git a/sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild b/sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild
index 9e7e1f391..e875937f8 100644
--- a/sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild
+++ b/sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild
@@ -4,8 +4,9 @@
EAPI=5
-EBASE_PROFNAME="refcblas"
-inherit eutils alternatives-2 flag-o-matic toolchain-funcs versionator multilib fortran-2 multilib-build fortran-int64
+NUMERIC_MODULE_NAME="refcblas"
+
+inherit alternatives-2 flag-o-matic fortran-2 multilib numeric numeric-int64-multibuild toolchain-funcs versionator
MYPN="${PN/-reference/}"
@@ -15,13 +16,12 @@ SRC_URI="http://www.netlib.org/blas/blast-forum/${MYPN}.tgz -> ${P}.tgz"
SLOT="0"
LICENSE="public-domain"
-IUSE="int64 static-libs"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
RDEPEND="virtual/blas"
DEPEND="${RDEPEND}
virtual/pkgconfig"
-PDEPEND=">=virtual/cblas-2.0-r2[int64?]"
S="${WORKDIR}/CBLAS"
@@ -31,7 +31,7 @@ MULTILIB_WRAPPED_HEADERS=(
static_to_shared() {
local libstatic=$1
- shift
+ shift || die
local libname=$(basename ${libstatic%.a})
local soname=${libname}$(get_libname $(get_version_component_range 1-2))
local libdir=$(dirname ${libstatic})
@@ -55,22 +55,20 @@ static_to_shared() {
}
src_prepare() {
- local MULTIBUILD_VARIANTS=( $(fortran-int64_multilib_get_enabled_abis) )
- fortran-int64_ensure_blas
+ numeric-int64_ensure_blas_int_support
find . -name Makefile -exec sed -i \
-e 's:make:$(MAKE):g' '{}' \; || die
- multibuild_copy_sources
+ numeric-int64-multibuild_copy_sources
}
src_configure() {
- local MULTIBUILD_VARIANTS=( $(fortran-int64_multilib_get_enabled_abis) )
- my_configure() {
- local profname=$(fortran-int64_get_profname)
+ cblas_configure() {
+ local profname=$(numeric-int64_get_module_name)
local libname="${profname//-/_}"
append-cflags -DADD_
cat > Makefile.in <<-EOF
- BLLIB=$($(tc-getPKG_CONFIG) --libs $(fortran-int64_get_blas_provider))
- FC=$(tc-getFC) $(get_abi_CFLAGS) $(fortran-int64_get_fortran_int64_abi_fflags)
+ BLLIB=$($(tc-getPKG_CONFIG) --libs $(numeric-int64_get_blas_alternative))
+ FC=$(tc-getFC) $(get_abi_CFLAGS) $(numeric-int64_get_fortran_int64_abi_fflags)
CC=$(tc-getCC)
CBLIB=../lib/lib${libname}.a
LOADER=\$(FC)
@@ -79,79 +77,69 @@ src_configure() {
RANLIB=$(tc-getRANLIB)
EOF
}
- multibuild_foreach_variant run_in_build_dir fortran-int64_multilib_multibuild_wrapper my_configure
+ numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir cblas_configure
}
src_compile() {
- local MULTIBUILD_VARIANTS=( $(fortran-int64_multilib_get_enabled_abis) )
- my_src_compile() {
- local profname=$(fortran-int64_get_profname)
+ cblas_src_compile() {
+ local profname=$(numeric-int64_get_module_name)
local libname="${profname//-/_}"
emake \
FFLAGS="${FFLAGS} -fPIC" \
CFLAGS="${CFLAGS} -fPIC" \
alllib
- static_to_shared lib/lib${libname}.a $($(tc-getPKG_CONFIG) --libs $(fortran-int64_get_blas_profname))
+ static_to_shared lib/lib${libname}.a $($(tc-getPKG_CONFIG) --libs $(numeric-int64_get_blas_alternative))
if use static-libs; then
emake clean
emake alllib
fi
}
- multibuild_foreach_variant run_in_build_dir fortran-int64_multilib_multibuild_wrapper my_src_compile
+ numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir cblas_src_compile
}
src_test() {
- local MULTIBUILD_VARIANTS=( $(fortran-int64_multilib_get_enabled_abis) )
- my_src_test () {
- local profname=$(fortran-int64_get_profname)
+ cblas_src_test () {
+ local profname=$(numeric-int64_get_module_name)
local libname="${profname//-/_}"
cd testing || die
- default
- emake run
+ emake && emake run
}
- multibuild_foreach_variant run_in_build_dir fortran-int64_multilib_multibuild_wrapper my_src_test
+ numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir cblas_src_test
}
src_install() {
- local MULTIBUILD_VARIANTS=( $(fortran-int64_multilib_get_enabled_abis) )
- my_src_install() {
- local profname=$(fortran-int64_get_profname)
+ cblas_src_install() {
+ local profname=$(numeric-int64_get_module_name)
local libname="${profname//-/_}"
- local provider=$(fortran-int64_get_cblas_provider)
# On linux dynamic libraries are of the form .so.${someversion}
# On OS X dynamic libraries are of the form ${someversion}.dylib
- dolib.so lib/lib${libname}*$(get_libname)*
- use static-libs && dolib.a lib/lib${libname}.a
- insinto /usr/include/cblas
- doins include/cblas.h
- cat <<-EOF > ${profname}.pc
- prefix=${EPREFIX}/usr
- libdir=\${prefix}/$(get_libdir)
- includedir=\${prefix}/include
- Name: ${profname}
- Description: ${DESCRIPTION}
- Version: ${PV}
- URL: ${HOMEPAGE}
- Libs: -L\${libdir} -l${libname}
- Private: -lm
- Cflags: -I\${includedir}/cblas
- Requires: $(fortran-int64_get_blas_profname)
- Fflags=$(fortran-int64_get_fortran_int64_abi_fflags)
- EOF
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${profname}.pc
- alternatives_for ${provider} $(fortran-int64_get_profname "reference") 0 \
- /usr/$(get_libdir)/pkgconfig/${provider}.pc ${profname}.pc \
- /usr/include/cblas.h cblas/cblas.h
+ if numeric-int64_is_static_build; then
+ dolib.a lib/lib${libname}.a
+ else
+ dolib.so lib/lib${libname}*$(get_libname)*
+ insinto /usr/include/cblas
+ doins include/cblas.h
+ create_pkgconfig \
+ --name "${profname}" \
+ --libs "-L\${libdir} -l${libname}" \
+ --libs-private "-lm" \
+ --cflags "-I\${includedir}/cblas $(numeric-int64_get_fortran_int64_abi_fflags)" \
+ --requires $(numeric-int64_get_blas_alternative) \
+ ${profname}
+ fi
+
if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then
multilib_prepare_wrappers
multilib_check_headers
fi
}
- multibuild_foreach_variant run_in_build_dir fortran-int64_multilib_multibuild_wrapper my_src_install
+ numeric-int64-multibuild_foreach_all_abi_variants run_in_build_dir cblas_src_install
+
+ numeric-int64-multibuild_install_alternative cblas reference /usr/include/cblas.h cblas/cblas.h
+
multilib_install_wrappers
dodoc README
- insinto /usr/share/doc/${PF}
- doins examples/*.c
+ docinto examples
+ dodoc examples/*.c
}