* acinclude.m4: Add AM_PATH_GPG_ERROR.
authorWerner Koch <wk@gnupg.org>
Wed, 19 Nov 2003 15:15:11 +0000 (15:15 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 19 Nov 2003 15:15:11 +0000 (15:15 +0000)
* configure.ac: Check for timegm.  Made warning messages more
prominent.

ChangeLog
TODO
acinclude.m4
configure.ac

index d88dc484516ffb5b9a7822e238809bbe87b0c552..576c222087de23b742cd1b9ccbe343768b836e9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-11-19  Werner Koch  <wk@gnupg.org>
+
+       * acinclude.m4: Add AM_PATH_GPG_ERROR.
+       * configure.ac: Check for timegm.  Made warning messages more
+       prominent.
+
 2003-10-06  Marcus Brinkmann  <marcus@g10code.de>
 
        Released 0.4.3.
diff --git a/TODO b/TODO
index e5841a85106f3f8e1454d2f3a574cdc39511eb8c..aab0da9e6cb75dbc47f240aa7f0075d1e5abf262 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,7 @@
 Hey Emacs, this is -*- outline -*- mode!
 
 * Before release:
-** currently nothing
+** Some gpg tests fail with gpg 1.3.4-cvs (gpg/t-keylist-sig)
 
 * ABI's to break:
 ** I/O and User Data could be made extensible.  But this can be done
@@ -27,6 +27,7 @@ Hey Emacs, this is -*- outline -*- mode!
 * Thread support:
 ** When GNU Pth supports sendmsg/recvmsg, wrap them properly.
 ** Without timegm (3) support our ISO time parser is not thread safe.
+   There is a configure time warning, though.
 
 * New features:
 ** notification system
index 30ee8ca3c429d6c138d49679ced3d15a8517e99a..57f90051b086cc57e5edc28a6783267c567599de 100644 (file)
@@ -499,3 +499,62 @@ AC_DEFUN([jm_GLIBC21],
     GLIBC21="$ac_cv_gnu_library_2_1"
   ]
 )
+
+
+dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION,
+dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
+dnl Test for libgpg-error and define GPG_ERROR_CFLAGS and GPG_ERROR_LIBS
+dnl
+dnl taken from libgpg-error 0.6
+dnl
+AC_DEFUN(AM_PATH_GPG_ERROR,
+[ AC_ARG_WITH(gpg-error-prefix,
+            AC_HELP_STRING([--with-gpg-error-prefix=PFX],
+                           [prefix where GPG Error is installed (optional)]),
+     gpg_error_config_prefix="$withval", gpg_error_config_prefix="")
+  if test x$gpg_error_config_prefix != x ; then
+     if test x${GPG_ERROR_CONFIG+set} != xset ; then
+        GPG_ERROR_CONFIG=$gpg_error_config_prefix/bin/gpg-error-config
+     fi
+  fi
+
+  AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
+  min_gpg_error_version=ifelse([$1], ,0.0,$1)
+  AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
+  ok=no
+  if test "$GPG_ERROR_CONFIG" != "no" ; then
+    req_major=`echo $min_gpg_error_version | \
+               sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+    req_minor=`echo $min_gpg_error_version | \
+               sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+    gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version`
+    major=`echo $gpg_error_config_version | \
+               sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+    minor=`echo $gpg_error_config_version | \
+               sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+    if test "$major" -gt "$req_major"; then
+        ok=yes
+    else 
+        if test "$major" -eq "$req_major"; then
+            if test "$minor" -ge "$req_minor"; then
+               ok=yes
+            fi
+        fi
+    fi
+  fi
+  if test $ok = yes; then
+    GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags`
+    GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs`
+    AC_MSG_RESULT(yes)
+    ifelse([$2], , :, [$2])
+  else
+    GPG_ERROR_CFLAGS=""
+    GPG_ERROR_LIBS=""
+    AC_MSG_RESULT(no)
+    ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(GPG_ERROR_CFLAGS)
+  AC_SUBST(GPG_ERROR_LIBS)
+])
+
+
index babd7141c66f48fdc367c4c94265501def9d0a9b..acc52a3ea9a224e53daa727c02c247767f366a8c 100644 (file)
@@ -169,7 +169,21 @@ fi
 have_getenv_r=no
 AC_CHECK_FUNCS(getenv_r, have_getenv_r=yes)
 if test $have_getenv_r = no && test $have_thread_safe_getenv = no; then
-  AC_MSG_WARN([getenv() is not thread-safe and getenv_r() does not exist])
+  AC_MSG_WARN([
+***
+*** getenv() is not thread-safe and getenv_r() does not exist
+***])
+fi
+
+# For converting time strings to seconds since Epoch, we need the timegm
+# function.
+AC_CHECK_FUNCS(timegm)
+if test "$ac_cv_func_timegm" != yes; then
+  AC_MSG_WARN([
+***
+*** timegm() not available - a non-thread-safe kludge will be used
+*** and the TZ variable might be changed at runtime.
+***])
 fi
 
 # Checking for libgpg-error.
@@ -197,9 +211,15 @@ fi
 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])
+      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])
+      AC_MSG_ERROR([
+***
+*** Can not determine path to GnuPG when cross-compiling, use --with-gpg=PATH
+***])
     fi
   fi
 else
@@ -227,9 +247,15 @@ 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])
+      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])
+      AC_MSG_ERROR([
+***
+*** Can not determine path to GpgSM when cross-compiling, use --with-gpgsm=PATH
+***])
     fi
   fi
 else