summaryrefslogtreecommitdiff
path: root/config/global/build-behave.in
blob: c98e0fa63a5c6e8664953f9d56f98b8d7b58a28b (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
# Options related to how the build behaves

comment "Build behavior"

comment "Build options hiden"
    depends on BACKEND

config PARALLEL_JOBS
    int
    prompt "Number of parallel jobs" if ! BACKEND
    default 0
    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 to have only one job at a time.

      Enter 0 to set automatically based on how many processors the host has.

config LOAD
    int
    prompt "Maximum allowed load" if ! BACKEND
    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 USE_PIPES
    bool
    prompt "Use -pipe" if ! BACKEND
    default y
    help
      Use gcc's option -pipe to use pipes rather than temp files when building
      the toolchain.

config EXTRA_CFLAGS_FOR_BUILD
    string
    prompt "Extra build compiler flags"
    default ""
    help
      Extra flags to pass to the build C and C++ compiler.

      May be used to change the default features of the build
      compiler such as turning off the stack protector or fortify.
      
config EXTRA_LDFLAGS_FOR_BUILD
    string
    prompt "Extra build linker flags"
    default ""
    help
      Extra flags to pass to the build linker.

      May be used to change the default features of the build
      linker.
      
config EXTRA_CFLAGS_FOR_HOST
    string
    prompt "Extra host compiler flags"
    default ""
    help
      Extra flags to pass to the host C and C++ compiler.

      May be used to change the default features of the host
      compiler such as turning off the stack protector or fortify.
      
config EXTRA_LDFLAGS_FOR_HOST
    string
    prompt "Extra host linker flags"
    default ""
    help
      Extra flags to pass to the host linker.

      May be used to change the default features of the host
      linker.

choice
    bool
    prompt "Shell to use as CONFIG_SHELL"
    default CONFIG_SHELL_BASH
    depends on ! BACKEND

config CONFIG_SHELL_SH
    bool
    prompt "sh (the system shell)"
    help
      Use 'sh' as CONFIG_SHELL.
      
      ./configure scripts and Makefiles make intensive use of calling
      sub-shells. This is usually done by calling /bin/sh. /bin/sh ought
      to be an at-least-POSIX-conformant shell (that is, able to interpret
      POSIX shell scripts).
      
      On many (most?) systems, /bin/sh is a symlink to bash. On some other
      systems (eg. Ubuntu, latest Debian), /bin/sh points to dash (or ash).
      bash is a full-featured shell, with many extension to POSIX, but is
      quite slow (see ection BUGS in the bash man page), while dash is
      faster, with very few extensions to POSIX.  On the other hand, some
      ./configure scripts, although written to use /bin/sh, may really
      require to be run by bash.
      
      The default is to use bash, as some components (eg. GMP) will fail
      to build with anything else than bash.
      
      Unless you have a very strong reason not to (eg. you are debugging
      the bashisms in a ./configure script), you should use the default,
      and use bash.

config CONFIG_SHELL_ASH
    bool
    prompt "ash (READ HELP!)"
    help
      Use 'ash' as CONFIG_SHELL.
      
      See help for CONFIG_SHELL_SH, above, for more explanations.
      
      NOTE: It is advised that you do NOT use ash as CONFIG_SHELL, as some
      components are broken. If you decide to use ash, and the build breaks,
      don't come moaning and set the CONFIG_SHELL to bash, below.

config CONFIG_SHELL_BASH
    bool
    prompt "bash"
    help
      Use 'bash' as CONFIG_SHELL.
      
      See help for CONFIG_SHELL_SH, above, for more explanations.

config CONFIG_SHELL_CUSTOM
    bool
    prompt "custom shell"
    help
      Enter full path to the custom shell below.
      
      See help for CONFIG_SHELL_SH, above, for more explanations.

endchoice

# Do not put this into the choice above, because the choice
# is not available in BACKEND-mode, while we do want this to
# be set even in BACKEND-mode.
config CONFIG_SHELL_CUSTOM_PATH
    string
    prompt "Path to custom shell" if ! BACKEND
    depends on CONFIG_SHELL_CUSTOM || BACKEND
    default "/bin/sh"

# Ditto.
# And we must use the ./configured bash...
config CONFIG_SHELL
    string
    default "/bin/sh"                   if CONFIG_SHELL_SH
    default "/bin/ash"                  if CONFIG_SHELL_ASH
    default "${bash}"                   if CONFIG_SHELL_BASH
    default CONFIG_SHELL_CUSTOM_PATH    if CONFIG_SHELL_CUSTOM || BACKEND