diff options
author | Werner Koch <[email protected]> | 2002-08-29 11:47:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-08-29 11:47:21 +0000 |
commit | a48cef2c6686e70e7f2d7ae59df0e7c667ce75d6 (patch) | |
tree | 8de9e3954dc12550cca5558a7032bf478c1f5841 /acinclude.m4 | |
parent | 2002-08-29 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-a48cef2c6686e70e7f2d7ae59df0e7c667ce75d6.tar.gz gpgme-a48cef2c6686e70e7f2d7ae59df0e7c667ce75d6.zip |
* acinclude.m4 (GNUPG_CHECK_VA_COPY): New.
* configure.ac: Use it.
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index b6f0a3a6..6a06343c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -4143,3 +4143,38 @@ else fi AC_MSG_RESULT([$SED]) ]) + +dnl GNUPG_CHECK_VA_COPY() +dnl Do some check on how to implement va_copy. +dnl May define MUST_COPY_VA_BY_VAL. +dnl Actual test code taken from glib-1.1. +AC_DEFUN(GNUPG_CHECK_VA_COPY, +[ AC_MSG_CHECKING(whether va_lists must be copied by value) + AC_CACHE_VAL(gnupg_cv_must_copy_va_byval,[ + gnupg_cv_must_copy_va_byval=no + AC_TRY_RUN([ + #include <stdarg.h> + void f (int i, ...) + { + va_list args1, args2; + va_start (args1, i); + args2 = args1; + if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42) + exit (1); + va_end (args1); + va_end (args2); + } + + int main() + { + f (0, 42); + return 0; + } + ],gnupg_cv_must_copy_va_byval=yes) + ]) + if test "$gnupg_cv_must_copy_va_byval" = yes; then + AC_DEFINE(MUST_COPY_VA_BYVAL,1,[used to implement the va_copy macro]) + fi + AC_MSG_RESULT($gnupg_cv_must_copy_va_byval) +]) + |