build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO}

There are better chances to find what went wrong at build time than a
later assert in qmp_query_version

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20160912091913.15831-2-marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Marc-André Lureau 2016-09-12 13:18:56 +04:00 committed by Markus Armbruster
parent e3571ae30c
commit 3688d8c717
2 changed files with 9 additions and 13 deletions

16
qmp.c
View File

@ -51,21 +51,11 @@ NameInfo *qmp_query_name(Error **errp)
VersionInfo *qmp_query_version(Error **errp) VersionInfo *qmp_query_version(Error **errp)
{ {
VersionInfo *info = g_new0(VersionInfo, 1); VersionInfo *info = g_new0(VersionInfo, 1);
const char *version = QEMU_VERSION;
const char *tmp;
int err;
info->qemu = g_new0(VersionTriple, 1); info->qemu = g_new0(VersionTriple, 1);
err = qemu_strtoll(version, &tmp, 10, &info->qemu->major); info->qemu->major = QEMU_VERSION_MAJOR;
assert(err == 0); info->qemu->minor = QEMU_VERSION_MINOR;
tmp++; info->qemu->micro = QEMU_VERSION_MICRO;
err = qemu_strtoll(tmp, &tmp, 10, &info->qemu->minor);
assert(err == 0);
tmp++;
err = qemu_strtoll(tmp, &tmp, 10, &info->qemu->micro);
assert(err == 0);
info->package = g_strdup(QEMU_PKGVERSION); info->package = g_strdup(QEMU_PKGVERSION);
return info; return info;

View File

@ -7,7 +7,13 @@ while read line; do
case $line in case $line in
VERSION=*) # configuration VERSION=*) # configuration
version=${line#*=} version=${line#*=}
major=$(echo "$version" | cut -d. -f1)
minor=$(echo "$version" | cut -d. -f2)
micro=$(echo "$version" | cut -d. -f3)
echo "#define QEMU_VERSION \"$version\"" echo "#define QEMU_VERSION \"$version\""
echo "#define QEMU_VERSION_MAJOR $major"
echo "#define QEMU_VERSION_MINOR $minor"
echo "#define QEMU_VERSION_MICRO $micro"
;; ;;
qemu_*dir=*) # qemu-specific directory configuration qemu_*dir=*) # qemu-specific directory configuration
name=${line%=*} name=${line%=*}