hw/arm/virt: parameter passing cleanups
[qemu.git] / scripts / create_config
1 #!/bin/sh
2
3 echo "/* Automatically generated by create_config - do not modify */"
4
5 while read line; do
6
7 case $line in
8  VERSION=*) # configuration
9     version=${line#*=}
10     major=$(echo "$version" | cut -d. -f1)
11     minor=$(echo "$version" | cut -d. -f2)
12     micro=$(echo "$version" | cut -d. -f3)
13     echo "#define QEMU_VERSION \"$version\""
14     echo "#define QEMU_VERSION_MAJOR $major"
15     echo "#define QEMU_VERSION_MINOR $minor"
16     echo "#define QEMU_VERSION_MICRO $micro"
17     ;;
18  qemu_*dir=*) # qemu-specific directory configuration
19     name=${line%=*}
20     value=${line#*=}
21     define_name=$(echo $name | LC_ALL=C tr '[a-z]' '[A-Z]')
22     eval "define_value=\"$value\""
23     echo "#define CONFIG_$define_name \"$define_value\""
24     # save for the next definitions
25     eval "$name=\$define_value"
26     ;;
27  prefix=*)
28     # save for the next definitions
29     prefix=${line#*=}
30     ;;
31  IASL=*) # iasl executable
32     value=${line#*=}
33     echo "#define CONFIG_IASL $value"
34     ;;
35  CONFIG_AUDIO_DRIVERS=*)
36     drivers=${line#*=}
37     echo "#define CONFIG_AUDIO_DRIVERS \\"
38     for drv in $drivers; do
39       echo "    &${drv}_audio_driver,\\"
40     done
41     echo ""
42     ;;
43  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\\"
52     for drv in ${line#*=}; do
53       echo "    \"${drv}\",\\"
54     done
55     echo "    NULL"
56     ;;
57  CONFIG_*='$(CONFIG_SOFTMMU)'|CONFIG_*=y) # configuration
58     name=${line%=*}
59     echo "#define $name 1"
60     ;;
61  CONFIG_*=*) # configuration
62     name=${line%=*}
63     value=${line#*=}
64     echo "#define $name $value"
65     ;;
66  HAVE_*=y) # configuration
67     name=${line%=*}
68     echo "#define $name 1"
69     ;;
70  HAVE_*=*) # configuration
71     name=${line%=*}
72     value=${line#*=}
73     echo "#define $name $value"
74     ;;
75  ARCH=*) # configuration
76     arch=${line#*=}
77     arch_name=$(echo $arch | LC_ALL=C tr '[a-z]' '[A-Z]')
78     echo "#define HOST_$arch_name 1"
79     ;;
80  HOST_USB=*)
81     # do nothing
82     ;;
83  HOST_CC=*)
84     # do nothing
85     ;;
86  HOST_*=y) # configuration
87     name=${line%=*}
88     echo "#define $name 1"
89     ;;
90  HOST_*=*) # configuration
91     name=${line%=*}
92     value=${line#*=}
93     echo "#define $name $value"
94     ;;
95  TARGET_BASE_ARCH=*) # configuration
96     target_base_arch=${line#*=}
97     base_arch_name=$(echo $target_base_arch | LC_ALL=C tr '[a-z]' '[A-Z]')
98     echo "#define TARGET_$base_arch_name 1"
99     ;;
100  TARGET_XML_FILES=*)
101     # do nothing
102     ;;
103  TARGET_ABI_DIR=*)
104     # do nothing
105     ;;
106  TARGET_NAME=*)
107     target_name=${line#*=}
108     echo "#define TARGET_NAME \"$target_name\""
109     ;;
110  TARGET_DIRS=*)
111     # do nothing
112     ;;
113  TARGET_*=y) # configuration
114     name=${line%=*}
115     echo "#define $name 1"
116     ;;
117  TARGET_*=*) # configuration
118     name=${line%=*}
119     value=${line#*=}
120     echo "#define $name $value"
121     ;;
122  DSOSUF=*)
123     echo "#define HOST_DSOSUF \"${line#*=}\""
124     ;;
125 esac
126
127 done # read