From ca6a28860a6328c9762a987a42725c6a34a70d9c Mon Sep 17 00:00:00 2001 From: Gunhan Gulsoy Date: Thu, 3 Nov 2016 10:54:25 -0700 Subject: [PATCH 1/2] Create a script for building tensorflow pip package on windows using bazel. --- .../windows/cpu/pip/build_tf_windows.sh | 52 +++++++++++++++++++ .../tools/ci_build/windows/cpu/pip/run.bat | 1 + 2 files changed, 53 insertions(+) create mode 100644 tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh create mode 100644 tensorflow/tools/ci_build/windows/cpu/pip/run.bat diff --git a/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh b/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh new file mode 100644 index 00000000000..4553ffd6141 --- /dev/null +++ b/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# This script assumes the standard setup on tensorflow Jenkins windows machines. +# It is NOT guaranteed to work on any other machine. Use at your own risk! +# +# REQUIREMENTS: +# * All installed in standard locations: +# - JDK8, and JAVA_HOME set. +# - Microsoft Visual Studio 2015 Community Edition +# - Msys2 +# - Anaconda3 +# * Bazel windows executable copied as "bazel.exe" and included in PATH. + +# This script is under /tensorflow/tools/ci_build/windows/cpu/pip/ +# Change into repository root. +script_dir=$(dirname $0) +cd ${script_dir%%tensorflow/tools/ci_build/windows/cpu/pip} + +# Use a temporary directory with a short name. +export TMPDIR="C:/tmp" + +# Set bash path +export BAZEL_SH="C:/tools/msys64/usr/bin/bash" + +# Set Python path for ./configure +export PYTHON_BIN_PATH="C:/Program Files/Anaconda3/python" + +# Set Python path for cc_configure.bzl +export BAZEL_PYTHON="C:/Program Files/Anaconda3/python" + +# Set Visual Studio path +export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio 14.0" + +# Add python into PATH, it's needed because gen_git_source.py uses +# '/usr/bin/env python' as a shebang +export PATH="/c/Program Files/Anaconda3:$PATH" + +# bazel clean --expunge doesn't work on Windows yet. +# Clean the output base manually to ensure build correctness +bazel clean +output_base=$(bazel info output_base) +bazel shutdown +rm -rf ${output_base} + +echo "" | ./configure + +bazel build -c opt --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc\ + --copt="/w" --verbose_failures --experimental_ui\ + tensorflow/tools/pip_package:build_pip_package || exit $? + + +./bazel-bin/tensorflow/tools/pip_package/build_pip_package $PWD diff --git a/tensorflow/tools/ci_build/windows/cpu/pip/run.bat b/tensorflow/tools/ci_build/windows/cpu/pip/run.bat new file mode 100644 index 00000000000..552334adc80 --- /dev/null +++ b/tensorflow/tools/ci_build/windows/cpu/pip/run.bat @@ -0,0 +1 @@ +c:\tools\msys64\usr\bin\bash -l %cd%/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh %* From c74c7c166281dd92cab48d1ec7c43f337e41c9e2 Mon Sep 17 00:00:00 2001 From: Gunhan Gulsoy Date: Thu, 3 Nov 2016 16:50:10 -0700 Subject: [PATCH 2/2] Fix: add debugging and fail-on-error to windows bazel build script. --- tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh b/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh index 4553ffd6141..6f93d13cb3f 100644 --- a/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh +++ b/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh @@ -11,6 +11,10 @@ # - Anaconda3 # * Bazel windows executable copied as "bazel.exe" and included in PATH. +# All commands shall pass, and all should be visible. +set -x +set -e + # This script is under /tensorflow/tools/ci_build/windows/cpu/pip/ # Change into repository root. script_dir=$(dirname $0)