aboutsummaryrefslogtreecommitdiff
path: root/scripts/create_config
blob: ec5c0b41247aab95df6f83978fd8ba31f2a275ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/sh

test $# -gt 0 && exec < $1

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}\",\\"
    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_*=y) # configuration
    name=${line%=*}
    echo "#define $name 1"
    ;;
 CONFIG_*=n) # configuration
    ;;
 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_DSOSUF=*)
    echo "#define HOST_DSOSUF \"${line#*=}\""
    ;;
 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"
    ;;
esac

done # read