diff mbox

[for-4.8] tools/configure: fix pkg-config install path for FreeBSD

Message ID 1477387248-22792-1-git-send-email-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Roger Pau Monné Oct. 25, 2016, 9:20 a.m. UTC
pkg-config from FreeBSD ports doesn't have ${prefix}/share/pkgconfig in the
default search path, fix this by having a PKG_INSTALLDIR variable that can
be changed on a per-OS basis.

It would be best to use PKG_INSTALLDIR as defined by the pkg.m4 macro, but
sadly this also reports a wrong value on FreeBSD (${libdir}/pkgconfig, which
expands to /usr/local/lib/pkgconfig by default, and is also _not_ part of
the default pkg-config search path).

This patch should not change the behavior for Linux installs.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reported-by: Alexander Nusov <alexander.nusov@nfvexpress.com>
---
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Alexander Nusov <alexander.nusov@nfvexpress.com>
---
 config/FreeBSD.mk    | 1 +
 config/Paths.mk.in   | 2 ++
 config/Tools.mk.in   | 2 ++
 tools/configure.ac   | 3 +++
 tools/libxl/Makefile | 4 ++--
 5 files changed, 10 insertions(+), 2 deletions(-)

Comments

Roger Pau Monné Oct. 25, 2016, 9:34 a.m. UTC | #1
On Tue, Oct 25, 2016 at 11:20:48AM +0200, Roger Pau Monne wrote:
> pkg-config from FreeBSD ports doesn't have ${prefix}/share/pkgconfig in the
> default search path, fix this by having a PKG_INSTALLDIR variable that can
> be changed on a per-OS basis.
> 
> It would be best to use PKG_INSTALLDIR as defined by the pkg.m4 macro, but
> sadly this also reports a wrong value on FreeBSD (${libdir}/pkgconfig, which
> expands to /usr/local/lib/pkgconfig by default, and is also _not_ part of
> the default pkg-config search path).
> 
> This patch should not change the behavior for Linux installs.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Reported-by: Alexander Nusov <alexander.nusov@nfvexpress.com>
> ---
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Wei Liu <wei.liu2@citrix.com>
> Cc: Alexander Nusov <alexander.nusov@nfvexpress.com>
> ---
>  config/FreeBSD.mk    | 1 +
>  config/Paths.mk.in   | 2 ++
>  config/Tools.mk.in   | 2 ++
>  tools/configure.ac   | 3 +++
>  tools/libxl/Makefile | 4 ++--
>  5 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/config/FreeBSD.mk b/config/FreeBSD.mk
> index bb3a5d0..afeaefb 100644
> --- a/config/FreeBSD.mk
> +++ b/config/FreeBSD.mk
> @@ -2,3 +2,4 @@ include $(XEN_ROOT)/config/StdGNU.mk
>  
>  # No wget on FreeBSD base system
>  WGET = ftp
> +PKG_INSTALLDIR = ${prefix}/libdata/pkgconfig
> diff --git a/config/Paths.mk.in b/config/Paths.mk.in
> index 62cea48..a603295 100644
> --- a/config/Paths.mk.in
> +++ b/config/Paths.mk.in
> @@ -56,3 +56,5 @@ XENFIRMWAREDIR           := @XENFIRMWAREDIR@
>  
>  XEN_CONFIG_DIR           := @XEN_CONFIG_DIR@
>  XEN_SCRIPT_DIR           := @XEN_SCRIPT_DIR@
> +
> +PKG_INSTALLDIR           := ${SHAREDIR}/pkgconfig
> diff --git a/config/Tools.mk.in b/config/Tools.mk.in
> index 0f79f4e..1c7a565 100644
> --- a/config/Tools.mk.in
> +++ b/config/Tools.mk.in
> @@ -37,6 +37,8 @@ PTHREAD_LIBS        := @PTHREAD_LIBS@
>  
>  PTYFUNCS_LIBS       := @PTYFUNCS_LIBS@
>  
> +PKG_INSTALLDIR      := @pkgconfigdir@
> +
>  LIBNL3_LIBS         := @LIBNL3_LIBS@
>  LIBNL3_CFLAGS       := @LIBNL3_CFLAGS@
>  XEN_TOOLS_RPATH     := @rpath@
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 5724ace..164264f 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -436,6 +436,9 @@ AS_IF([test "x$libnl3_lib" = "xn" ], [
>  AC_SUBST(LIBNL3_LIBS)
>  AC_SUBST(LIBNL3_CFLAGS)
>  
> +# Replace pkg-config config dir
> +PKG_INSTALLDIR
> +

Hm, this extra chunk is wrong, I will have to resend the patch, sorry.

Roger.
diff mbox

Patch

diff --git a/config/FreeBSD.mk b/config/FreeBSD.mk
index bb3a5d0..afeaefb 100644
--- a/config/FreeBSD.mk
+++ b/config/FreeBSD.mk
@@ -2,3 +2,4 @@  include $(XEN_ROOT)/config/StdGNU.mk
 
 # No wget on FreeBSD base system
 WGET = ftp
+PKG_INSTALLDIR = ${prefix}/libdata/pkgconfig
diff --git a/config/Paths.mk.in b/config/Paths.mk.in
index 62cea48..a603295 100644
--- a/config/Paths.mk.in
+++ b/config/Paths.mk.in
@@ -56,3 +56,5 @@  XENFIRMWAREDIR           := @XENFIRMWAREDIR@
 
 XEN_CONFIG_DIR           := @XEN_CONFIG_DIR@
 XEN_SCRIPT_DIR           := @XEN_SCRIPT_DIR@
+
+PKG_INSTALLDIR           := ${SHAREDIR}/pkgconfig
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 0f79f4e..1c7a565 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -37,6 +37,8 @@  PTHREAD_LIBS        := @PTHREAD_LIBS@
 
 PTYFUNCS_LIBS       := @PTYFUNCS_LIBS@
 
+PKG_INSTALLDIR      := @pkgconfigdir@
+
 LIBNL3_LIBS         := @LIBNL3_LIBS@
 LIBNL3_CFLAGS       := @LIBNL3_CFLAGS@
 XEN_TOOLS_RPATH     := @rpath@
diff --git a/tools/configure.ac b/tools/configure.ac
index 5724ace..164264f 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -436,6 +436,9 @@  AS_IF([test "x$libnl3_lib" = "xn" ], [
 AC_SUBST(LIBNL3_LIBS)
 AC_SUBST(LIBNL3_CFLAGS)
 
+# Replace pkg-config config dir
+PKG_INSTALLDIR
+
 fi # ! $rump
 
 AX_AVAILABLE_SYSTEMD()
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index a3c0af8..6d323ef 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -297,8 +297,8 @@  install: all
 	$(INSTALL_DATA) libxlutil.a $(DESTDIR)$(libdir)
 	$(INSTALL_DATA) libxl.h libxl_event.h libxl_json.h _libxl_types.h _libxl_types_json.h _libxl_list.h libxl_utils.h libxl_uuid.h libxlutil.h $(DESTDIR)$(includedir)
 	$(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh
-	$(INSTALL_DATA) xenlight.pc $(DESTDIR)$(SHAREDIR)/pkgconfig/
-	$(INSTALL_DATA) xlutil.pc $(DESTDIR)$(SHAREDIR)/pkgconfig/
+	$(INSTALL_DATA) xenlight.pc $(PKG_INSTALLDIR)
+	$(INSTALL_DATA) xlutil.pc $(PKG_INSTALLDIR)
 
 .PHONY: clean
 clean: