]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
m4: readline: Add gross kludge for include path
authorAndrea Bolognani <abologna@redhat.com>
Tue, 9 Apr 2019 11:48:47 +0000 (13:48 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 12 Apr 2019 14:22:32 +0000 (16:22 +0200)
Unfortunately the data reported by pkg-config is not completely
accurate, so until the issue has been fixed in readline we need
to work around it in libvirt.

The good news is that we only need the fix to land in FreeBSD
ports and macOS homebrew before we can drop the kludge, so
we're talking months rather than years.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
m4/virt-readline.m4

index 1bec5deb220194889bec019eeb907bebc30a416e..cd12110c4e2da7e5c661d226cf603acb5152cec2 100644 (file)
@@ -62,6 +62,23 @@ AC_DEFUN([LIBVIRT_CHECK_READLINE],[
       *) READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS" ;;
     esac
   fi
+
+  # Gross kludge for readline include path obtained through pkg-config.
+  #
+  # As of 8.0, upstream readline.pc has -I${includedir}/readline among
+  # its Cflags, which is clearly wrong. This does not affect Linux
+  # because ${includedir} is already part of the default include path,
+  # but on other platforms that's not the case and the result is that
+  # <readline/readline.h> can't be located, causing the build to fail.
+  # A patch solving this issue has already been posted upstream, so once
+  # the fix has landed in FreeBSD ports and macOS homebrew we can safely
+  # drop the kludge and rely on pkg-config alone on those platforms.
+  #
+  # [1] http://lists.gnu.org/archive/html/bug-readline/2019-04/msg00007.html
+  case "$READLINE_CFLAGS" in
+    *include/readline*) READLINE_CFLAGS=$(echo $READLINE_CFLAGS | sed s,include/readline,include,g) ;;
+    *) ;;
+  esac
 ])
 
 AC_DEFUN([LIBVIRT_RESULT_READLINE],[