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 |