qemu/scripts/create_config
Marc-André Lureau 3688d8c717 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>
2016-09-19 17:32:21 +02:00

127 lines
2.9 KiB
Bash
Executable file

#!/bin/sh
echo "/* Automatically generated by create_config - do not modify */"
while read line; do
case $line in
VERSION=*) # configuration
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_MAJOR $major"
echo "#define QEMU_VERSION_MINOR $minor"
echo "#define QEMU_VERSION_MICRO $micro"
;;
qemu_*dir=*) # qemu-specific directory configuration
name=${line%=*}
value=${line#*=}
define_name=$(echo $name | LC_ALL=C tr '[a-z]' '[A-Z]')
eval "define_value=\"$value\""
echo "#define CONFIG_$define_name \"$define_value\""
# save for the next definitions
eval "$name=\$define_value"
;;
prefix=*)
# save for the next definitions
prefix=${line#*=}
;;
IASL=*) # iasl executable
value=${line#*=}
echo "#define CONFIG_IASL $value"
;;
CONFIG_AUDIO_DRIVERS=*)
drivers=${line#*=}
echo "#define CONFIG_AUDIO_DRIVERS \\"
for drv in $drivers; do
echo " &${drv}_audio_driver,\\"
done
echo ""
;;
CONFIG_BDRV_RW_WHITELIST=*)
echo "#define CONFIG_BDRV_RW_WHITELIST\\"
for drv in ${line#*=}; do
echo " \"${drv}\",\\"
done
echo " NULL"
;;
CONFIG_BDRV_RO_WHITELIST=*)
echo "#define CONFIG_BDRV_RO_WHITELIST\\"
for drv in ${line#*=}; do
echo " \"${drv}\",\\"
done
echo " NULL"
;;
CONFIG_*='$(CONFIG_SOFTMMU)'|CONFIG_*=y) # configuration
name=${line%=*}
echo "#define $name 1"
;;
CONFIG_*=*) # configuration
name=${line%=*}
value=${line#*=}
echo "#define $name $value"
;;
HAVE_*=y) # configuration
name=${line%=*}
echo "#define $name 1"
;;
HAVE_*=*) # configuration
name=${line%=*}
value=${line#*=}
echo "#define $name $value"
;;
ARCH=*) # configuration
arch=${line#*=}
arch_name=$(echo $arch | LC_ALL=C tr '[a-z]' '[A-Z]')
echo "#define HOST_$arch_name 1"
;;
HOST_USB=*)
# do nothing
;;
HOST_CC=*)
# do nothing
;;
HOST_*=y) # configuration
name=${line%=*}
echo "#define $name 1"
;;
HOST_*=*) # configuration
name=${line%=*}
value=${line#*=}
echo "#define $name $value"
;;
TARGET_BASE_ARCH=*) # configuration
target_base_arch=${line#*=}
base_arch_name=$(echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]')
echo "#define TARGET_$base_arch_name 1"
;;
TARGET_XML_FILES=*)
# do nothing
;;
TARGET_ABI_DIR=*)
# do nothing
;;
TARGET_NAME=*)
target_name=${line#*=}
echo "#define TARGET_NAME \"$target_name\""
;;
TARGET_DIRS=*)
# do nothing
;;
TARGET_*=y) # configuration
name=${line%=*}
echo "#define $name 1"
;;
TARGET_*=*) # configuration
name=${line%=*}
value=${line#*=}
echo "#define $name $value"
;;
DSOSUF=*)
echo "#define HOST_DSOSUF \"${line#*=}\""
;;
esac
done # read