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>
|