# configure.ac for GPGME
# Copyright (C) 2000 Werner Koch (dd9jn)
# 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.
-#
+#
# GPGME is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
-#
+#
# GPGME is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
# Public License for more details.
-#
+#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
+
# (Process this file with autoconf to produce a configure script.)
AC_PREREQ(2.59)
min_automake_version="1.10"
# specific feature can already be done under the assumption that the
# SVN version is the most recent one in a branch. To disable the SVN
# version for the real release, set the my_issvn macro to no.
-m4_define(my_version, [1.3.0])
-m4_define(my_issvn, [no])
+m4_define(my_version, [1.3.1])
+m4_define(my_issvn, [yes])
m4_define([svn_revision], m4_esyscmd([printf "%d" $( (svn info 2>/dev/null \
|| echo 'Revision: 0')|sed -n '/^Revision:/ {s/[^0-9]//gp;q;}')]))
-AC_INIT([gpgme],
- [my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision])],
+m4_define([git_revision], m4_esyscmd([git branch -v 2>/dev/null \
+ | awk '/^\* / {printf "%s",$3}']))
+AC_INIT([gpgme],
+ [my_version[]m4_if(my_issvn,[yes],
+ [m4_if(git_revision,[],[-svn[]svn_revision],[-git[]git_revision])])],
[bug-gpgme@gnupg.org])
GPGME_CONFIG_API_VERSION=1
##############################################
+NEED_LIBASSUAN_API=2
+NEED_LIBASSUAN_VERSION=2.0.2
+
-BUILD_REVISION=svn_revision
+m4_define([git_brevis],m4_esyscmd(printf "%u" 0x[]m4_substr(git_revision,0,4)))
+BUILD_REVISION=m4_if(git_revision,[],[svn_revision],[git_brevis])
PACKAGE=$PACKAGE_NAME
VERSION=$PACKAGE_VERSION
component_system=None
have_dosish_system=no
have_w32_system=no
+have_w64_system=no
build_w32_glib=no
build_w32_qt=no
case "${host}" in
- *-mingw32*)
- # special stuff for Windoze NT
+ x86_64-*mingw32*)
+ have_w64_system=yes
+ ;;
+ *-mingw32ce*)
+ have_w32ce_system=yes
+ ;;
+esac
+case "${host}" in
+ *-mingw32ce*|*-mingw32*)
have_dosish_system=yes
have_w32_system=yes
GPG_DEFAULT='c:\\gnupg\\gpg.exe'
if test "$have_dosish_system" = yes; then
AC_DEFINE(HAVE_DOSISH_SYSTEM,1,
- [Defined if we run on some of the PCDOS like systems
+ [Defined if we run on some of the PCDOS like systems
(DOS, Windoze. OS/2) with special properties like
no file modes])
fi
AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes)
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
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
+ AC_DEFINE(HAVE_W32CE_SYSTEM,1,
+ [Defined if we run on a W32 CE API based system])
+fi
+AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes)
+
AM_CONDITIONAL(BUILD_W32_GLIB, test "$build_w32_glib" = yes)
AM_CONDITIONAL(BUILD_W32_QT, test "$build_w32_qt" = yes)
# Checks for header files.
+AC_CHECK_HEADERS([locale.h])
AC_CHECK_HEADERS(sys/select.h)
AC_CHECK_HEADERS([sys/uio.h])
esac
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.
if test "$GCC" = yes; then
***])
fi
+AC_CHECK_FUNCS(setlocale)
+
# Checking for libgpg-error.
-AM_PATH_GPG_ERROR(1.4,, AC_MSG_ERROR([libgpg-error was not found]))
+AM_PATH_GPG_ERROR(1.8,, AC_MSG_ERROR([libgpg-error was not found]))
AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME,
[The default error source for GPGME.])
# And for libassuan.
-NEED_LIBASSUAN_VERSION=1.1.0
have_libassuan=no
-AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_VERSION",
+AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION",
have_libassuan=yes, have_libassuan=no)
+if test "$have_libassuan" = "yes"; then
+ AC_DEFINE_UNQUOTED(GPGME_LIBASSUAN_VERSION, "$libassuan_version",
+ [version of the libassuan library])
+fi
AM_CONDITIONAL(HAVE_ASSUAN, test "$have_libassuan" = "yes")
if test "$have_libassuan" = "yes"; then
AC_DEFINE(ENABLE_ASSUAN,1,[Whether Assuan support is enabled])
run_gpgsm_test=$enableval)
AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$run_gpgsm_test" = "yes")
-# Require libassuan if GPGSM is here.
-require_libassuan=no
-if test "$GPGSM" != "no"; then
- require_libassuan=yes
-fi
-if test "$G13" != "no"; then
- require_libassuan=yes
-fi
-
NO_OVERRIDE=no
AC_ARG_WITH(gpgconf,
# Replacement functions.
AC_REPLACE_FUNCS(stpcpy)
# Check for unistd.h for setenv replacement function.
-AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS([unistd.h sys/time.h sys/types.h sys/stat.h])
AC_REPLACE_FUNCS(setenv)
# Assuan check for descriptor passing.
#include <unistd.h>
])
+use_descriptor_passing=no
AC_ARG_ENABLE(fd-passing,
AC_HELP_STRING([--enable-fd-passing], [use FD passing if supported]),
use_descriptor_passing=$enableval)
# Generate values for the DLL version info
if test "$have_w32_system" = yes; then
BUILD_TIMESTAMP=`date --iso-8601=minutes`
- changequote(,)dnl
+ changequote(,)dnl
BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'`
changequote([,])dnl
BUILD_FILEVERSION="${BUILD_FILEVERSION}${BUILD_REVISION}"
AH_BOTTOM([
/* Definition of GCC specific attributes. */
-#if __GNUC__ > 2
+#if __GNUC__ > 2
# define GPGME_GCC_A_PURE __attribute__ ((__pure__))
#else
# define GPGME_GCC_A_PURE
#endif
+
+/* Under WindowsCE we need gpg-error's strerror macro. */
+#define GPG_ERR_ENABLE_ERRNO_MACROS 1
])
-# Substitution used for gpgme-config
+# Substitution used for gpgme-config
GPGME_CONFIG_LIBS="-lgpgme"
GPGME_CONFIG_CFLAGS=""
AC_SUBST(GPGME_CONFIG_API_VERSION)
[#include <errno.h>])
+# A substitution to set generated files in a Emacs buffer to read-only.
+AC_SUBST(emacs_local_vars_begin, ['Local Variables:'])
+AC_SUBST(emacs_local_vars_read_only, ['buffer-read-only: t'])
+AC_SUBST(emacs_local_vars_end, ['End:'])
+
+
# Last check.
die=no
-if test "$require_libassuan" = "no"; then
+if test "$have_libassuan" = "no"; then
die=yes
AC_MSG_NOTICE([[
***
*** You need libassuan to build this program with GPGSM support.
*** This library is for example available at
-*** ftp://ftp.gnupg.org/pub/gcrypt/alpha/libassuan/
-*** (at least version $NEED_LIBASSUAN_VERSION is required).
+*** ftp://ftp.gnupg.org/gcrypt/libassuan/
+*** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required).
***]])
fi
#
-# Create config files
+# Create config files
AC_CONFIG_FILES(Makefile src/Makefile
- tests/Makefile
+ tests/Makefile
tests/gpg/Makefile
tests/gpgsm/Makefile
tests/opassuan/Makefile
AC_OUTPUT
echo "
- GPGME v${VERSION} has been configured as follows:
+ GPGME v${VERSION} has been configured as follows:
- GnuPG path: $GPG
+ GnuPG path: $GPG
GnuPG version: $GPG_VERSION, min. $NEED_GPG_VERSION
- GpgSM path: $GPGSM
+ GpgSM path: $GPGSM
GpgSM version: $GPGSM_VERSION, min. $NEED_GPGSM_VERSION
- GpgConf path: $GPGCONF
+ GpgConf path: $GPGCONF
GpgConf version: $GPGCONF_VERSION, min. $NEED_GPGCONF_VERSION
- G13 path: $G13
+ G13 path: $G13
G13 version: $G13_VERSION, min. $NEED_G13_VERSION
- Assuan version: $LIBASSUAN_VERSION
+ Assuan version: $libassuan_version, min. $NEED_LIBASSUAN_VERSION
- UI Server: $uiserver
+ UI Server: $uiserver
FD Passing: $use_descriptor_passing
- GPGME Pthread: $have_pthread
- GPGME Pth: $have_pth
+ GPGME Pthread: $have_pthread
+ GPGME Pth: $have_pth
"