MSYS2: Add better support for other environments

Add support for and generally recommend using UCRT64.
This commit is contained in:
João Valverde 2023-01-14 21:11:36 +00:00
parent 4ee71f77e6
commit 89188380ae
2 changed files with 53 additions and 39 deletions

View File

@ -118,10 +118,22 @@ if(WIN32)
if(DEFINED ENV{WIRESHARK_TARGET_PLATFORM}) if(DEFINED ENV{WIRESHARK_TARGET_PLATFORM})
string(TOLOWER $ENV{WIRESHARK_TARGET_PLATFORM} _target_platform) string(TOLOWER $ENV{WIRESHARK_TARGET_PLATFORM} _target_platform)
set(WIRESHARK_TARGET_PLATFORM ${_target_platform}) set(WIRESHARK_TARGET_PLATFORM ${_target_platform})
elseif(USE_MSYSTEM MATCHES "MINGW64") elseif(USE_MSYSTEM MATCHES "MINGW64|CLANG64|UCRT64")
# https://www.msys2.org/docs/environments
# MSYS2 comes with different environments/subsystems and
# the first thing you have to decide is which one to use.
# The differences among the environments are mainly environment
# variables, default compilers/linkers, architecture,
# system libraries used etc. If you are unsure, go with UCRT64.
set(WIRESHARK_TARGET_PLATFORM win64) set(WIRESHARK_TARGET_PLATFORM win64)
elseif(USE_MSYSTEM) elseif(USE_MSYSTEM)
message(WARNING "Building for MSYSTEM=${USE_MSYSTEM} is not officially supported") if($ENV{MSYSTEM_CARCH} MATCHES "x86_64")
set(WIRESHARK_TARGET_PLATFORM win64)
elseif($ENV{MSYSTEM_CARCH} MATCHES "i686")
set(WIRESHARK_TARGET_PLATFORM win32)
else()
set(WIRESHARK_TARGET_PLATFORM "$ENV{MSYSTEM_CARCH}")
endif()
elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES "Win64") elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES "Win64")
set(WIRESHARK_TARGET_PLATFORM win64) set(WIRESHARK_TARGET_PLATFORM win64)
elseif(CMAKE_GENERATOR MATCHES "Visual Studio") elseif(CMAKE_GENERATOR MATCHES "Visual Studio")

View File

@ -49,6 +49,8 @@ for arg; do
esac esac
done done
PACKAGE_PREFIX="${MINGW_PACKAGE_PREFIX:-mingw-w64-x86_64}"
# #
# Lua is kind of a mess. Lua 5.2 is not available. Some packages depend # Lua is kind of a mess. Lua 5.2 is not available. Some packages depend
# on LuaJIT and it conflicts with Lua 5.1. This will probably have to # on LuaJIT and it conflicts with Lua 5.1. This will probably have to
@ -56,44 +58,44 @@ done
# #
BASIC_LIST="base-devel \ BASIC_LIST="base-devel \
git \ git \
mingw-w64-x86_64-brotli \ ${PACKAGE_PREFIX}-brotli \
mingw-w64-x86_64-c-ares \ ${PACKAGE_PREFIX}-c-ares \
mingw-w64-x86_64-cmake \ ${PACKAGE_PREFIX}-cmake \
mingw-w64-x86_64-glib2 \ ${PACKAGE_PREFIX}-glib2 \
mingw-w64-x86_64-gnutls \ ${PACKAGE_PREFIX}-gnutls \
mingw-w64-x86_64-libgcrypt \ ${PACKAGE_PREFIX}-libgcrypt \
mingw-w64-x86_64-libilbc \ ${PACKAGE_PREFIX}-libilbc \
mingw-w64-x86_64-libmaxminddb \ ${PACKAGE_PREFIX}-libmaxminddb \
mingw-w64-x86_64-nghttp2 \ ${PACKAGE_PREFIX}-nghttp2 \
mingw-w64-x86_64-libpcap \ ${PACKAGE_PREFIX}-libpcap \
mingw-w64-x86_64-libssh \ ${PACKAGE_PREFIX}-libssh \
mingw-w64-x86_64-libxml2 \ ${PACKAGE_PREFIX}-libxml2 \
mingw-w64-x86_64-lz4 \ ${PACKAGE_PREFIX}-lz4 \
mingw-w64-x86_64-minizip \ ${PACKAGE_PREFIX}-minizip \
mingw-w64-x86_64-ninja \ ${PACKAGE_PREFIX}-ninja \
mingw-w64-x86_64-opus \ ${PACKAGE_PREFIX}-opus \
mingw-w64-x86_64-pcre2 \ ${PACKAGE_PREFIX}-pcre2 \
mingw-w64-x86_64-python \ ${PACKAGE_PREFIX}-python \
mingw-w64-x86_64-qt6-base \ ${PACKAGE_PREFIX}-qt6-base \
mingw-w64-x86_64-qt6-multimedia \ ${PACKAGE_PREFIX}-qt6-multimedia \
mingw-w64-x86_64-qt6-tools \ ${PACKAGE_PREFIX}-qt6-tools \
mingw-w64-x86_64-qt6-5compat \ ${PACKAGE_PREFIX}-qt6-5compat \
mingw-w64-x86_64-snappy \ ${PACKAGE_PREFIX}-snappy \
mingw-w64-x86_64-spandsp \ ${PACKAGE_PREFIX}-spandsp \
mingw-w64-x86_64-speexdsp \ ${PACKAGE_PREFIX}-speexdsp \
mingw-w64-x86_64-toolchain \ ${PACKAGE_PREFIX}-toolchain \
mingw-w64-x86_64-winsparkle \ ${PACKAGE_PREFIX}-winsparkle \
mingw-w64-x86_64-zlib \ ${PACKAGE_PREFIX}-zlib \
mingw-w64-x86_64-zstd" ${PACKAGE_PREFIX}-zstd"
ADDITIONAL_LIST="mingw-w64-x86_64-asciidoctor \ ADDITIONAL_LIST="${PACKAGE_PREFIX}-asciidoctor \
mingw-w64-x86_64-ccache \ ${PACKAGE_PREFIX}-ccache \
mingw-w64-x86_64-doxygen \ ${PACKAGE_PREFIX}-doxygen \
mingw-w64-x86_64-perl \ ${PACKAGE_PREFIX}-perl \
mingw-w64-x86_64-libxslt" ${PACKAGE_PREFIX}-libxslt"
TESTDEPS_LIST="mingw-w64-x86_64-python-pytest \ TESTDEPS_LIST="${PACKAGE_PREFIX}-python-pytest \
mingw-w64-x86_64-python-pytest-xdist" ${PACKAGE_PREFIX}-python-pytest-xdist"
ACTUAL_LIST=$BASIC_LIST ACTUAL_LIST=$BASIC_LIST
@ -122,5 +124,5 @@ fi
if [ $LUA -ne 0 ] if [ $LUA -ne 0 ]
then then
printf "\n*** Lua 5.1 can be installed with: pacman -S mingw-w64-x86_64-lua51\n" printf "\n*** Lua 5.1 can be installed with: pacman -S ${PACKAGE_PREFIX}-lua51\n"
fi fi