|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 18/28] Add configure --enable-rpath
This fixes the tools when xen is configured with --prefix=/odd/path
Please rerun autogen.sh after applying this patch.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Config.mk | 3 +++
config/Tools.mk.in | 1 +
tools/Makefile | 16 ++++++++++++++--
tools/configure.ac | 1 +
4 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/Config.mk b/Config.mk
index ca400a7..73281d8 100644
--- a/Config.mk
+++ b/Config.mk
@@ -208,6 +208,9 @@ LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
LDFLAGS += $(foreach i, $(PREPEND_LIB), -L$(i))
CFLAGS += $(foreach i, $(PREPEND_INCLUDES), -I$(i))
+ifeq ($(XEN_TOOLS_RPATH),y)
+LDFLAGS += -Wl,-rpath,$(LIBDIR)
+endif
APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i))
APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i))
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index a69b846..7183c32 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -45,6 +45,7 @@ PTYFUNCS_LIBS := @PTYFUNCS_LIBS@
LIBNL3_LIBS := @LIBNL3_LIBS@
LIBNL3_CFLAGS := @LIBNL3_CFLAGS@
+XEN_TOOLS_RPATH := @rpath@
# Download GIT repositories via HTTP or GIT's own protocol?
# GIT's protocol is faster and more robust, when it works at all (firewalls
diff --git a/tools/Makefile b/tools/Makefile
index b4a26c4..452510a 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -118,6 +118,14 @@ IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \
--interp-prefix=$(CROSS_SYS_ROOT)
endif
+ifeq ($(XEN_TOOLS_RPATH),y)
+QEMU_UPSTREAM_RPATH := -Wl,-rpath,$(LIBEXEC_LIB):$(LIBDIR)
+IOEMU_EXTRA_LDFLAGS := --extra-ldflags="-Wl,-rpath,$(LIBDIR)"
+else
+QEMU_UPSTREAM_RPATH := -Wl,-rpath,$(LIBEXEC_LIB)
+IOEMU_EXTRA_LDFLAGS :=
+endif
+
QEMU_ROOT := $(shell if [ -d "$(QEMU_TRADITIONAL_LOC)" ]; then echo
"$(QEMU_TRADITIONAL_LOC)"; else echo .; fi)
ifneq ($(QEMU_ROOT),.)
export QEMU_ROOT
@@ -153,7 +161,10 @@ subdir-all-qemu-xen-traditional-dir:
qemu-xen-traditional-dir-find
set -e; \
$(buildmakevars2shellvars); \
cd qemu-xen-traditional-dir; \
- $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH)
$(IOEMU_CONFIGURE_CROSS); \
+ $(QEMU_ROOT)/xen-setup \
+ $(IOEMU_EXTRA_LDFLAGS) \
+ --cpu=$(IOEMU_CPU_ARCH) \
+ $(IOEMU_CONFIGURE_CROSS); \
$(MAKE) all
subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
@@ -162,6 +173,7 @@ subdir-install-qemu-xen-traditional-dir:
qemu-xen-traditional-dir-find
cd qemu-xen-traditional-dir; \
$(QEMU_ROOT)/xen-setup \
--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
+ $(IOEMU_EXTRA_LDFLAGS) \
--cpu=$(IOEMU_CPU_ARCH) \
$(IOEMU_CONFIGURE_CROSS); \
$(MAKE) install
@@ -206,7 +218,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
$(EXTRA_CFLAGS_QEMU_XEN)" \
--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
-L$(XEN_ROOT)/tools/xenstore \
- -Wl,-rpath=$(PREFIX)/lib/xen/lib" \
+ $(QEMU_UPSTREAM_RPATH)" \
--bindir=$(LIBEXEC_BIN) \
--datadir=$(SHAREDIR)/qemu-xen \
--localstatedir=$(localstatedir) \
diff --git a/tools/configure.ac b/tools/configure.ac
index 788ba72..b9a1f6e 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -80,6 +80,7 @@ m4_include([../m4/systemd.m4])
AX_XEN_EXPAND_CONFIG()
# Enable/disable options
+AX_ARG_DEFAULT_DISABLE([rpath], [Build tools with -Wl,-rpath,LIBDIR])
AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring
tools])
AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |