diff options
| author | Joachim Gehweiler <44170764+jgehw@users.noreply.github.com> | 2021-09-30 05:43:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 20:43:32 -0700 |
| commit | 8ad33ead9075cd8d6d357e0b870ba8d501efe35c (patch) | |
| tree | ab3a6b7785b5b34da890e0db63f50bbe60362bf6 | |
| parent | dd991ef5b82051cb7481a92c71dc5706325ba7c2 (diff) | |
| download | vcpkg-8ad33ead9075cd8d6d357e0b870ba8d501efe35c.tar.gz vcpkg-8ad33ead9075cd8d6d357e0b870ba8d501efe35c.zip | |
[tensorflow] update to 2.6 (#20015)
* Revert "incorporate changes from microsoft:master"
* Revert "Revert "incorporate changes from microsoft:master""
* WIP: update to tensorflow 2.6
* update patch
* update more patches
* fix patch again
* fix new Windows compile/linkage errors
* fix patch
* fix patch again
* temporarily revert Windows build option fix to test whether upstream fix doesn't work
* check if constexpr is sufficient (is_same_v requires C++17)
* try patch for build parameters
* remove fastbuild patch and improve constexpr patch (no C++17 requirement)
(fastbuild patch didn't work because bazel overrides it with /DEBUG:FULL)
* x-add-version
* add C++17 preprocessor switch for "if constexpr"
* x-add-version
* remove pre-processor switch (doesn't work without)
* x-add-version
* work-around toolchain issues on macOS
* x-add-version
* fix Windows build options (must be string, not list)
* x-add-version
* temporarily add code to debug CI
* temporarily add more debug output as build doesn't even start on macOS CI
* remove debug code, add switch for linker parameters on macOS and re-introduce old behaviour (some platforms still use old behaviour)
* x-add-version
* fix broken string termination
* x-add-version
* fix function name
* x-add-version
Co-authored-by: jgehw <Joachim_Gehweiler@McAfee.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
| -rw-r--r-- | ports/tensorflow-cc/vcpkg.json | 3 | ||||
| -rw-r--r-- | ports/tensorflow-common/Update-bazel-max-version.patch | 5 | ||||
| -rw-r--r-- | ports/tensorflow-common/change-macros-for-static-lib.patch | 57 | ||||
| -rw-r--r-- | ports/tensorflow-common/convert_lib_params_macos.py | 26 | ||||
| -rw-r--r-- | ports/tensorflow-common/fix-build-error.patch | 3 | ||||
| -rw-r--r-- | ports/tensorflow-common/fix-linux-build.patch | 25 | ||||
| -rw-r--r-- | ports/tensorflow-common/fix-windows-build.patch | 65 | ||||
| -rw-r--r-- | ports/tensorflow-common/generate_static_link_cmd_linux.py | 4 | ||||
| -rw-r--r-- | ports/tensorflow-common/generate_static_link_cmd_macos.py | 81 | ||||
| -rw-r--r-- | ports/tensorflow-common/generate_static_link_cmd_windows.py | 4 | ||||
| -rw-r--r-- | ports/tensorflow-common/portfile.cmake | 1 | ||||
| -rw-r--r-- | ports/tensorflow-common/tensorflow-common.cmake | 19 | ||||
| -rw-r--r-- | ports/tensorflow-common/vcpkg.json | 3 | ||||
| -rw-r--r-- | ports/tensorflow/vcpkg.json | 2 | ||||
| -rw-r--r-- | versions/baseline.json | 10 | ||||
| -rw-r--r-- | versions/t-/tensorflow-cc.json | 5 | ||||
| -rw-r--r-- | versions/t-/tensorflow-common.json | 5 | ||||
| -rw-r--r-- | versions/t-/tensorflow.json | 5 |
18 files changed, 228 insertions, 95 deletions
diff --git a/ports/tensorflow-cc/vcpkg.json b/ports/tensorflow-cc/vcpkg.json index d67e50c93..b2f1edcc7 100644 --- a/ports/tensorflow-cc/vcpkg.json +++ b/ports/tensorflow-cc/vcpkg.json @@ -1,7 +1,6 @@ { "name": "tensorflow-cc", - "version-semver": "2.4.1", - "port-version": 1, + "version-semver": "2.6.0", "description": "Library for computation using data flow graphs for scalable machine learning (C++ API version)", "homepage": "https://github.com/tensorflow/tensorflow", "supports": "!(x86 | arm | uwp)", diff --git a/ports/tensorflow-common/Update-bazel-max-version.patch b/ports/tensorflow-common/Update-bazel-max-version.patch index 9dffd884b..172a6439d 100644 --- a/ports/tensorflow-common/Update-bazel-max-version.patch +++ b/ports/tensorflow-common/Update-bazel-max-version.patch @@ -1,11 +1,10 @@ diff --git a/configure.py b/configure.py
-index e5428a6..9324d7b 100644
--- a/configure.py
+++ b/configure.py
-@@ -47,7 +47,7 @@ _TF_WORKSPACE_ROOT = ''
+@@ -50,7 +50,7 @@
_TF_BAZELRC = ''
_TF_CURRENT_BAZEL_VERSION = None
- _TF_MIN_BAZEL_VERSION = '3.1.0'
+ _TF_MIN_BAZEL_VERSION = '3.7.2'
-_TF_MAX_BAZEL_VERSION = '3.99.0'
+_TF_MAX_BAZEL_VERSION = '4.1.0'
diff --git a/ports/tensorflow-common/change-macros-for-static-lib.patch b/ports/tensorflow-common/change-macros-for-static-lib.patch index daff655ce..a9d5fe7a0 100644 --- a/ports/tensorflow-common/change-macros-for-static-lib.patch +++ b/ports/tensorflow-common/change-macros-for-static-lib.patch @@ -103,7 +103,7 @@ diff --git a/tensorflow/c/c_api_macros.h b/tensorflow/c/c_api_macros.h diff --git a/tensorflow/c/kernels.h b/tensorflow/c/kernels.h --- a/tensorflow/c/kernels.h +++ b/tensorflow/c/kernels.h -@@ -23,24 +23,7 @@ +@@ -24,24 +24,7 @@ #include "tensorflow/c/tf_status.h" #include "tensorflow/c/tf_tensor.h" @@ -129,6 +129,35 @@ diff --git a/tensorflow/c/kernels.h b/tensorflow/c/kernels.h #ifdef __cplusplus extern "C" { +diff --git a/tensorflow/c/kernels_experimental.h b/tensorflow/c/kernels_experimental.h +--- a/tensorflow/c/kernels_experimental.h ++++ b/tensorflow/c/kernels_experimental.h +@@ -25,24 +25,7 @@ + // The API here is subject to changes in the future. + // -------------------------------------------------------------------------- + +-// Macro to control visibility of exported symbols in the shared library (.so, +-// .dylib, .dll). +-// This duplicates the TF_EXPORT macro definition in +-// tensorflow/core/platform/macros.h in order to keep this .h file independent +-// of any other includes. +-#ifdef SWIG + #define TF_CAPI_EXPORT +-#else +-#if defined(_WIN32) +-#ifdef TF_COMPILE_LIBRARY +-#define TF_CAPI_EXPORT __declspec(dllexport) +-#else +-#define TF_CAPI_EXPORT __declspec(dllimport) +-#endif // TF_COMPILE_LIBRARY +-#else +-#define TF_CAPI_EXPORT __attribute__((visibility("default"))) +-#endif // _WIN32 +-#endif // SWIG + + #ifdef __cplusplus + extern "C" { + diff --git a/tensorflow/c/ops.h b/tensorflow/c/ops.h --- a/tensorflow/c/ops.h +++ b/tensorflow/c/ops.h @@ -212,7 +241,7 @@ diff --git a/tensorflow/c/tf_tensor.h b/tensorflow/c/tf_tensor.h @@ -23,24 +23,7 @@ #include "tensorflow/c/tf_datatype.h" #include "tensorflow/c/tf_status.h" - + -// Macro to control visibility of exported symbols in the shared library (.so, -// .dylib, .dll). -// This duplicates the TF_EXPORT macro definition in @@ -231,7 +260,31 @@ diff --git a/tensorflow/c/tf_tensor.h b/tensorflow/c/tf_tensor.h -#define TF_CAPI_EXPORT __attribute__((visibility("default"))) -#endif // _WIN32 -#endif // SWIG + + #ifdef __cplusplus + extern "C" { +diff --git a/tensorflow/c/tf_tstring.h b/tensorflow/c/tf_tstring.h +--- a/tensorflow/c/tf_tstring.h ++++ b/tensorflow/c/tf_tstring.h +@@ -18,19 +18,7 @@ + #include "tensorflow/c/tf_tensor.h" + #include "tensorflow/core/platform/ctstring.h" + +-#ifdef SWIG + #define TF_CAPI_EXPORT +-#else +-#if defined(_WIN32) +-#ifdef TF_COMPILE_LIBRARY +-#define TF_CAPI_EXPORT __declspec(dllexport) +-#else +-#define TF_CAPI_EXPORT __declspec(dllimport) +-#endif // TF_COMPILE_LIBRARY +-#else +-#define TF_CAPI_EXPORT __attribute__((visibility("default"))) +-#endif // _WIN32 +-#endif // SWIG + #ifdef __cplusplus extern "C" { diff --git a/ports/tensorflow-common/convert_lib_params_macos.py b/ports/tensorflow-common/convert_lib_params_macos.py index b3c419363..d49f4d581 100644 --- a/ports/tensorflow-common/convert_lib_params_macos.py +++ b/ports/tensorflow-common/convert_lib_params_macos.py @@ -1,18 +1,20 @@ +import os.path
import sys
version = sys.argv[1]
lib_suffix = "" if len(sys.argv) < 3 else sys.argv[2]
-with open(f"libtensorflow{lib_suffix}.{version}.a-2.params", "w") as f_out:
- parts = []
- with open(f"libtensorflow_framework.{version}.dylib-2.params", "r") as f_in:
- for line in f_in:
- if line.startswith("-Wl,-force_load,"):
- f_out.write(line[16:])
- parts.append(line[16:])
- parts = set(parts)
- with open(f"libtensorflow{lib_suffix}.{version}.dylib-2.params", "r") as f_in:
- for line in f_in:
- if line.startswith("-Wl,-force_load,"):
- if line[16:] not in parts:
+if os.path.isfile(f"libtensorflow_framework.{version}.dylib-2.params"):
+ with open(f"libtensorflow{lib_suffix}.{version}.a-2.params", "w") as f_out:
+ parts = []
+ with open(f"libtensorflow_framework.{version}.dylib-2.params", "r") as f_in:
+ for line in f_in:
+ if line.startswith("-Wl,-force_load,"):
f_out.write(line[16:])
+ parts.append(line[16:])
+ parts = set(parts)
+ with open(f"libtensorflow{lib_suffix}.{version}.dylib-2.params", "r") as f_in:
+ for line in f_in:
+ if line.startswith("-Wl,-force_load,"):
+ if line[16:] not in parts:
+ f_out.write(line[16:])
diff --git a/ports/tensorflow-common/fix-build-error.patch b/ports/tensorflow-common/fix-build-error.patch index 89a15f17a..eb2a91c97 100644 --- a/ports/tensorflow-common/fix-build-error.patch +++ b/ports/tensorflow-common/fix-build-error.patch @@ -1,8 +1,7 @@ diff --git a/tensorflow/core/platform/default/logging.h b/tensorflow/core/platform/default/logging.h -index 99dd6de..3cbe8ed 100644 --- a/tensorflow/core/platform/default/logging.h +++ b/tensorflow/core/platform/default/logging.h -@@ -82,13 +82,13 @@ class LogMessageFatal : public LogMessage { +@@ -104,13 +104,13 @@ class LogMessageFatal : public LogMessage { }; #define _TF_LOG_INFO \ diff --git a/ports/tensorflow-common/fix-linux-build.patch b/ports/tensorflow-common/fix-linux-build.patch deleted file mode 100644 index e3eaca517..000000000 --- a/ports/tensorflow-common/fix-linux-build.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/tensorflow/core/kernels/data/experimental/snapshot_dataset_op.cc b/tensorflow/core/kernels/data/experimental/snapshot_dataset_op.cc ---- a/tensorflow/core/kernels/data/experimental/snapshot_dataset_op.cc -+++ b/tensorflow/core/kernels/data/experimental/snapshot_dataset_op.cc -@@ -72,6 +72,8 @@ - SnapshotDatasetV2Op::kReaderFuncTarguments; - /* static */ constexpr const char* const - SnapshotDatasetV2Op::kShardFuncTarguments; -+/* static */ constexpr const char* const SnapshotDatasetV2Op::kReaderPrefix; -+/* static */ constexpr const char* const SnapshotDatasetV2Op::kWriterPrefix; - /* static */ constexpr const int SnapshotDatasetV2Op::kFileFormatVersion; - - // ==== Snapshot Implementation ==== - -diff --git a/tensorflow/core/kernels/data/experimental/data_service_dataset_op.cc b/tensorflow/core/kernels/data/experimental/data_service_dataset_op.cc ---- a/tensorflow/core/kernels/data/experimental/data_service_dataset_op.cc -+++ b/tensorflow/core/kernels/data/experimental/data_service_dataset_op.cc -@@ -53,6 +53,8 @@ - /* static */ constexpr const char* const - DataServiceDatasetOp::kMaxOutstandingRequests; - /* static */ constexpr const char* const -+ DataServiceDatasetOp::kTaskRefreshIntervalHintMs; -+/* static */ constexpr const char* const - DataServiceDatasetOp::kIterationCounter; - /* static */ constexpr const char* const DataServiceDatasetOp::kOutputTypes; - /* static */ constexpr const char* const DataServiceDatasetOp::kOutputShapes; diff --git a/ports/tensorflow-common/fix-windows-build.patch b/ports/tensorflow-common/fix-windows-build.patch index 89536836f..8450299e8 100644 --- a/ports/tensorflow-common/fix-windows-build.patch +++ b/ports/tensorflow-common/fix-windows-build.patch @@ -1,12 +1,57 @@ -diff --git a/core/platform/default/logging.h b/core/platform/default/logging.h ---- a/tensorflow/core/platform/default/logging.h -+++ b/tensorflow/core/platform/default/logging.h -@@ -13,6 +13,8 @@ - limitations under the License. - ==============================================================================*/ +diff --git a/tensorflow/core/kernels/depthtospace_op.cc b/tensorflow/core/kernels/depthtospace_op.cc +--- a/tensorflow/core/kernels/depthtospace_op.cc ++++ b/tensorflow/core/kernels/depthtospace_op.cc +@@ -112,7 +112,7 @@ + auto Tinput = input.tensor<T, kDims>(); + auto Toutput = outputs_tensor->tensor<T, kDims>(); + +- if (std::is_same<Device, GPUDevice>::value) { ++ if constexpr (std::is_same<Device, GPUDevice>::value) { + if (is_int8x4) { + // NCHW_VECT_C with 4 x qint8 can be treated as NCHW int32. + auto Tinput_v = input.template reinterpret_last_dimension<int32, 4>(); +@@ -173,15 +173,6 @@ + } + }; + +-#ifdef WIN32 +-template <typename T> +-struct DepthToSpaceOpFunctor<CPUDevice, T, FORMAT_NCHW> { +- void operator()(const CPUDevice& d, typename TTypes<T, 4>::ConstTensor input, +- int block_size, typename TTypes<T, 4>::Tensor output) { +- LOG(FATAL) << "Trivial implementation to make debug build compile."; +- } +-}; +-#endif + } // namespace functor + + #define REGISTER(type) \ -+#pragma warning(disable:4716) -+ - #ifndef TENSORFLOW_CORE_PLATFORM_DEFAULT_LOGGING_H_ - #define TENSORFLOW_CORE_PLATFORM_DEFAULT_LOGGING_H_ +diff --git a/tensorflow/core/kernels/spacetodepth_op.cc b/tensorflow/core/kernels/spacetodepth_op.cc +--- a/tensorflow/core/kernels/spacetodepth_op.cc ++++ b/tensorflow/core/kernels/spacetodepth_op.cc +@@ -126,7 +126,7 @@ + output_width, output_depth), + &outputs_tensor)); + +- if (std::is_same<Device, GPUDevice>::value) { ++ if constexpr (std::is_same<Device, GPUDevice>::value) { + using RT = typename RawType<T>::type; + if (data_format_ == FORMAT_NCHW_VECT_C) { + // NCHW_VECT_C with 4 x qint8 can be treated as NCHW int32. +@@ -189,15 +189,6 @@ + } + }; + +-#ifdef WIN32 +-template <typename T> +-struct SpaceToDepthOpFunctor<CPUDevice, T, FORMAT_NCHW> { +- void operator()(const CPUDevice& d, typename TTypes<T, 4>::ConstTensor input, +- int block_size, typename TTypes<T, 4>::Tensor output) { +- LOG(FATAL) << "Trivial implementation to make debug build compile."; +- } +-}; +-#endif + } // namespace functor + #define REGISTER(type) \ diff --git a/ports/tensorflow-common/generate_static_link_cmd_linux.py b/ports/tensorflow-common/generate_static_link_cmd_linux.py index 7b1755215..fa1f73656 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_linux.py +++ b/ports/tensorflow-common/generate_static_link_cmd_linux.py @@ -1,7 +1,9 @@ import re
import sys
-lib_suffix = "" if len(sys.argv) < 3 else sys.argv[2]
+version = sys.argv[2]
+lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3]
+
with open(sys.argv[1], "r") as f_in:
with open("static_link.sh", "w") as f_out:
p_cd = re.compile(r"^\((cd .*) && \\$")
diff --git a/ports/tensorflow-common/generate_static_link_cmd_macos.py b/ports/tensorflow-common/generate_static_link_cmd_macos.py index 5894c99b0..f7b99763e 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_macos.py +++ b/ports/tensorflow-common/generate_static_link_cmd_macos.py @@ -1,23 +1,70 @@ +import os.path
import re
import sys
-lib_suffix = "" if len(sys.argv) < 3 else sys.argv[2]
+version = sys.argv[2]
+lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3]
+
with open(sys.argv[1], "r") as f_in:
with open("static_link.sh", "w") as f_out:
- p_cd = re.compile(r"^\((cd .*) && \\$")
- p_linker = re.compile(fr"^\s*.+cc_wrapper.sh.+(@bazel-out\S+libtensorflow{lib_suffix}\.\d\.\d\.\d\.dylib-2\.params).*")
- f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n")
- env = []
- for line in f_in:
- if line.startswith("(cd"):
- # new command, reset
- env = [line]
- else:
- m1 = p_linker.match(line)
- if m1:
- m2 = p_cd.match(env[0])
- f_out.write(m2.group(1) + "\n")
- line = f'"/usr/bin/libtool" -static -o {m1.group(1)[1:-9].replace(".dylib", ".a")} {m1.group(1).replace(".dylib", ".a")}\n'
- f_out.write(line)
+ if os.path.isfile(f"libtensorflow_framework.{version}.dylib-2.params"):
+ p_cd = re.compile(r"^\((cd .*) && \\$")
+ p_linker = re.compile(fr"^\s*.+cc_wrapper.sh.+(@bazel-out\S+libtensorflow{lib_suffix}\.\d\.\d\.\d\.dylib-2\.params).*")
+ f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n")
+ env = []
+ for line in f_in:
+ if line.startswith("(cd"):
+ # new command, reset
+ env = [line]
+ else:
+ m1 = p_linker.match(line)
+ if m1:
+ m2 = p_cd.match(env[0])
+ f_out.write(m2.group(1) + "\n")
+ line = f'"/usr/bin/libtool" -static -o {m1.group(1)[1:-9].replace(".dylib", ".a")} {m1.group(1).replace(".dylib", ".a")}\n'
+ f_out.write(line)
+ else:
+ env.append(line)
+ else:
+ # old behaviour (still on some platforms): inline all parameters instead of using -2.params file
+ p_cd = re.compile(r"^\((cd .*) && \\$")
+ p_linker1 = re.compile(fr"^.*cc_wrapper.sh.+-shared.+-o (bazel-out\S+libtensorflow{lib_suffix}\.\d\.\d\.\d\.dylib)")
+ p_linker2 = re.compile("^.*cc_wrapper.sh.+-shared.+-o (bazel-out\\S+libtensorflow_framework\\.\\d\\.\\d\\.\\d\\.dylib)")
+ f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n")
+ env = []
+ parts = None
+ for line in f_in:
+ if line.startswith("(cd"):
+ # new command, reset
+ env = [line]
else:
- env.append(line)
+ m1 = p_linker1.match(line)
+ m2 = p_linker2.match(line)
+ if m1:
+ tokens = line.split()
+ if parts is None:
+ parts = [t[16:] for t in tokens if t.startswith("-Wl,-force_load,")]
+ else:
+ m = p_cd.match(env[0])
+ f_out.write(m.group(1) + "\n")
+ tmp = [t[16:] for t in tokens if t.startswith("-Wl,-force_load,")]
+ old = set(parts)
+ parts += [t for t in tmp if t not in old]
+ line = f"libtool -static -o {m1.group(1).replace('.dylib', '.a')} {' '.join(parts)}\n"
+ f_out.write(line)
+ break
+ elif m2 and len(env) > 6:
+ tokens = line.split()
+ if parts is None:
+ parts = [t[16:] for t in tokens if t.startswith("-Wl,-force_load,")]
+ else:
+ m = p_cd.match(env[0])
+ f_out.write(m.group(1) + "\n")
+ tmp = [t[16:] for t in tokens if t.startswith("-Wl,-force_load,")]
+ old = set(parts)
+ parts += [t for t in tmp if t not in old]
+ line = f"libtool -static -o {m2.group(1).replace('_framework', lib_suffix).replace('.dylib', '.a')} {' '.join(parts)}\n"
+ f_out.write(line)
+ break
+ else:
+ env.append(line)
diff --git a/ports/tensorflow-common/generate_static_link_cmd_windows.py b/ports/tensorflow-common/generate_static_link_cmd_windows.py index 84ec9eede..82f01a768 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_windows.py +++ b/ports/tensorflow-common/generate_static_link_cmd_windows.py @@ -2,7 +2,9 @@ import os.path import re
import sys
-lib_suffix = "" if len(sys.argv) < 3 else sys.argv[2]
+version = sys.argv[2]
+lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3]
+
with open(sys.argv[1], "r") as f_in:
with open("static_link.bat", "w") as f_out:
p_setenv = re.compile(r"^\s*(SET .+=.*)$")
diff --git a/ports/tensorflow-common/portfile.cmake b/ports/tensorflow-common/portfile.cmake index edd171aa4..bbfc287df 100644 --- a/ports/tensorflow-common/portfile.cmake +++ b/ports/tensorflow-common/portfile.cmake @@ -6,7 +6,6 @@ set(TENSORFLOW_FILES "${CMAKE_CURRENT_LIST_DIR}/convert_lib_params_macos.py" "${CMAKE_CURRENT_LIST_DIR}/convert_lib_params_windows.py" "${CMAKE_CURRENT_LIST_DIR}/fix-build-error.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-linux-build.patch" "${CMAKE_CURRENT_LIST_DIR}/fix-windows-build.patch" "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_linux.py" "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_macos.py" diff --git a/ports/tensorflow-common/tensorflow-common.cmake b/ports/tensorflow-common/tensorflow-common.cmake index 55387eb0d..0813dd94e 100644 --- a/ports/tensorflow-common/tensorflow-common.cmake +++ b/ports/tensorflow-common/tensorflow-common.cmake @@ -1,5 +1,5 @@ -set(TF_VERSION 2.4.1) -set(TF_VERSION_SHORT 2.4) +set(TF_VERSION 2.6.0) +set(TF_VERSION_SHORT 2.6) vcpkg_find_acquire_program(BAZEL) get_filename_component(BAZEL_DIR "${BAZEL}" DIRECTORY) @@ -129,28 +129,23 @@ foreach(BUILD_TYPE dbg rel) # prefer repeated source extraction here for each build type over extracting once above the loop and copying because users reported issues with copying symlinks set(STATIC_ONLY_PATCHES) set(WINDOWS_ONLY_PATCHES) - set(LINUX_ONLY_PATCHES) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(STATIC_ONLY_PATCHES "${CMAKE_CURRENT_LIST_DIR}/change-macros-for-static-lib.patch") # there is no static build option - change macros via patch and link library manually at the end endif() if(VCPKG_TARGET_IS_WINDOWS) set(WINDOWS_ONLY_PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-windows-build.patch") endif() - if(VCPKG_TARGET_IS_LINUX) - set(LINUX_ONLY_PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-linux-build.patch") - endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tensorflow/tensorflow REF "v${TF_VERSION}" - SHA512 be8273f464c1c1c392f3ab0190dbba36d56a0edcc7991c1a86f16604c859056d3188737d11c3b41ec7918e1cf46d13814c50c00be8f459dde9f0fb618740ee3c + SHA512 d052da4b324f1b5ac9c904ac3cca270cefbf916be6e5968a6835ef3f8ea8c703a0b90be577ac5205edf248e8e6c7ee8817b6a1b383018bb77c381717c6205e05 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-build-error.patch" # Fix namespace error "${CMAKE_CURRENT_LIST_DIR}/Update-bazel-max-version.patch" ${STATIC_ONLY_PATCHES} ${WINDOWS_ONLY_PATCHES} - ${LINUX_ONLY_PATCHES} ) message(STATUS "Configuring TensorFlow (${BUILD_TYPE})") @@ -192,8 +187,10 @@ foreach(BUILD_TYPE dbg rel) if(BUILD_TYPE STREQUAL dbg) if(VCPKG_TARGET_IS_WINDOWS) set(BUILD_OPTS "--compilation_mode=dbg --features=fastbuild") # link with /DEBUG:FASTLINK instead of /DEBUG:FULL to avoid .pdb >4GB error + elseif(VCPKG_TARGET_IS_OSX) + set(BUILD_OPTS --compilation_mode=fastbuild) # debug build on macOS currently broken else() - set(BUILD_OPTS "--compilation_mode=dbg") + set(BUILD_OPTS --compilation_mode=dbg) endif() separate_arguments(VCPKG_C_FLAGS ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS}) @@ -212,7 +209,7 @@ foreach(BUILD_TYPE dbg rel) list(APPEND LINKOPTS "--linkopt='${OPT}'") endforeach() else() - set(BUILD_OPTS "--compilation_mode=opt") + set(BUILD_OPTS --compilation_mode=opt) separate_arguments(VCPKG_C_FLAGS ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS}) separate_arguments(VCPKG_C_FLAGS_RELEASE ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS_RELEASE}) @@ -289,7 +286,7 @@ foreach(BUILD_TYPE dbg rel) endif() # for some reason stdout of bazel ends up in stderr, so use err log file in the following command vcpkg_execute_build_process( - COMMAND ${PYTHON3} "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_${PLATFORM_SUFFIX}.py" "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-${BUILD_TYPE}-err.log" ${TF_LIB_SUFFIX} + COMMAND ${PYTHON3} "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_${PLATFORM_SUFFIX}.py" "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-${BUILD_TYPE}-err.log" ${TF_VERSION} ${TF_LIB_SUFFIX} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}/bazel-${TARGET_TRIPLET}-${BUILD_TYPE} LOGNAME postbuild2-${TARGET_TRIPLET}-${BUILD_TYPE} ) diff --git a/ports/tensorflow-common/vcpkg.json b/ports/tensorflow-common/vcpkg.json index 51d3fa855..dae75635c 100644 --- a/ports/tensorflow-common/vcpkg.json +++ b/ports/tensorflow-common/vcpkg.json @@ -1,7 +1,6 @@ { "name": "tensorflow-common", - "version-semver": "2.4.1", - "port-version": 5, + "version-semver": "2.6.0", "description": "This meta package holds common files for the C [tensorflow] and the C++ [tensorflow-cc] API version of TensorFlow but is not installable on its own.", "homepage": "https://github.com/tensorflow/tensorflow" } diff --git a/ports/tensorflow/vcpkg.json b/ports/tensorflow/vcpkg.json index b6fb8e613..b00a067fc 100644 --- a/ports/tensorflow/vcpkg.json +++ b/ports/tensorflow/vcpkg.json @@ -1,6 +1,6 @@ { "name": "tensorflow", - "version-semver": "2.4.1", + "version-semver": "2.6.0", "description": "Library for computation using data flow graphs for scalable machine learning (C API version)", "homepage": "https://github.com/tensorflow/tensorflow", "supports": "!(x86 | arm | uwp)", diff --git a/versions/baseline.json b/versions/baseline.json index 8c4ebc40d..d19079847 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6457,16 +6457,16 @@ "port-version": 1 }, "tensorflow": { - "baseline": "2.4.1", + "baseline": "2.6.0", "port-version": 0 }, "tensorflow-cc": { - "baseline": "2.4.1", - "port-version": 1 + "baseline": "2.6.0", + "port-version": 0 }, "tensorflow-common": { - "baseline": "2.4.1", - "port-version": 5 + "baseline": "2.6.0", + "port-version": 0 }, "tensorpipe": { "baseline": "2021-04-26", diff --git a/versions/t-/tensorflow-cc.json b/versions/t-/tensorflow-cc.json index b43b8b239..2fb6918aa 100644 --- a/versions/t-/tensorflow-cc.json +++ b/versions/t-/tensorflow-cc.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "b9e9f840127f8da0c67cadf0369023753c90686b", + "version-semver": "2.6.0", + "port-version": 0 + }, + { "git-tree": "77875da04a151fb36abe52cce80491a9a7f16c55", "version-semver": "2.4.1", "port-version": 1 diff --git a/versions/t-/tensorflow-common.json b/versions/t-/tensorflow-common.json index a647b39e3..26d4c0d26 100644 --- a/versions/t-/tensorflow-common.json +++ b/versions/t-/tensorflow-common.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "84662f791eb9d38350a4ffe99cd80d49f562b10f", + "version-semver": "2.6.0", + "port-version": 0 + }, + { "git-tree": "2160d070413af839dbe9da331350e34c91352e11", "version-semver": "2.4.1", "port-version": 5 diff --git a/versions/t-/tensorflow.json b/versions/t-/tensorflow.json index c83f74066..900e6a8ed 100644 --- a/versions/t-/tensorflow.json +++ b/versions/t-/tensorflow.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "8692b5026a3b7666e73dcaf7432e525dc103f8c5", + "version-semver": "2.6.0", + "port-version": 0 + }, + { "git-tree": "bd9bf99a10fe9a9769f26dedb282f3c1954fc9bb", "version-semver": "2.4.1", "port-version": 0 |
