tools: replace @xxx@ markers at build time

Use the apply-build-vars make macro to replace the @xxx@ markers in
most *.in files only at build time.

As some of the markers are local to tools/configure, introduce
config/Tools-paths.mk.in and add the related make variables to it.
Add Tools-paths to the PATH_FILES make variable in order to include
the definitions for replacing them in the *.in files.

Add the generated files to the distclean target.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Juergen Gross authored and Andrew Cooper committed 2025-11-21 15:51:49 +00:00
1 parent 66da3b3507
commit bc23a49d13
11 files changed
+86 -45

No files matched your search

+1
View File
@@ -47,6 +47,7 @@ config.status
config.cache config.cache
config/Toplevel.mk config/Toplevel.mk
config/Paths.mk config/Paths.mk
config/Tools-paths.mk
dist/* dist/*
extras/ extras/
+10
View File
@@ -0,0 +1,10 @@
-include $(XEN_ROOT)/config/Paths.mk
XENSTORED := @XENSTORED@
XENSTORED_KVA := @XENSTORED_KVA@
XENSTORED_PORT := @XENSTORED_PORT@
XEN_RUN_STORED := @XEN_RUN_STORED@
LINUX_BACKEND_MODULES := @LINUX_BACKEND_MODULES@
qemu_xen_path := @qemu_xen_path@
+4
View File
@@ -11,6 +11,10 @@ XEN_FULLVERSION=$(shell env \
XEN_VENDORVERSION=$(XEN_VENDORVERSION) \ XEN_VENDORVERSION=$(XEN_VENDORVERSION) \
$(SHELL) $(XEN_ROOT)/version.sh --full $(XEN_ROOT)/xen/Makefile) $(SHELL) $(XEN_ROOT)/version.sh --full $(XEN_ROOT)/xen/Makefile)
PATH_FILES += Tools-paths.mk
-include $(XEN_ROOT)/config/Tools-paths.mk
export _INSTALL := $(INSTALL) export _INSTALL := $(INSTALL)
INSTALL = $(XEN_ROOT)/tools/cross-install INSTALL = $(XEN_ROOT)/tools/cross-install
+2 -19
View File
@@ -2742,7 +2742,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf" ac_config_files="$ac_config_files ../config/Tools.mk ../config/Tools-paths.mk"
ac_config_headers="$ac_config_headers config.h" ac_config_headers="$ac_config_headers config.h"
@@ -11268,24 +11268,7 @@ for ac_config_target in $ac_config_targets
do do
case $ac_config_target in case $ac_config_target in
"../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;; "../config/Tools.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools.mk" ;;
"hotplug/common/hotplugpath.sh") CONFIG_FILES="$CONFIG_FILES hotplug/common/hotplugpath.sh" ;; "../config/Tools-paths.mk") CONFIG_FILES="$CONFIG_FILES ../config/Tools-paths.mk" ;;
"hotplug/FreeBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xencommons" ;;
"hotplug/FreeBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/FreeBSD/rc.d/xendriverdomain" ;;
"hotplug/Linux/init.d/sysconfig.xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xencommons" ;;
"hotplug/Linux/init.d/sysconfig.xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/sysconfig.xendomains" ;;
"hotplug/Linux/init.d/xen-watchdog") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xen-watchdog" ;;
"hotplug/Linux/init.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xencommons" ;;
"hotplug/Linux/init.d/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendomains" ;;
"hotplug/Linux/init.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendriverdomain" ;;
"hotplug/Linux/launch-xenstore") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/launch-xenstore" ;;
"hotplug/Linux/vif-setup") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/vif-setup" ;;
"hotplug/Linux/xen-hotplug-common.sh") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-hotplug-common.sh" ;;
"hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;;
"hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;;
"hotplug/NetBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xendriverdomain" ;;
"ocaml/libs/xs/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/libs/xs/paths.ml" ;;
"ocaml/xenstored/paths.ml") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/paths.ml" ;;
"ocaml/xenstored/oxenstored.conf") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/oxenstored.conf" ;;
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;; "hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;;
"hotplug/Linux/systemd/xen-init-dom0.service") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/xen-init-dom0.service" ;; "hotplug/Linux/systemd/xen-init-dom0.service") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/xen-init-dom0.service" ;;
+1 -18
View File
@@ -7,24 +7,7 @@ AC_INIT([Xen Hypervisor Tools], m4_esyscmd([../version.sh ../xen/Makefile]),
AC_CONFIG_SRCDIR([libs/light/libxl.c]) AC_CONFIG_SRCDIR([libs/light/libxl.c])
AC_CONFIG_FILES([ AC_CONFIG_FILES([
../config/Tools.mk ../config/Tools.mk
hotplug/common/hotplugpath.sh ../config/Tools-paths.mk
hotplug/FreeBSD/rc.d/xencommons
hotplug/FreeBSD/rc.d/xendriverdomain
hotplug/Linux/init.d/sysconfig.xencommons
hotplug/Linux/init.d/sysconfig.xendomains
hotplug/Linux/init.d/xen-watchdog
hotplug/Linux/init.d/xencommons
hotplug/Linux/init.d/xendomains
hotplug/Linux/init.d/xendriverdomain
hotplug/Linux/launch-xenstore
hotplug/Linux/vif-setup
hotplug/Linux/xen-hotplug-common.sh
hotplug/Linux/xendomains
hotplug/NetBSD/rc.d/xencommons
hotplug/NetBSD/rc.d/xendriverdomain
ocaml/libs/xs/paths.ml
ocaml/xenstored/paths.ml
ocaml/xenstored/oxenstored.conf
]) ])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([../]) AC_CONFIG_AUX_DIR([../])
+11 -2
View File
@@ -8,9 +8,17 @@ XEN_SCRIPT_DATA :=
XEN_RCD_PROG := rc.d/xencommons rc.d/xendriverdomain XEN_RCD_PROG := rc.d/xencommons rc.d/xendriverdomain
IN_TARGETS := rc.d/xencommons
IN_TARGETS += rc.d/xendriverdomain
.PHONY: all .PHONY: all
all: all:
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
.PHONY: build
build: $(IN_TARGETS)
.PHONY: install .PHONY: install
install: install-scripts install-rcd install: install-scripts install-rcd
@@ -18,7 +26,7 @@ install: install-scripts install-rcd
uninstall: uninstall-script uninstall-rcd uninstall: uninstall-script uninstall-rcd
.PHONY: install-scripts .PHONY: install-scripts
install-scripts: install-scripts: build
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR) $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
set -e; for i in $(XEN_SCRIPTS); \ set -e; for i in $(XEN_SCRIPTS); \
do \ do \
@@ -35,7 +43,7 @@ uninstall-scripts:
rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA)) rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
.PHONY: install-rcd .PHONY: install-rcd
install-rcd: install-rcd: build
$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR) $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
set -e; for i in $(XEN_RCD_PROG); \ set -e; for i in $(XEN_RCD_PROG); \
do \ do \
@@ -51,3 +59,4 @@ clean:
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
$(RM) $(IN_TARGETS)
+19 -2
View File
@@ -26,9 +26,25 @@ XEN_SCRIPT_DATA := xen-script-common.sh locking.sh logging.sh
XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
XEN_SCRIPT_DATA += block-common.sh XEN_SCRIPT_DATA += block-common.sh
IN_TARGETS := launch-xenstore
IN_TARGETS += vif-setup
IN_TARGETS += xendomains
IN_TARGETS += xen-hotplug-common.sh
IN_TARGETS += init.d/sysconfig.xendomains
IN_TARGETS += init.d/xen-watchdog
IN_TARGETS += init.d/xencommons
IN_TARGETS += init.d/xendomains
IN_TARGETS += init.d/xendriverdomain
IN_TARGETS += init.d/sysconfig.xencommons
.PHONY: all .PHONY: all
all: subdirs-all all: subdirs-all
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
.PHONY: build
build: $(IN_TARGETS)
.PHONY: install .PHONY: install
install: install-initd install-scripts subdirs-install install: install-initd install-scripts subdirs-install
@@ -37,7 +53,7 @@ uninstall: uninstall-initd uninstall-scripts subdirs-uninstall
# See docs/misc/distro_mapping.txt for INITD_DIR location # See docs/misc/distro_mapping.txt for INITD_DIR location
.PHONY: install-initd .PHONY: install-initd
install-initd: install-initd: build
$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR) $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
$(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR) $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
@@ -60,7 +76,7 @@ uninstall-initd:
rm -f $(DESTDIR)$(SYSCONFIG_DIR)/xendomains rm -f $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
.PHONY: install-scripts .PHONY: install-scripts
install-scripts: install-scripts: build
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR) $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
set -e; for i in $(XEN_SCRIPTS); \ set -e; for i in $(XEN_SCRIPTS); \
do \ do \
@@ -81,3 +97,4 @@ clean: subdirs-clean
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
$(RM) $(IN_TARGETS)
+11 -2
View File
@@ -12,9 +12,17 @@ XEN_SCRIPTS += qemu-ifup
XEN_SCRIPT_DATA := XEN_SCRIPT_DATA :=
XEN_RCD_PROG := rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain XEN_RCD_PROG := rc.d/xencommons rc.d/xendomains rc.d/xen-watchdog rc.d/xendriverdomain
IN_TARGETS := rc.d/xencommons
IN_TARGETS += rc.d/xendriverdomain
.PHONY: all .PHONY: all
all: all:
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
.PHONY: build
build: $(IN_TARGETS)
.PHONY: install .PHONY: install
install: install-scripts install-rcd install: install-scripts install-rcd
@@ -22,7 +30,7 @@ install: install-scripts install-rcd
uninstall: uninstall-scripts uninstall-rcd uninstall: uninstall-scripts uninstall-rcd
.PHONY: install-scripts .PHONY: install-scripts
install-scripts: install-scripts: build
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR) $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
set -e; for i in $(XEN_SCRIPTS); \ set -e; for i in $(XEN_SCRIPTS); \
do \ do \
@@ -39,7 +47,7 @@ uninstall-scripts:
rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA)) rm -f $(addprefix $(DESTDIR)$(XEN_SCRIPT_DIR)/, $(XEN_SCRIPT_DATA))
.PHONY: install-rcd .PHONY: install-rcd
install-rcd: install-rcd: build
$(INSTALL_DIR) $(DESTDIR)$(INITD_DIR) $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
set -e; for i in $(XEN_RCD_PROG); \ set -e; for i in $(XEN_RCD_PROG); \
do \ do \
@@ -57,3 +65,4 @@ clean:
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
$(RM) $(IN_TARGETS)
+9 -1
View File
@@ -7,8 +7,15 @@ include $(XEN_ROOT)/tools/Rules.mk
XEN_SCRIPTS := XEN_SCRIPTS :=
XEN_SCRIPT_DATA := hotplugpath.sh XEN_SCRIPT_DATA := hotplugpath.sh
IN_TARGETS := hotplugpath.sh
.PHONY: all .PHONY: all
all: all: build
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
.PHONY: build
build: $(IN_TARGETS)
.PHONY: install .PHONY: install
install: install-scripts install: install-scripts
@@ -38,3 +45,4 @@ clean:
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
$(RM) $(IN_TARGETS)
+9
View File
@@ -8,6 +8,8 @@ OCAMLOPTFLAGS += -for-pack Xenstore
.NOTPARALLEL: .NOTPARALLEL:
# Ocaml is such a PITA! # Ocaml is such a PITA!
IN_TARGETS := paths.ml
PREINTF = xsraw.cmi xst.cmi PREINTF = xsraw.cmi xst.cmi
PREOBJS = queueop xsraw xst PREOBJS = queueop xsraw xst
PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx) PRELIBS = $(foreach obj, $(PREOBJS),$(obj).cmo) $(foreach obj,$(PREOJBS),$(obj).cmx)
@@ -17,6 +19,10 @@ LIBS = xenstore.cma xenstore.cmxa
all: $(PREINTF) $(PRELIBS) $(INTF) $(LIBS) $(PROGRAMS) all: $(PREINTF) $(PRELIBS) $(INTF) $(LIBS) $(PROGRAMS)
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
$(OBJS): $(IN_TARGETS)
bins: $(PROGRAMS) bins: $(PROGRAMS)
libs: $(LIBS) libs: $(LIBS)
@@ -43,4 +49,7 @@ install: $(LIBS) META
uninstall: uninstall:
$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstore $(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstore
.PHONY: distclean
$(RM) $(IN_TARGETS)
include $(OCAML_TOPLEVEL)/Makefile.rules include $(OCAML_TOPLEVEL)/Makefile.rules
+9 -1
View File
@@ -72,6 +72,9 @@ XENSTOREDLIBS = \
-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xsd_glue $(OCAML_TOPLEVEL)/libs/xsd_glue/plugin_interface_v1.cmxa \ -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xsd_glue $(OCAML_TOPLEVEL)/libs/xsd_glue/plugin_interface_v1.cmxa \
-ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl -ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl
IN_TARGETS := paths.ml
IN_TARGETS += oxenstored.conf
PROGRAMS = oxenstored PROGRAMS = oxenstored
oxenstored_LIBS = $(XENSTOREDLIBS) oxenstored_LIBS = $(XENSTOREDLIBS)
@@ -83,7 +86,9 @@ oxenstored_OBJS = $(oxenstored_MLSORTED:.ml=)
OCAML_PROGRAM = oxenstored OCAML_PROGRAM = oxenstored
all: $(INTF) $(LIBS) $(PROGRAMS) all: $(IN_TARGETS) $(INTF) $(LIBS) $(PROGRAMS)
$(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
bins: $(PROGRAMS) bins: $(PROGRAMS)
@@ -99,4 +104,7 @@ uninstall:
rm -f $(DESTDIR)$(XEN_CONFIG_DIR)/oxenstored.conf rm -f $(DESTDIR)$(XEN_CONFIG_DIR)/oxenstored.conf
rm -f $(DESTDIR)$(sbindir)/oxenstored rm -f $(DESTDIR)$(sbindir)/oxenstored
distclean:
$(RM) $(IN_TARGETS)
include $(OCAML_TOPLEVEL)/Makefile.rules include $(OCAML_TOPLEVEL)/Makefile.rules
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.