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)

Reply via email to