summaryrefslogtreecommitdiffstats
path: root/external/libgpg-error/w32-build-fixes.patch
blob: 1de57e4240890275755125d4c6aa52a20ecb82c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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>