config/global/build-behave.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1447 8ef937cc57ba
child 1753 fcc55af9aee5
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
yann@445
     1
# Options related to how the build behaves
yann@121
     2
yann@121
     3
comment "Build behavior"
yann@121
     4
yann@1
     5
config PARALLEL_JOBS
yann@1
     6
    int
yann@1
     7
    prompt "Number of parallel jobs"
yann@1
     8
    default 1
yann@1
     9
    help
yann@1
    10
      Number of jobs make will be allowed to run concurently.
yann@1
    11
      Set this higher than the number of processors you have, but not too high.
yann@1
    12
      A good rule of thumb is twice the number of processors you have.
yann@1
    13
      
yann@1
    14
      Enter 1 (or 0) to have only one job at a time.
yann@1
    15
yann@1
    16
config LOAD
yann@1
    17
    int
yann@1
    18
    prompt "Maximum allowed load"
yann@1
    19
    default 0
yann@1
    20
    help
yann@1
    21
      Specifies that no new jobs should be started if there are others jobs
yann@1
    22
      running and the load average is at least this value.
yann@1
    23
      
yann@1
    24
      Makes sense on SMP machines only.
yann@1
    25
      
yann@1
    26
      Enter 0 to have no limit on the load average.
yann@1
    27
      
yann@1
    28
      Note: only the integer part of the load is allowed here (you can't enter
yann@1
    29
            0.75 for example).
yann@1
    30
yann@1
    31
config NICE
yann@1
    32
    int
yann@1
    33
    prompt "Nice level"
yann@1
    34
    default 0
yann@1
    35
    range 0 19
yann@1
    36
    help
yann@1
    37
      Renices the build process up.
yann@1
    38
yann@1
    39
config USE_PIPES
yann@1
    40
    bool
yann@1
    41
    prompt "Use -pipe"
yann@1
    42
    default y
yann@1
    43
    help
yann@1
    44
      Use gcc's option -pipe to use pipes rather than temp files when building
yann@1
    45
      the toolchain.
yann@805
    46
yann@1444
    47
choice
yann@1444
    48
    bool
yann@1444
    49
    prompt "Shell to use as CONFIG_SHELL"
yann@1459
    50
    default CONFIG_SHELL_BASH
yann@1444
    51
yann@1444
    52
config CONFIG_SHELL_SH
yann@1444
    53
    bool
yann@1444
    54
    prompt "sh (the system shell)"
yann@1444
    55
    help
yann@1444
    56
      Use 'sh' as CONFIG_SHELL.
yann@1444
    57
      
yann@1444
    58
      ./configure scripts and Makefiles make intensive use of calling
yann@1444
    59
      sub-shells. This is usually done by calling /bin/sh. /bin/sh ought
yann@1444
    60
      to be an at-least-POSIX-conformant shell (that is, able to interpret
yann@1444
    61
      POSIX shell scripts).
yann@1444
    62
      
yann@1444
    63
      On many (most?) systems, /bin/sh is a symlink to bash. On some other
yann@1444
    64
      systems (eg. Ubuntu, latest Debian), /bin/sh points to dash (or ash).
yann@1444
    65
      bash is a full-featured shell, with many extension to POSIX, but is
yann@1444
    66
      quite slow (see ection BUGS in the bash man page), while dash is
yann@1444
    67
      faster, with very few extensions to POSIX.  On the other hand, some
yann@1444
    68
      ./configure scripts, although written to use /bin/sh, may really
yann@1444
    69
      require to be run by bash.
yann@1444
    70
      
yann@1459
    71
      The default is to use bash, as some components (eg. GMP) will fail
yann@1459
    72
      to build with anything else than bash.
yann@1459
    73
yann@805
    74
config CONFIG_SHELL_ASH
yann@805
    75
    bool
yann@1447
    76
    prompt "ash (READ HELP!)"
yann@805
    77
    help
yann@1444
    78
      Use 'ash' as CONFIG_SHELL.
yann@805
    79
      
yann@1444
    80
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1447
    81
      
yann@1447
    82
      NOTE: It is advised that you do NOT use ash as CONFIG_SHELL, as some
yann@1447
    83
      components are broken. If you decide to use ash, and the build breaks,
yann@1447
    84
      don't come moaning and set the CONFIG_SHELL to bash, below.
yann@1444
    85
yann@1445
    86
config CONFIG_SHELL_BASH
yann@1445
    87
    bool
yann@1445
    88
    prompt "bash"
yann@1445
    89
    help
yann@1445
    90
      Use 'bash' as CONFIG_SHELL.
yann@1445
    91
      
yann@1445
    92
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1445
    93
yann@1446
    94
config CONFIG_SHELL_CUSTOM
yann@1446
    95
    bool
yann@1446
    96
    prompt "custom shell"
yann@1446
    97
    help
yann@1446
    98
      Enter full path to the custom shell below.
yann@1446
    99
      
yann@1446
   100
      See help for CONFIG_SHELL_SH, above, for more explanations.
yann@1446
   101
yann@1446
   102
config CONFIG_SHELL_CUSTOM_PATH
yann@1446
   103
    string
yann@1446
   104
    prompt "Path to custom shell"
yann@1446
   105
    depends on CONFIG_SHELL_CUSTOM
yann@1446
   106
    default "/bin/sh"
yann@1446
   107
yann@1444
   108
endchoice
yann@1444
   109
yann@1444
   110
config CONFIG_SHELL
yann@1444
   111
    string
yann@1446
   112
    default "sh"        if CONFIG_SHELL_SH
yann@1446
   113
    default "ash"       if CONFIG_SHELL_ASH
yann@1446
   114
    default "bash"      if CONFIG_SHELL_BASH
yann@1446
   115
    default "custom"    if CONFIG_SHELL_CUSTOM