diff options
Diffstat (limited to 'sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild')
-rw-r--r-- | sci-libs/cblas-reference/cblas-reference-20110218-r1.ebuild | 98 |
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 } |