From 8ad33ead9075cd8d6d357e0b870ba8d501efe35c Mon Sep 17 00:00:00 2001 From: Joachim Gehweiler <44170764+jgehw@users.noreply.github.com> Date: Thu, 30 Sep 2021 05:43:32 +0200 Subject: [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 Co-authored-by: Billy Robert O'Neal III --- ports/tensorflow-cc/vcpkg.json | 3 +- .../Update-bazel-max-version.patch | 5 +- .../change-macros-for-static-lib.patch | 57 ++++++++++++++- .../tensorflow-common/convert_lib_params_macos.py | 26 +++---- ports/tensorflow-common/fix-build-error.patch | 3 +- ports/tensorflow-common/fix-linux-build.patch | 25 ------- ports/tensorflow-common/fix-windows-build.patch | 65 ++++++++++++++--- .../generate_static_link_cmd_linux.py | 4 +- .../generate_static_link_cmd_macos.py | 81 +++++++++++++++++----- .../generate_static_link_cmd_windows.py | 4 +- ports/tensorflow-common/portfile.cmake | 1 - ports/tensorflow-common/tensorflow-common.cmake | 19 +++-- ports/tensorflow-common/vcpkg.json | 3 +- ports/tensorflow/vcpkg.json | 2 +- versions/baseline.json | 10 +-- versions/t-/tensorflow-cc.json | 5 ++ versions/t-/tensorflow-common.json | 5 ++ versions/t-/tensorflow.json | 5 ++ 18 files changed, 228 insertions(+), 95 deletions(-) delete mode 100644 ports/tensorflow-common/fix-linux-build.patch 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(); + auto Toutput = outputs_tensor->tensor(); + +- if (std::is_same::value) { ++ if constexpr (std::is_same::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(); +@@ -173,15 +173,6 @@ + } + }; + +-#ifdef WIN32 +-template +-struct DepthToSpaceOpFunctor { +- void operator()(const CPUDevice& d, typename TTypes::ConstTensor input, +- int block_size, typename TTypes::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::value) { ++ if constexpr (std::is_same::value) { + using RT = typename RawType::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 +-struct SpaceToDepthOpFunctor { +- void operator()(const CPUDevice& d, typename TTypes::ConstTensor input, +- int block_size, typename TTypes::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,5 +1,10 @@ { "versions": [ + { + "git-tree": "b9e9f840127f8da0c67cadf0369023753c90686b", + "version-semver": "2.6.0", + "port-version": 0 + }, { "git-tree": "77875da04a151fb36abe52cce80491a9a7f16c55", "version-semver": "2.4.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,5 +1,10 @@ { "versions": [ + { + "git-tree": "84662f791eb9d38350a4ffe99cd80d49f562b10f", + "version-semver": "2.6.0", + "port-version": 0 + }, { "git-tree": "2160d070413af839dbe9da331350e34c91352e11", "version-semver": "2.4.1", 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,5 +1,10 @@ { "versions": [ + { + "git-tree": "8692b5026a3b7666e73dcaf7432e525dc103f8c5", + "version-semver": "2.6.0", + "port-version": 0 + }, { "git-tree": "bd9bf99a10fe9a9769f26dedb282f3c1954fc9bb", "version-semver": "2.4.1", -- cgit v1.2.3