Fable v3 windows#1207
Open
henderkes wants to merge 21 commits into
Open
Conversation
…lang >= 20 Go passes the MinGW-only -mthreads flag to the C compiler for cgo builds (golang/go#16932); Clang >= 20 rejects it for the MSVC target, so the final frankenphp go build fails on current windows-latest (VS 18 / LLVM 20+). Wrap Clang with a generated .bat that drops the -mthreads token and forwards the rest, used only when the detected Clang refuses the flag.
…n be removed later
|
StaticPHP Test Bot Detected: Extensions: |
Owner
|
postgresql build depends on meson that we haven't installed in our procedure. Either install in msys2, or add a separate |
|
Fixes for the three failing Windows tests are in #1208 (four separate bugs, details over there). Hope it helps getting this branch merged 🙂 |
- the meson build assumed meson/ninja/win_flex/win_bison/perl on PATH, which only held on machines that had them installed - add meson, ninja and winflexbison tool packages and declare them via tools@windows on postgresql, together with the existing strawberry-perl - meson no longer ships a Windows MSI, so the wheel is installed offline into a venv: postgres re-invokes meson through find_program, which needs the real meson.exe launcher pip generates
- php.exe already links with /FORCE:MULTIPLE for extension-bundled duplicate symbols, cgi and micro did not - imagick's MagickCore defines gettimeofday, also defined in php's time.obj, and both links failed with LNK2005
- libpq authenticates through SSPI and the static libcrypto behind it reads the system cert store; php.exe failed to link with unresolved Cert* and SSPI symbols when the openssl extension is not in the build
- static-libs@windows listed both libiconv.lib (the dll import lib) and libiconv_a.lib; the import lib came first, so php.exe ended up importing libiconv.dll and the cli smoke test died with STATUS_DLL_NOT_FOUND on machines without it
- add a python-win tool package that unzips the official python.org nuget package into the pkgroot (venv and ensurepip included) - meson uses it to build its venv and only falls back to a system python, so no manual environment setup is needed
…dle hash storage for both file and directory targets
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Checklist before merging
*.phpor*.yml, run them locally to ensure your changes are valid:composer cs-fixcomposer analysecomposer testbin/spc dev:lint-config