blob: 4e5db0ce58d6c445d62a497a9f24b8dd0903da39 [file] [log] [blame]
# Description:
# This package provides build-time generation of proto3 text format functions
# (ProtoDebugString, ProtoShortDebugString, and ProtoParseFromString) which
# provide equivalent functionality as proto.DebugString, proto.ShortDebugString,
# and TextFormat parsing, but can be used with protos generated with
# LITE_RUNTIME.
#
# Note that proto3 well-known types (e.g. Any) are not handled in a special way
# by the generated code.
load(
"//tensorflow:tensorflow.bzl",
"if_ios",
"tf_cc_test",
"tf_generate_proto_text_sources",
)
# For platform specific build config
load(
"//tensorflow/core:platform/default/build_config.bzl",
"tf_proto_library_cc",
)
package(
default_visibility = ["//visibility:private"],
licenses = ["notice"], # Apache 2.0
)
exports_files([
"LICENSE",
"placeholder.txt",
])
cc_binary(
name = "gen_proto_text_functions",
srcs = ["gen_proto_text_functions.cc"],
copts = if_ios(["-DGOOGLE_LOGGING"]),
visibility = ["//tensorflow:internal"],
deps = [
":gen_proto_text_functions_lib",
"@com_google_protobuf//:protobuf",
"//tensorflow/core:lib_proto_parsing",
"//tensorflow/core:lib_proto_compiler",
] + if_ios(["//tensorflow/core/platform/default/build_config:logging"]),
)
cc_library(
name = "gen_proto_text_functions_lib",
srcs = ["gen_proto_text_functions_lib.cc"],
hdrs = ["gen_proto_text_functions_lib.h"],
copts = if_ios(["-DGOOGLE_LOGGING"]),
linkopts = select({
"//tensorflow:windows": [],
"//tensorflow:macos": [
"-lm",
"-lpthread",
],
"//tensorflow:ios": [
"-lm",
"-lpthread",
],
"//conditions:default": [
"-lm",
"-lpthread",
"-lrt",
],
}),
deps = [
"//tensorflow/core:lib_proto_parsing",
] + if_ios(["//tensorflow/core/platform/default/build_config:logging"]),
)
tf_proto_library_cc(
name = "test_proto",
srcs = ["test.proto"],
)
tf_generate_proto_text_sources(
name = "test_proto_text",
srcs = ["test.proto"],
srcs_relative_dir = "tensorflow/tools/proto_text/",
deps = [
":test_proto_cc",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
],
)
tf_cc_test(
name = "gen_proto_text_functions_lib_test",
size = "small",
srcs = [
"gen_proto_text_functions_lib_test.cc",
":test_proto_text_srcs",
],
deps = [
":gen_proto_text_functions_lib",
":test_proto_cc",
"//tensorflow/core:lib",
"//tensorflow/core:lib_internal",
"//tensorflow/core:test",
"//tensorflow/core:test_main",
],
)