This mirrors my previous commit [1] for Windows GYP build so that Bazel
build can also specify appropriate /DEPENDENTLOADFLAG options (#836).
Closes#1114.
[1]: 18d1bcaab4
PiperOrigin-RevId: 719096319
Win32 x64/x86 executables built with GYP are already declared to be
Intel CET compatible (#835).
With this commit those executables built with Bazel also become Intel
CET compatible.
Closes#1111
PiperOrigin-RevId: 718229248
While 'rules_cc' provides 'generate_pdb_file' feature to generate the
PDB file, its filename is not hard-coded and not configurable. For
instance, if the target name is 'mozc_tip32', then the output pdb file
is always assumed to be 'mozc_tip32.pdb'. To make it
'mozc_tip32.dll.pdb', the target name must be 'mozc_tip32.dll.dll'.
This is why 'intermediate_name' is introduced in
'mozc_win32_cc_prod_binary'.
There must be no observable change in GYP build and non-Windows bazel
builds.
Closes#1108.
PiperOrigin-RevId: 717739005
This reworks my previous PR #1156 [1], which was to make Windows bazel
build compatible with
--noincompatible_enable_cc_toolchain_resolution
option (#1102) (#1112).
The difference from the previous approach is that this commit uses
CC toolchains defined by 'rules_cc' rather than the ones implicitly
defined by the Bazel itself.
Given that 'rules_cc' becomes the new home of CC-related rules and
configurations, hopefully this change will reduce the likelihood of
future troubles.
There must be no observable behavior change in the final artifacts.
[1]: 4aad25e97d
PiperOrigin-RevId: 717738755
This follows up to our previous commit [1], which intended to be a
preparation to merge #1109 to address #1108.
As another preparation this commit aims to simplify 'build_defs.bzl' by
inlining 'mozc_win_build_target' into 'mozc_win32_cc_prod_binary'.
There must be no change in the final artifacts.
[1]: bc546b239b
PiperOrigin-RevId: 717365663
This commit aims to simplify how Android NDK is set up in Dockerfile
without changing any final artifact.
With this commit Android NDK will be directly downloaded then deployed
just by unzipping the archive. As a result we no longer need to install
openjdk-17-jdk package just to run Android SDK setup.
This commit also makes it clear that the build environment for Android
requires Android NDK only. Android SDK and ANDROID_HOME environment
variable are not necessary.
There must be no difference in the final artifact.
PiperOrigin-RevId: 717365459
2.30.5618 → 2.31.5712
Conversion
* Updated the LM dictionary
* Updated symbols (#1074, #1100)
* Updated emoji data to CLDR 46 (Emoji 16.0)
* Fixed conversion errors reported by users.
Bug fix
* Windows: fixed the freeze issue with some applications like the searchhost.exe (#1077, #856)
* Windows: fixed the UI language issue of the GUI tools (#1110)
Features
* Updated the copyright year to 2025.
* Windows: bundle debug symbol for Mozc TIP DLL (#1081)
* Windows: shutdown existing Mozc processes on upgrading the version (#1093)
Build
* supported Bazel 8.0.0 (#1118)
* removed WORKSPACE support for Bazel (#1115)
* supported Python 3.14 (#1084)
* updated the protobuf version: v27.3 → v29.1.
* Linux: supported gcc-14.1.1 without additional build flags (#927)
* macOS / Windows: Updated Qt version: 6.7.3 → 6.8.0 (#1105, #1110, #1121)
Code
* added a lint checker for BUILD.bazel and *bzl files (#1089)
* renamed the protobuf field from Candidates to CandidateWindow
* refactoring of ConversionRequest making it as immutable object
* refactoring of the Converter implementation
* refactoring of Engine and SessionConverter to make each module pluggable
* removed cyclic dependency between Converter and Rewriter.
PiperOrigin-RevId: 716215275
In this code path, SessionConverter::Suggest() is not called, and session converter's internal state including candidate list was not updated.
PiperOrigin-RevId: 716097305
The Windows toolchain has `-Wunused-variable` and `-Wunused-result` disabled. Clean up code that triggers these, in preparation for enabling them, as they are already enabled on other platforms.
PiperOrigin-RevId: 715679816
because the cost of initialization is negligible and
there is a client that access UserDictionarySessionHandler without calling Init().
PiperOrigin-RevId: 715634005
Since the original download page reuses the same URLs without version control, sha256 entries could not be unique.
#codehealth
PiperOrigin-RevId: 715250673
SessionHandler and Session should not own concrete logic (e.g., predictor/rewriter/converter/dictionary) but depend only on the pure interface methods of EngineInterface and SessionConverterInterface.
PiperOrigin-RevId: 713974280
This is a follow up commit to my previous commit [1], which started
using 'vswhere.exe' to locate 'vcvarsall.bat' as discussed in #1057.
One thing I overlooked is that 'vswhere.exe' could return an empty
result even when the exitcode is ERROR_SUCCESS. With this commit such a
case will be gracefully handled.
This is also a preparation to support ARM64 build on Windows (#1130).
[1]: ace3145671
PiperOrigin-RevId: 713563231
* cl/699938273 removed the caller of kDefaultMaxHistorySize.
* cl/699944808 removed the caller of CreateIncognitoConversionRequest.
#codehealth
PiperOrigin-RevId: 713210877
This is a follow up commit to my previous commit [1], which updated the
Bazel version from 7.4.1 to 8.0.0 (#1118).
It turns out that
--noincompatible_enable_cc_toolchain_resolution
is now no-op in Bazel 8.0. Thus we have no other choice than fully
migrating to the new CC toolchain resolution as planned in #1112.
Otherwise 'mozc_tip32.dll' will be built as a 64-bit executable (#1102).
This commit consists of two parts:
1. explicitly register CC toolchains in '.bazelrc'.
2. Switch from '--cpu' commandline option to '--platforms' commandline
option in '_win_executable_transition'.
With above 'mozc_tip32.dll' will be built as a 32-bit executable again.
Closes#1102.
Closes#1112.
[1]: 6dadef1c3d
PiperOrigin-RevId: 713127750
An upcoming change in Protobuf will change the return types of various
methods like `Descriptor::name()` and `Message::GetTypeName()` from
`const std::string&` or `std::string` to `absl::string_view`. This CL fixes
users of those methods to work both before and after the change.
PiperOrigin-RevId: 712709155