From 0002d0feedbe003cf8c799719a44bd73857cb831 Mon Sep 17 00:00:00 2001 From: Reuben Morais Date: Thu, 25 Oct 2018 17:00:58 -0300 Subject: [PATCH] Integrate ctcdecode into build system --- native_client/BUILD | 53 +++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/native_client/BUILD b/native_client/BUILD index f953aa35c1..2a4bf4c60d 100644 --- a/native_client/BUILD +++ b/native_client/BUILD @@ -10,6 +10,27 @@ genrule( tools = [":ds_git_version.sh"] ) +KENLM_SOURCES = glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-conversion/*.cc", + "kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"], + exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"]) + glob(["boost_locale/**/*.hpp"]) + +KENLM_INCLUDES = [ + "kenlm", + "boost_locale" +] + +DECODER_SOURCES = glob([ + "ctcdecode/*.h", + "ctcdecode/*.cpp", + "ctcdecode/third_party/openfst-1.6.7/src/lib/*.cc" +]) + KENLM_SOURCES + +DECODER_INCLUDES = [ + ".", + "ctcdecode/third_party/openfst-1.6.7/src/include", + "ctcdecode/third_party/ThreadPool" +] + KENLM_INCLUDES + tf_cc_shared_object( name = "libdeepspeech.so", srcs = ["deepspeech.cc", @@ -26,10 +47,7 @@ tf_cc_shared_object( "kiss_fft130/_kiss_fft_guts.h", "kiss_fft130/tools/kiss_fftr.h", "ds_version.h"] + - glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-conversion/*.cc", - "kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"], - exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"]) + - glob(["boost_locale/**/*.hpp"]), + DECODER_SOURCES, # -Wno-sign-compare to silent a lot of warnings from tensorflow itself, # which makes it harder to see our own warnings copts = ["-Wno-sign-compare", "-fvisibility=hidden"], @@ -76,7 +94,7 @@ tf_cc_shared_object( ] + if_cuda([ "//tensorflow/core:core", ]), - includes = ["kenlm", "boost_locale", "c_speech_features", "kiss_fft130"], + includes = ["c_speech_features", "kiss_fft130"] + DECODER_INCLUDES, defines = ["KENLM_MAX_ORDER=6"], ) @@ -88,11 +106,8 @@ tf_cc_shared_object( "alphabet.h", "trie_node.h" ] + - glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-conversion/*.cc", - "kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"], - exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"]) + - glob(["boost_locale/**/*.hpp"]), - includes = ["kenlm", "boost_locale"], + KENLM_SOURCES, + includes = KENLM_INCLUDES, copts = ["-std=c++11"], defines = ["KENLM_MAX_ORDER=6"], deps = ["//tensorflow/core:framework_headers_lib", @@ -105,14 +120,9 @@ cc_binary( name = "generate_trie", srcs = [ "generate_trie.cpp", - "trie_node.h", "alphabet.h", - ] + - glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-conversion/*.cc", - "kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"], - exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"]) + - glob(["boost_locale/**/*.hpp"]), - includes = ["kenlm", "boost_locale"], + ] + DECODER_SOURCES, + includes = DECODER_INCLUDES, copts = ["-std=c++11"], linkopts = ["-lm"], defines = ["KENLM_MAX_ORDER=6"], @@ -122,14 +132,9 @@ cc_binary( name = "trie_load", srcs = [ "trie_load.cc", - "trie_node.h", "alphabet.h", - ] + - glob(["kenlm/lm/*.cc", "kenlm/util/*.cc", "kenlm/util/double-conversion/*.cc", - "kenlm/lm/*.hh", "kenlm/util/*.hh", "kenlm/util/double-conversion/*.h"], - exclude = ["kenlm/*/*test.cc", "kenlm/*/*main.cc"]) + - glob(["boost_locale/**/*.hpp"]), - includes = ["kenlm", "boost_locale"], + ] + DECODER_SOURCES, + includes = DECODER_INCLUDES, copts = ["-std=c++11"], linkopts = ["-lm"], defines = ["KENLM_MAX_ORDER=6"],