core,w32: Fix minor potential memleak
[gpgme.git] / configure.ac
index 1b607e0..e8a0815 100644 (file)
@@ -29,7 +29,7 @@ min_automake_version="1.14"
 # for the LT versions.
 m4_define([mym4_package],[gpgme])
 m4_define([mym4_major], [1])
-m4_define([mym4_minor], [12])
+m4_define([mym4_minor], [13])
 m4_define([mym4_micro], [1])
 
 # Below is m4 magic to extract and compute the git revision number,
@@ -51,20 +51,20 @@ AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org])
 #   (Interfaces added:                 AGE++)
 #   (Interfaces removed:               AGE=0)
 #
-LIBGPGME_LT_CURRENT=32
-LIBGPGME_LT_AGE=21
+LIBGPGME_LT_CURRENT=33
+LIBGPGME_LT_AGE=22
 LIBGPGME_LT_REVISION=0
 
 # If there is an ABI break in gpgmepp or qgpgme also bump the
 # version in IMPORTED_LOCATION in the GpgmeppConfig-w32.cmake.in.in
 
-LIBGPGMEPP_LT_CURRENT=14
-LIBGPGMEPP_LT_AGE=8
+LIBGPGMEPP_LT_CURRENT=15
+LIBGPGMEPP_LT_AGE=9
 LIBGPGMEPP_LT_REVISION=0
 
 LIBQGPGME_LT_CURRENT=10
 LIBQGPGME_LT_AGE=3
-LIBQGPGME_LT_REVISION=2
+LIBQGPGME_LT_REVISION=3
 ################################################
 
 AC_SUBST(LIBGPGME_LT_CURRENT)
@@ -105,6 +105,41 @@ AC_ARG_VAR(SYSROOT,[locate config scripts also below that directory])
 # Enable GNU extensions on systems that have them.
 AC_GNU_SOURCE
 
+# Taken from mpfr-4.0.1, then modified for LDADD_FOR_TESTS_KLUDGE
+dnl Under Linux, make sure that the old dtags are used if LD_LIBRARY_PATH
+dnl is defined. The issue is that with the new dtags, LD_LIBRARY_PATH has
+dnl the precedence over the run path, so that if a compatible MPFR library
+dnl is installed in some directory from $LD_LIBRARY_PATH, then the tested
+dnl MPFR library will be this library instead of the MPFR library from the
+dnl build tree. Other OS with the same issue might be added later.
+dnl
+dnl References:
+dnl   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859732
+dnl   http://lists.gnu.org/archive/html/libtool/2017-05/msg00000.html
+dnl
+dnl We need to check whether --disable-new-dtags is supported as alternate
+dnl linkers may be used (e.g., with tcc: CC=tcc LD=tcc).
+dnl
+case $host in
+  *-*-linux*)
+    if test -n "$LD_LIBRARY_PATH"; then
+      saved_LDFLAGS="$LDFLAGS"
+      LDADD_FOR_TESTS_KLUDGE="-Wl,--disable-new-dtags"
+      LDFLAGS="$LDFLAGS $LDADD_FOR_TESTS_KLUDGE"
+      AC_MSG_CHECKING(whether --disable-new-dtags is supported by the linker)
+      AC_LINK_IFELSE([AC_LANG_SOURCE([[
+int main (void) { return 0; }
+      ]])],
+      [AC_MSG_RESULT(yes (use it since LD_LIBRARY_PATH is set))],
+      [AC_MSG_RESULT(no)
+       LDADD_FOR_TESTS_KLUDGE=""
+      ])
+      LDFLAGS="$saved_LDFLAGS"
+    fi
+    ;;
+esac
+AC_SUBST([LDADD_FOR_TESTS_KLUDGE])
+
 AH_VERBATIM([_REENTRANT],
 [/* To allow the use of GPGME in multithreaded programs we have to use
   special features from the library.
@@ -582,6 +617,8 @@ if test "$GCC" = yes; then
           CFLAGS="$CFLAGS -Wno-missing-field-initializers"
           CFLAGS="$CFLAGS -Wno-sign-compare"
           CFLAGS="$CFLAGS -Wno-format-zero-length"
+          CFLAGS="$CFLAGS -Wno-format-truncation"
+          CFLAGS="$CFLAGS -Wno-sizeof-pointer-div"
         fi
         CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-shadow"