config/cc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon May 05 23:29:48 2014 +0200 (2014-05-05)
changeset 3299 1ff943ae14d7
parent 3254 e2e0f34eab6c
permissions -rw-r--r--
cc: add options to differentiate the need for pass-1 and pass-2

In some cases, building the core pass-1 is unneeded, as the C library
will not try to build anything when installing headers, or sill not
install anything at all.

This is for example the case for newlib, wihch does not require a core
pass-1 since it builds nothing and installs no header.

This should also be the case for newer glibc-es with newer gcc-es,
which no longer require a core pass-1, since the circular dependency
glibc <-> gcc (about TLS?) has been resolved.

Reported-by: Trevor Woerner <trevor.woerner@linaro.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 # Compiler options
     2 
     3 menu "C compiler"
     4 
     5 config CC
     6     string
     7 
     8 config CC_VERSION
     9     string
    10 
    11 config CC_CORE_PASSES_NEEDED
    12     bool
    13     select CC_CORE_PASS_1_NEEDED
    14     select CC_CORE_PASS_2_NEEDED
    15 
    16 config CC_CORE_PASS_1_NEEDED
    17     bool
    18 
    19 config CC_CORE_PASS_2_NEEDED
    20     bool
    21 
    22 source "config.gen/cc.in"
    23 
    24 config CC_SUPPORT_CXX
    25     bool
    26 
    27 config CC_SUPPORT_FORTRAN
    28     bool
    29 
    30 config CC_SUPPORT_JAVA
    31     bool
    32 
    33 config CC_SUPPORT_ADA
    34     bool
    35 
    36 config CC_SUPPORT_OBJC
    37     bool
    38 
    39 config CC_SUPPORT_OBJCXX
    40     bool
    41 
    42 config CC_SUPPORT_GOLANG
    43     bool
    44 
    45 comment "Additional supported languages:"
    46 
    47 config CC_LANG_CXX
    48     bool
    49     prompt "C++"
    50     depends on CC_SUPPORT_CXX
    51     help
    52       Enable building a C++ compiler.
    53 
    54       Only select this if you know that your specific version of the
    55       compiler supports this language.
    56 
    57 config CC_LANG_FORTRAN
    58     bool
    59     prompt "Fortran"
    60     depends on CC_SUPPORT_FORTRAN
    61     help
    62       Enable building a FORTRAN compiler.
    63 
    64       Only select this if you know that your specific version of the
    65       compiler supports this language.
    66 
    67 if ! BARE_METAL
    68 
    69 config CC_LANG_JAVA
    70     bool
    71     prompt "Java"
    72     depends on CC_SUPPORT_JAVA
    73     help
    74       Enable building a Java compiler.
    75 
    76       Only select this if you know that your specific version of the
    77       compiler supports this language.
    78 
    79 config CC_LANG_ADA
    80     bool
    81     prompt "ADA (EXPERIMENTAL)"
    82     depends on CC_SUPPORT_ADA
    83     depends on EXPERIMENTAL
    84     help
    85       Enable building an Ada compiler.
    86 
    87       Only select this if you know that your specific version of the
    88       compiler supports this language.
    89 
    90 config CC_LANG_OBJC
    91     bool
    92     prompt "Objective-C (EXPERIMENTAL)"
    93     depends on CC_SUPPORT_OBJC
    94     depends on EXPERIMENTAL
    95     help
    96       Enable building an Objective C compiler.
    97 
    98       Only select this if you know that your specific version of the
    99       compiler supports this language.
   100 
   101 config CC_LANG_OBJCXX
   102     bool
   103     prompt "Objective-C++ (EXPERIMENTAL)"
   104     depends on EXPERIMENTAL
   105     depends on CC_SUPPORT_OBJCXX
   106     help
   107       Enable building an Objective C++ compiler.
   108 
   109       Only select this if you know that your specific version of the
   110       compiler supports this language.
   111 
   112 config CC_LANG_GOLANG
   113     bool
   114     prompt "Go (EXPERIMENTAL)"
   115     depends on EXPERIMENTAL
   116     depends on CC_SUPPORT_GOLANG
   117     help
   118       Enable building a Go compiler.
   119 
   120       Only select this if you know that your specific version of the
   121       compiler supports this language.
   122 
   123 config CC_LANG_OTHERS
   124     string
   125     prompt "Other languages (EXPERIMENTAL)"
   126     default ""
   127     depends on EXPERIMENTAL
   128     help
   129       Enter here a comma-separated list of languages that you know your compiler
   130       supports, besides those listed above.
   131 
   132       Eg. gcc-4.1+ has a toy programming language, treelang. As it is not useful
   133       in real life, it is not available in the selection above.
   134 
   135 endif # ! BARE_METAL
   136 
   137 source "config.gen/cc.in.2"
   138 
   139 endmenu