Files
wehub-resource-sync 8a852e4b4e
cffconvert / validate (push) Has been skipped
License Check / license-check (push) Failing after 2s
chore: import upstream snapshot with attribution
2026-07-13 12:14:16 +08:00

162 lines
5.1 KiB
Python

# Packaging for TensorFlow artifacts other than the Python API (pip whl).
# This includes the C API, Java API, and protocol buffer files.
load("@local_config_cuda//cuda:build_defs.bzl", "if_cuda")
load("@rules_pkg//:pkg.bzl", "pkg_tar", "pkg_zip")
load("@xla//xla/tsl/mkl:build_defs.bzl", "if_enable_mkl", "if_mkl")
load("//tensorflow:tensorflow.bzl", "VERSION", "VERSION_MAJOR", "if_macos")
load("//tensorflow/core/platform:build_config_root.bzl", "tf_additional_license_deps")
package(default_visibility = ["//visibility:private"])
pkg_zip(
name = "libtensorflow_proto",
srcs = ["//tensorflow/core:protos_all_proto_srcs"],
strip_prefix = "/external/tsl",
)
# Shared objects that all TensorFlow libraries depend on.
pkg_tar(
name = "common_deps",
srcs = ["//tensorflow:tensorflow_framework"],
symlinks = if_macos(
{
"libtensorflow_framework.dylib": "libtensorflow_framework.%s.dylib" % VERSION_MAJOR,
"libtensorflow_framework.%s.dylib" % VERSION_MAJOR: "libtensorflow_framework.%s.dylib" % VERSION,
},
{
"libtensorflow_framework.so": "libtensorflow_framework.so.%s" % VERSION_MAJOR,
"libtensorflow_framework.so.%s" % VERSION_MAJOR: "libtensorflow_framework.so.%s" % VERSION,
},
),
tags = ["manual"],
)
pkg_tar(
name = "cheaders",
srcs = [
"//tensorflow/c:headers",
],
package_dir = "include/",
# TODO(ddunleavy): Remove `tsl` after TSL move is completed.
remap_paths = {
"external/xla/xla": "xla",
"external/tsl/tsl": "tsl",
},
strip_prefix = ".",
# Mark as "manual" till
# https://github.com/bazelbuild/bazel/issues/2352
# and https://github.com/bazelbuild/bazel/issues/1580
# are resolved, otherwise these rules break when built
# with Python 3.
tags = ["manual"],
)
pkg_tar(
name = "eager_cheaders",
srcs = [
"//tensorflow/c/eager:headers",
],
package_dir = "include/tensorflow/c/eager",
# Mark as "manual" till
# https://github.com/bazelbuild/bazel/issues/2352
# and https://github.com/bazelbuild/bazel/issues/1580
# are resolved, otherwise these rules break when built
# with Python 3.
tags = ["manual"],
)
pkg_tar(
name = "clib",
srcs = ["//tensorflow"],
package_dir = "lib",
symlinks = if_macos(
{
"lib/libtensorflow.dylib": "libtensorflow.%s.dylib" % VERSION_MAJOR,
"lib/libtensorflow.%s.dylib" % VERSION_MAJOR: "libtensorflow.%s.dylib" % VERSION,
},
{
"lib/libtensorflow.so": "libtensorflow.so.%s" % VERSION_MAJOR,
"lib/libtensorflow.so.%s" % VERSION_MAJOR: "libtensorflow.so.%s" % VERSION,
},
),
# Mark as "manual" till
# https://github.com/bazelbuild/bazel/issues/2352
# and https://github.com/bazelbuild/bazel/issues/1580
# are resolved, otherwise these rules break when built
# with Python 3.
tags = ["manual"],
deps = [":common_deps"],
)
pkg_tar(
name = "clicenses",
srcs = [
":THIRD_PARTY_TF_C_LICENSES",
"//:LICENSE",
],
# Mark as "manual" till
# https://github.com/bazelbuild/bazel/issues/2352
# and https://github.com/bazelbuild/bazel/issues/1580
# are resolved, otherwise these rules break when built
# with Python 3.
tags = ["manual"],
)
genrule(
name = "clicenses_generate",
srcs = [
"//third_party/icu/data:LICENSE",
"@curl//:COPYING",
"@ducc//:LICENSE",
"@gemmlowp//:LICENSE",
"@jpegxl//:LICENSE",
"@libjpeg_turbo//:LICENSE.md",
"@llvm-project//llvm:LICENSE.TXT",
"@llvm-project//mlir:LICENSE.TXT",
"@local_config_tensorrt//:LICENSE",
"@org_brotli//:LICENSE",
"@png//:LICENSE",
"@snappy//:COPYING",
"@stablehlo//:LICENSE",
"@tf_runtime//:LICENSE",
"@tsl//:LICENSE",
"@xla//:LICENSE",
"@XNNPACK//:LICENSE",
] + select({
"//tensorflow:android": [],
"//tensorflow:ios": [],
"//tensorflow:linux_s390x": [],
"//tensorflow:windows": [],
"//tensorflow:no_gcp_support": [],
"//conditions:default": [
"@com_github_googlecloudplatform_google_cloud_cpp//:LICENSE",
],
}) + if_cuda([
"@local_config_nccl//:LICENSE",
]) + if_mkl([
"@xla//third_party/mkl_dnn:LICENSE",
]) + if_enable_mkl(["@xla//xla/tsl/mkl:LICENSE"]) + tf_additional_license_deps(),
outs = ["THIRD_PARTY_TF_C_LICENSES"],
cmd = "$(location :concat_licenses.sh) $(SRCS) >$@",
tools = [":concat_licenses.sh"],
)
sh_test(
name = "libtensorflow_test",
size = "small",
srcs = ["libtensorflow_test.sh"],
data = [
"libtensorflow_test.c",
":libtensorflow.tar.gz",
],
# Mark as "manual" till
# https://github.com/bazelbuild/bazel/issues/2352
# and https://github.com/bazelbuild/bazel/issues/1580
# are resolved, otherwise these rules break when built
# with Python 3.
# Till then, this test is explicitly executed when building
# the release by tensorflow/tools/ci_build/builds/libtensorflow.sh
tags = ["manual"],
)