Jens Geyer created THRIFT-6390:
----------------------------------
Summary: Update the MSYS2 build instructions for UCRT64 and the
current CMake options
Key: THRIFT-6390
URL: https://issues.apache.org/jira/browse/THRIFT-6390
Project: Thrift
Issue Type: Bug
Components: Build Process
Reporter: Jens Geyer
Assignee: Jens Geyer
{{build/cmake/README-MSYS2.md}} describes how to build Thrift with MSYS2.
Several parts of it are out of date:
* It builds in MSYS2's MINGW64 environment: {{mingw-w64-x86_64-...}} packages,
with {{/mingw64/bin}} added to the PATH through {{~/.bash_profile}}. MSYS2 is
phasing that environment out, and the AppVeyor MINGW job moved to UCRT64 with
THRIFT-6373.
* It passes {{-DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON}}. CMake still accepts
these but warns that they are deprecated in favour of {{BUILD_SHARED_LIBS}}. It
also passes {{-DWITH_PERL=OFF}}, which is not a CMake option; only the
autotools build has Perl support.
* It says that libevent does not work with this toolchain, and it passes
{{-DWITH_LIBEVENT=OFF}}. The AppVeyor MINGW job builds with libevent and passes
{{TNonblockingServerTest}} and {{TNonblockingSSLServerTest}}.
* It refers to THRIFT-4046 for MinGW patches, but that issue was fixed in
0.11.0. The tested version it names is an MSYS2 distribution from 2016.
Proposed change: bring the instructions in line with the AppVeyor MINGW job
({{build/appveyor/MINGW-appveyor-full.bat}}), which builds and tests this setup
on every commit. That means:
* building in the UCRT64 shell;
* installing the UCRT64 packages the job installs, libevent included;
* passing the job's CMake arguments;
* naming the job as the tested reference.
This is item 3 of THRIFT-6373.
_Drafted with AI assistance (Claude Opus 5.5)._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)