diff options
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 134 | 
1 files changed, 128 insertions, 6 deletions
| diff --git a/configure.ac b/configure.ac index 5145d128..fcae5ab5 100644 --- a/configure.ac +++ b/configure.ac @@ -114,6 +114,7 @@ AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")  GPG_DEFAULT=no  GPGSM_DEFAULT=no +GPGCONF_DEFAULT=no  component_system=None  have_dosish_system=no  have_w32_system=no @@ -126,6 +127,7 @@ case "${host}" in          have_w32_system=yes          GPG_DEFAULT='c:\\gnupg\\gpg.exe'  	GPGSM_DEFAULT='c:\\gnupg\\gpgsm.exe' +        GPGCONF_DEFAULT='c:\\gnupg\\gpgconf.exe'          #component_system='COM+'  	AM_PATH_GLIB_2_0 @@ -158,6 +160,7 @@ case "${host}" in  	# XXX: Probably use exec-prefix here?  #	GPG_DEFAULT='/usr/bin/gpg'  #	GPGSM_DEFAULT='/usr/bin/gpgsm' +#	GPGCONF_DEFAULT='/usr/bin/gpgconf'  	;;  esac @@ -261,8 +264,10 @@ AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME,  # Checks for system services  NEED_GPG_VERSION_DEFAULT=1.3.0  NEED_GPGSM_VERSION_DEFAULT=1.9.6 +NEED_GPGCONF_VERSION_DEFAULT=2.0.4  NEED_GPG_VERSION="$NEED_GPG_VERSION_DEFAULT"  NEED_GPGSM_VERSION="$NEED_GPGSM_VERSION_DEFAULT" +NEED_GPGCONF_VERSION="$NEED_GPGCONF_VERSION_DEFAULT"  AC_ARG_WITH(gpg-version,  	    AC_HELP_STRING([--with-gpg-version=VER], [require GnuPG version VER]),  	    NEED_GPG_VERSION=$withval) @@ -281,11 +286,22 @@ fi  if test "$NEED_GPGSM_VERSION" = "no"; then    NEED_GPGSM_VERSION=0.0.0  fi +AC_ARG_WITH(gpgconf-version, +	    AC_HELP_STRING([--with-gpgconf-version=VER], [require GPGCONF version VER]), +	    NEED_GPGCONF_VERSION=$withval) +if test "$NEED_GPGCONF_VERSION" = "yes"; then +  NEED_GPGCONF_VERSION="$NEED_GPGCONF_VERSION_DEFAULT" +fi +if test "$NEED_GPGCONF_VERSION" = "no"; then +  NEED_GPGCONF_VERSION=0.0.0 +fi  AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION",  				     [Min. needed GnuPG version.])  AC_DEFINE_UNQUOTED(NEED_GPGSM_VERSION, "$NEED_GPGSM_VERSION",  				       [Min. needed GPGSM version.]) +AC_DEFINE_UNQUOTED(NEED_GPGCONF_VERSION, "$NEED_GPGCONF_VERSION", +				         [Min. needed GPGCONF version.])  NO_OVERRIDE=no @@ -477,6 +493,109 @@ AC_ARG_ENABLE(gpgsm-test,  AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$run_gpgsm_test" = "yes") +NO_OVERRIDE=no +AC_ARG_WITH(gpgconf, +	    AC_HELP_STRING([--with-gpgconf=PATH], +                           [use gpgconf binary at PATH]), +	    GPGCONF=$withval, NO_OVERRIDE=yes) +if test "$NO_OVERRIDE" = "yes" || test "$GPGCONF" = "yes"; then +  GPGCONF= +  NO_OVERRIDE=yes +  if test "$cross_compiling" != "yes"; then +    AC_PATH_PROG(GPGCONF, gpgconf) +  fi +  if test -z "$GPGCONF"; then +    GPGCONF="$GPGCONF_DEFAULT" +  fi +fi +if test "$GPGCONF" = no; then +  if test "$NO_OVERRIDE" = "yes"; then +    if test "$cross_compiling" != "yes"; then +      AC_MSG_WARN([ +*** +*** Could not find gpgconf, install gpgconf or use --with-gpgconf=PATH to enable it +***]) +    else +      AC_MSG_ERROR([ +*** +*** Can not determine path to gpgconf when cross-compiling, use --with-gpgconf=PATH +***]) +    fi +  fi +else +  AC_DEFINE_UNQUOTED(GPGCONF_PATH, "$GPGCONF", [Path to the GPGCONF binary.]) +  AC_DEFINE(ENABLE_GPGCONF,1,[Whether GPGCONF support is enabled]) +fi +AM_CONDITIONAL(HAVE_GPGCONF, test "$GPGCONF" != "no") + +dnl Check for GPGCONF version requirement. +GPGCONF_VERSION=unknown +ok=maybe +if test -z "$GPGCONF" -o "x$GPGCONF" = "xno"; then +  ok=no +else +  if test "$cross_compiling" = "yes"; then +    AC_MSG_WARN([GPGCONF version can not be checked when cross compiling]) +    ok=no +  else +    if test ! -x "$GPGCONF"; then +      AC_MSG_WARN([GPGCONF not executable, version check disabled]) +      ok=no +    fi +  fi +fi +if test "$ok" = "maybe"; then +  AC_MSG_CHECKING(for GPGCONF >= $NEED_GPGCONF_VERSION) +  req_major=`echo $NEED_GPGCONF_VERSION | \ +             sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` +  req_minor=`echo $NEED_GPGCONF_VERSION | \ +	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` +  req_micro=`echo $NEED_GPGCONF_VERSION | \ +	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` +  GPGCONF_VERSION=`$GPGCONF --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'` +  major=`echo $GPGCONF_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` +  minor=`echo $GPGCONF_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` +  micro=`echo $GPGCONF_VERSION | \ +	 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` + +  if test "$major" -gt "$req_major"; then +    ok=yes +  else +    if test "$major" -eq "$req_major"; then +      if test "$minor" -gt "$req_minor"; then +        ok=yes +      else +        if test "$minor" -eq "$req_minor"; then +          if test "$micro" -ge "$req_micro"; then +            ok=yes +	  fi +        fi +      fi +    fi +  fi +  if test "$ok" = "yes"; then +    AC_MSG_RESULT(yes) +  else +    AC_MSG_RESULT(no) +    AC_MSG_WARN([GPGCONF must be at least version $NEED_GPGCONF_VERSION]) +  fi +fi +run_gpgconf_test="$ok" +AC_ARG_ENABLE(gpgconf-test, +  AC_HELP_STRING([--disable-gpgconf-test], [disable GPGCONF run test]), +         run_gpgconf_test=$enableval) +AM_CONDITIONAL(RUN_GPGCONF_TESTS, test "$run_gpgconf_test" = "yes") + +# Only build if supported. +AM_CONDITIONAL(BUILD_GPGCONF, test "$GPGCONF" != "no") +if test "$GPGCONF" != "no"; then +  AC_DEFINE(HAVE_GPGCONF, 1, +            [Defined if we are building with gpgconf support.]) +fi + +  # FIXME: Only build if supported.  AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no")  if test "$GPGSM" != "no"; then @@ -634,12 +753,15 @@ AC_OUTPUT  echo "  	GPGME v${VERSION} has been configured as follows: -	GnuPG path:    $GPG -        GnuPG version: $GPG_VERSION, min. $NEED_GPG_VERSION +	GnuPG path:      $GPG +        GnuPG version:   $GPG_VERSION, min. $NEED_GPG_VERSION + +	GpgSM path:      $GPGSM +        GpgSM version:   $GPGSM_VERSION, min. $NEED_GPGSM_VERSION -	GpgSM path:    $GPGSM -        GpgSM version: $GPGSM_VERSION, min. $NEED_GPGSM_VERSION +	GpgConf path:    $GPGCONF +        GpgConf version: $GPGCONF_VERSION, min. $NEED_GPGCONF_VERSION -	GPGME Pthread: $have_pthread -	GPGME Pth:     $have_pth +	GPGME Pthread:   $have_pthread +	GPGME Pth:       $have_pth  " | 
