meson: generate qemu-version.h
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2d78b56e7a
commit
2c273f32d3
27
Makefile
27
Makefile
@ -121,21 +121,7 @@ include $(SRC_PATH)/rules.mak
|
|||||||
# lor is defined in rules.mak
|
# lor is defined in rules.mak
|
||||||
CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
|
CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
|
||||||
|
|
||||||
# Create QEMU_PKGVERSION and FULL_VERSION strings
|
generated-files-y = config-host.h qemu-options.def
|
||||||
# If PKGVERSION is set, use that; otherwise get version and -dirty status from git
|
|
||||||
QEMU_PKGVERSION := $(if $(PKGVERSION),$(PKGVERSION),$(shell \
|
|
||||||
cd $(SRC_PATH); \
|
|
||||||
if test -e .git; then \
|
|
||||||
git describe --match 'v*' 2>/dev/null | tr -d '\n'; \
|
|
||||||
if ! git diff-index --quiet HEAD &>/dev/null; then \
|
|
||||||
echo "-dirty"; \
|
|
||||||
fi; \
|
|
||||||
fi))
|
|
||||||
|
|
||||||
# Either "version (pkgversion)", or just "version" if pkgversion not set
|
|
||||||
FULL_VERSION := $(if $(QEMU_PKGVERSION),$(VERSION) ($(QEMU_PKGVERSION)),$(VERSION))
|
|
||||||
|
|
||||||
generated-files-y = qemu-version.h config-host.h qemu-options.def
|
|
||||||
|
|
||||||
generated-files-y += module_block.h
|
generated-files-y += module_block.h
|
||||||
|
|
||||||
@ -275,17 +261,6 @@ include $(SRC_PATH)/tests/Makefile.include
|
|||||||
|
|
||||||
all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all modules
|
all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all modules
|
||||||
|
|
||||||
qemu-version.h: FORCE
|
|
||||||
$(call quiet-command, \
|
|
||||||
(printf '#define QEMU_PKGVERSION "$(QEMU_PKGVERSION)"\n'; \
|
|
||||||
printf '#define QEMU_FULL_VERSION "$(FULL_VERSION)"\n'; \
|
|
||||||
) > $@.tmp)
|
|
||||||
$(call quiet-command, if ! cmp -s $@ $@.tmp; then \
|
|
||||||
mv $@.tmp $@; \
|
|
||||||
else \
|
|
||||||
rm $@.tmp; \
|
|
||||||
fi)
|
|
||||||
|
|
||||||
config-host.h: config-host.h-timestamp
|
config-host.h: config-host.h-timestamp
|
||||||
config-host.h-timestamp: config-host.mak
|
config-host.h-timestamp: config-host.mak
|
||||||
qemu-options.def: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
|
qemu-options.def: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
|
||||||
|
14
meson.build
14
meson.build
@ -158,6 +158,7 @@ have_block = have_system or have_tools
|
|||||||
|
|
||||||
# Generators
|
# Generators
|
||||||
|
|
||||||
|
genh = []
|
||||||
qapi_gen = find_program('scripts/qapi-gen.py')
|
qapi_gen = find_program('scripts/qapi-gen.py')
|
||||||
qapi_gen_depends = [ meson.source_root() / 'scripts/qapi/__init__.py',
|
qapi_gen_depends = [ meson.source_root() / 'scripts/qapi/__init__.py',
|
||||||
meson.source_root() / 'scripts/qapi/commands.py',
|
meson.source_root() / 'scripts/qapi/commands.py',
|
||||||
@ -183,6 +184,17 @@ tracetool = [
|
|||||||
'--backend=' + config_host['TRACE_BACKENDS']
|
'--backend=' + config_host['TRACE_BACKENDS']
|
||||||
]
|
]
|
||||||
|
|
||||||
|
qemu_version_cmd = [find_program('scripts/qemu-version.sh'),
|
||||||
|
meson.current_source_dir(),
|
||||||
|
config_host['PKGVERSION'], config_host['VERSION']]
|
||||||
|
qemu_version = custom_target('qemu-version.h',
|
||||||
|
output: 'qemu-version.h',
|
||||||
|
command: qemu_version_cmd,
|
||||||
|
capture: true,
|
||||||
|
build_by_default: true,
|
||||||
|
build_always_stale: true)
|
||||||
|
genh += qemu_version
|
||||||
|
|
||||||
# Collect sourcesets.
|
# Collect sourcesets.
|
||||||
|
|
||||||
util_ss = ss.source_set()
|
util_ss = ss.source_set()
|
||||||
@ -283,8 +295,6 @@ trace_events_subdirs += [
|
|||||||
'util',
|
'util',
|
||||||
]
|
]
|
||||||
|
|
||||||
genh = []
|
|
||||||
|
|
||||||
subdir('qapi')
|
subdir('qapi')
|
||||||
subdir('qobject')
|
subdir('qobject')
|
||||||
subdir('stubs')
|
subdir('stubs')
|
||||||
|
25
scripts/qemu-version.sh
Executable file
25
scripts/qemu-version.sh
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
dir="$1"
|
||||||
|
pkgversion="$2"
|
||||||
|
version="$3"
|
||||||
|
|
||||||
|
if [ -z "$pkgversion"]; then
|
||||||
|
cd "$dir"
|
||||||
|
if [ -e .git ]; then
|
||||||
|
pkgversion=$(git describe --match 'v*' --dirty | echo "")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$pkgversion" ]; then
|
||||||
|
fullversion="$version ($pkgversion)"
|
||||||
|
else
|
||||||
|
fullversion="$version"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
#define QEMU_PKGVERSION "$pkgversion"
|
||||||
|
#define QEMU_FULL_VERSION "$fullversion"
|
||||||
|
EOF
|
Loading…
Reference in New Issue
Block a user