config/global/build-behave.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 17:54:21 2011 +0200 (2011-07-17)
changeset 2888 dd71df95903a
parent 2705 80a09cf51c87
child 3119 1c56c03b7ed5
permissions -rw-r--r--
cc/gcc: pass the companion libs prefix to cc_core

In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@445
     1
# Options related to how the build behaves
yann@121
     2
yann@121
     3
comment "Build behavior"
yann@121
     4
yann@1866
     5
comment "Build options hiden"
yann@1866
     6
    depends on BACKEND
yann@1866
     7
yann@1
     8
config PARALLEL_JOBS
yann@1
     9
    int
yann@1866
    10
    prompt "Number of parallel jobs" if ! BACKEND
yann@2716
    11
    default 0
yann@1
    12
    help
yann@1
    13
      Number of jobs make will be allowed to run concurently.
yann@1
    14
      Set this higher than the number of processors you have, but not too high.
yann@1
    15
      A good rule of thumb is twice the number of processors you have.
yann@1
    16
      
yann@2716
    17
      Enter 1 to have only one job at a time.
yann@1
    18
yann@2716
    19
      Enter 0 to set automatically based on how many processors the host has.
michael@2695
    20
yann@1
    21
config LOAD
yann@1
    22
    int
yann@1866
    23
    prompt "Maximum allowed load" if ! BACKEND
yann@1
    24
    default 0
yann@1
    25
    help
yann@1
    26
      Specifies that no new jobs should be started if there are others jobs
yann@1
    27
      running and the load average is at least this value.
yann@1
    28
      
yann@1
    29
      Makes sense on SMP machines only.
yann@1
    30
      
yann@1
    31
      Enter 0 to have no limit on the load average.
yann@1
    32
      
yann@1
    33
      Note: only the integer part of the load is allowed here (you can't enter
yann@1
    34
            0.75 for example).
yann@1
    35
yann@1
    36
config USE_PIPES
yann@1
    37
    bool
yann@1866
    38
    prompt "Use -pipe" if ! BACKEND
yann@1
    39
    default y
yann@1
    40
    help
yann@1
    41
      Use gcc's option -pipe to use pipes rather than temp files when building
yann@1
    42
      the toolchain.
yann@805
    43
michael@2701
    44
config EXTRA_FLAGS_FOR_HOST
michael@2701
    45
    string
michael@2701
    46
    prompt "Extra host compiler flags"
michael@2701
    47
    default ""
michael@2701
    48
    help
michael@2701
    49
      Extra flags to pass to the host C and C++ compiler.
michael@2701
    50
michael@2701
    51
      May be used to change the default features of the host
michael@2701
    52
      compiler such as turning off the stack protector or fortify.
michael@2701
    53
yann@1444
    54
choice
yann@1444
    55
    bool
yann@1444
    56
    prompt "Shell to use as CONFIG_SHELL"
yann@1459
    57
    default CONFIG_SHELL_BASH
yann@1866
    58
    depends on ! BACKEND
yann@1444
    59
yann@1444
    60
config CONFIG_SHELL_SH
yann@1444
    61
    bool
yann@1444
    62
    prompt "sh (the system shell)"
yann@1444
    63
    help
yann@1444
    64
      Use 'sh' as CONFIG_SHELL.
yann@1444
    65
      
yann@1444
    66
      ./configure scripts and Makefiles make intensive use of calling
yann@1444
    67
      sub-shells. This is usually done by calling /bin/sh. /bin/sh ought
yann@1444
    68
      to be an at-least-POSIX-conformant shell (that is, able to interpret
yann@1444
    69
      POSIX shell scripts).
yann@1444
    70
      
yann@1444
    71
      On many (most?) systems, /bin/sh is a symlink to bash. On some other
yann@1444
    72
      systems (eg. Ubuntu, latest Debian), /bin/sh points to dash (or ash).
yann@1444
    73
      bash is a full-featured shell, with many extension to POSIX, but is
yann@1444
    74
      quite slow (see ection BUGS in the bash man page), while dash is
yann@1444
    75
      faster, with very few extensions to POSIX.  On the other hand, some
yann@1444
    76
      ./configure scripts, although written to use /bin/sh, may really
yann@1444
    77
      require to be run by bash.
yann@1444
    78
      
yann@1459
    79
      The default is to use bash, as some components (eg. GMP) will fail
yann@1459
    80
      to build with anything else than bash.
yann@2705
    81
      
yann@2705
    82
      Unless you have a very strong reason not to (eg. you are debugging
yann@2705
    83
      the bashisms in a ./configure script), you should use the default,
yann@2705
    84
      and use bash.
yann@1459
    85
yann@805
    86
config CONFIG_SHELL_ASH
yann@805
    87
    bool
yann@1447
    88
    prompt "ash (READ HELP!)"
yann@805
    89
    help
yann@1444
    90
      Use 'ash' as CONFIG_SHELL.
yann@805
    91
      
yann@1444
    92
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1447
    93
      
yann@1447
    94
      NOTE: It is advised that you do NOT use ash as CONFIG_SHELL, as some
yann@1447
    95
      components are broken. If you decide to use ash, and the build breaks,
yann@1447
    96
      don't come moaning and set the CONFIG_SHELL to bash, below.
yann@1444
    97
yann@1445
    98
config CONFIG_SHELL_BASH
yann@1445
    99
    bool
yann@1445
   100
    prompt "bash"
yann@1445
   101
    help
yann@1445
   102
      Use 'bash' as CONFIG_SHELL.
yann@1445
   103
      
yann@1445
   104
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1445
   105
yann@1446
   106
config CONFIG_SHELL_CUSTOM
yann@1446
   107
    bool
yann@1446
   108
    prompt "custom shell"
yann@1446
   109
    help
yann@1446
   110
      Enter full path to the custom shell below.
yann@1446
   111
      
yann@1446
   112
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1446
   113
yann@1444
   114
endchoice
yann@1444
   115
yann@2705
   116
# Do not put this into the choice above, because the choice
yann@2705
   117
# is not available in BACKEND-mode, while we do want this to
yann@2705
   118
# be set even in BACKEND-mode.
yann@1866
   119
config CONFIG_SHELL_CUSTOM_PATH
yann@1866
   120
    string
yann@1866
   121
    prompt "Path to custom shell" if ! BACKEND
yann@1866
   122
    depends on CONFIG_SHELL_CUSTOM || BACKEND
yann@1866
   123
    default "/bin/sh"
yann@2705
   124
yann@2705
   125
# Ditto.
yann@2705
   126
# And we must use the ./configured bash...
yann@2705
   127
config CONFIG_SHELL
yann@2705
   128
    string
yann@2705
   129
    default "/bin/sh"                   if CONFIG_SHELL_SH
yann@2705
   130
    default "/bin/ash"                  if CONFIG_SHELL_ASH
yann@2705
   131
    default "${bash}"                   if CONFIG_SHELL_BASH
yann@2705
   132
    default CONFIG_SHELL_CUSTOM_PATH    if CONFIG_SHELL_CUSTOM || BACKEND