config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Oct 13 16:58:52 2008 +0000 (2008-10-13)
changeset 923 54fc137f9dc8
parent 881 d8a7445e18d2
child 1121 4b7ed9da5a21
permissions -rw-r--r--
Generate the choice menu for C compilers, the same way arch, kernels and C libraries are generated.

/trunk/kconfig/kconfig.mk | 6 6 0 0 ++++++
/trunk/config/cc/gcc.in | 13 13 0 0 +++++++++++++
/trunk/config/cc.in | 31 3 28 0 +++----------------------------
3 files changed, 22 insertions(+), 28 deletions(-)
     1 # Compiler options
     2 
     3 config CC_gcc
     4     select CC_SUPPORT_CXX
     5     select CC_SUPPORT_FORTRAN
     6     select CC_SUPPORT_JAVA
     7     select CC_SUPPORT_ADA
     8     select CC_SUPPORT_OBJC
     9     select CC_SUPPORT_OBJCXX
    10     help
    11       gcc is the full-blown GNU compiler. This is what most people will choose.
    12       
    13       gcc supports many languages, a powerful code parser, optimised binary
    14       output, and lots of other features.
    15 
    16 choice
    17     bool
    18     prompt "gcc version"
    19 
    20 config CC_V_2_95_3
    21     bool
    22     prompt "2.95.3 (OBSOLETE)"
    23     depends on OBSOLETE
    24 
    25 config CC_V_3_2_3
    26     bool
    27     prompt "3.2.3 (OBSOLETE)"
    28     depends on OBSOLETE
    29 
    30 config CC_V_3_3_6
    31     bool
    32     prompt "3.3.6 (OBSOLETE)"
    33     depends on OBSOLETE
    34 
    35 config CC_V_3_4_6
    36     bool
    37     prompt "3.4.6 (OBSOLETE)"
    38     depends on OBSOLETE
    39 
    40 config CC_V_4_0_0
    41     bool
    42     prompt "4.0.0 (OBSOLETE)"
    43     depends on OBSOLETE
    44 
    45 config CC_V_4_0_1
    46     bool
    47     prompt "4.0.1 (OBSOLETE)"
    48     depends on OBSOLETE
    49 
    50 config CC_V_4_0_2
    51     bool
    52     prompt "4.0.2 (OBSOLETE)"
    53     depends on OBSOLETE
    54 
    55 config CC_V_4_0_3
    56     bool
    57     prompt "4.0.3 (OBSOLETE)"
    58     depends on OBSOLETE
    59 
    60 config CC_V_4_0_4
    61     bool
    62     prompt "4.0.4"
    63 
    64 config CC_V_4_1_0
    65     bool
    66     prompt "4.1.0 (OBSOLETE)"
    67     depends on OBSOLETE
    68 
    69 config CC_V_4_1_1
    70     bool
    71     prompt "4.1.1 (OBSOLETE)"
    72     depends on OBSOLETE
    73 
    74 config CC_V_4_1_2
    75     bool
    76     prompt "4.1.2"
    77 
    78 config CC_V_4_2_0
    79     bool
    80     prompt "4.2.0"
    81 
    82 config CC_V_4_2_1
    83     bool
    84     prompt "4.2.1"
    85 
    86 config CC_V_4_2_2
    87     bool
    88     prompt "4.2.2"
    89 
    90 config CC_V_4_2_3
    91     bool
    92     prompt "4.2.3"
    93 
    94 config CC_V_4_2_4
    95     bool
    96     prompt "4.2.4"
    97 
    98 config CC_V_4_3_0
    99     bool
   100     prompt "4.3.0 (EXPERIMENTAL)"
   101     depends on EXPERIMENTAL
   102     select CC_GCC_4_3_or_later
   103 
   104 config CC_V_4_3_1
   105     bool
   106     prompt "4.3.1"
   107     select CC_GCC_4_3_or_later
   108 
   109 config CC_V_4_3_2
   110     bool
   111     prompt "4.3.2"
   112     select CC_GCC_4_3_or_later
   113 
   114 # CT_INSERT_VERSION_ABOVE
   115 # Don't remove above line!
   116 endchoice
   117 
   118 config CC_VERSION
   119     string
   120     default "2.95.3" if CC_V_2_95_3
   121     default "3.2.3" if CC_V_3_2_3
   122     default "3.3.6" if CC_V_3_3_6
   123     default "3.4.6" if CC_V_3_4_6
   124     default "4.0.0" if CC_V_4_0_0
   125     default "4.0.1" if CC_V_4_0_1
   126     default "4.0.2" if CC_V_4_0_2
   127     default "4.0.3" if CC_V_4_0_3
   128     default "4.0.4" if CC_V_4_0_4
   129     default "4.1.0" if CC_V_4_1_0
   130     default "4.1.1" if CC_V_4_1_1
   131     default "4.1.2" if CC_V_4_1_2
   132     default "4.2.0" if CC_V_4_2_0
   133     default "4.2.1" if CC_V_4_2_1
   134     default "4.2.2" if CC_V_4_2_2
   135     default "4.2.3" if CC_V_4_2_3
   136     default "4.2.4" if CC_V_4_2_4
   137     default "4.3.0" if CC_V_4_3_0
   138     default "4.3.1" if CC_V_4_3_1
   139     default "4.3.2" if CC_V_4_3_2
   140 # CT_INSERT_VERSION_STRING_ABOVE
   141 # Don't remove above line!
   142 
   143 config CC_GCC_4_3_or_later
   144     bool
   145     default n
   146     select GMP_MPFR
   147 
   148 config CC_CXA_ATEXIT
   149     bool
   150     prompt "Use __cxa_atexit"
   151     default y
   152     depends on ! BARE_METAL
   153     help
   154       If you get the missing symbol "__cxa_atexit" when building C++ programs,
   155       you might want to try disabling this option.
   156 
   157 choice
   158     bool
   159     prompt "Use sjlj for exceptions"
   160     default CC_SJLJ_EXCEPTIONS_CONFIGURE
   161     depends on ! BARE_METAL
   162 
   163 # This config option is used nowhere in the code on purpose.
   164 # It only serves as a choice entry to force neither using nor not using sjlj
   165 config CC_SJLJ_EXCEPTIONS_CONFIGURE
   166     bool
   167     prompt "Let configure decide"
   168     help
   169       Let configure decide if setjmp/longjmp should be used to handle
   170       exceptions.
   171       
   172       Choose that if you trust configure to detect the correct settings.
   173       This is the default choice.
   174 
   175 config CC_SJLJ_EXCEPTIONS_USE
   176     bool
   177     prompt "Force using sjlj"
   178     help
   179       Do use setjmp/longjmp for exceptions.
   180       This is gcc's --enable-sjlj-exceptions configure switch.
   181       
   182       Choose that if you want to use setjmp/longjmp to handle exceptions.
   183 
   184 config CC_SJLJ_EXCEPTIONS_DONT_USE
   185     bool
   186     prompt "Force not using sjlj"
   187     help
   188       Do not use setjmp/longjmp for exceptions.
   189       This is gcc's --disable-sjlj-exceptions configure switch.
   190       
   191       Choose that if you want to not use setjmp/longjmp to handle exceptions.
   192 
   193 endchoice
   194 
   195 config CC_CORE_EXTRA_CONFIG
   196     string
   197     prompt "Core gcc extra config"
   198     default ""
   199     help
   200       Extra flags to pass onto ./configure when configuring the core gcc.
   201       
   202       The core gcc is a stripped down, C-only compiler needed to build
   203       the C library. Kinda bootstrap gcc, if you wish.
   204 
   205 config CC_EXTRA_CONFIG
   206     string
   207     prompt "gcc extra config"
   208     default ""
   209     depends on ! BARE_METAL
   210     help
   211       Extra flags to pass onto ./configure when configuring gcc.
   212 
   213 config CC_PKGVERSION
   214     string
   215     prompt "gcc ID string"
   216     depends on CC_GCC_4_3_or_later
   217     default "crosstool-NG-${CT_VERSION}"
   218     help
   219       Specify a string that identifies your package. You may wish to include
   220       a build number or build date. This version string will be included in
   221       the output of gcc --version.
   222 
   223       This is passed to the configure flag --with-pkgversion.
   224 
   225 config CC_BUGURL
   226     string
   227     prompt "gcc bug URL"
   228     depends on CC_GCC_4_3_or_later
   229     default ""
   230     help
   231       Specify the URL that users should visit if they wish to report a bug.