aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--configure.ac (renamed from configure.in)169
1 files changed, 96 insertions, 73 deletions
diff --git a/configure.in b/configure.ac
index 8e830334..9ef4d44a 100644
--- a/configure.in
+++ b/configure.ac
@@ -19,16 +19,22 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
# (Process this file with autoconf to produce a configure script.)
-AC_REVISION($Revision$)dnl
-AC_INIT(gpgme/gpgme.h)
+AC_INIT(gpgme, 0.2.3a, [[email protected]])
+AC_PREREQ(2.52)
+AC_REVISION($Revision$)
+
+AC_CONFIG_SRCDIR(gpgme/gpgme.h)
AM_CONFIG_HEADER(config.h)
+AM_INIT_AUTOMAKE(gpgme, 0.2.3a)
AM_MAINTAINER_MODE
-# Version numbers (Remember to change them just before a release)
+
+AC_PROG_CC
+
+# Version numbers (Remember to change them just before a release.)
# (Interfaces removed: CURRENT++, AGE=0, REVISION=0)
# (Interfaces added: CURRENT++, AGE++, REVISION=0)
# (No interfaces changed: REVISION++)
-AM_INIT_AUTOMAKE(gpgme,0.2.3a)
# XXXX new functions
LIBGPGME_LT_CURRENT=4
LIBGPGME_LT_AGE=4
@@ -41,21 +47,12 @@ AC_SUBST(LIBGPGME_LT_AGE)
AC_SUBST(LIBGPGME_LT_REVISION)
AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION")
+dnl Don't default to build static libs.
+dnl AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
-dnl
-dnl Checks for programs
-dnl
-AC_ARG_PROGRAM
-
-dnl Don't default to build static libs
-dnl AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
-
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
-fi
-
-GPG=
+GPG_DEFAULT=no
+GPGSM_DEFAULT=no
component_system=None
case "${target}" in
*-*-mingw32* | i?86-emx-os2 | i?86-*-os2*emx | i?86-*-msdosdjgpp* )
@@ -64,85 +61,119 @@ case "${target}" in
# DOS with the DJGPP environment
AC_DEFINE(HAVE_DRIVE_LETTERS)
AC_DEFINE(HAVE_DOSISH_SYSTEM)
- GPG='c:\\gnupg\\gpg.exe'
+ GPG_DEFAULT='c:\\gnupg\\gpg.exe'
+ GPGSM_DEFAULT='c:\\gnupg\\gpgsm.exe'
#component_system='COM+'
;;
*)
- ;;
+dnl # XXX: Probably use exec-prefix here?
+dnl GPG_DEFAULT='/usr/bin/gpg'
+dnl GPGSM_DEFAULT='/usr/bin/gpgsm'
+ ;;
esac
-
-
-
dnl
-dnl Checks for libraries
+dnl Checks for libraries.
dnl
+dnl FIXME: check whether Bonobo is installed
+
dnl
-dnl Checks for header files
+dnl Checks for header files.
dnl
-
-
dnl
-dnl Checks for typedefs and structures
+dnl Checks for typedefs and structures.
dnl
GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
+
# We should not use them in this software;
# However jnlib/types.h needs them - so we take the easy way.
-AC_CHECK_SIZEOF(unsigned short, 2)
-AC_CHECK_SIZEOF(unsigned int, 4)
-AC_CHECK_SIZEOF(unsigned long, 4)
-if test "$ac_cv_sizeof_unsigned_short" = "0" \
- || test "$ac_cv_sizeof_unsigned_int" = "0" \
- || test "$ac_cv_sizeof_unsigned_long" = "0"; then
- AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
-fi
-
-
+AC_CHECK_SIZEOF(unsigned short)
+AC_CHECK_SIZEOF(unsigned int)
+AC_CHECK_SIZEOF(unsigned long)
dnl
-dnl Checks for compiler features
+dnl Checks for compiler features.
dnl
+if test "$GCC" = yes; then
+ CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
+fi
+
dnl
-dnl Checks for library functions
+dnl Checks for library functions.
dnl
dnl These are needed by libjnlib
AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp)
-
dnl
dnl Checks for system services
dnl
-if test -z "$GPG"; then
- AC_PATH_PROG(GPG, gpg)
+NO_OVERRIDE=no
+AC_ARG_WITH(gpg,
+ AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]),
+ GPG=$withval, NO_OVERRIDE=yes)
+if test "$NO_OVERRIDE" = "yes" || test "$GPG" = "yes"; then
+ GPG=
+ NO_OVERRIDE=yes
+ if test "$cross_compiling" != "yes"; then
+ AC_PATH_PROG(GPG, gpg)
+ fi
if test -z "$GPG"; then
- AC_MSG_ERROR([[
-***
-*** GnuPG not found. Please install GnuPG first.
-*** See http://www.gnupg.org/download.html
-***
- ]])
+ GPG="$GPG_DEFAULT"
fi
fi
-AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG")
-
-
-dnl
-dnl FIXME: check whether Bonobo is installed
-dnl
-
+if test "$GPG" = no; then
+ if test "$NO_OVERRIDE" = "yes"; then
+ if test "$cross_compiling" != "yes"; then
+ AC_MSG_WARN([Could not find GnuPG, install GnuPG or use --with-gpg=PATH to enable it])
+ else
+ AC_MSG_ERROR([Can not determine path to GnuPG when cross-compiling, use --with-gpg=PATH])
+ fi
+ fi
+else
+ AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG")
+fi
+AM_CONDITIONAL(RUN_GPG_TESTS,
+ [test "$cross_compiling" != "yes" && test -n "$GPG" && test -r "$GPG"])
+
+NO_OVERRIDE=no
+AC_ARG_WITH(gpgsm,
+ AC_HELP_STRING([--with-gpgsm=PATH], [use GpgSM binary at PATH]),
+ GPGSM=$withval, NO_OVERRIDE=yes)
+if test "$NO_OVERRIDE" = "yes" || test "$GPGSM" = "yes"; then
+ GPGSM=
+ NO_OVERRIDE=yes
+ if test "$cross_compiling" != "yes"; then
+ AC_PATH_PROG(GPGSM, gpgsm)
+ fi
+ if test -z "$GPGSM"; then
+ GPGSM="$GPGSM_DEFAULT"
+ fi
+fi
+if test "$GPGSM" = no; then
+ if test "$NO_OVERRIDE" = "yes"; then
+ if test "$cross_compiling" != "yes"; then
+ AC_MSG_WARN([Could not find GpgSM, install GpgSM or use --with-gpgsm=PATH to enable it])
+ else
+ AC_MSG_ERROR([Can not determine path to GpgSM when cross-compiling, use --with-gpgsm=PATH])
+ fi
+ fi
+else
+ AC_DEFINE_UNQUOTED(GPGSM_PATH, "$GPGSM")
+fi
+AM_CONDITIONAL(RUN_GPGSM_TESTS,
+ [test "$cross_compiling" != "yes" && test -n "$GPGSM" && test -r "$GPGSM"])
dnl
dnl Create config files
dnl
-dnl
AM_CONDITIONAL(BUILD_COMPLUS, test "$component_system" = "COM+")
AM_CONDITIONAL(BUILD_BONOBO, test "$component_system" = "Bonobo")
@@ -157,24 +188,16 @@ GPGME_CFLAGS=""
AC_SUBST(GPGME_LIBS)
AC_SUBST(GPGME_CFLAGS)
-AC_OUTPUT_COMMANDS([
-chmod +x gpgme/gpgme-config
-])
-
-AC_OUTPUT([
-Makefile
-jnlib/Makefile
-gpgme/Makefile
-gpgme/gpgme-config
-tests/Makefile
-doc/Makefile
-bonobo/Makefile
-complus/Makefile
-])
+AC_CONFIG_FILES(Makefile jnlib/Makefile gpgme/Makefile tests/Makefile
+ doc/Makefile bonobo/Makefile complus/Makefile)
+AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config)
+AC_OUTPUT
echo "
GPGME v${VERSION} has been configured as follows:
- GPG version: min. $NEED_GPG_VERSION
- GPG path: $GPG
+ GnuPG version: min. $NEED_GPG_VERSION
+ GnuPG path: $GPG
+
+ GpgSM path: $GPGSM
"