Build: add compatibility with OpenFST 1.8.x and modern macOS (Apple Silicon)#65
Open
migueljette wants to merge 1 commit into
Open
Build: add compatibility with OpenFST 1.8.x and modern macOS (Apple Silicon)#65migueljette wants to merge 1 commit into
migueljette wants to merge 1 commit into
Conversation
…ilicon) OpenFST 1.8.x requires C++17 and dropped its own int64/uint32/uint64 typedef aliases in favour of the standard <cstdint> names. This commit updates the build system and source code to support both the new library version and Apple Silicon Macs running Homebrew under /opt/homebrew. Changes: - CMakeLists.txt: bump C++ standard to 17; use CMAKE_SHARED_LIBRARY_SUFFIX so -DDYNAMIC_OPENFST=ON works on macOS (.dylib) as well as Linux (.so); add /opt/homebrew ICU paths for Apple Silicon; embed RPATH so the binary finds libfst at runtime without DYLD_LIBRARY_PATH; guard the Clang-only -Wno-implicit-int-float-conversion suppression on jsoncpp - test/CMakeLists.txt: replace hardcoded WORKING_DIRECTORY build/ with CMAKE_BINARY_DIR so tests work from any build directory name - src/AdaptedComposition.h: uint32 -> uint32_t; remove std::unary_function base (removed in C++17) - src/AdaptedComposition.cpp, src/StandardComposition.cpp: int64 -> int64_t - src/fstalign.cpp: uint64 -> uint64_t - third-party/strtk: mark pointer_ mutable so output iterator can advance inside a const operator() under C++17 - README.md: add macOS / OpenFST 1.8.x build instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
726bf8c to
b1cc9a9
Compare
Author
|
@jprobichaud would it help if I paste the diff in here? Somehow I can't make my fork public ... SummaryThe codebase currently only builds against OpenFST 1.7.x. These changes add support for OpenFST 1.8.x and fix several build issues on modern Macs (Apple Silicon, Homebrew under OpenFST 1.8.x made two breaking changes relevant here:
Changes
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OpenFST 1.8.x requires C++17 and dropped its own int64/uint32/uint64 typedef aliases in favour of the standard names. This commit updates the build system and source code to support both the new library version and Apple Silicon Macs running Homebrew under /opt/homebrew.
Changes: