aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2013-04-25 11:00:16 +0000
committerWerner Koch <[email protected]>2013-05-16 15:48:50 +0000
commit6d0d8e7ba0bb989c251545fa8af35b97d1a703ba (patch)
tree9350cede809e12536956f6487c92d3f2d9489d66 /configure.ac
parentw32: Change the way the I/O threads are cleaned up. (diff)
downloadgpgme-6d0d8e7ba0bb989c251545fa8af35b97d1a703ba.tar.gz
gpgme-6d0d8e7ba0bb989c251545fa8af35b97d1a703ba.zip
Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t and gpgme_ssize_t. (API__OFF_T, API__SSIZE_T): New ac_subst. * src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros. * src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h * src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c * src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c * src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t by gpgme_off_t and sszie_t by gpgme_ssize_t. * src/ath-pthread.c, src/ath.h: Include gpgme.h. -- For a detailed description, see the gpgme.texi diff.
Diffstat (limited to '')
-rw-r--r--configure.ac36
1 files changed, 21 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 25dce1c6..015995b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -282,25 +282,31 @@ AC_SUBST(NEED__FILE_OFFSET_BITS)
# Figure out platform dependent typedefs for gpgme.h
if test "$have_w32_system" = yes; then
- if test "$have_w64_system" = yes; then
- INSERT__TYPEDEFS_FOR_GPGME_H="/* Typedefs for the 64 bit W32 API. */
-#include <basetsd.h>
-typedef long off_t;
-typedef __int64 ssize_t;"
- else
- INSERT__TYPEDEFS_FOR_GPGME_H="/* Typedefs for the 32 bit W32 API. */
-#ifndef _OFF_T_DEFINED /* Defined by newer mingw32 toolkits. */
-typedef long off_t;
-#endif
-#ifndef _SSIZE_T_DEFINED /* Defined by newer mingw32 toolkits. */
-typedef long ssize_t;
-#endif"
- fi
+ INSERT__TYPEDEFS_FOR_GPGME_H="
+#ifdef _WIN64
+# include <stdint.h>
+ typedef int64_t gpgme_off_t;
+ typedef int64_t gpgme_ssize_t;
+#else /* _WIN32 */
+ typedef long gpgme_off_t;
+ typedef long gpgme_ssize_t;
+#endif /* _WIN32 */"
+ API__OFF_T="gpgme_off_t"
+ API__SSIZE_T="gpgme_ssize_t"
else
- INSERT__TYPEDEFS_FOR_GPGME_H="#include <sys/types.h>"
+ INSERT__TYPEDEFS_FOR_GPGME_H="
+#include <sys/types.h>
+typedef off_t gpgme_off_t;
+typedef ssize_t gpgme_ssize_t;"
+ API__OFF_T="off_t"
+ API__SSIZE_T="ssize_t"
fi
AC_SUBST(INSERT__TYPEDEFS_FOR_GPGME_H)
AM_SUBST_NOTMAKE(INSERT__TYPEDEFS_FOR_GPGME_H)
+AC_SUBST(API__OFF_T)
+AM_SUBST_NOTMAKE(API__OFF_T)
+AC_SUBST(API__SSIZE_T)
+AM_SUBST_NOTMAKE(API__SSIZE_T)
# Checks for compiler features.
if test "$GCC" = yes; then