load("@bazel_skylib//rules:copy_file.bzl", "copy_file") load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library") load("@protobuf//bazel:proto_library.bzl", "proto_library") package( default_visibility = ["//visibility:public"], features = [ "layering_check", "parse_headers", ], ) licenses(["notice"]) # Apache 2, BSD, MIT proto_library( name = "sentencepiece_proto", srcs = ["src/sentencepiece.proto"], ) cc_proto_library( name = "sentencepiece_cc_proto", deps = [":sentencepiece_proto"], ) proto_library( name = "sentencepiece_model_proto", srcs = ["src/sentencepiece_model.proto"], ) cc_proto_library( name = "sentencepiece_model_cc_proto", deps = [":sentencepiece_model_proto"], ) copy_file( name = "config_h", src = "config.h.in", out = "config.h", allow_symlink = True, ) cc_library( name = "darts_clone", hdrs = glob([ "third_party/darts_clone/*.h", ]), includes = ["."], ) cc_library( name = "sentencepiece_processor", srcs = [ "src/bpe_model.cc", "src/char_model.cc", "src/error.cc", "src/filesystem.cc", "src/model_factory.cc", "src/model_interface.cc", "src/normalizer.cc", "src/sentencepiece_processor.cc", "src/unigram_model.cc", "src/util.cc", "src/word_model.cc", ], hdrs = [ ":config_h", "src/common.h", "src/bpe_model.h", "src/char_model.h", "src/filesystem.h", "src/freelist.h", "src/init.h", "src/model_factory.h", "src/model_interface.h", "src/normalizer.h", "src/sentencepiece_processor.h", "src/trainer_interface.h", "src/unigram_model.h", "src/util.h", "src/word_model.h", ], defines = [ "_USE_EXTERNAL_PROTOBUF", "_USE_EXTERNAL_ABSL", ], includes = [ "src", ], deps = [ ":darts_clone", ":sentencepiece_cc_proto", ":sentencepiece_model_cc_proto", "@protobuf//:protobuf_lite", "@zml//third_party/com_google_sentencepiece:absl", ], )