diff src/configure.ac @ 17059:70f424551938 v8.1.1529

patch 8.1.1529: libcanberra is linked with even when not used commit https://github.com/vim/vim/commit/21606676d9ebc6f159c56ee90733e5d5720ab3d7 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jun 14 20:40:58 2019 +0200 patch 8.1.1529: libcanberra is linked with even when not used Problem: Libcanberra is linked with even when not used. Solution: Have configure check for libcanberra only when wanted. (suggestions by Libor Bukata)
author Bram Moolenaar <Bram@vim.org>
date Fri, 14 Jun 2019 20:45:05 +0200
parents 353ed7ef78df
children d03a52e02f1a
line wrap: on
line diff
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -3751,27 +3751,44 @@ dnl define _LARGE_FILES, _FILE_OFFSET_BI
 dnl appropriate, so that off_t is 64 bits when needed.
 AC_SYS_LARGEFILE
 
-
-if test "x$PKG_CONFIG" != "xno"; then
-  canberra_lib=`$PKG_CONFIG --libs libcanberra 2>/dev/null`
-  canberra_cflags=`$PKG_CONFIG --cflags libcanberra 2>/dev/null`
-fi
-if test "x$canberra_lib" = "x"; then
-  canberra_lib=-lcanberra
-  canberra_cflags=-D_REENTRANT
+AC_MSG_CHECKING(--enable-canberra argument)
+AC_ARG_ENABLE(canberra,
+	[  --disable-canberra      Do not use libcanberra.],
+	, [enable_canberra="maybe"])
+
+if test "$enable_canberra" = "maybe"; then
+  if test "$features" = "big" -o "$features" = "huge"; then
+    AC_MSG_RESULT(Defaulting to yes)
+    enable_canberra="yes"
+  else
+    AC_MSG_RESULT(Defaulting to no)
+    enable_canberra="no"
+  fi
+else
+  AC_MSG_RESULT($enable_canberra)
 fi
-AC_MSG_CHECKING(for libcanberra)
-ac_save_CFLAGS="$CFLAGS"
-ac_save_LIBS="$LIBS"
-CFLAGS="$CFLAGS $canberra_cflags"
-LIBS="$LIBS $canberra_lib"
-AC_TRY_LINK([
-# include <canberra.h>
-    ], [
-   ca_context *hello;
-   ca_context_create(&hello);],
-     AC_MSG_RESULT(yes); AC_DEFINE(HAVE_CANBERRA),
-     AC_MSG_RESULT(no); CFLAGS="$ac_save_CFLAGS"; LIBS="$ac_save_LIBS")
+if test "$enable_canberra" = "yes"; then
+  if test "x$PKG_CONFIG" != "xno"; then
+    canberra_lib=`$PKG_CONFIG --libs libcanberra 2>/dev/null`
+    canberra_cflags=`$PKG_CONFIG --cflags libcanberra 2>/dev/null`
+  fi
+  if test "x$canberra_lib" = "x"; then
+    canberra_lib=-lcanberra
+    canberra_cflags=-D_REENTRANT
+  fi
+  AC_MSG_CHECKING(for libcanberra)
+  ac_save_CFLAGS="$CFLAGS"
+  ac_save_LIBS="$LIBS"
+  CFLAGS="$CFLAGS $canberra_cflags"
+  LIBS="$LIBS $canberra_lib"
+  AC_TRY_LINK([
+  # include <canberra.h>
+      ], [
+     ca_context *hello;
+     ca_context_create(&hello);],
+       AC_MSG_RESULT(yes); AC_DEFINE(HAVE_CANBERRA),
+       AC_MSG_RESULT(no); CFLAGS="$ac_save_CFLAGS"; LIBS="$ac_save_LIBS")
+fi
 
 
 dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible