[PATCH v2 00/12] Upstream some more Git for Windows' patches
From: Johannes Schindelin via GitGitGadget <hidden>
Date: 2026-08-12 07:52:55
When rebasing a Git for Windows commit to enable Rust in Windows CI, I noticed just how many of the preceding commits touching adjacent code haven't been upstreamed yet. This patch series rectifies that. Changes since v1: * Fixed the meson-side handling of the MINGW_PREFIX constant (this was not noticed in the Git for Windows project because it does not use Meson to build the project). Johannes Schindelin (12): mingw: include the Python parts in the build mingw: stop hard-coding `CC = gcc` mingw: drop the -D_USE_32BIT_TIME_T option mingw: only use -Wl,--large-address-aware for 32-bit builds mingw: avoid over-specifying `--pic-executable` mingw: set the prefix and HOST_CPU as per MSYS2's settings mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 mingw: rely on MSYS2's metadata instead of hard-coding it windows: skip linking `git-<command>` for built-ins mingw: always define `ETC_*` for MSYS2 environments mingw: ensure valid CTYPE mingw: allow `git.exe` to be used instead of the "Git wrapper" compat/mingw.c | 68 +++++++++++++++++++++++++++++ config.mak.uname | 61 ++++++++++++-------------- contrib/buildsystems/CMakeLists.txt | 9 +++- meson.build | 15 ++++++- meson_options.txt | 4 ++ t/t0060-path-utils.sh | 33 +++++++++++++- 6 files changed, 153 insertions(+), 37 deletions(-) base-commit: 5b2471720c93ee30e5764a19f3d3b3ae9ec9712a Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2195%2Fdscho%2Fupstream-some-more-git-for-windows-patches-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2195/dscho/upstream-some-more-git-for-windows-patches-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/2195 Range-diff vs v1: 1: fd594ffa6c = 1: fd594ffa6c mingw: include the Python parts in the build 2: 47fc974582 = 2: 47fc974582 mingw: stop hard-coding `CC = gcc` 3: 53f1fd5763 = 3: 53f1fd5763 mingw: drop the -D_USE_32BIT_TIME_T option 4: ad96aedda6 = 4: ad96aedda6 mingw: only use -Wl,--large-address-aware for 32-bit builds 5: d67201f9b3 = 5: d67201f9b3 mingw: avoid over-specifying `--pic-executable` 6: b49c42c50d = 6: b49c42c50d mingw: set the prefix and HOST_CPU as per MSYS2's settings 7: b00d242621 = 7: b00d242621 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 8: 1593d1d1a0 ! 8: 9de4ea7fc1 mingw: rely on MSYS2's metadata instead of hard-coding it @@ Commit message as before, but drops it for Meson (because it is unclear how Meson could do this in a more flexible manner). + Helped-by: Junio C Hamano [off-list ref] Signed-off-by: Johannes Schindelin [off-list ref] ## config.mak.uname ## @@ meson.build: elif host_machine.system() == 'windows' + if msystem != '' + mingw_prefix = get_option('mingw_prefix') + if mingw_prefix == '' -+ mingw_prefix = '/' + msystem.to_lower() ++ mingw_prefix = msystem.to_lower() ++ elif mingw_prefix.startswith('/') ++ mingw_prefix = mingw_prefix.substring(1) + endif + libgit_c_args += [ + '-DENSURE_MSYSTEM_IS_SET="' + msystem + '"', 9: c4e97449c1 = 9: 60a2999b75 windows: skip linking `git-<command>` for built-ins 10: 625f01ad29 = 10: 1dd6ac9295 mingw: always define `ETC_*` for MSYS2 environments 11: 39a138a773 = 11: d44d05c897 mingw: ensure valid CTYPE 12: f822133191 = 12: 679d1fdd41 mingw: allow `git.exe` to be used instead of the "Git wrapper" -- gitgitgadget