Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/tensorflow/
Date: Fri, 04 May 2018 03:13:01
Message-Id: 1525403554.c87e038a646e968a95d07b5df51ab02409921951.perfinion@gentoo
1 commit: c87e038a646e968a95d07b5df51ab02409921951
2 Author: Jason Zaman <perfinion <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 4 03:08:43 2018 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Fri May 4 03:12:34 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c87e038a
7
8 sci-libs/tensorflow: Add more *FLAGS handling from sci overlay
9
10 Package-Manager: Portage-2.3.24, Repoman-2.3.6
11
12 sci-libs/tensorflow/tensorflow-1.8.0.ebuild | 38 +++++++++++++++++++++--------
13 1 file changed, 28 insertions(+), 10 deletions(-)
14
15 diff --git a/sci-libs/tensorflow/tensorflow-1.8.0.ebuild b/sci-libs/tensorflow/tensorflow-1.8.0.ebuild
16 index 9ab15ae9453..c12a3e04ae0 100644
17 --- a/sci-libs/tensorflow/tensorflow-1.8.0.ebuild
18 +++ b/sci-libs/tensorflow/tensorflow-1.8.0.ebuild
19 @@ -103,6 +103,31 @@ PATCHES=(
20 "${FILESDIR}/0001-pip_package-modularize-build-script-to-allow-distros.patch"
21 )
22
23 +bazel-get-cpu-flags() {
24 + local i f=()
25 + # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
26 + for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
27 + use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
28 + done
29 + use cpu_flags_x86_fma3 && f+=( -mfma )
30 + echo "${f[*]}"
31 +}
32 +
33 +bazel-get-flags() {
34 + local i fs=()
35 + for i in ${CXXFLAGS} $(bazel-get-cpu-flags); do
36 + fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
37 + done
38 + for i in ${CPPFLAGS}; do
39 + fs+=( "--copt=${i}" "--host_copt=${i}" )
40 + fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
41 + done
42 + for i in ${LDFLAGS}; do
43 + fs+=( "--linkopt=${i}" "--host_linkopt=${i}" )
44 + done
45 + echo "${fs[*]}"
46 +}
47 +
48 setup_bazelrc() {
49 if [[ -f "${T}/bazelrc" ]]; then
50 return
51 @@ -118,7 +143,8 @@ setup_bazelrc() {
52 echo "startup --batch" > "${T}/bazelrc" || die
53
54 # make bazel respect $MAKEOPTS
55 - echo "build --jobs=$(makeopts_jobs)" >> "${T}/bazelrc" || die
56 + echo "build --jobs=$(makeopts_jobs) $(bazel-get-flags)" >> "${T}/bazelrc" || die
57 + echo "build --compilation_mode=opt --host_compilation_mode=opt" >> "${T}/bazelrc" || die
58
59 # Use standalone strategy to deactivate the bazel sandbox, since it
60 # conflicts with FEATURES=sandbox.
61 @@ -187,16 +213,8 @@ src_prepare() {
62
63 src_configure() {
64 do_configure() {
65 - local cc_opt_flags=( ${CFLAGS} )
66 -
67 - # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
68 - for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
69 - use cpu_flags_x86_${i} && cc_opt_flags+=( -m${i/_/.} )
70 - done
71 - use cpu_flags_x86_fma3 && cc_opt_flags+=( -mfma )
72 -
73 python_export PYTHON_SITEDIR
74 - export CC_OPT_FLAGS="${cc_opt_flags[*]}"
75 + export CC_OPT_FLAGS="${CFLAGS} $(bazel-get-cpu-flags)"
76 export GCC_HOST_COMPILER_PATH=$(tc-getCC)
77 export TF_NEED_JEMALLOC=$(usex jemalloc 1 0)
78 export TF_NEED_GCP=0