summaryrefslogtreecommitdiff
path: root/maintainer/kconfig-versions.template
blob: 61414f507eae05f90c6f89389b9e21a2370566a8 (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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
#!// This file is not automatically generated, but we want this banner to
#!// appear in the files produced from it.
#
# DO NOT EDIT! This file is automatically generated.
#

# The component directory name
config @@master|@@_DIR_NAME
    string
    default "@@master@@"

#!if [ "@@nforks@@" -ge 2 ]

choice
    bool "Show @@master@@ versions from"

#!foreach fork
config @@master|@@_USE_@@origin|@@
    bool "@@origin@@"
#!if [ -n "@@only_obsolete@@" ]
    depends on OBSOLETE
#!end-if
#!if [ -n "@@only_experimental@@" ]
    depends on EXPERIMENTAL
#!end-if
    help
@@originhelp@@

#!end-foreach
endchoice

config @@master|@@_USE
    string
#!foreach fork
    default "@@fork|@@" if @@master|@@_USE_@@origin|@@
#!end-foreach

#!end-if

#!foreach fork
#!if [ "@@nforks@@" -ge 2 ]
if @@master|@@_USE_@@origin|@@
#!end-if

config @@fork|@@_PKG_NAME
    string
    default "@@pkg_name@@"

#!// If a project makes official releases, using "bleeding edge"
#!// from a development repository is experimental. However, there
#!// are projects that consider its HEAD a "rolling release". For
#!// those, checking out from a repository is the regular method.
choice
    bool "Source of @@pkg_label@@"

#!if [ "@@#version@@" -gt 0 ]
config @@fork|@@_SRC_RELEASE
    bool "Released tarball"
    help
      Download a released tarball.

#!end-if
config @@fork|@@_SRC_DEVEL
    bool "Vendor/custom repository"
#!if [ "@@#version@@" -gt 0 ]
    depends on EXPERIMENTAL
#!end-if
    help
      Check out from a repository.
#!if [ -n "@@repository@@" ]
      Default is the vendor repository at @@repository_url@@
#!end-if

if @@fork|@@_SRC_DEVEL

choice
    bool "VCS type"
#!if [ -n "@@repository@@" ]
    default @@fork|@@_DEVEL_VCS_@@vcs@@
#!end-if
    help
      Version control system from which the sources will be checked out.
      The default value points to the development repository for @@pkg_label@@.

config @@fork|@@_DEVEL_VCS_git
    bool "Git"

config @@fork|@@_DEVEL_VCS_svn
    bool "Subversion"

config @@fork|@@_DEVEL_VCS_hg
    bool "Mercurial"

config @@fork|@@_DEVEL_VCS_cvs
    bool "CVS"

endchoice

config @@fork|@@_DEVEL_VCS
    string
    default "git" if @@fork|@@_DEVEL_VCS_git
    default "svn" if @@fork|@@_DEVEL_VCS_svn
    default "hg" if @@fork|@@_DEVEL_VCS_hg
    default "cvs" if @@fork|@@_DEVEL_VCS_cvs

config @@fork|@@_DEVEL_URL
    string "Repository URL"
#!if [ -n "@@repository@@" ]
    default "@@repository_url@@"
#!end-if
    help
      Repository URL.

      For CVS, enter both the value of CVS root and the module name, separated
      by a space.

config @@fork|@@_DEVEL_BRANCH
    string "Branch/tag to check out"
    default "@@repository_branch@@"
    help
      Git/CVS: branch/tag to be checked out
      Subversion: directories to append to the repository URL (i.e. branch or tag)
      Mercurial: official guide recommends using separate repositories to maintain
      stable branches. You likely need to change the repository URL, rather than
      enter anything here.

config @@fork|@@_DEVEL_REVISION
    string "Revision/changeset"
    default "@@repository_cset@@"
    help
      Commit ID or revision ID to check out.
      Git: enter the commit ID to check out a commit.
      CVS: enter the date in "YYYY/MM/DD HH:MM:SS" format (UTC) to check out certain date.
      Subversion: enter the revision.

config @@fork|@@_DEVEL_SUBDIR
    string "Subdirectory in the repository"
    default "@@repository_subdir@@"
    help
      Some projects produce releases not from the top-level directory in the
      repository, but rather from some subdirectory. If it is the case,
      specify this subdirectory here.

config @@fork|@@_DEVEL_BOOTSTRAP
    string "Bootstrap command"
    default "@@bootstrap@@"
    help
      Command to run after checking out. Some projects don't store the generated
      files like configure script in the repository; building out of a checked out
      working copy thus requires some extra steps. Separate multiple shell commands
      with &&.

endif

config @@fork|@@_SRC_CUSTOM
    bool "Custom location"
    depends on EXPERIMENTAL
    help
      Custom directory or tarball.

if @@fork|@@_SRC_CUSTOM

config @@fork|@@_CUSTOM_LOCATION
    string "Custom source location"
    help
      Path to the directory or tarball with the sources.

endif

endchoice

if EXPERIMENTAL
choice
    bool "@@pkg_label@@ patches origin"
    default @@fork|@@_PATCH_GLOBAL

config @@fork|@@_PATCH_GLOBAL
    bool "Per global policy"

config @@fork|@@_PATCH_BUNDLED
    bool "Bundled only"

config @@fork|@@_PATCH_LOCAL
    bool "Local only"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_BUNDLED_LOCAL
    bool "Bundled, then local"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_LOCAL_BUNDLED
    bool "Local, then bundled"
    select PATCH_USE_LOCAL

config @@fork|@@_PATCH_NONE
    bool "None"

endchoice
endif

config @@fork|@@_PATCH_ORDER
    string
    default "bundled" if @@fork|@@_PATCH_BUNDLED
    default "local" if @@fork|@@_PATCH_LOCAL
    default "bundled,local" if @@fork|@@_PATCH_BUNDLED_LOCAL
    default "local,bundled" if @@fork|@@_PATCH_LOCAL_BUNDLED
    default "none" if @@fork|@@_PATCH_NONE
    default "global"

#!// Below, we explicitly select all milestones to which a given version
#!// compares greater-or-equal. We don't select just the latest applicable
#!// (and letting milestones chain-select each other, with FOO_6_or_later
#!// selecting FOO_5_or_later and so on) so that we can handle the cases
#!// where we need to identify a range of releases on a branch, for example,
#!// "all FOO releases after 4.9.1 but before 4.9.3".
#!//
#!if [ "@@#version@@" -gt 0 -a -z "@@versionlocked@@" ]
choice
    bool "Version of @@pkg_label@@"
    help
      For a released version, select the version of @@pkg_label@@ to download
      and build. For sources out of the vendor repository or from a custom
      location, select the version that describes those custom sources.
      Based on this version, crosstool-NG may apply some version-specific
      quirks while building @@pkg_label@@.

config @@fork|@@_VERY_NEW
    bool "newer than anything below"
    depends on EXPERIMENTAL
    depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM
#!foreach milestone
    select @@master|@@_@@ms|@@_or_later
    select @@master|@@_later_than_@@ms|@@
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_older
    depends on !@@master|@@_REQUIRE_older_than_@@ms|@@
#!end-foreach

#!foreach version
config @@fork|@@_V_@@ver_sel|@@
    bool "@@ver@@@@obsolete? (OBSOLETE)@@@@experimental? (EXPERIMENTAL)@@"
#!if [ "@@obsolete@@" = "yes" ]
    depends on OBSOLETE
#!end-if
#!if [ "@@experimental@@" = "yes" ]
    depends on EXPERIMENTAL
#!end-if
#!foreach milestone
#!if [ "@@version_cmp_milestone@@" -gt 0 ]
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_older
    select @@master|@@_later_than_@@ms|@@
#!end-if
#!if [ "@@version_cmp_milestone@@" -ge 0 ]
    depends on !@@master|@@_REQUIRE_older_than_@@ms|@@
    select @@master|@@_@@ms|@@_or_later
#!end-if
#!if [ "@@version_cmp_milestone@@" -le 0 ]
    depends on !@@master|@@_REQUIRE_later_than_@@ms|@@
    select @@master|@@_@@ms|@@_or_older
#!end-if
#!if [ "@@version_cmp_milestone@@" -lt 0 ]
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_later
    select @@master|@@_older_than_@@ms|@@
#!end-if
#!end-foreach

#!end-foreach
config @@fork|@@_VERY_OLD
    bool "older than anything above"
    depends on OBSOLETE && EXPERIMENTAL
    depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM
#!foreach milestone
    select @@master|@@_@@ms|@@_or_older
    select @@master|@@_older_than_@@ms|@@
    depends on !@@master|@@_REQUIRE_@@ms|@@_or_later
    depends on !@@master|@@_REQUIRE_later_than_@@ms|@@
#!end-foreach

endchoice

# A flag indicating that no valid selections exist for the version.
# This may happen if there are conflicting requirements set by
# the host system and/or other packages.
config @@fork|@@_NO_VERSIONS
    bool
    select INVALID_CONFIGURATION
    default n if @@fork|@@_VERY_NEW
#!foreach version
    default n if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default n if @@fork|@@_VERY_OLD
    default y

if @@fork|@@_NO_VERSIONS
comment "WARNING!"
comment "|  The @@master@@ package has no viable versions"
comment "|  due to conflicting constraints."
endif

#!end-if

#!if [ -n "@@versionlocked@@" ]
#!foreach version
config @@fork|@@_V_@@ver_sel|@@
    def_bool y
    depends on @@versionlocked|@@_V_@@ver_sel|@@

#!end-foreach
#!end-if

config @@fork|@@_VERSION
    string
#!foreach version
    default "@@ver@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "new" if @@fork|@@_VERY_NEW
    default "old" if @@fork|@@_VERY_OLD
    default "unknown"

#!if [ "@@#version@@" -gt 0 ]
config @@fork|@@_MIRRORS
    string
#!foreach version if-differs mirrors
    default "@@mirrors@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@mirrors@@"

config @@fork|@@_ARCHIVE_FILENAME
    string
#!foreach version if-differs archive_filename
    default "@@archive_filename@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_filename@@"

config @@fork|@@_ARCHIVE_DIRNAME
    string
#!foreach version if-differs archive_dirname
    default "@@archive_dirname@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_dirname@@"

config @@fork|@@_ARCHIVE_FORMATS
    string
#!foreach version if-differs archive_formats
    default "@@archive_formats@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@archive_formats@@"

config @@fork|@@_SIGNATURE_FORMAT
    string
#!foreach version if-differs signature_format
    default "@@signature_format@@" if @@fork|@@_V_@@ver_sel|@@
#!end-foreach
    default "@@signature_format@@"

#!end-if

#!if [ "@@nforks@@" -ge 2 ]
endif
#!end-if

#!end-foreach

#!foreach milestone
#!// Milestones selected by a chosen version of this package
config @@master|@@_later_than_@@ms|@@
    bool

config @@master|@@_@@ms|@@_or_later
    bool

config @@master|@@_@@ms|@@_or_older
    bool

config @@master|@@_older_than_@@ms|@@
    bool

#!// Milestone requirements selected by other packages that restrict
#!// the choices in this package
config @@master|@@_REQUIRE_later_than_@@ms|@@
    bool

config @@master|@@_REQUIRE_@@ms|@@_or_later
    bool

config @@master|@@_REQUIRE_@@ms|@@_or_older
    bool

config @@master|@@_REQUIRE_older_than_@@ms|@@
    bool

#!end-foreach