From 3a695f9c1ca1eb39fdc3ab5c4989a9e1b52f0c5f Mon Sep 17 00:00:00 2001 From: Reuben Morais Date: Mon, 26 Jul 2021 16:55:13 +0200 Subject: [PATCH] Fix packaging and linking of libkenlm on Windows --- ci_scripts/package-utils.sh | 4 ++++ native_client/definitions.mk | 4 ++-- native_client/javascript/binding.gyp | 19 +++++++++++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ci_scripts/package-utils.sh b/ci_scripts/package-utils.sh index eb3f5e55..9fdef33d 100755 --- a/ci_scripts/package-utils.sh +++ b/ci_scripts/package-utils.sh @@ -26,6 +26,10 @@ package_native_client() win_lib="-C ${tensorflow_dir}/bazel-bin/native_client/ libstt.so.if.lib" fi; + if [ -f "${tensorflow_dir}/bazel-bin/native_client/libkenlm.so.if.lib" ]; then + win_lib="$win_lib -C ${tensorflow_dir}/bazel-bin/native_client/ libkenlm.so.if.lib" + fi; + ${TAR} --verbose -cf - \ --transform='flags=r;s|README.coqui|KenLM_License_Info.txt|' \ -C ${tensorflow_dir}/bazel-bin/native_client/ libstt.so \ diff --git a/native_client/definitions.mk b/native_client/definitions.mk index d7710f4d..9280614e 100644 --- a/native_client/definitions.mk +++ b/native_client/definitions.mk @@ -61,7 +61,7 @@ TOOL_CC := cl.exe TOOL_CXX := cl.exe TOOL_LD := link.exe TOOL_LIBEXE := lib.exe -LINK_STT := $(TFDIR)\bazel-bin\native_client\libstt.so.if.lib +LINK_STT := $(shell cygpath "$(TFDIR)/bazel-bin/native_client/libstt.so.if.lib") $(shell cygpath "$(TFDIR)/bazel-bin/native_client/libkenlm.so.if.lib") LINK_PATH_STT := CFLAGS_STT := -nologo -Fe$(STT_BIN) SOX_CFLAGS := @@ -185,7 +185,7 @@ define copy_missing_libs new_missing="$$( (for f in $$(otool -L $$lib 2>/dev/null | tail -n +2 | awk '{ print $$1 }' | grep -v '$$lib'); do ls -hal $$f; done;) 2>&1 | grep 'No such' | cut -d':' -f2 | xargs basename -a)"; \ missing_libs="$$missing_libs $$new_missing"; \ elif [ "$(OS)" = "${CI_MSYS_VERSION}" ]; then \ - missing_libs="libstt.so"; \ + missing_libs="libstt.so libkenlm.so"; \ else \ missing_libs="$$missing_libs $$($(LDD) $$lib | grep 'not found' | awk '{ print $$1 }')"; \ fi; \ diff --git a/native_client/javascript/binding.gyp b/native_client/javascript/binding.gyp index 21124cc8..91d9d19a 100644 --- a/native_client/javascript/binding.gyp +++ b/native_client/javascript/binding.gyp @@ -3,7 +3,7 @@ { "target_name": "stt", "sources": ["stt_wrap.cxx"], - "libraries": ["$(LIBS)"], + "libraries": [], "include_dirs": ["../"], "conditions": [ [ @@ -20,7 +20,22 @@ ], } }, - ] + ], + [ + "OS=='win'", + { + "libraries": [ + "../../../tensorflow/bazel-bin/native_client/libstt.so.if.lib", + "../../../tensorflow/bazel-bin/native_client/libkenlm.so.if.lib", + ], + }, + { + "libraries": [ + "../../../tensorflow/bazel-bin/native_client/libstt.so", + "../../../tensorflow/bazel-bin/native_client/libkenlm.so", + ], + }, + ], ], }, {