Insert platform dependent typedefs into gpgme.h
We already modify gpgme.h per playform and thus we can also get rid of some #ifdefs. The change does not change anything for current platforms but should do the right think for W64. Note that as per MS specs ssize_t is to be defined as LONG_PTR which translates to a long on 32 bit platforms and to __int64 on 64 bit Windows platforms. We already used long in the past. There seems to be a problem with some versions of mingw32 which includes a ssize_t type typedefed to int. O(n 32 bit W32 platforms int and long are identically.
This commit is contained in:
parent
b001a8df68
commit
7e547d87d2
@ -1,3 +1,9 @@
|
|||||||
|
2011-04-06 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* autogen.sh (--build-w32): Support option --build-w64.
|
||||||
|
* configure.ac (HAVE_W64_SYSTEM): Define.
|
||||||
|
(INSERT__TYPEDEFS_FOR_GPGME_H): New.
|
||||||
|
|
||||||
2011-02-02 Marcus Brinkmann <mb@g10code.com>
|
2011-02-02 Marcus Brinkmann <mb@g10code.com>
|
||||||
|
|
||||||
* configure.ac (NEED_LIBASSUAN_VERSION): Bump to 2.0.2 for system hooks.
|
* configure.ac (NEED_LIBASSUAN_VERSION): Bump to 2.0.2 for system hooks.
|
||||||
|
11
autogen.sh
11
autogen.sh
@ -65,6 +65,10 @@ case "$1" in
|
|||||||
myhost="w32"
|
myhost="w32"
|
||||||
myhostsub="ce"
|
myhostsub="ce"
|
||||||
;;
|
;;
|
||||||
|
--build-w64)
|
||||||
|
myhost="w32"
|
||||||
|
myhostsub="64"
|
||||||
|
;;
|
||||||
--build-amd64)
|
--build-amd64)
|
||||||
myhost="amd64"
|
myhost="amd64"
|
||||||
;;
|
;;
|
||||||
@ -95,6 +99,11 @@ if [ "$myhost" = "w32" ]; then
|
|||||||
[ -z "$w32root" ] && w32root="$HOME/w32ce_root"
|
[ -z "$w32root" ] && w32root="$HOME/w32ce_root"
|
||||||
toolprefixes="arm-mingw32ce"
|
toolprefixes="arm-mingw32ce"
|
||||||
;;
|
;;
|
||||||
|
64)
|
||||||
|
w32root="$w64root"
|
||||||
|
[ -z "$w32root" ] && w32root="$HOME/w64root"
|
||||||
|
toolprefixes="amd64-mingw32msvc"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
[ -z "$w32root" ] && w32root="$HOME/w32root"
|
[ -z "$w32root" ] && w32root="$HOME/w32root"
|
||||||
toolprefixes="i586-mingw32msvc i386-mingw32msvc"
|
toolprefixes="i586-mingw32msvc i386-mingw32msvc"
|
||||||
@ -112,7 +121,7 @@ if [ "$myhost" = "w32" ]; then
|
|||||||
done
|
done
|
||||||
if [ -z "$crossbindir" ]; then
|
if [ -z "$crossbindir" ]; then
|
||||||
echo "Cross compiler kit not installed" >&2
|
echo "Cross compiler kit not installed" >&2
|
||||||
if [ -z "$sub" ]; then
|
if [ -z "$myhostsub" ]; then
|
||||||
echo "Under Debian GNU/Linux, you may install it using" >&2
|
echo "Under Debian GNU/Linux, you may install it using" >&2
|
||||||
echo " apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2
|
echo " apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2
|
||||||
fi
|
fi
|
||||||
|
38
configure.ac
38
configure.ac
@ -1,7 +1,7 @@
|
|||||||
# configure.ac for GPGME
|
# configure.ac for GPGME
|
||||||
# Copyright (C) 2000 Werner Koch (dd9jn)
|
# Copyright (C) 2000 Werner Koch (dd9jn)
|
||||||
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
||||||
# 2009, 2010 g10 Code GmbH
|
# 2009, 2010, 2011 g10 Code GmbH
|
||||||
#
|
#
|
||||||
# This file is part of GPGME.
|
# This file is part of GPGME.
|
||||||
#
|
#
|
||||||
@ -132,16 +132,19 @@ G13_DEFAULT=no
|
|||||||
component_system=None
|
component_system=None
|
||||||
have_dosish_system=no
|
have_dosish_system=no
|
||||||
have_w32_system=no
|
have_w32_system=no
|
||||||
|
have_w64_system=no
|
||||||
build_w32_glib=no
|
build_w32_glib=no
|
||||||
build_w32_qt=no
|
build_w32_qt=no
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
|
x86_64-*mingw32*)
|
||||||
|
have_w64_system=yes
|
||||||
|
;;
|
||||||
*-mingw32ce*)
|
*-mingw32ce*)
|
||||||
have_w32ce_system=yes
|
have_w32ce_system=yes
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-mingw32ce*|*-mingw32*)
|
*-mingw32ce*|*-mingw32*)
|
||||||
# special stuff for Windoze NT
|
|
||||||
have_dosish_system=yes
|
have_dosish_system=yes
|
||||||
have_w32_system=yes
|
have_w32_system=yes
|
||||||
GPG_DEFAULT='c:\\gnupg\\gpg.exe'
|
GPG_DEFAULT='c:\\gnupg\\gpg.exe'
|
||||||
@ -194,13 +197,24 @@ fi
|
|||||||
AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
|
AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
|
||||||
|
|
||||||
if test "$have_w32_system" = yes; then
|
if test "$have_w32_system" = yes; then
|
||||||
AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system])
|
AC_DEFINE(HAVE_W32_SYSTEM,1,
|
||||||
|
[Defined if we run on any kind of W32 API based system])
|
||||||
|
ACSUBST
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes)
|
AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes)
|
||||||
|
|
||||||
|
if test "$have_w64_system" = yes; then
|
||||||
|
AC_DEFINE(HAVE_W64_SYSTEM,1,
|
||||||
|
[Defined if we run on a 64 bit W32 API based system])
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(HAVE_W64_SYSTEM, test "$have_w64_system" = yes)
|
||||||
|
|
||||||
if test "$have_w32ce_system" = yes; then
|
if test "$have_w32ce_system" = yes; then
|
||||||
AC_DEFINE(HAVE_W32CE_SYSTEM,1, [Defined if we run on a W32 CE API based system])
|
AC_DEFINE(HAVE_W32CE_SYSTEM,1,
|
||||||
|
[Defined if we run on a W32 CE API based system])
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes)
|
AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes)
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_W32_GLIB, test "$build_w32_glib" = yes)
|
AM_CONDITIONAL(BUILD_W32_GLIB, test "$build_w32_glib" = yes)
|
||||||
AM_CONDITIONAL(BUILD_W32_QT, test "$build_w32_qt" = yes)
|
AM_CONDITIONAL(BUILD_W32_QT, test "$build_w32_qt" = yes)
|
||||||
|
|
||||||
@ -233,6 +247,22 @@ case "$ac_cv_sys_file_offset_bits" in
|
|||||||
esac
|
esac
|
||||||
AC_SUBST(NEED__FILE_OFFSET_BITS)
|
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. */
|
||||||
|
typedef long off_t;
|
||||||
|
typedef long ssize_t;"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
INSERT__TYPEDEFS_FOR_GPGME_H="#include <sys/types.h>"
|
||||||
|
fi
|
||||||
|
AC_SUBST(INSERT__TYPEDEFS_FOR_GPGME_H)
|
||||||
|
|
||||||
# Checks for compiler features.
|
# Checks for compiler features.
|
||||||
if test "$GCC" = yes; then
|
if test "$GCC" = yes; then
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-04-06 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpgme.h.in: Use INSERT__TYPEDEFS_FOR_GPGME_H to include platform
|
||||||
|
specific typedefs.
|
||||||
|
|
||||||
2011-02-03 Werner Koch <wk@g10code.com>
|
2011-02-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* extra-stati.h: New.
|
* extra-stati.h: New.
|
||||||
@ -7074,7 +7079,8 @@
|
|||||||
* data.c (gpgme_data_rewind): Allow to rewind data_type_none.
|
* data.c (gpgme_data_rewind): Allow to rewind data_type_none.
|
||||||
|
|
||||||
|
|
||||||
Copyright 2001,2002,2003,2004,2005,2006,2007,2008,2009 g10 Code GmbH
|
Copyright 2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,
|
||||||
|
2011 g10 Code GmbH
|
||||||
|
|
||||||
This file is free software; as a special exception the author gives
|
This file is free software; as a special exception the author gives
|
||||||
unlimited permission to copy and/or distribute it, with or without
|
unlimited permission to copy and/or distribute it, with or without
|
||||||
|
@ -34,12 +34,7 @@
|
|||||||
/* Include stdio.h for the FILE type definition. */
|
/* Include stdio.h for the FILE type definition. */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef _WIN32
|
@INSERT__TYPEDEFS_FOR_GPGME_H@
|
||||||
typedef long off_t;
|
|
||||||
typedef long ssize_t;
|
|
||||||
#else
|
|
||||||
# include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user