Avoid rebuilding decoder sources for every binary target
This commit is contained in:
parent
1b18494e63
commit
c730102867
@ -26,30 +26,16 @@ KENLM_SOURCES = glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-con
|
|||||||
"kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"],
|
"kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"],
|
||||||
exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"])
|
exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"])
|
||||||
|
|
||||||
KENLM_INCLUDES = [
|
|
||||||
"kenlm",
|
|
||||||
]
|
|
||||||
|
|
||||||
OPENFST_SOURCES_PLATFORM = select({
|
OPENFST_SOURCES_PLATFORM = select({
|
||||||
"//tensorflow:windows": glob(["ctcdecode/third_party/openfst-1.6.9-win/src/lib/*.cc"]),
|
"//tensorflow:windows": glob(["ctcdecode/third_party/openfst-1.6.9-win/src/lib/*.cc"]),
|
||||||
"//conditions:default": glob(["ctcdecode/third_party/openfst-1.6.7/src/lib/*.cc"]),
|
"//conditions:default": glob(["ctcdecode/third_party/openfst-1.6.7/src/lib/*.cc"]),
|
||||||
})
|
})
|
||||||
|
|
||||||
DECODER_SOURCES = glob([
|
|
||||||
"ctcdecode/*.h",
|
|
||||||
"ctcdecode/*.cpp",
|
|
||||||
], exclude=["ctcdecode/*_wrap.cpp"]) + OPENFST_SOURCES_PLATFORM + KENLM_SOURCES
|
|
||||||
|
|
||||||
OPENFST_INCLUDES_PLATFORM = select({
|
OPENFST_INCLUDES_PLATFORM = select({
|
||||||
"//tensorflow:windows": ["ctcdecode/third_party/openfst-1.6.9-win/src/include"],
|
"//tensorflow:windows": ["ctcdecode/third_party/openfst-1.6.9-win/src/include"],
|
||||||
"//conditions:default": ["ctcdecode/third_party/openfst-1.6.7/src/include"],
|
"//conditions:default": ["ctcdecode/third_party/openfst-1.6.7/src/include"],
|
||||||
})
|
})
|
||||||
|
|
||||||
DECODER_INCLUDES = [
|
|
||||||
".",
|
|
||||||
"ctcdecode/third_party/ThreadPool",
|
|
||||||
] + OPENFST_INCLUDES_PLATFORM + KENLM_INCLUDES
|
|
||||||
|
|
||||||
LINUX_LINKOPTS = [
|
LINUX_LINKOPTS = [
|
||||||
"-ldl",
|
"-ldl",
|
||||||
"-pthread",
|
"-pthread",
|
||||||
@ -58,6 +44,22 @@ LINUX_LINKOPTS = [
|
|||||||
"-Wl,-export-dynamic"
|
"-Wl,-export-dynamic"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
cc_library(
|
||||||
|
name = "decoder",
|
||||||
|
srcs = ["ctcdecode/ctc_beam_search_decoder.cpp",
|
||||||
|
"ctcdecode/decoder_utils.cpp",
|
||||||
|
"ctcdecode/decoder_utils.h",
|
||||||
|
"ctcdecode/scorer.cpp",
|
||||||
|
"ctcdecode/path_trie.cpp",
|
||||||
|
"ctcdecode/path_trie.h"] + KENLM_SOURCES + OPENFST_SOURCES_PLATFORM,
|
||||||
|
hdrs = ["ctcdecode/ctc_beam_search_decoder.h",
|
||||||
|
"ctcdecode/scorer.h"],
|
||||||
|
includes = [".",
|
||||||
|
"ctcdecode/third_party/ThreadPool",
|
||||||
|
"kenlm"] + OPENFST_INCLUDES_PLATFORM,
|
||||||
|
defines = ["KENLM_MAX_ORDER=6"],
|
||||||
|
)
|
||||||
|
|
||||||
tf_cc_shared_object(
|
tf_cc_shared_object(
|
||||||
name = "libdeepspeech.so",
|
name = "libdeepspeech.so",
|
||||||
srcs = ["deepspeech.cc",
|
srcs = ["deepspeech.cc",
|
||||||
@ -67,7 +69,6 @@ tf_cc_shared_object(
|
|||||||
"modelstate.cc",
|
"modelstate.cc",
|
||||||
"workspace_status.h",
|
"workspace_status.h",
|
||||||
"workspace_status.cc"] +
|
"workspace_status.cc"] +
|
||||||
DECODER_SOURCES +
|
|
||||||
select({
|
select({
|
||||||
"//native_client:tflite": [
|
"//native_client:tflite": [
|
||||||
"tflitemodelstate.h",
|
"tflitemodelstate.h",
|
||||||
@ -142,9 +143,7 @@ tf_cc_shared_object(
|
|||||||
],
|
],
|
||||||
}) + if_cuda([
|
}) + if_cuda([
|
||||||
"//tensorflow/core:core",
|
"//tensorflow/core:core",
|
||||||
]),
|
]) + [":decoder"],
|
||||||
includes = DECODER_INCLUDES,
|
|
||||||
defines = ["KENLM_MAX_ORDER=6"],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
cc_binary(
|
cc_binary(
|
||||||
@ -152,11 +151,10 @@ cc_binary(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"generate_trie.cpp",
|
"generate_trie.cpp",
|
||||||
"alphabet.h",
|
"alphabet.h",
|
||||||
] + DECODER_SOURCES,
|
],
|
||||||
includes = DECODER_INCLUDES,
|
|
||||||
copts = ["-std=c++11"],
|
copts = ["-std=c++11"],
|
||||||
linkopts = ["-lm", "-ldl", "-pthread"],
|
linkopts = ["-lm", "-ldl", "-pthread"],
|
||||||
defines = ["KENLM_MAX_ORDER=6"],
|
deps = [":decoder"],
|
||||||
)
|
)
|
||||||
|
|
||||||
cc_binary(
|
cc_binary(
|
||||||
@ -164,9 +162,8 @@ cc_binary(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"trie_load.cc",
|
"trie_load.cc",
|
||||||
"alphabet.h",
|
"alphabet.h",
|
||||||
] + DECODER_SOURCES,
|
],
|
||||||
includes = DECODER_INCLUDES,
|
|
||||||
copts = ["-std=c++11"],
|
copts = ["-std=c++11"],
|
||||||
linkopts = ["-lm", "-ldl", "-pthread"],
|
linkopts = ["-lm", "-ldl", "-pthread"],
|
||||||
defines = ["KENLM_MAX_ORDER=6"],
|
deps = [":decoder"],
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user