diff options
Diffstat (limited to 'external/libgpg-error/w32-build-fixes.patch')
-rw-r--r-- | external/libgpg-error/w32-build-fixes.patch | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/external/libgpg-error/w32-build-fixes.patch b/external/libgpg-error/w32-build-fixes.patch new file mode 100644 index 000000000..1de57e424 --- /dev/null +++ b/external/libgpg-error/w32-build-fixes.patch @@ -0,0 +1,121 @@ +diff -ur libgpg-error.org/src/estream.c libgpg-error/src/estream.c +--- src/estream.c 2016-11-16 13:22:03.000000000 +0100 ++++ src/estream.c~ 2017-02-19 17:53:15.010869000 +0100 +@@ -74,12 +74,16 @@ + # include <sys/time.h> + #endif + #include <sys/types.h> +-#include <sys/file.h> ++/*#include <sys/file.h>*/ + #include <sys/stat.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +-#include <unistd.h> ++#ifdef _WIN32 ++# include <io.h> ++#else ++# include <unistd.h> ++#endif + #include <stdarg.h> + #include <fcntl.h> + #include <errno.h> +@@ -109,6 +113,15 @@ + + + #ifdef HAVE_W32_SYSTEM ++# ifndef S_IRUSR ++# define S_IRUSR _S_IREAD ++# endif ++# ifndef S_IWUSR ++# define S_IWUSR _S_IWRITE ++# endif ++# ifndef S_IXUSR ++# define S_IXUSR 0x00400000 ++# endif + # ifndef S_IRGRP + # define S_IRGRP S_IRUSR + # endif +diff -ur libgpg-error.org/src/estream-printf.c libgpg-error/src/estream-printf.c +--- src/estream-printf.c 2016-12-02 22:51:19.000000000 +0100 ++++ src/estream-printf.c~ 2017-02-19 18:02:52.239383500 +0100 +@@ -85,7 +85,11 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +-#include <unistd.h> ++#ifdef _WIN32 ++# include <io.h> ++#else ++# include <unistd.h> ++#endif + #include <stdarg.h> + #include <errno.h> + #include <stddef.h> +--- src/mkheader.c 2016-11-16 13:22:03.000000000 +0100 ++++ src/mkheader.c~ 2017-02-19 17:35:32.172009000 +0100 +@@ -16,7 +16,11 @@ + #include <stdlib.h> + #include <string.h> + #include <errno.h> +-#include <unistd.h> ++#ifdef _WIN32 ++# include <io.h> ++#else ++# include <unistd.h> ++#endif + + #define PGM "mkheader" + +@@ -402,12 +406,20 @@ + + repl_flag = !!strchr (name, '&'); + incfname = mk_include_name (name, repl_flag? host_triplet : NULL); ++#ifdef _WIN32 ++ rc = _access (incfname, 04); ++#else + rc = access (incfname, R_OK); ++#endif + if (rc && repl_flag) + { + free (incfname); + incfname = mk_include_name (name, host_os); ++#ifdef _WIN32 ++ rc = _access (incfname, 04); ++#else + rc = access (incfname, R_OK); ++#endif + } + if (!rc) + include_file (fname, lnr, name, outf); +diff -ur libgpg-error.org/src/w32-estream.c libgpg-error/src/w32-estream.c +--- src/w32-estream.c 2016-11-16 13:22:03.000000000 +0100 ++++ src/w32-estream.c~ 2017-02-19 17:37:35.879037500 +0100 +@@ -42,6 +42,11 @@ + + #include "gpgrt-int.h" + ++#ifdef _WIN32 ++/* no ssize_t in windows std headers, emulate for native build */ ++typedef SSIZE_T ssize_t; ++#endif ++ + /* + * In order to support es_poll on Windows, we create a proxy shim that + * we use as the estream I/O functions. This shim creates reader and +--- src/spawn-w32.c 2019-08-22 12:30:38.000000000 +0200 ++++ src/spawn-w32.c~ 2020-05-26 01:37:17.759077700 +0200 +@@ -34,7 +34,11 @@ + #ifdef HAVE_SIGNAL_H + # include <signal.h> + #endif +-#include <unistd.h> ++#ifdef _WIN32 ++# include <io.h> ++#else ++# include <unistd.h> ++#endif + #include <fcntl.h> + #ifdef HAVE_STAT + # include <sys/stat.h> + |