summaryrefslogtreecommitdiff
path: root/config/global.in
blob: fe555892ebe39a8dae216de7d1144565573d96c6 (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
# Overall toolchain configuration: paths, jobs, etc...

menu "Paths and misc options"

config EXPERIMENTAL
    bool
    prompt "Try features marked as EXPERIMENTAL"
    default n
    help
      If you set this to Y, then you will be able to try very experimental
      features.
      
      Experimental features can be one of:
        - working, in which case you should tell me it is!
        - buggy, in which case you could try patching and send me the result
        - unfinished, in which case you could try hacking it and send me the result
        - non-existant, in which case you could also try hacking it in and send the result

config PARALLEL_JOBS
    int
    prompt "Number of parallel jobs"
    default 1
    help
      Number of jobs make will be allowed to run concurently.
      Set this higher than the number of processors you have, but not too high.
      A good rule of thumb is twice the number of processors you have.
      
      Enter 1 (or 0) to have only one job at a time.

config LOAD
    int
    prompt "Maximum allowed load"
    default 0
    help
      Specifies that no new jobs should be started if there are others jobs
      running and the load average is at least this value.
      
      Makes sense on SMP machines only.
      
      Enter 0 to have no limit on the load average.
      
      Note: only the integer part of the load is allowed here (you can't enter
            0.75 for example).

config NICE
    int
    prompt "Nice level"
    default 0
    range 0 19
    help
      Renices the build process up.

config USE_PIPES
    bool
    prompt "Use -pipe"
    default y
    help
      Use gcc's option -pipe to use pipes rather than temp files when building
      the toolchain.

comment "Paths"

config TARBALLS_DIR
    string
    prompt "Tarballs directory"
    default "${CT_TOP_DIR}/build/tarballs"
    help
      This is the directory into which tarballs are going to be stored once
      they are downloaded (or otherwise retrieved).

config SRC_DIR
    string
    prompt "Extract directory"
    default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/src"
    help
      This is the directory into which tarballs will be extracted.
      
      If you will build multiple toolchains, you should arrange to have one
      SRC_DIR for each toolchain, as different targets may require different
      patches to be applied.

      You should not need to change this from the default.

config BUILD_DIR
    string
    prompt "Build directory"
    default "${CT_TOP_DIR}/build/${CT_TARGET}/${CT_CC}-${CT_CC_VERSION}-${CT_LIBC}-${CT_LIBC_VERSION}/build"
    help
      This is the directory into which builds will occur.
      
      Once again, arrange for one build directory for each toolchain you build,
      to avoid collision.

      You should not need to change this from the default.

config PREFIX_DIR
    string
    prompt "Prefix directory"
    default "${HOME}/${CT_TARGET}"
    help
      This is the path the toolchain will run from.

config INSTALL_DIR
    string
#    prompt "Install directory"
    default "${CT_PREFIX_DIR}"
#    help
#      This is the path the target will be installed into.
#      
#      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
#      you can't write there, you can install somewhere else and have a third
#      person do the install for you.
#      The reason you might also want to install elsewhere is if you are going
#      to package your shinny new toolchain for distribution.

config CUSTOM_PATCH
    bool
    prompt "Use custom patch directory"
    default n
    help
      If you have custom patches that you want to be applied, say 'Y' here and
      enter the path directory below.
      
      Note that you must ensure that the patch directory is arranged the same
      way the official directory is.

config CUSTOM_PATCH_ONLY
    bool
    prompt "Only use custom patches"
    default n
    depends on CUSTOM_PATCH
    help
      Don't apply patches coming with CT-NG, only those patches available in
      the directory below.
      
      If you say 'N' here, then the patches provided with CT-NG will be applied
      first, and then your patches.

config CUSTOM_PATCH_DIR
    string
    prompt "Custom patch directory"
    default ""
    depends on CUSTOM_PATCH
    help
      Enter the custom patch directory here.

config REMOVE_DOCS
    bool
    prompt "Remove documentation"
    default n
    help
      Remove the installed documentation (man and info pages).
      Gains around 8MiB for a uClibc-based, C and C++ compiler.

comment "Downloading and extracting"

config NO_DOWNLOAD
    bool
    prompt "Avoid downloads"
    default n
    help
      Avoid downloading anything. Bail out if a tarball is missing.

config ONLY_DOWNLOAD
    bool
    prompt "Only download tarballs"
    default n
    depends on ! NO_DOWNLOAD
    help
      Only download the tarballs. Exit once it done.
      
      Usefull to pre-retrieve the tarballs before going off-line.

config FORCE_DOWNLOAD
    bool
    prompt "Force downloads"
    default n
    depends on ! NO_DOWNLOAD
    help
      Force downloading tarballs, even if one already exists.
      Usefull if you suspect a tarball to be damaged.

config FORCE_EXTRACT
    bool
    prompt "Force extractions"
    depends on ! ONLY_DOWNLOAD
    default n
    help
      Force extraction of already exctracted tarballs.
      
      Usefull if you suspect a previous extract did not complete (eg. broken
      tarball), or you added a new set of patches for this component.

comment "Logging"

choice
    bool
    prompt "Maximum log level to see:"
    default LOG_INFO

config LOG_ERROR
    bool
    prompt "ERROR"
    help
      The build will be silent.
      Only if there is an error will you see a mesage.

config LOG_WARN
    bool
    prompt "WARN"
    help
      The same as above, plus warnings.

config LOG_INFO
    bool
    prompt "INFO"
    help
      The same as above, plus informational messages (main steps).

config LOG_EXTRA
    bool
    prompt "EXTRA"
    help
      The same as above, plus extra messages (sub-steps).

config LOG_DEBUG
    bool
    prompt "DEBUG"
    help
      The same as above, plus lots of debug information, of which each
      component's build messages (very noisy!).

endchoice

config LOG_LEVEL_MAX
    string
    default "ERROR"   if LOG_ERROR
    default "WARN"    if LOG_WARN
    default "INFO"    if LOG_INFO
    default "EXTRA"   if LOG_EXTRA
    default "DEBUG"   if LOG_DEBUG

config LOG_PROGRESS_BAR
    bool
    prompt "Progress bar"
    default n
    depends on ! LOG_DEBUG
    help
      This option will print a "rotating bar" (/-\|) below the last log line
      to show work is not stalled.
      
      Available when not in DEBUG log level.

config LOG_USE_COLORS
    bool
    prompt "Use colors for logging to console"
    default n
    help
      Use colors to highlight important messages.
      ERROR: bright red
      WARN : bright yellow
      INFO : bright green
      EXTRA: dim green
      DEBUG: dim white

config LOG_TO_FILE
    bool
    prompt "Log to a file"
    default y
    help
      Save *full* logs to a file. Even log levels you didn't specify above
      will be available in this file.

config LOG_FILE
    string
    prompt "Log file"
    default "${CT_PREFIX_DIR}/${CT_TARGET}.log"
    depends on LOG_TO_FILE
    help
      File name into which to put logs.

endmenu