1# SPDX-License-Identifier: Apache-2.0
2# Copyright (c) 2022 CSIRO
3
4config DEP_Y
5	bool "Dependency that evaluates to enabled"
6	default y
7
8config DEP_N
9	bool "Dependency that evaluates to disabled"
10	default n
11
12# configdefault after main def
13config SYM_Y_1
14	bool "SYM Y 1"
15
16configdefault SYM_Y_1
17	default y if DEP_Y
18
19config SYM_N_1
20	bool "SYM N 1"
21
22configdefault SYM_N_1
23	default y if DEP_N
24
25# configdefault before main def
26configdefault SYM_Y_2
27	default y if DEP_Y
28
29config SYM_Y_2
30	bool "SYM Y 2"
31
32configdefault SYM_N_2
33	default y if DEP_N
34
35config SYM_N_2
36	bool "SYM N 2"
37
38# configdefaults with multiple defaults
39configdefault SYM_Y_3
40	default y if DEP_Y
41	default y if DEP_N
42
43config SYM_Y_3
44	bool "SYM Y 3"
45
46configdefault SYM_N_3
47	default y if DEP_N
48	default y if DEP_N
49
50config SYM_N_3
51	bool "SYM N 3"
52
53# multiple configdefaults
54configdefault SYM_Y_4
55	default y if DEP_Y
56configdefault SYM_Y_4
57	default y if DEP_N
58
59config SYM_Y_4
60	bool "SYM Y 4"
61
62configdefault SYM_N_4
63	default y if DEP_N
64configdefault SYM_N_4
65	default y if DEP_N
66
67config SYM_N_4
68	bool "SYM N 4"
69
70# if surrounding configdefault
71config SYM_Y_5
72	bool "SYM Y 5"
73if DEP_Y
74configdefault SYM_Y_5
75	default y
76endif
77
78config SYM_N_5
79	bool "SYM N 5"
80if DEP_N
81configdefault SYM_N_5
82	default y
83endif
84
85# if surrounding definition
86if DEP_Y
87config SYM_Y_6
88	bool "SYM Y 6"
89endif
90
91configdefault SYM_Y_6
92	default y
93
94if DEP_N
95config SYM_N_6
96	bool "SYM N 6"
97endif
98
99configdefault SYM_N_6
100	default y
101
102# if surrounding complete
103if DEP_Y
104config SYM_Y_7
105	bool "SYM Y 7"
106configdefault SYM_Y_7
107	default y
108endif
109
110if DEP_N
111config SYM_N_7
112	bool "SYM N 7"
113configdefault SYM_N_7
114	default y
115endif
116
117# configdefault default symbol
118config SYM_Y_8
119	bool "SYM Y 8"
120
121configdefault SYM_Y_8
122	default DEP_Y
123
124config SYM_N_8
125	bool "SYM N 8"
126
127configdefault SYM_N_8
128	default DEP_N
129
130# configdefault with "prompt if <conditional==true>"
131configdefault SYM_Y_9
132	default y
133
134config SYM_Y_9
135	bool "SYM Y 9" if DEP_Y
136	default y if DEP_N
137
138configdefault SYM_N_9
139	default n if DEP_Y
140
141config SYM_N_9
142	bool "SYM N 9" if DEP_Y
143	default y
144
145# configdefault with "prompt if <conditional==false>"
146configdefault SYM_Y_10
147	default y if DEP_Y
148
149config SYM_Y_10
150	bool "SYM Y 10" if DEP_N
151
152configdefault SYM_N_10
153	default n if DEP_Y
154
155config SYM_N_10
156	bool "SYM N 10" if DEP_N
157	default y
158
159# configdefault with "prompt if <conditional==true>" and surrounding 'if'
160configdefault SYM_Y_11
161	default y
162
163if DEP_Y
164config SYM_Y_11
165	bool "SYM Y 11" if DEP_Y
166	default y if DEP_N
167endif
168
169configdefault SYM_N_11
170	default y
171
172if DEP_N
173config SYM_N_11
174	bool "SYM N 11" if DEP_Y
175	default n if DEP_N
176endif
177
178# Multiple symbols, no configdefault effect
179configdefault SYM_Y_12
180	default y if DEP_N
181
182config SYM_Y_12
183	bool "SYM Y 12"
184	default y if DEP_N
185	depends on DEP_N
186
187config SYM_Y_12
188	default y
189
190configdefault SYM_N_12
191	default y if DEP_N
192
193config SYM_N_12
194	bool "SYM N 12"
195	default y if DEP_N
196
197config SYM_N_12
198	default n
199
200# configdefault does not define integer
201config SYM_INT_UNDEF
202	int "Undefined integer"
203	default 0
204	depends on DEP_N
205
206configdefault SYM_INT_UNDEF
207	default 1
208
209# Integer default
210config SYM_INT_1
211	int "Int 1"
212	depends on DEP_Y
213
214configdefault SYM_INT_1
215	default 1
216
217# configdefault doesn't overwrite ordering
218config SYM_INT_2
219	int "Int 2"
220	default 2
221
222configdefault SYM_INT_2
223	default 3
224
225configdefault SYM_INT_3
226	default 3
227
228configdefault SYM_INT_3
229	default 4
230
231config SYM_INT_3
232	int "Int 3"
233	default 2
234
235configdefault SYM_INT_4
236	default 3 if DEP_N
237
238configdefault SYM_INT_4
239	default 4
240
241config SYM_INT_4
242	int "Int 4"
243	default 2
244
245# Hex value
246configdefault SYM_HEX_20
247	default 0x20
248
249config SYM_HEX_20
250	hex "Hex 0x20"
251
252# String value
253configdefault SYM_STRING
254	default "TEST"
255
256config SYM_STRING
257	string "Hex 0x20"
258
259source "Kconfig.zephyr"
260