From patchwork Fri Mar 24 17:20:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Durrant X-Patchwork-Id: 9643403 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 75629601E9 for ; Fri, 24 Mar 2017 17:20:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 631F626223 for ; Fri, 24 Mar 2017 17:20:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 54A8C26E4C; Fri, 24 Mar 2017 17:20:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C070526223 for ; Fri, 24 Mar 2017 17:20:50 +0000 (UTC) Received: from localhost ([::1]:34214 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crStN-0008BY-U9 for patchwork-qemu-devel@patchwork.kernel.org; Fri, 24 Mar 2017 13:20:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59100) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crSsq-0008BR-La for qemu-devel@nongnu.org; Fri, 24 Mar 2017 13:20:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1crSsm-00028b-BC for qemu-devel@nongnu.org; Fri, 24 Mar 2017 13:20:16 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:5120) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1crSsm-00028Q-40 for qemu-devel@nongnu.org; Fri, 24 Mar 2017 13:20:12 -0400 X-IronPort-AV: E=Sophos;i="5.36,215,1486425600"; d="scan'208";a="424583603" From: Paul Durrant To: , Date: Fri, 24 Mar 2017 17:20:02 +0000 Message-ID: <1490376002-1223-1-git-send-email-paul.durrant@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 66.165.176.63 Subject: [Qemu-devel] [PATCH RESEND] xen: limit pkg-config to PKG_CONFIG_PATH for xen libraries X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Anthony Perard , Juergen Gross , Paul Durrant , Stefano Stabellini Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP The Xen tools Makefile has been modified to set PKG_CONFIG_PATH such that use of pkg-config in QEMU configure finds the newly built Xen libraries. However, because older versions of Xen do not set PKG_CONFIG_PATH in the Makefile, the QEMU configure script will pick up any Xen libraries that may be installed in the build system rather than the newly built ones. Thus, if Xen 4.9 is built and installed it becomes impossible to build tools for an older version of Xen on the same system (without manual de-installtion). This patch modifies configure to set PKG_CONFIG_LIBDIR to empty when looking for Xen libraries to ensure the search is limited only to PKG_CONFIG_PATH. This makes sure that, for versions of Xen prior to 4.9, pkg-config fails to find the Xen libraries an approriately falls back to previous methods of probing. Signed-off-by: Paul Durrant --- Cc: Anthony Perard Cc: Stefano Stabellini Cc: Juergen Gross --- configure | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/configure b/configure index fdf47e4..6ef5980 100755 --- a/configure +++ b/configure @@ -1974,6 +1974,10 @@ fi ########################################## # xen probe +xen_query_pkg_config() { + PKG_CONFIG_LIBDIR= ${pkg_config_exe} "$@" +} + if test "$xen" != "no" ; then xen_libs="-lxenstore -lxenctrl -lxenguest" xen_stable_libs="-lxenforeignmemory -lxengnttab -lxenevtchn" @@ -1997,9 +2001,9 @@ EOF xen=no # Xen version via pkg-config (Xen 4.9.0 and newer) - elif $pkg_config --exists xencontrol ; then + elif xen_query_pkg_config --exists xencontrol; then xen_ctrl_version="$(printf '%d%02d%02d' \ - $($pkg_config --modversion xencontrol | sed 's/\./ /g') )" + $(xen_query_pkg_config --modversion xencontrol | sed 's/\./ /g') )" xen=yes elif @@ -2216,8 +2220,8 @@ EOF if test $xen_ctrl_version -ge 40900 ; then xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn" xen_pc="$xen_pc xendevicemodel" - xen_libs="$($pkg_config --libs $xen_pc)" - QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)" + xen_libs="$(xen_query_pkg_config --libs $xen_pc)" + QEMU_CFLAGS="$QEMU_CFLAGS $(xen_query_pkg_config --cflags $xen_pc)" elif test $xen_ctrl_version -ge 40701 ; then libs_softmmu="$xen_stable_libs $libs_softmmu" fi