diff options
author | Werner Koch <[email protected]> | 2013-04-25 11:00:16 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2013-05-16 15:48:50 +0000 |
commit | 6d0d8e7ba0bb989c251545fa8af35b97d1a703ba (patch) | |
tree | 9350cede809e12536956f6487c92d3f2d9489d66 /configure.ac | |
parent | w32: Change the way the I/O threads are cleaned up. (diff) | |
download | gpgme-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.ac | 36 |
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 |