patchcmake: use writev(3p) wrapper as needed
2 messages between Apr 3, 2026 and Apr 3, 2026, from Johannes Schindelin via GitGitGadget, Junio C Hamano.
Plain Markdown or JSON for tools and agents. Diffs are folded; open one to read it.
Johannes Schindelin via GitGitGadgetApr 3, 2026, 08:55 UTC on loreFrom: Johannes Schindelin <johannes.schindelin@gmx.de>
This is a companion patch of 3b9b2c2a29a (compat/posix: introduce writev(3p) wrapper, 2026-03-13) where support for using the `writev()` wrapper was introduced in the `Makefile` and the Meson-based build, but the CMake build still needs that treatment, too.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
cmake: use writev(3p) wrapper as needed
This was necessary to get Git for Windows v2.54.0-rc0's CI builds to
pass successfully.Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2078%2Fdscho%2Fwritev-vs-cmake-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2078/dscho/writev-vs-cmake-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2078
contrib/buildsystems/CMakeLists.txt | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Show changes to contrib/buildsystems/CMakeLists.txt +5 −1
diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
index c6cfb874ef..dce9c84d0b 100644
--- a/contrib/buildsystems/CMakeLists.txt
+++ b/contrib/buildsystems/CMakeLists.txt
@@ -376,7 +376,7 @@ endif()
#function checks
set(function_checks
strcasestr memmem strlcpy strtoimax strtoumax strtoull
- setenv mkdtemp poll pread memmem)
+ setenv mkdtemp poll pread memmem writev)
#unsetenv,hstrerror are incompatible with windows build
if(NOT WIN32)
@@ -421,6 +421,10 @@ if(NOT HAVE_MEMMEM)
list(APPEND compat_SOURCES compat/memmem.c)
endif()
+if(NOT HAVE_WRITEV)
+ list(APPEND compat_SOURCES compat/writev.c)
+endif()
+
if(NOT WIN32)
if(NOT HAVE_UNSETENV)
list(APPEND compat_SOURCES compat/unsetenv.c)
base-commit: 6e8d538aab8fe4dd07ba9fb87b5c7edcfa5706ad
--
gitgitgadget
Re: [PATCH] cmake: use writev(3p) wrapper as needed
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> This is a companion patch of 3b9b2c2a29a (compat/posix: introduce
> writev(3p) wrapper, 2026-03-13) where support for using the `writev()`
> wrapper was introduced in the `Makefile` and the Meson-based build, but
> the CMake build still needs that treatment, too.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> cmake: use writev(3p) wrapper as needed
>
> This was necessary to get Git for Windows v2.54.0-rc0's CI builds to
> pass successfully.
Thanks.
I should have been paying a bit more attention when I saw a patch that touches meson.build files, I think. Sorry about the slippage.
Show 33 quoted lines
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2078%2Fdscho%2Fwritev-vs-cmake-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2078/dscho/writev-vs-cmake-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/2078
>
> contrib/buildsystems/CMakeLists.txt | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> index c6cfb874ef..dce9c84d0b 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -376,7 +376,7 @@ endif()
> #function checks
> set(function_checks
> strcasestr memmem strlcpy strtoimax strtoumax strtoull
> - setenv mkdtemp poll pread memmem)
> + setenv mkdtemp poll pread memmem writev)
>
> #unsetenv,hstrerror are incompatible with windows build
> if(NOT WIN32)
> @@ -421,6 +421,10 @@ if(NOT HAVE_MEMMEM)
> list(APPEND compat_SOURCES compat/memmem.c)
> endif()
>
> +if(NOT HAVE_WRITEV)
> + list(APPEND compat_SOURCES compat/writev.c)
> +endif()
> +
> if(NOT WIN32)
> if(NOT HAVE_UNSETENV)
> list(APPEND compat_SOURCES compat/unsetenv.c)
>
> base-commit: 6e8d538aab8fe4dd07ba9fb87b5c7edcfa5706ad