config/cc/gcc.in.2
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:30:37 2010 +0200 (2010-07-29)
changeset 2044 20dd8cef1c8a
parent 2042 d1f70bef45ba
child 2045 fdaa6c7f6dea
permissions -rw-r--r--
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@2041
     1
config CC_GCC_ENABLE_TARGET_OPTSPACE
yann@2041
     2
    bool
yann@2041
     3
    prompt "Optimize gcc libs for size"
yann@2041
     4
    default y
yann@2041
     5
    help
yann@2041
     6
      Pass --enable-target-optspace to crossgcc's configure.
yann@2041
     7
      
yann@2041
     8
      This will compile crossgcc's libs with -Os.
yann@2041
     9
yann@2041
    10
comment "Misc. obscure options."
yann@2041
    11
yann@2041
    12
config CC_CXA_ATEXIT
yann@2041
    13
    bool
yann@2041
    14
    prompt "Use __cxa_atexit"
yann@2041
    15
    default y
yann@2041
    16
    depends on ! BARE_METAL
yann@2041
    17
    help
yann@2041
    18
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
yann@2041
    19
      you might want to try disabling this option.
yann@2041
    20
yann@2041
    21
config CC_GCC_DISABLE_PCH
yann@2041
    22
    bool
yann@2041
    23
    prompt "Do not build PCH"
yann@2041
    24
    default n
yann@2041
    25
    help
yann@2041
    26
      Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
yann@2041
    27
      at the expense of speed when compiling C++ code.
yann@2041
    28
      
yann@2041
    29
      For some configurations (most notably canadian?), PCH are broken, and
yann@2041
    30
      need to be disabled. Please see:
yann@2041
    31
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
yann@2041
    32
yann@2042
    33
config CC_GCC_SJLJ_EXCEPTIONS
yann@2042
    34
    tristate
yann@2041
    35
    prompt "Use sjlj for exceptions"
yann@2042
    36
    default m
yann@2041
    37
    help
yann@2042
    38
      'sjlj' is short for setjmp/longjmp.
yann@2041
    39
      
yann@2042
    40
      On some architectures, stack unwinding during exception handling
yann@2042
    41
      works perfectly well without using sjlj, while on some others,
yann@2042
    42
      use of sjlj is required for proper stack unwinding.
yann@2041
    43
      
yann@2042
    44
       Option  | sjlj use           | Associated ./configure switch
yann@2042
    45
      ---------+--------------------+--------------------------------
yann@2042
    46
         Y     | forcibly used      | --enable-sjlj-exceptions
yann@2042
    47
         M     | auto               | (none, ./configure decides)
yann@2042
    48
         N     | forcibly not used  | --disable-sjlj-exceptions
yann@2041
    49
      
yann@2042
    50
      It should be safe to say 'M' or 'N'.
yann@2042
    51
      
yann@2042
    52
      It can happen that ./configure is wrong in some cases. Known
yann@2042
    53
      case is for ARM big endian, where you should say 'N'.
yann@2043
    54
yann@2043
    55
config CC_GCC_LIBMUDFLAP
yann@2043
    56
    bool
yann@2043
    57
    prompt "Compile libmudflap"
yann@2043
    58
    default n
yann@2043
    59
    help
yann@2043
    60
      libmudflap is a pointer-use checking tool, which can detect
yann@2043
    61
      various mis-usages of pointers in C and (to some extents) C++.
yann@2043
    62
      
yann@2043
    63
      You should say 'N' here, as libmduflap generates instrumented
yann@2043
    64
      code (thus it is a bit bigger and a bit slower) and requires
yann@2043
    65
      re-compilation and re-link, while it exists better run-time
yann@2043
    66
      alternatives (eg. DUMA, dmalloc...) that need neither re-
yann@2043
    67
      compilation nor re-link.