]> git.ipfire.org Git - thirdparty/curl.git/commit
GHA/configure-vs-cmake: add Windows build, fix issues
authorViktor Szakats <commit@vsz.me>
Sun, 25 Aug 2024 11:16:49 +0000 (13:16 +0200)
committerViktor Szakats <commit@vsz.me>
Mon, 26 Aug 2024 09:07:58 +0000 (11:07 +0200)
commitaaacd02466f77d03b8fdc19e91a0a3ec72f4c38a
treed6e4cdb104554943c49b2af076f48e37bfe402ef
parent7673c1292955f1c4dc0d19acd3051b5acfb349aa
GHA/configure-vs-cmake: add Windows build, fix issues

- configure: disable pthreads by default on Windows.
- configure: disable detecting `fseeko()` on Windows.
  (It exists in mingw-w64 2.0.0 and newer, but it's permanently ignored
  in CMake, as this function is never necessary on Windows.)
- extend existing exceptions with their Windows variants.
- `lib/formdata.c`: prioritize `_fseeki64()` over `fseeko()`.
  To reduce the difference between Windows builds, which now all use
  `_fseeki64()`.
- cmake: perm-enable `HAVE_DIRENT_H` and `HAVE_OPENDIR` for mingw-w64,
  to match configure.
  Follow-up to bfe54b0e88239da542493321e795cd71c14af9cc #13137
  This in theory could make the dir listing feature work in mingw-w64
  build, but in my tests (on WINE) it failed at the preceding `open()`
  call.
- cmake: perm-enable `HAVE_STRINGS_H` and `HAVE_UTIME_H` for mingw-w64,
  to match configure. (They are wrappers and make no difference in the build.)

Also:
- configure: sync `USE_MANUAL` macro with cmake, by only setting it for
  `src`. Drop checker exception.
- CI: use `--disable-dependency-tracking` in existing jobs.
- CI: install packages before git checkout, in existing jobs.

Closes #14678
.github/scripts/cmp-config.pl
.github/workflows/configure-vs-cmake.yml
CMake/Platforms/WindowsCache.cmake
configure.ac
lib/formdata.c
src/Makefile.am