blob: 6d8f08b39daea1e2f0654f83d4fd1e599068ddeb [file] [log] [blame]
Juan Quintela42bc6082009-07-16 18:34:20 +02001#!/bin/sh
2
Juan Quintela1215c6e2009-10-07 02:40:58 +02003echo "/* Automatically generated by create_config - do not modify */"
4
Juan Quintela42bc6082009-07-16 18:34:20 +02005while read line; do
6
7case $line in
Juan Quintela2358a492009-07-27 16:13:25 +02008 VERSION=*) # configuration
9 version=${line#*=}
Marc-André Lureau3688d8c2016-09-12 13:18:56 +040010 major=$(echo "$version" | cut -d. -f1)
11 minor=$(echo "$version" | cut -d. -f2)
12 micro=$(echo "$version" | cut -d. -f3)
Juan Quintela2358a492009-07-27 16:13:25 +020013 echo "#define QEMU_VERSION \"$version\""
Marc-André Lureau3688d8c2016-09-12 13:18:56 +040014 echo "#define QEMU_VERSION_MAJOR $major"
15 echo "#define QEMU_VERSION_MINOR $minor"
16 echo "#define QEMU_VERSION_MICRO $micro"
Juan Quintela2358a492009-07-27 16:13:25 +020017 ;;
Gerd Hoffmann3d5eeca2017-09-14 13:42:36 +020018 qemu_*dir=* | qemu_*path=*) # qemu-specific directory configuration
Eduardo Habkosteb729522012-04-18 16:55:40 -030019 name=${line%=*}
20 value=${line#*=}
Stefan Weilbbd90802016-05-16 15:23:33 +020021 define_name=$(echo $name | LC_ALL=C tr '[a-z]' '[A-Z]')
Eduardo Habkosteb729522012-04-18 16:55:40 -030022 eval "define_value=\"$value\""
23 echo "#define CONFIG_$define_name \"$define_value\""
24 # save for the next definitions
25 eval "$name=\$define_value"
26 ;;
Eduardo Habkostc41cc502012-04-18 16:55:47 -030027 prefix=*)
Paolo Bonzini1dabe052010-05-26 16:08:25 +020028 # save for the next definitions
Eduardo Habkost0b3b7172012-04-18 16:55:48 -030029 prefix=${line#*=}
Paolo Bonzini1dabe052010-05-26 16:08:25 +020030 ;;
Marcel Apfelbaum9dd6cab2013-12-26 16:54:22 +020031 IASL=*) # iasl executable
32 value=${line#*=}
33 echo "#define CONFIG_IASL $value"
34 ;;
Juan Quintela2358a492009-07-27 16:13:25 +020035 CONFIG_AUDIO_DRIVERS=*)
36 drivers=${line#*=}
37 echo "#define CONFIG_AUDIO_DRIVERS \\"
38 for drv in $drivers; do
Gerd Hoffmannd3893a32018-03-06 08:40:47 +010039 echo " \"${drv}\",\\"
Juan Quintela2358a492009-07-27 16:13:25 +020040 done
41 echo ""
42 ;;
Fam Zhengb64ec4e2013-05-29 19:35:40 +080043 CONFIG_BDRV_RW_WHITELIST=*)
44 echo "#define CONFIG_BDRV_RW_WHITELIST\\"
45 for drv in ${line#*=}; do
46 echo " \"${drv}\",\\"
47 done
48 echo " NULL"
49 ;;
50 CONFIG_BDRV_RO_WHITELIST=*)
51 echo "#define CONFIG_BDRV_RO_WHITELIST\\"
Markus Armbrustereb852012009-10-27 18:41:44 +010052 for drv in ${line#*=}; do
53 echo " \"${drv}\",\\"
54 done
55 echo " NULL"
56 ;;
Paolo Bonzini3cae16d2019-07-11 19:08:36 +020057 CONFIG_*=y) # configuration
Juan Quintela42bc6082009-07-16 18:34:20 +020058 name=${line%=*}
59 echo "#define $name 1"
60 ;;
Julio Montes6c22ea92019-07-05 14:35:53 +000061 CONFIG_*=n) # configuration
62 ;;
Juan Quintela42bc6082009-07-16 18:34:20 +020063 CONFIG_*=*) # configuration
64 name=${line%=*}
65 value=${line#*=}
66 echo "#define $name $value"
67 ;;
Daniel P. Berrange559607e2015-02-27 16:19:33 +000068 HAVE_*=y) # configuration
69 name=${line%=*}
70 echo "#define $name 1"
71 ;;
72 HAVE_*=*) # configuration
73 name=${line%=*}
74 value=${line#*=}
75 echo "#define $name $value"
76 ;;
Juan Quintela2358a492009-07-27 16:13:25 +020077 ARCH=*) # configuration
78 arch=${line#*=}
Stefan Weilbbd90802016-05-16 15:23:33 +020079 arch_name=$(echo $arch | LC_ALL=C tr '[a-z]' '[A-Z]')
Juan Quintela2358a492009-07-27 16:13:25 +020080 echo "#define HOST_$arch_name 1"
81 ;;
82 HOST_USB=*)
83 # do nothing
84 ;;
85 HOST_CC=*)
86 # do nothing
87 ;;
88 HOST_*=y) # configuration
89 name=${line%=*}
90 echo "#define $name 1"
91 ;;
92 HOST_*=*) # configuration
93 name=${line%=*}
94 value=${line#*=}
95 echo "#define $name $value"
96 ;;
Juan Quintela42bc6082009-07-16 18:34:20 +020097 TARGET_BASE_ARCH=*) # configuration
98 target_base_arch=${line#*=}
Stefan Weilbbd90802016-05-16 15:23:33 +020099 base_arch_name=$(echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]')
Paolo Bonzini2e599152013-06-04 14:45:27 +0200100 echo "#define TARGET_$base_arch_name 1"
Juan Quintela42bc6082009-07-16 18:34:20 +0200101 ;;
102 TARGET_XML_FILES=*)
103 # do nothing
104 ;;
105 TARGET_ABI_DIR=*)
106 # do nothing
107 ;;
Paolo Bonzinic1799a82013-06-14 15:19:07 +0100108 TARGET_NAME=*)
Paolo Bonzini2e599152013-06-04 14:45:27 +0200109 target_name=${line#*=}
110 echo "#define TARGET_NAME \"$target_name\""
Juan Quintela42bc6082009-07-16 18:34:20 +0200111 ;;
Alex Bennée2b1f35b2018-07-04 07:30:11 +0100112 TARGET_DIRS=*)
Juan Quintela2358a492009-07-27 16:13:25 +0200113 # do nothing
114 ;;
Juan Quintela42bc6082009-07-16 18:34:20 +0200115 TARGET_*=y) # configuration
116 name=${line%=*}
117 echo "#define $name 1"
118 ;;
119 TARGET_*=*) # configuration
120 name=${line%=*}
121 value=${line#*=}
122 echo "#define $name $value"
123 ;;
Fam Zhenge26110c2014-02-10 14:48:57 +0800124 DSOSUF=*)
125 echo "#define HOST_DSOSUF \"${line#*=}\""
126 ;;
Juan Quintela42bc6082009-07-16 18:34:20 +0200127esac
128
129done # read