Files
xen/tools/ocaml/Makefile
T
Andrii Sultanov a6576011a4 ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo
This plugin intends to hide the unstable Xenctrl interface under a
stable one. In case of the change in the interface, a V2 of this plugin
would need to be produced, but V1 with the old interface would
need to be kept (with potential change in the implementation) in the
meantime.

To reduce the need for such changes in the future, this plugin only
provides the absolute minimum functionality that Oxenstored uses - only
three fields of the domaininfo struct are used and presented here.

Oxenstored currently uses the single-domain domain_getinfo function,
whereas domain_getinfolist is a potentially more efficient option. Both
of these are provided in the plugin to allow a transition from one to
the other without modifying the interface in the future. Both return
identical structures and rely on the same fields in xenctrl, thus if one
of them breaks, both will break, and a new version of the interface
would need to be issued.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
2024-09-09 14:59:05 +01:00

38 lines
713 B
Makefile

XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
SUBDIRS := libs
SUBDIRS += xenstored
.NOTPARALLEL:
# targets here must be run in order, otherwise we can try
# to build programs before the libraries are done
.PHONY: all
all: subdirs-all
.PHONY: install
install: subdirs-install
.PHONY: uninstall
uninstall: subdirs-uninstall
.PHONY: clean
clean: subdirs-clean
.PHONY: distclean
distclean: subdirs-distclean
.PHONY: build-tools-oxenstored
build-tools-oxenstored:
$(MAKE) -s -C libs/eventchn
$(MAKE) -s -C libs/mmap
$(MAKE) -s -C libs/xb
$(MAKE) -s -C libs/xc
$(MAKE) -s -C libs/xsd_glue
$(MAKE) -C xenstored
.PHONY: format
format:
git ls-files '*.ml' '*.mli' | xargs -n1 ocp-indent -i