3d5eecab4a
Add a firmware path config option to configure. Multiple directories are accepted, with the usual colon as separator. Default value is ${prefix}/share/qemu-firmware. The path is searched in addition to the current search path (typically ${prefix}/share/qemu). This prepares qemu for the planned split of the prebuilt firmware blobs into a separate project. Distributions can also use this to get rid of the firmware symlink farm and add -- for example -- /usr/share/seabios to the firmware path instead. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20170914114236.25343-3-kraxel@redhat.com
128 lines
3.0 KiB
Bash
Executable File
128 lines
3.0 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_*path=*) # 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
|