autotools: add support for mingw UWP builds

To match cmake builds.

- GHA/windows: allow autotools UWP builds.
- detect UWP and add to `buildinfo.txt`.
  Consider it enabled if `CPPFLAGS` contains `-DWINSTORECOMPAT`.
- disable telnet with UWP.
- enable Unicode with UWP.
- do not use `wldap32` with UWP.
- do not enable `USE_WIN32_CRYPTO` with UWP.
- make sure to link to `ws2_32` in UWP builds.
  To fix `undefined reference to `in6addr_any'` when linking
  `tests/server` programs. More in the comment.

Closes #16020
This commit is contained in:
Viktor Szakats 2025-01-16 16:47:15 +01:00
parent fb881abd72
commit f7bb6c1f64
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
3 changed files with 58 additions and 33 deletions

View file

@ -1413,7 +1413,7 @@ AC_DEFUN([CURL_CHECK_WIN32_CRYPTO], [
AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_MSG_CHECKING([whether build target supports Win32 crypto API])
curl_win32_crypto_api="no"
if test "$curl_cv_native_windows" = "yes"; then
if test "$curl_cv_native_windows" = "yes" -a "$curl_cv_winuwp" != "yes"; then
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#undef inline
@ -1536,6 +1536,9 @@ AC_DEFUN([CURL_PREPARE_BUILDINFO], [
curl_pflags="${curl_pflags} BSD";;
esac
fi
if test "$curl_cv_winuwp" = 'yes'; then
curl_pflags="${curl_pflags} UWP"
fi
if test "$curl_cv_cygwin" = 'yes'; then
curl_pflags="${curl_pflags} CYGWIN"
fi