summaryrefslogtreecommitdiff
path: root/script/mkconfig
blob: 63dc3028a5af87d4fbc1678435a46e31606a0921 (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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#!/bin/sh
#
# Copyright 2020 Daniel Friesel
#
# SPDX-License-Identifier: BSD-2-Clause

cat <<EOF

menu "System"

config loop
bool "Regularly call loop()"
default y

config wakeup
bool "Call wakeup() on wakeup"
default n

config ostream
bool "C++ ostream support in stdout"
default n
depends on arch_esp8266 || arch_msp430fr5969lp || arch_msp430fr5994lp || arch_posix

config aspectc
bool "Build with AspectC++"
default n

config i2c_freq
int "I2C Frequency [Hz]"
range 1000 100000
default 100000
depends on meta_driver_i2c

config timer_freq
int "Timer Frequency"
range 1 10000
default 10
depends on meta_driver_timer

config framebuffer
bool "Framebuffer"
default n

config framebuffer_in_text_segment
bool "Place Framebuffer in text segment"
default y
depends on framebuffer

config framebuffer_width
int "Framebuffer Width"
default 300
range 8 800
depends on framebuffer

config framebuffer_height
int "Framebuffer Height"
default 400
range 8 800
depends on framebuffer

endmenu

menu "Libraries"

config lib_inflate
bool "Inflate: deflate and zlib decompression"
default n

config lib_inflate_checksum
bool "Verify checksum after decompression"
default n
depends on lib_inflate

config lib_inflate_lut
bool "Store LUT in intermediate variables"
help
  Increases speed at the cost of 636 Bytes of additional RAM usage.
default n
depends on lib_inflate

endmenu

choice Architecture
bool "Architecture"

EOF

for arch in $(ls -1 src/arch); do
	echo config arch_${arch} | tr - _
	echo bool '"'"$(cat src/arch/${arch}/prompt)"'"'
	echo
done

echo endchoice
echo

for arch in $(ls -1 src/arch); do
	echo config arch
	echo string
	echo default '"'"${arch}"'"'
	echo depends on arch_${arch} | tr - _
	echo
done

for arch in $(ls -1 src/arch); do
	if [ -e "src/arch/${arch}/Kconfig" ]; then
		echo menu '"'"$(cat src/arch/${arch}/prompt) Configuration"'"'
		echo depends on arch_${arch} | tr - _
		echo
		cat "src/arch/${arch}/Kconfig"
		echo
		echo endmenu
		echo
	fi
done

cat <<EOF
choice Application
bool "Application"

EOF

for app in $(ls -1 src/app); do
	if [ ! -e "src/app/${app}/Kconfig" ]; then
		continue
	fi
	echo config app_${app} | tr - _
	if [ -e "src/app/${app}/Kconfig" ]; then
		echo bool
		cat src/app/${app}/Kconfig
	else
		echo bool '"'${app}'"'
	fi
	echo
done

echo endchoice
echo

for app in $(ls -1 src/app); do
	if [ ! -e "src/app/${app}/Kconfig" ]; then
		continue
	fi
	echo config app
	echo string
	echo default '"'"${app}"'"'
	echo depends on app_${app} | tr - _
	echo
done

cat src/driver/Kconfig