Conversation
Handle clang-specific pthread handling to prevent linking issues. - Set AX_PTHREAD_LINK_CFLAGS to PTHREAD_CFLAGS initially - Detect clang via CXX --version and clear AX_PTHREAD_LINK_CFLAGS if PTHREAD_CFLAGS is exactly "-pthread" - Substitute AX_PTHREAD_LINK_CFLAGS into LIBS instead of PTHREAD_CFLAGS directly
…349 Updated function prototypes and definitions across json, lattice, property, text, trie libraries and samples to include explicit void parameters for functions taking no arguments. Improved code consistency and adherence to C coding standards.
#349 Updated compiler and Boost version requirements in Windows and Linux sections for compatibility with latest toolchains.
Update MSVC PlatformToolset to v145 across all vcxproj files for all configurations (Debug/Release, Win32/x64). Update solution files to .slnx format and add project GUIDs for better IDE integration.
Update Doxygen configuration from 1.13.2 to 1.16.1 with new options and defaults including MARKDOWN_STRICT, GENERATE_REQUIREMENTS, REQ_TRACEABILITY_INFO, PAGE_OUTLINE_PANEL, UML_MAX_EDGE_LABELS, and increased thread limits for better documentation generation and HTML layout.
Updated spacing in multiple test files for consistency: - library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp - library/trie/test/src/test_tetengo.trie.memory_storage.cpp - library/trie/test/src/test_tetengo.trie.mmap_storage.cpp - library/trie/test/src/test_tetengo.trie.shared_storage.cpp - library/trie/test/src/test_tetengo.trie.trie.cpp - library/trie/test/src/test_tetengo.trie.value_serializer.cpp Also updated kogyan submodule and fixed minor indentation/formatting in Python installer scripts. For consistency with project coding standards.
Modernize the kogyan submodule as part of dependency updates (#349)
Remove unnecessary #include directives throughout the codebase. Add IWYU pragma: keep comments to explicitly retained includes. Reorder includes for consistency. JSON: remove <vector> from channel.cpp; add file_location.hpp to json_parser.cpp Lattice: remove <algorithm> from C++ files and tests; reorder headers Property: remove <filesystem> from memory_storage.hpp; add includes where needed Text: remove <map>, <sstream>, <vector>, <memory> from tests; add IWYU pragmas Trie: remove <any> from storage headers; add missing includes
Moved <filesystem> include after C headers in storage_proxy test and reordered Boost headers in trie files. Update kogyan submodule and minor include adjustments in trie iterator. Modernize dependencies per #349.
Updated Visual Studio to 2026, WiX to 7.0.0, Python to 3.12, and Doxygen to 1.16.1 for Windows. Updated Doxygen to 1.16.1 and Python to 3.12 for Linux. Simplified include-what-you-use and Clang Format entries to latest versions. Updated copyright year range to 2019-2026.
Upgrade to modern toolchains and libraries for improved compatibility and performance. Linux-Clang: - Ubuntu 22.04 → 24.04 - Clang 14 → 18 - Doxygen 1.13.2 → 1.16.1 - Boost 1.88.0 → 1.91.0 Linux-GCC: - Ubuntu 22.04 → 24.04 - GCC 12 → 14 - Boost 1.88.0 → 1.91.0 Windows-VisualCpp: - windows-2022 → windows-2025-vs2026 - Boost 1.88.0 → 1.91.0 (msvc-14.3 → msvc-14.5) - WiX 6.0.0 → 7.0.0
There was a problem hiding this comment.
Pull request overview
This PR updates the project/tooling baseline (VS/Boost/Doxygen/compilers), modernizes some C APIs to use explicit (void) for no-arg functions, and applies include cleanups/adjustments (incl. IWYU-oriented changes). It also replaces legacy Visual Studio .sln solution files with new .slnx equivalents.
Changes:
- Replace
tetengo.sln/tetengo.setup.slnwith.slnxsolution files and bump MSVC toolset in multiple.vcxprojfiles. - Update CI/workflows and documentation requirements for newer Boost/Doxygen/compiler versions.
- Apply source/header updates: add/remove includes, add IWYU pragmas, and modernize C function prototypes to
(void).
Reviewed changes
Copilot reviewed 108 out of 116 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Docstring formatting tweak. |
| tool/make_character_property_map.py | Docstring formatting tweak. |
| tetengo.slnx | New XML-based solution definition. |
| tetengo.sln | Removed legacy VS solution file. |
| tetengo.setup.slnx | New XML-based setup solution definition. |
| tetengo.setup.sln | Removed legacy setup solution file. |
| setup/installer/installer.vcxproj | Bump MSVC toolset version. |
| setup/installer/generate_content_wxs_source.py | Docstring formatting tweak. |
| setup/installer/generate_content_wxs.py | Docstring formatting tweak. |
| setup/installer/copy_libimage_files.py | Docstring formatting tweak. |
| sample/transfer_trains/transfer_trains.vcxproj | Bump MSVC toolset version. |
| sample/transfer_trains/src/timetable.cpp | Include adjustments. |
| sample/transfer_trains/src/main.cpp | Include adjustments. |
| sample/search_dict_c/src/main.c | Use (void) in no-arg function. |
| sample/search_dict_c/search_dict_c.vcxproj | Bump MSVC toolset version. |
| sample/search_dict/search_dict.vcxproj | Bump MSVC toolset version. |
| sample/make_dict/make_dict.vcxproj | Bump MSVC toolset version. |
| sample/json2timetable/src/printStationTimetable.c | Use (void) in no-arg function. |
| sample/json2timetable/src/encode.c | Use (void) in no-arg function. |
| sample/json2timetable/json2timetable.vcxproj | Bump MSVC toolset version. |
| library/trie/test/test_tetengo.trie.vcxproj | Bump MSVC toolset version. |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Include adjustments. |
| library/trie/test/src/usage_tetengo.trie.search_c.h | Use (void) in no-arg function declaration. |
| library/trie/test/src/usage_tetengo.trie.search_c.c | Use (void) in no-arg function definition. |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Formatting/line wrapping changes. |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Formatting + minor identifier spacing fix. |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Spacing fix in local static identifier. |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Include adjustments + spacing fixes. |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Spacing fix in local static identifier. |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Bump MSVC toolset version. |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Include adjustments. |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Include cleanup. |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Add IWYU keep include. |
| library/trie/cpp/include/tetengo/trie/trie.hpp | IWYU keep + serializer template signature change. |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | Include/forward-decl cleanup. |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | Include cleanup. |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | Include/forward-decl cleanup. |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Forward-declare iterator instead of including header. |
| library/trie/c/tetengo.trie.vcxproj | Bump MSVC toolset version. |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Include adjustments. |
| library/trie/c/src/tetengo_trie_trie.hpp | Add IWYU keep include. |
| library/trie/c/src/tetengo_trie_trie.cpp | Include adjustments. |
| library/trie/c/include/tetengo/trie/storage.h | Use (void) in no-arg function declaration. |
| library/text/test/test_tetengo.text.vcxproj | Bump MSVC toolset version. |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Include cleanup. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | Use (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | Use (void) in no-arg functions. |
| library/text/test/src/usage_tetengo.text.encoding_c.h | Use (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.encoding_c.c | Use (void) in no-arg function definition. |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Include cleanup. |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Include cleanup. |
| library/text/test/src/test_tetengo.text.encoder.cpp | Include cleanup. |
| library/text/cpp/tetengo.text.cpp.vcxproj | Bump MSVC toolset version. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Include cleanup. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Include cleanup. |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Add missing standard include. |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Add missing standard include. |
| library/text/c/tetengo.text.vcxproj | Bump MSVC toolset version. |
| library/text/c/src/tetengo_text_encoder.cpp | Include cleanup. |
| library/text/c/include/tetengo/text/graphemeSplitter.h | Use (void) in no-arg function declaration. |
| library/property/test/test_tetengo.property.vcxproj | Bump MSVC toolset version. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | Use (void) in no-arg function declaration. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | Use (void) in no-arg functions. |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Add missing standard include. |
| library/property/cpp/tetengo.property.cpp.vcxproj | Bump MSVC toolset version. |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Include cleanup. |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Add missing standard include. |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | Include cleanup. |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | Include cleanup. |
| library/property/c/tetengo.property.vcxproj | Bump MSVC toolset version. |
| library/property/c/src/tetengo_property_storage.cpp | Add missing standard include. |
| library/property/c/src/tetengo_property_propertySet.cpp | Add missing standard include. |
| library/property/c/include/tetengo/property/storage.h | Use (void) in no-arg function declarations. |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Bump MSVC toolset version. |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Include cleanup. |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Bump MSVC toolset version. |
| library/lattice/test/test_tetengo.lattice.vcxproj | Bump MSVC toolset version. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Add missing standard include. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | Use (void) in no-arg function declaration. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | Use (void) in no-arg functions + include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Formatting/include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | Include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | Include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | Include cleanup. |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Bump MSVC toolset version. |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | Add IWYU keep include. |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Include cleanup. |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | Add IWYU keep include. |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | Forward-decl cleanup. |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Replace include with forward decls. |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Replace include with forward decls. |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | Add IWYU keep include. |
| library/lattice/c/tetengo.lattice.vcxproj | Bump MSVC toolset version. |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Include cleanup. |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | Include cleanup. |
| library/lattice/c/include/tetengo/lattice/path.h | Use (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/entry.h | Use (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/constraint.h | Use (void) in no-arg function declaration. |
| library/json/test/test_tetengo.json.vcxproj | Bump MSVC toolset version. |
| library/json/test/src/usage_tetengo.json.parsing_c.h | Use (void) in no-arg function declaration. |
| library/json/test/src/usage_tetengo.json.parsing_c.c | Use (void) in no-arg function definition. |
| library/json/cpp/tetengo.json.cpp.vcxproj | Bump MSVC toolset version. |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Add missing project include. |
| library/json/cpp/src/tetengo.json.channel.cpp | Include cleanup. |
| library/json/c/tetengo.json.vcxproj | Bump MSVC toolset version. |
| library/json/c/include/tetengo/json/reader.h | Use (void) in no-arg function declaration. |
| library/json/c/include/tetengo/json/element.h | Use (void) in no-arg function declarations. |
| executable/setup/setup.vcxproj | Bump MSVC toolset version. |
| configure.ac | Adjust pthread flag/link handling. |
| README.md | Update documented toolchain requirements. |
| Doxyfile | Update Doxygen configuration to 1.16.1. |
| .github/workflows/windows-visualcpp.yml | Update Windows CI toolchain versions/runner. |
| .github/workflows/linux-gcc.yml | Update GCC/Boost versions and Ubuntu image. |
| .github/workflows/linux-clang.yml | Update Clang/Doxygen/Boost versions and Ubuntu image. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…kflow #349 Update msbuild commands in GitHub Actions workflow, Makefile.am EXTRA_DIST, README.md instructions, and nmake Makefile to reference tetengo.slnx and tetengo.setup.slnx instead of .sln files. Add wix7 EULA acceptance flags to WiX commands for WiX 7.0.0 compatibility.
Updated all actions/cache@v4 to actions/cache@v5 across Linux Clang, Linux GCC, and Windows Visual C++ workflows. Improved cache reliability and performance with latest cache action version.
Add IWYU pragma comments to retained Boost headers across trie library and sample code. Maintains include-what-you-use compliance while preserving necessary Boost headers for modern dependency support.
Added IWYU pragma: keep comments to explicitly retained headers across multiple files including json, lattice, property, text, and trie libraries. Updated include paths for consistency. Added missing IWYU pragma keep includes for forward declarations in lattice and trie headers.
Modernize dependencies per #349. Include <algorithm> with IWYU pragma: keep in lattice test files and trie header to support std::accumulate, std::next, std::make_move_iterator, and other algorithms. Add IWYU pragma to existing default_serializer forward declaration.
Update checkout from v4 to v6, upload-artifact from v4 to v7, and setup-msbuild from v2 to v3 across Linux Clang, Linux GCC, and Windows Visual C++ workflows. Supports modernization of CI dependencies for improved reliability and security.
Use environment variable ${{ env.WIX_VER }} instead of hardcoded version in WiX installation steps for both Win32 and x64 archive jobs.
Add WIX_OSMF_EULA_AGREEMENT: 1 environment variable to automatically accept the EULA during WiX installation.
Improves consistency and maintainability by centralizing WiX version management.
Replaces deprecated WIX_OSMF_EULA_AGREEMENT environment variable with explicit wix eula accept wix7 command in archive jobs for Win32 and x64. Supports WiX 7.0.0 modernization (#349).
There was a problem hiding this comment.
Pull request overview
This PR modernizes the project’s build/tooling stack across Windows and Linux by updating toolchain requirements, CI workflows, Visual Studio solution format, and a broad set of include/cleanup changes intended to align with IWYU and newer compilers.
Changes:
- Replace legacy Visual Studio
.slnsolution files with new.slnxequivalents and update docs/build scripts accordingly. - Update CI workflows and build assets for newer Boost / compiler / WiX / Doxygen versions, plus toolchain settings in many
.vcxprojfiles. - Apply widespread “modernization” refactors: IWYU-related include adjustments, C “no-args” function signatures changed to
(void), and minor formatting cleanups in tests/sources.
Reviewed changes
Copilot reviewed 120 out of 128 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Docstring header formatting tweak |
| tool/make_character_property_map.py | Docstring header formatting tweak |
| tetengo.slnx | New VS solution definition (slnx) |
| tetengo.sln | Remove legacy VS solution (sln) |
| tetengo.setup.slnx | New setup solution (slnx) |
| tetengo.setup.sln | Remove legacy setup solution (sln) |
| setup/installer/installer.vcxproj | Update MSVC platform toolset |
| setup/installer/generate_content_wxs_source.py | Docstring header formatting tweak |
| setup/installer/generate_content_wxs.py | Docstring header formatting tweak |
| setup/installer/copy_libimage_files.py | Docstring header formatting tweak |
| setup/installer/Makefile.nmake | Update WiX CLI invocation flags |
| sample/transfer_trains/transfer_trains.vcxproj | Update MSVC platform toolset |
| sample/transfer_trains/src/timetable.cpp | Include/IWYU-related include changes |
| sample/transfer_trains/src/main.cpp | Include/IWYU-related include changes |
| sample/search_dict_c/src/main.c | C function signature (void) cleanup |
| sample/search_dict_c/search_dict_c.vcxproj | Update MSVC platform toolset |
| sample/search_dict/search_dict.vcxproj | Update MSVC platform toolset |
| sample/make_dict/make_dict.vcxproj | Update MSVC platform toolset |
| sample/json2timetable/src/printStationTimetable.c | C function signature (void) cleanup |
| sample/json2timetable/src/encode.c | C function signature (void) cleanup |
| sample/json2timetable/json2timetable.vcxproj | Update MSVC platform toolset |
| library/trie/test/test_tetengo.trie.vcxproj | Update MSVC platform toolset |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Include/IWYU-related include changes |
| library/trie/test/src/usage_tetengo.trie.search_c.h | C header prototype (void) cleanup |
| library/trie/test/src/usage_tetengo.trie.search_c.c | C function signature (void) cleanup |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Formatting/brace simplification in tests |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Minor formatting fixes / spacing |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Minor formatting fixes / spacing |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Include cleanup + spacing tweaks |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Minor formatting fixes / spacing |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Update MSVC platform toolset |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Include/IWYU-related include changes |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Remove unused include |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Add IWYU keep include |
| library/trie/cpp/include/tetengo/trie/trie.hpp | Default serializer template param modernization |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | IWYU keep markers / fwd decl tweaks |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | IWYU keep markers |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | IWYU keep markers / fwd decl tweaks |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Replace include with forward declaration |
| library/trie/c/tetengo.trie.vcxproj | Update MSVC platform toolset |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Include/IWYU-related include changes |
| library/trie/c/src/tetengo_trie_trie.hpp | Add IWYU keep include |
| library/trie/c/src/tetengo_trie_trie.cpp | Include/IWYU-related include changes |
| library/trie/c/include/tetengo/trie/storage.h | C API signature (void) cleanup |
| library/text/test/test_tetengo.text.vcxproj | Update MSVC platform toolset |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Remove unused include |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | C header prototype (void) cleanup |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | C function signature (void) cleanup |
| library/text/test/src/usage_tetengo.text.encoding_c.h | C header prototype (void) cleanup |
| library/text/test/src/usage_tetengo.text.encoding_c.c | C function signature (void) cleanup |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Remove unused include |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Remove unused includes |
| library/text/test/src/test_tetengo.text.encoder.cpp | Remove unused includes |
| library/text/cpp/tetengo.text.cpp.vcxproj | Update MSVC platform toolset |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Include cleanup |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Include cleanup |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Add missing standard include |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Add IWYU keep include |
| library/text/c/tetengo.text.vcxproj | Update MSVC platform toolset |
| library/text/c/src/tetengo_text_encoder.cpp | IWYU keep include adjustment |
| library/text/c/include/tetengo/text/graphemeSplitter.h | C API signature (void) cleanup |
| library/property/test/test_tetengo.property.vcxproj | Update MSVC platform toolset |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | C header prototype (void) cleanup |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | C function signature (void) cleanup |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Add missing standard include |
| library/property/test/src/test_tetengo.property.storage.cpp | IWYU keep include adjustment |
| library/property/test/src/test_tetengo.property.property_set.cpp | IWYU keep include adjustment |
| library/property/test/src/test_tetengo.property.memory_storage.cpp | IWYU keep include adjustment |
| library/property/cpp/tetengo.property.cpp.vcxproj | Update MSVC platform toolset |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Include cleanup + IWYU keep include |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Add IWYU keep include |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | IWYU keep include adjustment |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | IWYU keep include adjustment |
| library/property/c/tetengo.property.vcxproj | Update MSVC platform toolset |
| library/property/c/src/tetengo_property_storage.cpp | Add missing standard include |
| library/property/c/src/tetengo_property_propertySet.cpp | Add missing standard include |
| library/property/c/include/tetengo/property/storage.h | C API signatures (void) cleanup |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Update MSVC platform toolset |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Remove unused includes |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Update MSVC platform toolset |
| library/lattice/test/test_tetengo.lattice.vcxproj | Update MSVC platform toolset |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Add missing standard include |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | C header prototype (void) cleanup |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | C function signature (void) cleanup |
| library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Formatting cleanup / remove unused include |
| library/lattice/test/src/test_tetengo.lattice.path.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | IWYU keep include adjustments |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Remove unused include |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp | IWYU keep include adjustment |
| library/lattice/test/src/test_tetengo.lattice.constraint.cpp | IWYU keep include adjustment |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Update MSVC platform toolset |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | IWYU keep include adjustment |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Include cleanup |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | IWYU keep include adjustment |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | IWYU keep forward decl |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Include removal + forward declares |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Include removal + forward declares |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | IWYU keep include adjustment |
| library/lattice/c/tetengo.lattice.vcxproj | Update MSVC platform toolset |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Include cleanup + IWYU keep include |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | IWYU keep include adjustment |
| library/lattice/c/src/tetengo_lattice_input.cpp | IWYU keep include adjustment |
| library/lattice/c/include/tetengo/lattice/path.h | C API signature (void) cleanup |
| library/lattice/c/include/tetengo/lattice/entry.h | C API signature (void) cleanup |
| library/lattice/c/include/tetengo/lattice/constraint.h | C API signature (void) cleanup |
| library/json/test/test_tetengo.json.vcxproj | Update MSVC platform toolset |
| library/json/test/src/usage_tetengo.json.parsing_c.h | C header prototype (void) cleanup |
| library/json/test/src/usage_tetengo.json.parsing_c.c | C function signature (void) cleanup |
| library/json/cpp/tetengo.json.cpp.vcxproj | Update MSVC platform toolset |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Add IWYU keep include |
| library/json/cpp/src/tetengo.json.channel.cpp | Remove unused include |
| library/json/c/tetengo.json.vcxproj | Update MSVC platform toolset |
| library/json/c/src/tetengo_json_reader.cpp | IWYU keep include adjustment |
| library/json/c/include/tetengo/json/reader.h | C API signature (void) cleanup |
| library/json/c/include/tetengo/json/element.h | C API signatures (void) cleanup |
| executable/setup/setup.vcxproj | Update MSVC platform toolset |
| configure.ac | Adjust pthread flags substitution logic |
| README.md | Update toolchain + slnx instructions |
| Makefile.am | Distribute .slnx instead of .sln |
| Doxyfile | Update Doxygen config (v1.16.1) |
| .github/workflows/windows-visualcpp.yml | Update Windows CI toolchain + slnx |
| .github/workflows/linux-gcc.yml | Update GCC/Ubuntu/Boost in CI |
| .github/workflows/linux-clang.yml | Update Clang/Ubuntu/Boost/Doxygen CI |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Move #include "tetengo/json/file_location.hpp" after other tetengo/json includes in json_parser.cpp for correct IWYU ordering. Reorder #include <any> after <algorithm> in n_best_iterator test and other files. Remove unused boost headers from trie and sample files. Update kogyan submodule to new commit.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the build/tooling stack and source formatting as part of a broad “modernization” effort, including migrating Visual Studio solution metadata, bumping build dependencies, and applying IWYU and C API signature cleanups.
Changes:
- Replace legacy
.slnsolution files with new XML-based.slnxfiles and update build scripts/docs accordingly. - Update Windows/MSVC toolset settings and CI workflows (Boost, compilers, action versions, runners, WiX).
- Apply IWYU-related include adjustments and standardize C function prototypes to
(void).
Reviewed changes
Copilot reviewed 118 out of 126 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Adjust docstring copyright line formatting. |
| tool/make_character_property_map.py | Adjust docstring copyright line formatting. |
| tetengo.slnx | Add new XML-based Visual Studio solution definition. |
| tetengo.sln | Remove legacy Visual Studio solution file. |
| tetengo.setup.slnx | Add new XML-based setup solution definition. |
| tetengo.setup.sln | Remove legacy setup solution file. |
| setup/installer/installer.vcxproj | Bump MSVC platform toolset version. |
| setup/installer/generate_content_wxs_source.py | Adjust docstring copyright line formatting. |
| setup/installer/generate_content_wxs.py | Adjust docstring copyright line formatting. |
| setup/installer/copy_libimage_files.py | Adjust docstring copyright line formatting. |
| setup/installer/Makefile.nmake | Update WiX CLI invocation flags/commands. |
| sample/transfer_trains/transfer_trains.vcxproj | Bump MSVC platform toolset version. |
| sample/transfer_trains/src/timetable.cpp | Add IWYU-kept include. |
| sample/search_dict_c/src/main.c | Use (void) in no-arg function prototype/definition. |
| sample/search_dict_c/search_dict_c.vcxproj | Bump MSVC platform toolset version. |
| sample/search_dict/search_dict.vcxproj | Bump MSVC platform toolset version. |
| sample/make_dict/make_dict.vcxproj | Bump MSVC platform toolset version. |
| sample/json2timetable/src/printStationTimetable.c | Use (void) in no-arg function prototype/definition. |
| sample/json2timetable/src/encode.c | Use (void) in no-arg function prototype/definition. |
| sample/json2timetable/json2timetable.vcxproj | Bump MSVC platform toolset version. |
| library/trie/test/test_tetengo.trie.vcxproj | Bump MSVC platform toolset version. |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Add IWYU-kept include. |
| library/trie/test/src/usage_tetengo.trie.search_c.h | Use (void) in no-arg function declaration. |
| library/trie/test/src/usage_tetengo.trie.search_c.c | Use (void) in no-arg function definition. |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Compress trivial lambda formatting. |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Minor formatting cleanup and fix missing space in identifier. |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Fix missing space in identifier. |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Adjust includes and fix missing space in identifier. |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Fix missing space in identifier. |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Remove unused include. |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Remove unused include. |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Add IWYU-kept include. |
| library/trie/cpp/include/tetengo/trie/trie.hpp | Adjust serializer template usage and add IWYU hints/forward decls. |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | Add IWYU keep markers and forward decl marker. |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | Add IWYU keep marker. |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | Add IWYU keep markers and forward decl marker. |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Replace include with forward declaration. |
| library/trie/c/tetengo.trie.vcxproj | Bump MSVC platform toolset version. |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Add missing standard include. |
| library/trie/c/src/tetengo_trie_trie.hpp | Add IWYU-kept include. |
| library/trie/c/include/tetengo/trie/storage.h | Use (void) in no-arg function declaration. |
| library/text/test/test_tetengo.text.vcxproj | Bump MSVC platform toolset version. |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Remove unused include. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | Use (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | Use (void) in no-arg function declarations/definitions. |
| library/text/test/src/usage_tetengo.text.encoding_c.h | Use (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.encoding_c.c | Use (void) in no-arg function definition. |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Remove unused include. |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Remove unused includes. |
| library/text/test/src/test_tetengo.text.encoder.cpp | Remove unused includes. |
| library/text/cpp/tetengo.text.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Remove unused include. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Remove unused include. |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Add missing standard include. |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Add IWYU-kept include. |
| library/text/c/tetengo.text.vcxproj | Bump MSVC platform toolset version. |
| library/text/c/src/tetengo_text_encoder.cpp | Adjust includes and add IWYU keep marker. |
| library/text/c/include/tetengo/text/graphemeSplitter.h | Use (void) in no-arg function declaration. |
| library/property/test/test_tetengo.property.vcxproj | Bump MSVC platform toolset version. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | Use (void) in no-arg function declaration. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | Use (void) in no-arg function declarations/definitions. |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Add missing standard include. |
| library/property/test/src/test_tetengo.property.storage.cpp | Add IWYU keep marker. |
| library/property/test/src/test_tetengo.property.property_set.cpp | Add IWYU keep marker. |
| library/property/test/src/test_tetengo.property.memory_storage.cpp | Add IWYU keep marker. |
| library/property/cpp/tetengo.property.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Adjust includes and add IWYU keep marker. |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Add IWYU-kept include. |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | Add IWYU keep marker. |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | Add IWYU keep marker. |
| library/property/c/tetengo.property.vcxproj | Bump MSVC platform toolset version. |
| library/property/c/src/tetengo_property_storage.cpp | Add missing standard include. |
| library/property/c/src/tetengo_property_propertySet.cpp | Add missing standard include. |
| library/property/c/include/tetengo/property/storage.h | Use (void) in no-arg function declarations. |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Bump MSVC platform toolset version. |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Remove unused includes. |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/lattice/test/test_tetengo.lattice.vcxproj | Bump MSVC platform toolset version. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Add missing standard include. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | Use (void) in no-arg function declaration. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | Remove unused include and use (void) in no-arg decls/defs. |
| library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Remove unused include and minor formatting. |
| library/lattice/test/src/test_tetengo.lattice.path.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | Add IWYU keep markers. |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Remove unused include. |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp | Add IWYU keep marker. |
| library/lattice/test/src/test_tetengo.lattice.constraint.cpp | Add IWYU keep marker. |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | Add IWYU keep marker. |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Remove unused include. |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | Add IWYU keep marker. |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | Add IWYU keep marker for forward declaration. |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Replace include with forward declaration(s). |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Replace include with forward declarations and IWYU hints. |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | Add IWYU keep marker. |
| library/lattice/c/tetengo.lattice.vcxproj | Bump MSVC platform toolset version. |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Add IWYU keep marker and remove unused include. |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | Add IWYU keep marker. |
| library/lattice/c/src/tetengo_lattice_input.cpp | Add IWYU keep marker. |
| library/lattice/c/include/tetengo/lattice/path.h | Use (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/entry.h | Use (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/constraint.h | Use (void) in no-arg function declaration. |
| library/json/test/test_tetengo.json.vcxproj | Bump MSVC platform toolset version. |
| library/json/test/src/usage_tetengo.json.parsing_c.h | Use (void) in no-arg function declaration. |
| library/json/test/src/usage_tetengo.json.parsing_c.c | Use (void) in no-arg function definition. |
| library/json/cpp/tetengo.json.cpp.vcxproj | Bump MSVC platform toolset version. |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Add IWYU-kept include. |
| library/json/cpp/src/tetengo.json.channel.cpp | Remove unused include. |
| library/json/c/tetengo.json.vcxproj | Bump MSVC platform toolset version. |
| library/json/c/src/tetengo_json_reader.cpp | Add IWYU keep marker. |
| library/json/c/include/tetengo/json/reader.h | Use (void) in no-arg function declaration. |
| library/json/c/include/tetengo/json/element.h | Use (void) in no-arg function declarations. |
| kogyan | Update submodule pointer. |
| executable/setup/setup.vcxproj | Bump MSVC platform toolset version. |
| configure.ac | Adjust pthread flag handling logic. |
| README.md | Update documented tool versions and switch .sln references to .slnx. |
| Makefile.am | Distribute .slnx files instead of .sln. |
| Doxyfile | Update Doxygen version/config; enable Markdown strict and new tags. |
| .github/workflows/windows-visualcpp.yml | Update Windows CI runner, tool versions, WiX install steps, and action versions. |
| .github/workflows/linux-gcc.yml | Update GCC/Ubuntu/Boost versions and action versions. |
| .github/workflows/linux-clang.yml | Update Clang/Ubuntu/Boost/Doxygen versions and action versions. |
Comments suppressed due to low confidence (7)
setup/installer/installer.vcxproj:1
v145is not a known MSVCPlatformToolsetvalue (the commonly supported values arev143for VS 2022, etc.). Ifv145is intended to target a newer Visual Studio toolset, this will fail to load/build in environments that don’t have that toolset installed. Consider either (1) keepingv143, (2) moving toolset selection to a shared property sheet, or (3) using$(DefaultPlatformToolset)so the project builds with the installed Visual Studio version.
setup/installer/installer.vcxproj:1v145is not a known MSVCPlatformToolsetvalue (the commonly supported values arev143for VS 2022, etc.). Ifv145is intended to target a newer Visual Studio toolset, this will fail to load/build in environments that don’t have that toolset installed. Consider either (1) keepingv143, (2) moving toolset selection to a shared property sheet, or (3) using$(DefaultPlatformToolset)so the project builds with the installed Visual Studio version.
setup/installer/installer.vcxproj:1v145is not a known MSVCPlatformToolsetvalue (the commonly supported values arev143for VS 2022, etc.). Ifv145is intended to target a newer Visual Studio toolset, this will fail to load/build in environments that don’t have that toolset installed. Consider either (1) keepingv143, (2) moving toolset selection to a shared property sheet, or (3) using$(DefaultPlatformToolset)so the project builds with the installed Visual Studio version.
setup/installer/installer.vcxproj:1v145is not a known MSVCPlatformToolsetvalue (the commonly supported values arev143for VS 2022, etc.). Ifv145is intended to target a newer Visual Studio toolset, this will fail to load/build in environments that don’t have that toolset installed. Consider either (1) keepingv143, (2) moving toolset selection to a shared property sheet, or (3) using$(DefaultPlatformToolset)so the project builds with the installed Visual Studio version.
setup/installer/Makefile.nmake:1- The updated WiX invocation appears to insert
-acceptEula wix7in the middle of the subcommand chain (e.g.,msi -acceptEula wix7 transform ...). This looks like an invalid CLI shape for WiX (thewix7token in particular is suspicious) and is likely to break the installer build. Suggestion: align the Makefile command form with the actual installed WiX CLI (e.g., keep subcommand structurewix build .../wix msi transform ...and handle EULA acceptance either as a standalone prereq step or via the correct global flag placement).
setup/installer/Makefile.nmake:1 - The updated WiX invocation appears to insert
-acceptEula wix7in the middle of the subcommand chain (e.g.,msi -acceptEula wix7 transform ...). This looks like an invalid CLI shape for WiX (thewix7token in particular is suspicious) and is likely to break the installer build. Suggestion: align the Makefile command form with the actual installed WiX CLI (e.g., keep subcommand structurewix build .../wix msi transform ...and handle EULA acceptance either as a standalone prereq step or via the correct global flag placement).
setup/installer/Makefile.nmake:1 - The updated WiX invocation appears to insert
-acceptEula wix7in the middle of the subcommand chain (e.g.,msi -acceptEula wix7 transform ...). This looks like an invalid CLI shape for WiX (thewix7token in particular is suspicious) and is likely to break the installer build. Suggestion: align the Makefile command form with the actual installed WiX CLI (e.g., keep subcommand structurewix build .../wix msi transform ...and handle EULA acceptance either as a standalone prereq step or via the correct global flag placement).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Include pthread compiler flags in CXXFLAGS and CFLAGS for consistent compilation with threading support. Adjust linker configuration by setting LDFLAGS with pthread link flags first and LIBS with pthread libraries afterward, avoiding duplication and handling Clang-specific cases properly.
There was a problem hiding this comment.
Pull request overview
This PR modernizes the project’s build/tooling setup across Windows and Linux, updates Visual Studio solution format, and applies a large batch of IWYU- and C-API-signature cleanups.
Changes:
- Replace legacy Visual Studio
.slnsolution files with the XML-based.slnxequivalents and update docs/CI accordingly. - Update toolchain versions (MSVC toolset, Boost, Doxygen, GCC/Clang, WiX) and adjust the CI workflows and installer build scripts.
- Apply include hygiene tweaks (IWYU pragmas, add/remove standard headers) and modernize C declarations by using
(void)for no-arg functions.
Reviewed changes
Copilot reviewed 118 out of 126 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Docstring copyright formatting tweak. |
| tool/make_character_property_map.py | Docstring copyright formatting tweak. |
| tetengo.slnx | New VS solution in .slnx format listing projects/folders. |
| tetengo.sln | Removes legacy .sln solution file. |
| tetengo.setup.slnx | New setup solution in .slnx format. |
| tetengo.setup.sln | Removes legacy setup .sln solution file. |
| setup/installer/installer.vcxproj | Bumps MSVC toolset to v145. |
| setup/installer/generate_content_wxs_source.py | Docstring copyright formatting tweak. |
| setup/installer/generate_content_wxs.py | Docstring copyright formatting tweak. |
| setup/installer/copy_libimage_files.py | Docstring copyright formatting tweak. |
| setup/installer/Makefile.nmake | Updates WiX CLI invocation for WiX 7 + EULA handling. |
| sample/transfer_trains/transfer_trains.vcxproj | Bumps MSVC toolset to v145. |
| sample/transfer_trains/src/timetable.cpp | Adds <functional> include (IWYU keep). |
| sample/search_dict_c/src/main.c | Uses (void) in no-arg function signature. |
| sample/search_dict_c/search_dict_c.vcxproj | Bumps MSVC toolset to v145. |
| sample/search_dict/search_dict.vcxproj | Bumps MSVC toolset to v145. |
| sample/make_dict/make_dict.vcxproj | Bumps MSVC toolset to v145. |
| sample/json2timetable/src/printStationTimetable.c | Uses (void) in no-arg function signature. |
| sample/json2timetable/src/encode.c | Uses (void) in no-arg function signature. |
| sample/json2timetable/json2timetable.vcxproj | Bumps MSVC toolset to v145. |
| library/trie/test/test_tetengo.trie.vcxproj | Bumps MSVC toolset to v145. |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Adds <utility> include (IWYU keep). |
| library/trie/test/src/usage_tetengo.trie.search_c.h | Uses (void) in no-arg function declaration. |
| library/trie/test/src/usage_tetengo.trie.search_c.c | Uses (void) in no-arg function definition. |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Lambda formatting cleanup. |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Minor formatting/whitespace fixes in tests. |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Spacing fix in local static deserializer name. |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Include adjustments (<sstream> added). |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Spacing fixes in local static deserializer names. |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Removes unused include (<type_traits>). |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Removes unused <memory> include. |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Adds <iterator> include (IWYU keep). |
| library/trie/cpp/include/tetengo/trie/trie.hpp | Adjusts default_serializer usage + IWYU keep; template default now uses 2 params. |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | Adds IWYU keep for <any> and forward decl keep. |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | Adds IWYU keep for <any>. |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | Adds IWYU keep for <any> and forward decl keep. |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Replaces include with forward declaration for iterator. |
| library/trie/c/tetengo.trie.vcxproj | Bumps MSVC toolset to v145. |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Adds missing <vector> include. |
| library/trie/c/src/tetengo_trie_trie.hpp | Adds default_serializer include (IWYU keep). |
| library/trie/c/include/tetengo/trie/storage.h | Uses (void) in no-arg function declaration. |
| library/text/test/test_tetengo.text.vcxproj | Bumps MSVC toolset to v145. |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Removes unused <memory> include. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | Uses (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | Uses (void) in no-arg function declarations/definitions. |
| library/text/test/src/usage_tetengo.text.encoding_c.h | Uses (void) in no-arg function declaration. |
| library/text/test/src/usage_tetengo.text.encoding_c.c | Uses (void) in no-arg function definition. |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Removes unused <memory> include. |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Removes unused includes. |
| library/text/test/src/test_tetengo.text.encoder.cpp | Removes unused includes. |
| library/text/cpp/tetengo.text.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Removes now-unneeded include. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Removes now-unneeded include. |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Adds missing <vector> include. |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Adds <string> include (IWYU keep). |
| library/text/c/tetengo.text.vcxproj | Bumps MSVC toolset to v145. |
| library/text/c/src/tetengo_text_encoder.cpp | Include cleanup; keep <string> for IWYU. |
| library/text/c/include/tetengo/text/graphemeSplitter.h | Uses (void) in no-arg function declaration. |
| library/property/test/test_tetengo.property.vcxproj | Bumps MSVC toolset to v145. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | Uses (void) in no-arg function declaration. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | Uses (void) in no-arg function declarations/definitions. |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Adds <filesystem> include. |
| library/property/test/src/test_tetengo.property.storage.cpp | Keep <string> include for IWYU. |
| library/property/test/src/test_tetengo.property.property_set.cpp | Keep <string> include for IWYU. |
| library/property/test/src/test_tetengo.property.memory_storage.cpp | Keep <string> include for IWYU. |
| library/property/cpp/tetengo.property.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Include adjustments; adds <variant> IWYU keep. |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Adds <string> include (IWYU keep). |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | Marks <optional> as IWYU keep. |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | Marks <filesystem> as IWYU keep. |
| library/property/c/tetengo.property.vcxproj | Bumps MSVC toolset to v145. |
| library/property/c/src/tetengo_property_storage.cpp | Adds <filesystem> include. |
| library/property/c/src/tetengo_property_propertySet.cpp | Adds <filesystem> include. |
| library/property/c/include/tetengo/property/storage.h | Uses (void) in no-arg factory function declarations. |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Bumps MSVC toolset to v145. |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Removes unused includes. |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/lattice/test/test_tetengo.lattice.vcxproj | Bumps MSVC toolset to v145. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Adds <cstddef> include. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | Uses (void) in no-arg function declaration. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | Uses (void) in no-arg function declarations/definitions; include cleanup. |
| library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp | Keep <string> include for IWYU. |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Formatting tweak; removes unused <memory> include. |
| library/lattice/test/src/test_tetengo.lattice.path.cpp | Keep <string> include for IWYU. |
| library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp | Keep <string> include for IWYU. |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | Marks <algorithm> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | Marks <algorithm>/<string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Removes unused <memory> include. |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | Marks <algorithm> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp | Keep <string> include for IWYU. |
| library/lattice/test/src/test_tetengo.lattice.constraint.cpp | Keep <string> include for IWYU. |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | Marks entry header as IWYU keep. |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Removes unused <type_traits> include. |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | Marks node header as IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | Marks forward decl as IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Switches include to forward declaration for entry_view. |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Forward declarations + IWYU keep annotations. |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | Marks node header as IWYU keep. |
| library/lattice/c/tetengo.lattice.vcxproj | Bumps MSVC toolset to v145. |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Marks <algorithm> as IWYU keep; include cleanup. |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | Marks <algorithm> as IWYU keep. |
| library/lattice/c/src/tetengo_lattice_input.cpp | Keep <string> include for IWYU. |
| library/lattice/c/include/tetengo/lattice/path.h | Uses (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/entry.h | Uses (void) in no-arg function declaration. |
| library/lattice/c/include/tetengo/lattice/constraint.h | Uses (void) in no-arg function declaration. |
| library/json/test/test_tetengo.json.vcxproj | Bumps MSVC toolset to v145. |
| library/json/test/src/usage_tetengo.json.parsing_c.h | Uses (void) in no-arg function declaration. |
| library/json/test/src/usage_tetengo.json.parsing_c.c | Uses (void) in no-arg function definition. |
| library/json/cpp/tetengo.json.cpp.vcxproj | Bumps MSVC toolset to v145. |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Adds file_location include (IWYU keep). |
| library/json/cpp/src/tetengo.json.channel.cpp | Removes unused <vector> include. |
| library/json/c/tetengo.json.vcxproj | Bumps MSVC toolset to v145. |
| library/json/c/src/tetengo_json_reader.cpp | Keep <string> include for IWYU. |
| library/json/c/include/tetengo/json/reader.h | Uses (void) in no-arg function declaration. |
| library/json/c/include/tetengo/json/element.h | Uses (void) in no-arg function declarations across the C API. |
| executable/setup/setup.vcxproj | Bumps MSVC toolset to v145. |
| configure.ac | Adjusts pthread flag handling (incl. clang-specific link workaround) and compilation flags. |
| README.md | Updates toolchain requirements and references .slnx files. |
| Makefile.am | Distributes .slnx files instead of .sln. |
| Doxyfile | Updates configuration for newer Doxygen and new options. |
| .github/workflows/windows-visualcpp.yml | Updates Windows CI to new runners/tools, Boost 1.91, WiX 7, .slnx solutions, and newer actions. |
| .github/workflows/linux-gcc.yml | Updates Linux GCC CI (Ubuntu 24.04, GCC 14, Boost 1.91, newer actions). |
| .github/workflows/linux-clang.yml | Updates Linux Clang CI (Ubuntu 24.04, Clang 18, Doxygen 1.16.1, Boost 1.91, newer actions). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…tion when combined with CXXFLAGS/CFLAGS #349 Include pthread flags only once in CPPFLAGS to prevent duplication when combined with CXXFLAGS/CFLAGS. Removed ${PTHREAD_CFLAGS} from CXXFLAGS and CFLAGS substitutions since now included in CPPFLAGS. Updated pthread link flags handling for clang compatibility.
There was a problem hiding this comment.
Pull request overview
Modernizes the project’s build/tooling stack (VS/Boost/WiX/Doxygen/toolchain), updates CI workflows accordingly, and applies include/prototype cleanups for stricter tooling (e.g., IWYU, C function prototypes).
Changes:
- Replace legacy Visual Studio
.slnfiles with.slnxand update docs/packaging/CI to use them. - Bump Windows/Linux CI toolchains (Boost, compilers, runner images, GitHub Action versions) and adjust WiX usage.
- Apply broad “modernization” cleanup: MSVC toolset bump, IWYU-focused include adjustments, and C “no-args” prototypes to
(void).
Reviewed changes
Copilot reviewed 118 out of 126 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Docstring copyright formatting tweak. |
| tool/make_character_property_map.py | Docstring copyright formatting tweak. |
| tetengo.slnx | New Visual Studio solution in .slnx format. |
| tetengo.sln | Removed legacy .sln. |
| tetengo.setup.slnx | New setup solution in .slnx format. |
| tetengo.setup.sln | Removed legacy setup .sln. |
| setup/installer/installer.vcxproj | Bump MSVC toolset to v145. |
| setup/installer/generate_content_wxs_source.py | Docstring copyright formatting tweak. |
| setup/installer/generate_content_wxs.py | Docstring copyright formatting tweak. |
| setup/installer/copy_libimage_files.py | Docstring copyright formatting tweak. |
| setup/installer/Makefile.nmake | Update WiX CLI invocation for v7 (EULA/command flags). |
| sample/transfer_trains/transfer_trains.vcxproj | Bump MSVC toolset to v145. |
| sample/transfer_trains/src/timetable.cpp | Add <functional> include (IWYU). |
| sample/search_dict_c/src/main.c | Use (void) for no-arg static function prototype. |
| sample/search_dict_c/search_dict_c.vcxproj | Bump MSVC toolset to v145. |
| sample/search_dict/search_dict.vcxproj | Bump MSVC toolset to v145. |
| sample/make_dict/make_dict.vcxproj | Bump MSVC toolset to v145. |
| sample/json2timetable/src/printStationTimetable.c | Use (void) for no-arg static function prototype. |
| sample/json2timetable/src/encode.c | Use (void) for no-arg static function prototype. |
| sample/json2timetable/json2timetable.vcxproj | Bump MSVC toolset to v145. |
| library/trie/test/test_tetengo.trie.vcxproj | Bump MSVC toolset to v145. |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Add <utility> include (IWYU). |
| library/trie/test/src/usage_tetengo.trie.search_c.h | Use (void) for no-arg C API function prototype. |
| library/trie/test/src/usage_tetengo.trie.search_c.c | Use (void) for no-arg C API function definition. |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Lambda formatting/compaction in tests. |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Minor formatting fixes (indent/spacing). |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Fix missing space in local static deserializer variable. |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Include cleanup (<sstream> etc.) and spacing fixes in deserializer locals. |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Fix missing space in local static deserializer variables. |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Remove unused <type_traits> include. |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Remove unused <memory> include. |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Add <iterator> include (IWYU). |
| library/trie/cpp/include/tetengo/trie/trie.hpp | IWYU adjustments + default_serializer template parameterization (default_serializer<Key, void>). |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | IWYU keep markers + forward decl keep markers. |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | IWYU keep marker for <any>. |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | IWYU keep markers + forward decl keep markers. |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Switch from include to forward declaration for iterator type. |
| library/trie/c/tetengo.trie.vcxproj | Bump MSVC toolset to v145. |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Add <vector> include (IWYU). |
| library/trie/c/src/tetengo_trie_trie.hpp | Add default_serializer include (IWYU). |
| library/trie/c/include/tetengo/trie/storage.h | Use (void) for no-arg C API function prototype. |
| library/text/test/test_tetengo.text.vcxproj | Bump MSVC toolset to v145. |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Remove unused <memory> include. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | Use (void) for no-arg C API function prototype. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | Use (void) for no-arg C functions. |
| library/text/test/src/usage_tetengo.text.encoding_c.h | Use (void) for no-arg C API function prototype. |
| library/text/test/src/usage_tetengo.text.encoding_c.c | Use (void) for no-arg C API function definition. |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Remove unused <memory> include. |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Remove unused includes. |
| library/text/test/src/test_tetengo.text.encoder.cpp | Remove unused includes. |
| library/text/cpp/tetengo.text.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Remove unused include. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Remove unused include. |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Add <vector> include. |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Add <string> include (IWYU keep). |
| library/text/c/tetengo.text.vcxproj | Bump MSVC toolset to v145. |
| library/text/c/src/tetengo_text_encoder.cpp | Include cleanup (keep <string>, drop unused <string_view>). |
| library/text/c/include/tetengo/text/graphemeSplitter.h | Use (void) for no-arg C API function prototype. |
| library/property/test/test_tetengo.property.vcxproj | Bump MSVC toolset to v145. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | Use (void) for no-arg C API function prototype. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | Use (void) for no-arg C functions. |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Add <filesystem> include. |
| library/property/test/src/test_tetengo.property.storage.cpp | Mark <string> as IWYU keep. |
| library/property/test/src/test_tetengo.property.property_set.cpp | Mark <string> as IWYU keep. |
| library/property/test/src/test_tetengo.property.memory_storage.cpp | Mark <string> as IWYU keep. |
| library/property/cpp/tetengo.property.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Remove unused <type_traits>, add <variant> (IWYU keep). |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Add <string> include (IWYU keep). |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | Mark <optional> as IWYU keep. |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | Mark <filesystem> as IWYU keep. |
| library/property/c/tetengo.property.vcxproj | Bump MSVC toolset to v145. |
| library/property/c/src/tetengo_property_storage.cpp | Add <filesystem> include. |
| library/property/c/src/tetengo_property_propertySet.cpp | Add <filesystem> include. |
| library/property/c/include/tetengo/property/storage.h | Use (void) for no-arg C API function prototypes. |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Bump MSVC toolset to v145. |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Remove unused includes. |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/lattice/test/test_tetengo.lattice.vcxproj | Bump MSVC toolset to v145. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Add <cstddef> include. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | Use (void) for no-arg C API function prototype. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | Remove unused include + use (void) for no-arg C functions. |
| library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp | Mark <string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Remove unused include + minor formatting fix. |
| library/lattice/test/src/test_tetengo.lattice.path.cpp | Mark <string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp | Mark <string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | Mark <algorithm> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | Mark <algorithm>/<string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Remove unused include. |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | Mark <algorithm> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp | Mark <string> as IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.constraint.cpp | Mark <string> as IWYU keep. |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | Mark <tetengo/lattice/entry.hpp> as IWYU keep. |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Remove unused <type_traits>. |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | Mark <tetengo/lattice/node.hpp> as IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | Mark forward declaration as IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Replace include with forward declaration(s). |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Replace include with forward declaration(s) + IWYU keeps. |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | Mark <tetengo/lattice/node.hpp> as IWYU keep. |
| library/lattice/c/tetengo.lattice.vcxproj | Bump MSVC toolset to v145. |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Mark <algorithm> as IWYU keep + remove unused include. |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | Mark <algorithm> as IWYU keep. |
| library/lattice/c/src/tetengo_lattice_input.cpp | Mark <string> as IWYU keep. |
| library/lattice/c/include/tetengo/lattice/path.h | Use (void) for no-arg C API function prototype. |
| library/lattice/c/include/tetengo/lattice/entry.h | Use (void) for no-arg C API function prototype. |
| library/lattice/c/include/tetengo/lattice/constraint.h | Use (void) for no-arg C API function prototype. |
| library/json/test/test_tetengo.json.vcxproj | Bump MSVC toolset to v145. |
| library/json/test/src/usage_tetengo.json.parsing_c.h | Use (void) for no-arg C API function prototype. |
| library/json/test/src/usage_tetengo.json.parsing_c.c | Use (void) for no-arg C API function definition. |
| library/json/cpp/tetengo.json.cpp.vcxproj | Bump MSVC toolset to v145. |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Add file_location include (IWYU keep). |
| library/json/cpp/src/tetengo.json.channel.cpp | Remove unused <vector> include. |
| library/json/c/tetengo.json.vcxproj | Bump MSVC toolset to v145. |
| library/json/c/src/tetengo_json_reader.cpp | Mark <string> as IWYU keep. |
| library/json/c/include/tetengo/json/reader.h | Use (void) for no-arg C API function prototype. |
| library/json/c/include/tetengo/json/element.h | Use (void) for many no-arg C API function prototypes. |
| executable/setup/setup.vcxproj | Bump MSVC toolset to v145. |
| configure.ac | Adjust pthread flag handling; add clang-specific link-flag tweak; move pthread flags into CPPFLAGS. |
| README.md | Update requirements (VS/Boost/Doxygen/WiX/Python) + update .slnx instructions. |
| Makefile.am | Distribute .slnx files instead of removed .sln files. |
| Doxyfile | Update to Doxygen 1.16.1 config + enable new options (e.g., MARKDOWN_STRICT). |
| .github/workflows/windows-visualcpp.yml | Update Windows CI to newer toolchain (Boost/WiX/VS runner) + .slnx usage + newer action versions. |
| .github/workflows/linux-gcc.yml | Update GCC/Boost versions and Ubuntu runner; bump action versions. |
| .github/workflows/linux-clang.yml | Update Clang/Doxygen/Boost versions and Ubuntu runner; bump action versions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Avoids potential override of pthread link flags by subsequent AC_SUBST calls.
Changed from:
AC_SUBST([LDFLAGS], "${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}")
to:
LDFLAGS="${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}"
AC_SUBST([LDFLAGS], "${LDFLAGS} ${BOOST_LDFLAGS}")
This ensures pthread flags are preserved when Boost LDFLAGS are appended later.
Modernize dependencies as per #349. * Update AX_BOOST_BASE minimum version from 1.88.0 to 1.91.0 * Remove wix7 flags from WiX Toolset commands in Makefile.nmake to use WiX 7.0.0
There was a problem hiding this comment.
Pull request overview
This PR modernizes the project’s toolchain/build setup and performs broad IWYU- and C-API-cleanup changes to align the codebase with newer compilers, Boost, WiX, and Visual Studio solution formats.
Changes:
- Replaces Visual Studio
.slnsolutions with XML-based.slnxequivalents and updates docs/packaging to match. - Updates build infrastructure and CI workflows for newer toolchains (Boost, compilers, WiX, GitHub Actions versions/runners).
- Applies mechanical code hygiene updates: IWYU include adjustments, and C/C-header function prototypes updated to
(void).
Reviewed changes
Copilot reviewed 118 out of 126 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tool/make_character_property_map_cpp.py | Docstring formatting tweak (copyright line alignment). |
| tool/make_character_property_map.py | Docstring formatting tweak (copyright line alignment). |
| tetengo.slnx | Adds new Visual Studio solution in .slnx format. |
| tetengo.sln | Removes legacy .sln solution file. |
| tetengo.setup.slnx | Adds new setup/installer solution in .slnx format. |
| tetengo.setup.sln | Removes legacy setup .sln solution file. |
| setup/installer/installer.vcxproj | Updates MSVC platform toolset version. |
| setup/installer/generate_content_wxs_source.py | Docstring formatting tweak. |
| setup/installer/generate_content_wxs.py | Docstring formatting tweak. |
| setup/installer/copy_libimage_files.py | Docstring formatting tweak. |
| setup/installer/Makefile.nmake | Updates WiX CLI invocations to include EULA acceptance flags. |
| sample/transfer_trains/transfer_trains.vcxproj | Updates MSVC platform toolset version. |
| sample/transfer_trains/src/timetable.cpp | Adds <functional> include (IWYU keep). |
| sample/search_dict_c/src/main.c | Uses (void) in no-arg function prototype for C correctness. |
| sample/search_dict_c/search_dict_c.vcxproj | Updates MSVC platform toolset version. |
| sample/search_dict/search_dict.vcxproj | Updates MSVC platform toolset version. |
| sample/make_dict/make_dict.vcxproj | Updates MSVC platform toolset version. |
| sample/json2timetable/src/printStationTimetable.c | Uses (void) in no-arg function prototype for C correctness. |
| sample/json2timetable/src/encode.c | Uses (void) in no-arg function prototype for C correctness. |
| sample/json2timetable/json2timetable.vcxproj | Updates MSVC platform toolset version. |
| library/trie/test/test_tetengo.trie.vcxproj | Updates MSVC platform toolset version. |
| library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | Adds <utility> include (IWYU keep). |
| library/trie/test/src/usage_tetengo.trie.search_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/trie/test/src/usage_tetengo.trie.search_c.c | Uses (void) in no-arg function definition for C correctness. |
| library/trie/test/src/test_tetengo.trie.value_serializer.cpp | Formats lambdas more compactly (no behavior change). |
| library/trie/test/src/test_tetengo.trie.trie.cpp | Formatting and fixes missing whitespace in a static variable name. |
| library/trie/test/src/test_tetengo.trie.shared_storage.cpp | Fixes missing whitespace in a static variable name. |
| library/trie/test/src/test_tetengo.trie.mmap_storage.cpp | Adjusts includes (drops <ios>, adds <sstream>) and whitespace fixes. |
| library/trie/test/src/test_tetengo.trie.memory_storage.cpp | Fixes missing whitespace in a static variable name. |
| library/trie/cpp/tetengo.trie.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | Removes unused <type_traits> include. |
| library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp | Removes unused <memory> include. |
| library/trie/cpp/src/tetengo.trie.double_array_builder.hpp | Adds <iterator> include (IWYU keep). |
| library/trie/cpp/include/tetengo/trie/trie.hpp | Adjusts default_serializer references/forward decls and IWYU keep include. |
| library/trie/cpp/include/tetengo/trie/shared_storage.hpp | Marks includes/forward decls with IWYU keep. |
| library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | Marks includes with IWYU keep. |
| library/trie/cpp/include/tetengo/trie/memory_storage.hpp | Marks includes/forward decls with IWYU keep. |
| library/trie/cpp/include/tetengo/trie/double_array.hpp | Replaces include with forward declaration for iterator type. |
| library/trie/c/tetengo.trie.vcxproj | Updates MSVC platform toolset version. |
| library/trie/c/src/tetengo_trie_trieIterator.cpp | Adds missing <vector> include. |
| library/trie/c/src/tetengo_trie_trie.hpp | Adds default_serializer include (IWYU keep). |
| library/trie/c/include/tetengo/trie/storage.h | Uses (void) in no-arg function prototype for C correctness. |
| library/text/test/test_tetengo.text.vcxproj | Updates MSVC platform toolset version. |
| library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp | Removes unused <memory> include. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/text/test/src/usage_tetengo.text.graphemeSplit_c.c | Uses (void) in no-arg function prototypes/definitions for C correctness. |
| library/text/test/src/usage_tetengo.text.encoding_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/text/test/src/usage_tetengo.text.encoding_c.c | Uses (void) in no-arg function definition for C correctness. |
| library/text/test/src/test_tetengo.text.grapheme_splitter.cpp | Removes unused <memory> include. |
| library/text/test/src/test_tetengo.text.encoding.cp932.cpp | Removes unused includes (map/sstream/vector). |
| library/text/test/src/test_tetengo.text.encoder.cpp | Removes unused includes (map/sstream). |
| library/text/cpp/tetengo.text.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp | Removes unused include. |
| library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp | Removes unused include. |
| library/text/cpp/src/tetengo.text.encoding.utf16.cpp | Adds missing <vector> include. |
| library/text/cpp/src/tetengo.text.encoding.cp932.cpp | Adds <string> include (IWYU keep). |
| library/text/c/tetengo.text.vcxproj | Updates MSVC platform toolset version. |
| library/text/c/src/tetengo_text_encoder.cpp | Adjusts includes; keeps <string> with IWYU pragma. |
| library/text/c/include/tetengo/text/graphemeSplitter.h | Uses (void) in no-arg function prototype for C correctness. |
| library/property/test/test_tetengo.property.vcxproj | Updates MSVC platform toolset version. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/property/test/src/usage_tetengo.property.saveLoad_c.c | Uses (void) in no-arg function prototypes/definitions for C correctness. |
| library/property/test/src/test_tetengo.property.storage_proxy.cpp | Adds <filesystem> include. |
| library/property/test/src/test_tetengo.property.storage.cpp | Marks <string> include with IWYU keep. |
| library/property/test/src/test_tetengo.property.property_set.cpp | Marks <string> include with IWYU keep. |
| library/property/test/src/test_tetengo.property.memory_storage.cpp | Marks <string> include with IWYU keep. |
| library/property/cpp/tetengo.property.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/property/cpp/src/tetengo.property.json_parser.cpp | Adjusts includes; adds <variant> (IWYU keep). |
| library/property/cpp/src/tetengo.property.file_storage.cpp | Adds <string> include (IWYU keep). |
| library/property/cpp/include/tetengo/property/storage_proxy.hpp | Marks <optional> include with IWYU keep. |
| library/property/cpp/include/tetengo/property/memory_storage.hpp | Marks <filesystem> include with IWYU keep. |
| library/property/c/tetengo.property.vcxproj | Updates MSVC platform toolset version. |
| library/property/c/src/tetengo_property_storage.cpp | Adds <filesystem> include. |
| library/property/c/src/tetengo_property_propertySet.cpp | Adds <filesystem> include. |
| library/property/c/include/tetengo/property/storage.h | Uses (void) in no-arg function prototypes for C correctness. |
| library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj | Updates MSVC platform toolset version. |
| library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp | Removes unused includes (map/sstream/vector). |
| library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/lattice/test/test_tetengo.lattice.vcxproj | Updates MSVC platform toolset version. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp | Adds <cstddef> include. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c | Removes unused include and uses (void) in no-arg prototypes/defs. |
| library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp | Marks <string> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp | Removes unused <memory> and tweaks constructor formatting. |
| library/lattice/test/src/test_tetengo.lattice.path.cpp | Marks <string> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp | Marks <string> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | Marks <algorithm> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.lattice.cpp | Marks <algorithm>/<string> includes with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp | Removes unused <memory> include. |
| library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | Marks <algorithm> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp | Marks <string> include with IWYU keep. |
| library/lattice/test/src/test_tetengo.lattice.constraint.cpp | Marks <string> include with IWYU keep. |
| library/lattice/cpp/tetengo.lattice.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp | Marks entry.hpp include with IWYU keep. |
| library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp | Removes unused <type_traits> include. |
| library/lattice/cpp/src/tetengo.lattice.path.cpp | Marks node.hpp include with IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp | Marks node forward decl with IWYU keep. |
| library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp | Replaces direct include with forward declarations for entry types. |
| library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | Reworks includes/forward declarations; adds IWYU keep markers. |
| library/lattice/cpp/include/tetengo/lattice/path.hpp | Marks node.hpp include with IWYU keep. |
| library/lattice/c/tetengo.lattice.vcxproj | Updates MSVC platform toolset version. |
| library/lattice/c/src/tetengo_lattice_vocabulary.cpp | Marks <algorithm> include with IWYU keep; removes unused include. |
| library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | Marks <algorithm> include with IWYU keep. |
| library/lattice/c/src/tetengo_lattice_input.cpp | Marks <string> include with IWYU keep. |
| library/lattice/c/include/tetengo/lattice/path.h | Uses (void) in no-arg function prototype for C correctness. |
| library/lattice/c/include/tetengo/lattice/entry.h | Uses (void) in no-arg function prototype for C correctness. |
| library/lattice/c/include/tetengo/lattice/constraint.h | Uses (void) in no-arg function prototype for C correctness. |
| library/json/test/test_tetengo.json.vcxproj | Updates MSVC platform toolset version. |
| library/json/test/src/usage_tetengo.json.parsing_c.h | Uses (void) in no-arg function prototype for C correctness. |
| library/json/test/src/usage_tetengo.json.parsing_c.c | Uses (void) in no-arg function definition for C correctness. |
| library/json/cpp/tetengo.json.cpp.vcxproj | Updates MSVC platform toolset version. |
| library/json/cpp/src/tetengo.json.json_parser.cpp | Adds file_location include (IWYU keep). |
| library/json/cpp/src/tetengo.json.channel.cpp | Removes unused <vector> include. |
| library/json/c/tetengo.json.vcxproj | Updates MSVC platform toolset version. |
| library/json/c/src/tetengo_json_reader.cpp | Marks <string> include with IWYU keep. |
| library/json/c/include/tetengo/json/reader.h | Uses (void) in no-arg function prototype for C correctness. |
| library/json/c/include/tetengo/json/element.h | Uses (void) in no-arg function prototypes for C correctness. |
| executable/setup/setup.vcxproj | Updates MSVC platform toolset version. |
| configure.ac | Updates pthread handling and bumps required Boost version; adjusts substituted flags. |
| README.md | Updates build requirements/tool versions and references .slnx solutions. |
| Makefile.am | Updates distributed artifacts to ship .slnx instead of .sln. |
| Doxyfile | Updates to Doxygen 1.16.1 template/settings (incl. new tags). |
| .github/workflows/windows-visualcpp.yml | Updates CI toolchain versions, runner image, WiX install steps, and uses .slnx. |
| .github/workflows/linux-gcc.yml | Updates GCC/Ubuntu/Boost versions and action versions. |
| .github/workflows/linux-clang.yml | Updates Clang/Ubuntu/Boost/Doxygen versions and action versions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Updated WiX Toolset commands in Makefile.nmake to include the wix7 argument for msi transform and build operations, ensuring compatibility with the specified WiX version.
Updated kogyan submodule from commit 0091e14f to 29f0fe8c.
This pull request updates the CI workflows for Linux (Clang and GCC) and Windows (Visual C++) to use newer toolchain versions, operating systems, and GitHub Actions. The main goals are to ensure compatibility with the latest environments and dependencies, improve build performance, and keep the CI process up to date.
Key changes include:
Toolchain and Dependency Updates
.github/workflows/linux-clang.yml. The OS image was updated from Ubuntu 22.04 to 24.04. [1] [2].github/workflows/linux-gcc.yml. The OS image was updated from Ubuntu 22.04 to 24.04. [1] [2]windows-2022towindows-2025-vs2026in.github/workflows/windows-visualcpp.yml. Added aWIX_VERenvironment variable for WiX Toolset.GitHub Actions Improvements
actions/cache(v4 → v5),actions/checkout(v4 → v6),actions/upload-artifact(v4 → v7), andmicrosoft/setup-msbuild(v2 → v3). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]Build Script and OS Adjustments
ubuntu-24.04for Linux,windows-2025-vs2026for Windows). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]tetengo.slnxinstead oftetengo.sln. [1] [2] [3]These updates ensure that the CI workflows are using the latest supported environments and dependencies, which helps maintain compatibility and security, and leverages improvements in the newer toolchains and GitHub Actions.