diff --git a/ChangeLog b/ChangeLog index 14797c4b..886249bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-05-05 Marcus Brinkmann + + * configure.ac: Add infrastructure for compile time check of + _FILE_OFFSET_BITS. + 2009-04-19 Moritz * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Specify --with-gpg. diff --git a/configure.ac b/configure.ac index 5d49c08f..f02ca8ba 100644 --- a/configure.ac +++ b/configure.ac @@ -198,6 +198,18 @@ AC_CHECK_SIZEOF(unsigned int) AC_SYS_LARGEFILE AC_TYPE_OFF_T +# A simple compile time check in gpgme.h for GNU/Linux systems that +# prevents a file offset bits mismatch between gpgme and the application. +NEED__FILE_OFFSET_BITS=0 +case $ac_cv_sys_file_offset_bits in + no | unknown) ;; + *) + NEED__FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits + ;; +esac +AC_SUBST(NEED__FILE_OFFSET_BITS) + + # Checks for compiler features. if test "$GCC" = yes; then CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" diff --git a/src/ChangeLog b/src/ChangeLog index 1dcdb218..e2ac1439 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2009-05-05 Marcus Brinkmann + + * gpgme.h.in: Add compile time check for _FILE_OFFSET_BITS. + 2009-04-15 Marcus Brinkmann * posix-io.c (_gpgme_io_socket, _gpgme_io_connect): New functions. diff --git a/src/gpgme.h.in b/src/gpgme.h.in index 65823a66..474be73d 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -74,6 +74,17 @@ extern "C" { library. */ #define GPGME_VERSION "@PACKAGE_VERSION@" +/* Check for a matching _FILE_OFFSET_BITS definition. */ +#if @NEED__FILE_OFFSET_BITS@ +#ifndef _FILE_OFFSET_BITS +#error GPGME was compiled with _FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@, please see the section "Largefile support (LFS)" in the GPGME manual. +#else +#if (_FILE_OFFSET_BITS) != (@NEED__FILE_OFFSET_BITS@) +#error GPGME was compiled with a different value for _FILE_OFFSET_BITS, namely @NEED__FILE_OFFSET_BITS@, please see the section "Largefile support (LFS)" in the GPGME manual. +#endif +#endif +#endif + /* Some opaque data types used by GPGME. */