diff -ur gpgmepp.org/src/debug.h gpgmepp/src/debug.h --- gpgmepp.org/src/debug.h 2024-07-25 17:58:02.489364600 +0200 +++ gpgmepp/src/debug.h 2024-07-25 18:00:39.361407200 +0200 @@ -180,7 +180,7 @@ _trace_sysres_ssize_t (gpgme_ssize_t res, int lvl, const char *func, int line) { if (res >= 0) - _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%zd", (ssize_t)res); + _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%zd", res); else _gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL, "%s:%d: error: %s (%d)\n", diff -ur gpgmepp.org/src/dirinfo.c gpgmepp/src/dirinfo.c --- gpgmepp.org/src/dirinfo.c 2024-07-25 17:58:02.484361100 +0200 +++ gpgmepp/src/dirinfo.c 2024-07-25 18:00:39.363419600 +0200 @@ -40,6 +40,10 @@ DEFINE_STATIC_LOCK (dirinfo_lock); +#ifndef F_OK +#define F_OK 0 +#endif + /* Constants used internally to select the data. */ enum { diff -ur gpgmepp.org/src/gpgme-w32spawn.c gpgmepp/src/gpgme-w32spawn.c --- gpgmepp.org/src/gpgme-w32spawn.c 2024-07-25 17:58:02.487363200 +0200 +++ gpgmepp/src/gpgme-w32spawn.c 2024-07-25 18:00:39.365388700 +0200 @@ -53,6 +53,9 @@ #define mystderr stderr #endif +#ifdef _MSC_VER +#define snwprintf _snwprintf +#endif static wchar_t * diff -ur gpgmepp.org/src/Makefile.am gpgmepp/src/Makefile.am --- gpgmepp.org/src/Makefile.am 2024-07-25 17:58:02.485362200 +0200 +++ gpgmepp/src/Makefile.am 2024-07-25 18:00:39.375415900 +0200 @@ -35,7 +35,7 @@ m4data_DATA = gpgme.m4 nodist_include_HEADERS = gpgme.h -bin_PROGRAMS = gpgme-tool gpgme-json +bin_PROGRAMS = if BUILD_W32_GLIB ltlib_gpgme_glib = libgpgme-glib.la @@ -107,11 +107,11 @@ # versions, because then every object file is only compiled once. AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@ @GLIB_CFLAGS@ -gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h -gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@ +gpgme_tool_SOURCES = +gpgme_tool_LDADD = -gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h -gpgme_json_LDADD = -lm libgpgme.la @LIBASSUAN_LIBS@ $(GPG_ERROR_LIBS) +gpgme_json_SOURCES = +gpgme_json_LDADD = if HAVE_W32_SYSTEM @@ -128,7 +128,7 @@ SUFFIXES = .rc .lo .rc.lo: - $(LTRCCOMPILE) -i "$<" -o "$@" + $(LTRCCOMPILE) -i $< -o $@ gpgme_res = versioninfo.lo no_undefined = -no-undefined diff -ur gpgmepp.org/src/mbox-util.c gpgmepp/src/mbox-util.c --- gpgmepp.org/src/mbox-util.c 2024-07-25 17:58:02.485362200 +0200 +++ gpgmepp/src/mbox-util.c 2024-07-25 18:00:39.368412500 +0200 @@ -29,7 +29,9 @@ #include #include #include +#if HAVE_UNISTD_H #include +#endif #include #include "mbox-util.h" diff -ur gpgmepp.org/src/priv-io.h gpgmepp/src/priv-io.h --- gpgmepp.org/src/priv-io.h 2024-07-25 17:58:02.506376700 +0200 +++ gpgmepp/src/priv-io.h 2024-07-25 18:03:32.929548000 +0200 @@ -33,6 +33,13 @@ #ifdef HAVE_SYS_TYPES_H # include #endif +#if _MSC_VER +#ifdef _WIN64 +typedef long long pid_t; +#else +typedef int pid_t; +#endif +#endif /* A single file descriptor passed to spawn. For child fds, dup_to diff -ur gpgmepp.org/src/util.h gpgmepp/src/util.h --- gpgmepp.org/src/util.h 2024-07-25 17:58:02.483361200 +0200 +++ gpgmepp/src/util.h 2024-07-25 18:02:24.250226500 +0200 @@ -36,6 +36,13 @@ # include #endif #include +#ifdef _MSC_VER +#ifdef _WIN64 +typedef long long pid_t; +#else +typedef int pid_t; +#endif +#endif #include "gpgme.h" diff -ur gpgmepp.org/src/vfs-mount.c gpgmepp/src/vfs-mount.c --- gpgmepp.org/src/vfs-mount.c 2024-07-25 17:58:02.496369600 +0200 +++ gpgmepp/src/vfs-mount.c 2024-07-25 18:00:39.377426000 +0200 @@ -68,7 +68,7 @@ if (err) return err; - if (! strcasecmp ("MOUNTPOINT", code)) + if (! _stricmp ("MOUNTPOINT", code)) { if (opd->result.mount_dir) free (opd->result.mount_dir); diff -ur gpgmepp.org/src/w32-glib-io.c gpgmepp/src/w32-glib-io.c --- gpgmepp.org/src/w32-glib-io.c 2024-07-25 17:58:02.497370300 +0200 +++ gpgmepp/src/w32-glib-io.c 2024-07-25 18:00:39.378415700 +0200 @@ -37,6 +37,7 @@ #ifdef HAVE_SYS_TYPES_H # include #endif +#include #include #include #include diff -ur gpgmepp.org/src/w32-util.c gpgmepp/src/w32-util.c --- gpgmepp.org/src/w32-util.c 2024-07-25 17:58:02.476355800 +0200 +++ gpgmepp/src/w32-util.c 2024-07-25 18:00:39.373425500 +0200 @@ -877,7 +877,8 @@ v /= 62; XXXXXX[5] = letters[v % 62]; - fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); + //fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR); + fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL); if (fd >= 0) { gpg_err_set_errno (save_errno);