[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MINI-OS PATCH 1/2] add config support for each Xen library



Instead of adding all or no Xen library (controlled by CONFIG_XC),
support a dedicated config option for each library instead. In order
to support older Xen stubdom build versions, let CONFIG_XC enable
all CONFIG_LIBXEN options.

Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
 Config.mk | 19 +++++++++++++++++++
 Makefile  | 18 +++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index f2d1f0ae..d0fbacac 100644
--- a/Config.mk
+++ b/Config.mk
@@ -212,6 +212,25 @@ $(foreach i,$(CONFIG-n),$(eval $(i) ?= n))
 CONFIG-x += CONFIG_LIBXS
 CONFIG_LIBXS ?= $(CONFIG_XENBUS)
 
+CONFIG-x += CONFIG_LIBXENCALL
+CONFIG-x += CONFIG_LIBXENCTRL
+CONFIG-x += CONFIG_LIBXENDEVICEMODEL
+CONFIG-x += CONFIG_LIBXENEVTCHN
+CONFIG-x += CONFIG_LIBXENFOREIGNMEMORY
+CONFIG-x += CONFIG_LIBXENGNTTAB
+CONFIG-x += CONFIG_LIBXENGUEST
+CONFIG-x += CONFIG_LIBXENTOOLCORE
+CONFIG-x += CONFIG_LIBXENTOOLLOG
+CONFIG_LIBXENCALL ?= $(CONFIG_XC)
+CONFIG_LIBXENCTRL ?= $(CONFIG_XC)
+CONFIG_LIBXENDEVICEMODEL ?= $(CONFIG_XC)
+CONFIG_LIBXENEVTCHN ?= $(CONFIG_XC)
+CONFIG_LIBXENFOREIGNMEMORY ?= $(CONFIG_XC)
+CONFIG_LIBXENGNTTAB ?= $(CONFIG_XC)
+CONFIG_LIBXENGUEST ?= $(CONFIG_XC)
+CONFIG_LIBXENTOOLCORE ?= $(CONFIG_XC)
+CONFIG_LIBXENTOOLLOG ?= $(CONFIG_XC)
+
 CONFIG-all := $(CONFIG-y) $(CONFIG-n) $(CONFIG-x)
 
 # Export config items as compiler directives
diff --git a/Makefile b/Makefile
index 6c8df8b5..ffa8d1a8 100644
--- a/Makefile
+++ b/Makefile
@@ -123,23 +123,39 @@ endif
 OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
 
 ifeq ($(libc),y)
-ifeq ($(CONFIG_XC),y)
+ifeq ($(CONFIG_LIBXENTOOLCORE),y)
 APP_LDLIBS += -L$(TOOLCORE_PATH) -whole-archive -lxentoolcore -no-whole-archive
 LIBS += $(TOOLCORE_PATH)/libxentoolcore.a
+endif
+ifeq ($(CONFIG_LIBXENTOOLLOG),y)
 APP_LDLIBS += -L$(TOOLLOG_PATH) -whole-archive -lxentoollog -no-whole-archive
 LIBS += $(TOOLLOG_PATH)/libxentoollog.a
+endif
+ifeq ($(CONFIG_LIBXENEVTCHN),y)
 APP_LDLIBS += -L$(EVTCHN_PATH) -whole-archive -lxenevtchn -no-whole-archive
 LIBS += $(EVTCHN_PATH)/libxenevtchn.a
+endif
+ifeq ($(CONFIG_LIBXENGNTTAB),y)
 APP_LDLIBS += -L$(GNTTAB_PATH) -whole-archive -lxengnttab -no-whole-archive
 LIBS += $(GNTTAB_PATH)/libxengnttab.a
+endif
+ifeq ($(CONFIG_LIBXENCALL),y)
 APP_LDLIBS += -L$(CALL_PATH) -whole-archive -lxencall -no-whole-archive
 LIBS += $(CALL_PATH)/libxencall.a
+endif
+ifeq ($(CONFIG_LIBXENFOREIGNMEMORY),y)
 APP_LDLIBS += -L$(FOREIGNMEMORY_PATH) -whole-archive -lxenforeignmemory 
-no-whole-archive
 LIBS += $(FOREIGNMEMORY_PATH)/libxenforeignmemory.a
+endif
+ifeq ($(CONFIG_LIBXENDEVICEMODEL),y)
 APP_LDLIBS += -L$(DEVICEMODEL_PATH) -whole-archive -lxendevicemodel 
-no-whole-archive
 LIBS += $(DEVICEMODEL_PATH)/libxendevicemodel.a
+endif
+ifeq ($(CONFIG_LIBXENGUEST),y)
 APP_LDLIBS += -L$(GUEST_PATH) -whole-archive -lxenguest -no-whole-archive
 LIBS += $(GUEST_PATH)/libxenguest.a
+endif
+ifeq ($(CONFIG_LIBXENCTRL),y)
 APP_LDLIBS += -L$(CTRL_PATH) -whole-archive -lxenctrl -no-whole-archive
 LIBS += $(CTRL_PATH)/libxenctrl.a
 endif
-- 
2.43.0




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.