commit: fbdfad7d139533e2e0d3b6993685b75772823f07 Author: gienah <gienah <AT> gentoo <DOT> org> AuthorDate: Sat Sep 13 01:02:57 2014 +0000 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org> CommitDate: Sat Sep 27 11:40:42 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=fbdfad7d
Remove the setting of the FC and F77 environment variables, instead sed the COMMON_OPT in Makefile.rule to include the $(get_abi_CFLAGS). Add get_openblas_abi_cflags and get_openblas_abi_fflags, call them to create the pkg-config ${profname}.pc files. Call get_openblas_abi_cflags to obtain the defines, then remove the OPENBLAS_ at the start, and sed these into COMMON_OPT in Makefile.rule, as USE64BITINT was removed by the patch openblas-0.2.11-openblas_config_header_same_between_ABIs.patch that is required to ensure the openblas_config.h header file is the same between ABIs. --- sci-libs/openblas/ChangeLog | 11 ++++++++ sci-libs/openblas/openblas-9999.ebuild | 50 ++++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 20 deletions(-) diff --git a/sci-libs/openblas/ChangeLog b/sci-libs/openblas/ChangeLog index 9f9c82e..bb794f4 100644 --- a/sci-libs/openblas/ChangeLog +++ b/sci-libs/openblas/ChangeLog @@ -2,6 +2,17 @@ # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 13 Sep 2014; Mark Wright <gie...@gentoo.org> openblas-9999.ebuild: + Remove the setting of the FC and F77 environment variables, instead sed the + COMMON_OPT in Makefile.rule to include the $(get_abi_CFLAGS). Add + get_openblas_abi_cflags and get_openblas_abi_fflags, call them to create the + pkg-config ${profname}.pc files. Call get_openblas_abi_cflags to obtain the + defines, then remove the OPENBLAS_ at the start, and sed these into + COMMON_OPT in Makefile.rule, as USE64BITINT was removed by the patch + openblas-0.2.11-openblas_config_header_same_between_ABIs.patch that is + required to ensure the openblas_config.h header file is the same between + ABIs. + 06 Sep 2014; Mark Wright <gie...@gentoo.org> +openblas-0.2.11.ebuild, openblas-9999.ebuild, +files/openblas-0.2.11-openblas_config_header_same_between_ABIs.patch, diff --git a/sci-libs/openblas/openblas-9999.ebuild b/sci-libs/openblas/openblas-9999.ebuild index b3854fe..61ddcf0 100644 --- a/sci-libs/openblas/openblas-9999.ebuild +++ b/sci-libs/openblas/openblas-9999.ebuild @@ -55,6 +55,27 @@ get_openblas_flags() { echo "${openblas_flags}" } +get_openblas_abi_cflags() { + local openblas_abi_cflags="" + if [[ "${ABI}" == "x86" ]]; then + openblas_abi_cflags="-DOPENBLAS_ARCH_X86=1 -DOPENBLAS___32BIT__=1" + else + openblas_abi_cflags="-DOPENBLAS_ARCH_X86_64=1 -DOPENBLAS___64BIT__=1" + fi + if [[ "${MULTIBUILD_ID}" =~ "_${INT64_SUFFIX}" ]]; then + openblas_abi_cflags+=" -DOPENBLAS_USE64BITINT" + fi + echo "${openblas_abi_cflags}" +} + +get_openblas_abi_fflags() { + local openblas_abi_fflags="" + if [[ "${MULTIBUILD_ID}" =~ "_${INT64_SUFFIX}" ]]; then + openblas_abi_fflags+="-fdefault-integer-8" + fi + echo "${openblas_abi_fflags}" +} + get_profname() { local profname="${BASE_PROFNAME}" use dynamic && \ @@ -118,8 +139,6 @@ _int64_multilib_multibuild_wrapper() { local ABI="${MULTIBUILD_VARIANT/_${INT64_SUFFIX}/}" multilib_toolchain_setup "${ABI}" - export FC="$(tc-getFC) $(get_abi_CFLAGS)" - export F77="$(tc-getF77) $(get_abi_CFLAGS)" "${@}" } @@ -167,10 +186,12 @@ src_prepare() { src_configure() { local MULTIBUILD_VARIANTS=( $(int64_multilib_get_enabled_abis) ) my_configure() { + local openblas_abi_cflags="$(get_openblas_abi_cflags)" + local internal_openblas_abi_cflags="${openblas_abi_cflags//OPENBLAS_}" sed \ -e "s:^#\s*\(CC\)\s*=.*:\1=$(tc-getCC) $(get_abi_CFLAGS):" \ -e "s:^#\s*\(FC\)\s*=.*:\1=$(tc-getFC) $(get_abi_CFLAGS):" \ - -e "s:^#\s*\(COMMON_OPT\)\s*=.*:\1=${CFLAGS}:" \ + -e "s:^#\s*\(COMMON_OPT\)\s*=.*:\1=${CFLAGS} ${internal_openblas_abi_cflags}:" \ -i Makefile.rule || die } multibuild_foreach_variant run_in_build_dir _int64_multilib_multibuild_wrapper my_configure @@ -207,23 +228,12 @@ src_compile() { Libs: -L\${libdir} -l${libname} Libs.private: -lm EOF - local openblas_abi_defs="" - if [[ "${ABI}" == "x86" ]]; then - openblas_abi_defs="-DOPENBLAS_ARCH_X86=1 -DOPENBLAS___32BIT__=1" - else - openblas_abi_defs="-DOPENBLAS_ARCH_X86_64=1 -DOPENBLAS___64BIT__=1" - fi - if [[ "${MULTIBUILD_ID}" =~ "_${INT64_SUFFIX}" ]]; then - cat <<-EOF >> ${profname}.pc - Cflags: -DOPENBLAS_USE64BITINT ${openblas_abi_defs} -I\${includedir}/${PN} - Fflags=-fdefault-integer-8 - EOF - else - cat <<-EOF >> ${profname}.pc - Cflags: -I\${includedir}/${PN} ${openblas_abi_defs} - Fflags= - EOF - fi + local openblas_abi_cflags=$(get_openblas_abi_cflags) + local openblas_abi_fflags=$(get_openblas_abi_fflags) + cat <<-EOF >> ${profname}.pc + Cflags: -I\${includedir}/${PN} ${openblas_abi_cflags} + Fflags=${openblas_abi_fflags} + EOF mv libs/libopenblas* . || die } multibuild_foreach_variant run_in_build_dir _int64_multilib_multibuild_wrapper my_src_compile