2009-05-05 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Tue, 5 May 2009 17:03:33 +0000 (17:03 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Tue, 5 May 2009 17:03:33 +0000 (17:03 +0000)
* configure.ac: Add infrastructure for compile time check of
_FILE_OFFSET_BITS.

src/
2009-05-05  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h.in: Add compile time check for _FILE_OFFSET_BITS.

ChangeLog
configure.ac
src/ChangeLog
src/gpgme.h.in

index 14797c4b118f497d7cc1271ee82cf84a389fb0af..886249bf7482b834ecee448e0fdbef090d20db36 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-05  Marcus Brinkmann  <marcus@g10code.de>
+
+       * configure.ac: Add infrastructure for compile time check of
+       _FILE_OFFSET_BITS.
+
 2009-04-19  Moritz  <moritz@gnu.org>
 
        * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Specify --with-gpg.
index 5d49c08f043b766a02732ef91104bb865d279e58..f02ca8bae1ee5fe4129756adc2ea7249be55ec21 100644 (file)
@@ -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"
index 1dcdb21890268a081c863599efdef35d8a9f92c6..e2ac1439e89278c846813a60c0a83f4d0f94cf4f 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-05  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.h.in: Add compile time check for _FILE_OFFSET_BITS.
+
 2009-04-15  Marcus Brinkmann  <marcus@g10code.de>
 
        * posix-io.c (_gpgme_io_socket, _gpgme_io_connect): New functions.
index 65823a66b2ff817ab840ad86db3073c1d37d34d7..474be73dccc1df5d0baa8fcb12b4d5b170a57578 100644 (file)
@@ -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
+
 
 \f
 /* Some opaque data types used by GPGME.  */