mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
stubdom: add fine grained library config items to Mini-OS configs
Today Mini-OS can only be configured to use all or no Xen libraries. In order to prepare a more fine grained configuration scheme, add per library config items to the Mini-OS config files. As some libraries pull in others, the config files need to be extended at build time to reflect those indirect library uses. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
1 parent
a592c98f94
commit
b5b9420334
2 files changed
+38
-12
No files matched your search
@@ -1,3 +1,4 @@
|
||||
*.gen.cfg
|
||||
/*.tar.gz
|
||||
/*-minios-config.mk
|
||||
/autom4te.cache/
|
||||
|
||||
+37
-12
@@ -342,6 +342,14 @@ endef
|
||||
|
||||
$(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib))))
|
||||
|
||||
define GEN_config
|
||||
(cat $< && \
|
||||
for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \
|
||||
u=`echo $$i | tr a-z A-Z`; \
|
||||
echo "CONFIG_LIBXEN$$u=y"; \
|
||||
done)
|
||||
endef
|
||||
|
||||
xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common
|
||||
$(do_links)
|
||||
|
||||
@@ -375,8 +383,12 @@ $(TARGETS_MINIOS): mini-os-%:
|
||||
# ioemu
|
||||
#######
|
||||
|
||||
ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg
|
||||
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
ioemu-minios.gen.cfg: APP_LIBS = evtchn gnttab ctrl guest
|
||||
ioemu-minios.gen.cfg: ioemu-minios.cfg Makefile
|
||||
$(GEN_config) >$@
|
||||
|
||||
ioemu-minios-config.mk: ioemu-minios.gen.cfg
|
||||
MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
|
||||
.PHONY: ioemu
|
||||
ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
|
||||
@@ -437,8 +449,12 @@ grub-upstream: grub-$(GRUB_VERSION).tar.gz
|
||||
patch -d $@ -p1 < $$i || exit 1; \
|
||||
done
|
||||
|
||||
grub-$(XEN_TARGET_ARCH)-minios-config.mk: $(CURDIR)/grub/minios.cfg
|
||||
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
grub/minios.gen.cfg: APP_LIBS = guest ctrl toollog
|
||||
grub/minios.gen.cfg: grub/minios.cfg Makefile
|
||||
$(GEN_config) >$@
|
||||
|
||||
grub-$(XEN_TARGET_ARCH)-minios-config.mk: grub/minios.gen.cfg
|
||||
MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
|
||||
.PHONY: grub
|
||||
grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-minios-config.mk
|
||||
@@ -449,8 +465,12 @@ grub: cross-polarssl grub-upstream $(CROSS_ROOT) grub-$(XEN_TARGET_ARCH)-minios-
|
||||
# xenstore
|
||||
##########
|
||||
|
||||
xenstore-minios-config.mk: $(CURDIR)/xenstore-minios.cfg
|
||||
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
xenstore-minios.gen.cfg: APP_LIBS = gnttab evtchn toollog ctrl
|
||||
xenstore-minios.gen.cfg: xenstore-minios.cfg Makefile
|
||||
$(GEN_config) >$@
|
||||
|
||||
xenstore-minios-config.mk: xenstore-minios.gen.cfg
|
||||
MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
|
||||
.PHONY: xenstore
|
||||
xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
|
||||
@@ -460,8 +480,12 @@ xenstore: $(CROSS_ROOT) xenstore-minios-config.mk
|
||||
# xenstorepvh
|
||||
#############
|
||||
|
||||
xenstorepvh-minios-config.mk: $(CURDIR)/xenstorepvh-minios.cfg
|
||||
MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
xenstorepvh-minios.gen.cfg: APP_LIBS = gnttab evtchn toollog ctrl
|
||||
xenstorepvh-minios.gen.cfg: xenstorepvh-minios.cfg Makefile
|
||||
$(GEN_config) >$@
|
||||
|
||||
xenstorepvh-minios-config.mk: xenstorepvh-minios.gen.cfg
|
||||
MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
|
||||
|
||||
.PHONY: xenstorepvh
|
||||
xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
|
||||
@@ -474,7 +498,7 @@ xenstorepvh: $(CROSS_ROOT) xenstorepvh-minios-config.mk
|
||||
.PHONY: ioemu-stubdom
|
||||
ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
|
||||
ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.gen.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
|
||||
|
||||
.PHONY: c-stubdom
|
||||
c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
|
||||
@@ -490,7 +514,7 @@ vtpmmgr-stubdom: mini-os-$(XEN_TARGET_ARCH)-vtpmmgr vtpmmgr
|
||||
|
||||
.PHONY: pv-grub
|
||||
pv-grub: mini-os-$(XEN_TARGET_ARCH)-grub libxenguest grub
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/grub/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/grub/minios.gen.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/grub-$(XEN_TARGET_ARCH)/main.a
|
||||
|
||||
.PHONY: pv-grub-if-enabled
|
||||
ifneq ($(filter grub,$(STUBDOM_TARGETS)),)
|
||||
@@ -501,11 +525,11 @@ endif
|
||||
|
||||
.PHONY: xenstore-stubdom
|
||||
xenstore-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstore libxenguest xenstore
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstore-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstore/xenstored.a
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstore-minios.gen.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstore/xenstored.a
|
||||
|
||||
.PHONY: xenstorepvh-stubdom
|
||||
xenstorepvh-stubdom: mini-os-$(XEN_TARGET_ARCH)-xenstorepvh libxenguest xenstorepvh
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstorepvh-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstorepvh/xenstored.a
|
||||
DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/xenstorepvh-minios.gen.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< APP_OBJS=$(CURDIR)/xenstorepvh/xenstored.a
|
||||
|
||||
#########
|
||||
# install
|
||||
@@ -607,6 +631,7 @@ clean:
|
||||
rm -fr grub-$(XEN_TARGET_ARCH)
|
||||
rm -f $(STUBDOMPATH)
|
||||
rm -f *-minios-config.mk
|
||||
rm -f *.gen.cfg
|
||||
rm -fr pkg-config
|
||||
-[ ! -d ioemu ] || $(MAKE) DESTDIR= -C ioemu clean
|
||||
-[ ! -d xenstore ] || $(MAKE) -f $(CURDIR)/xenlibs.mk -C xenstore clean
|
||||
|
||||