config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Aug 19 19:44:45 2009 +0200 (2009-08-19)
branchbash_array
changeset 1484 c5451809efdb
parent 1393 b432bd628b10
child 1485 d031a67fc494
permissions -rw-r--r--
Allow setting --enable-cxx-flags on gcc ./configure

Some setups require one to pass extra CXX flags at the time of ./configure.
Make it easy.
     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_3_2_3
    21     bool
    22     prompt "3.2.3 (OBSOLETE)"
    23     depends on OBSOLETE
    24 
    25 config CC_V_3_3_6
    26     bool
    27     prompt "3.3.6 (OBSOLETE)"
    28     depends on OBSOLETE
    29 
    30 config CC_V_3_4_6
    31     bool
    32     prompt "3.4.6 (OBSOLETE)"
    33     depends on OBSOLETE
    34 
    35 config CC_V_4_0_0
    36     bool
    37     prompt "4.0.0 (OBSOLETE)"
    38     depends on OBSOLETE
    39 
    40 config CC_V_4_0_1
    41     bool
    42     prompt "4.0.1 (OBSOLETE)"
    43     depends on OBSOLETE
    44 
    45 config CC_V_4_0_2
    46     bool
    47     prompt "4.0.2 (OBSOLETE)"
    48     depends on OBSOLETE
    49 
    50 config CC_V_4_0_3
    51     bool
    52     prompt "4.0.3 (OBSOLETE)"
    53     depends on OBSOLETE
    54 
    55 config CC_V_4_0_4
    56     bool
    57     prompt "4.0.4"
    58 
    59 config CC_V_4_1_0
    60     bool
    61     prompt "4.1.0 (OBSOLETE)"
    62     depends on OBSOLETE
    63 
    64 config CC_V_4_1_1
    65     bool
    66     prompt "4.1.1 (OBSOLETE)"
    67     depends on OBSOLETE
    68 
    69 config CC_V_4_1_2
    70     bool
    71     prompt "4.1.2"
    72 
    73 config CC_V_4_2_0
    74     bool
    75     prompt "4.2.0"
    76 
    77 config CC_V_4_2_1
    78     bool
    79     prompt "4.2.1"
    80 
    81 config CC_V_4_2_2
    82     bool
    83     prompt "4.2.2"
    84 
    85 config CC_V_4_2_3
    86     bool
    87     prompt "4.2.3"
    88 
    89 config CC_V_4_2_4
    90     bool
    91     prompt "4.2.4"
    92 
    93 config CC_V_4_3_0
    94     bool
    95     prompt "4.3.0 (EXPERIMENTAL)"
    96     depends on EXPERIMENTAL
    97     select CC_GCC_4_3_or_later
    98 
    99 config CC_V_4_3_1
   100     bool
   101     prompt "4.3.1"
   102     select CC_GCC_4_3_or_later
   103 
   104 config CC_V_4_3_2
   105     bool
   106     prompt "4.3.2"
   107     select CC_GCC_4_3_or_later
   108 
   109 config CC_V_4_3_3
   110     bool
   111     prompt "4.3.3"
   112     select CC_GCC_4_3_or_later
   113 
   114 config CC_V_4_4_0
   115     bool
   116     prompt "4.4.0 (EXPERIMENTAL)"
   117     depends on EXPERIMENTAL
   118     select CC_GCC_4_3_or_later
   119     select CC_GCC_4_4_or_later
   120 
   121 # CT_INSERT_VERSION_ABOVE
   122 # Don't remove above line!
   123 endchoice
   124 
   125 config CC_GCC_4_3_or_later
   126     bool
   127     default n
   128     select GMP_MPFR
   129 
   130 config CC_GCC_4_4_or_later
   131     bool
   132     default n
   133     select PPL_CLOOG_MPC
   134 
   135 config CC_VERSION
   136     string
   137     default "3.2.3" if CC_V_3_2_3
   138     default "3.3.6" if CC_V_3_3_6
   139     default "3.4.6" if CC_V_3_4_6
   140     default "4.0.0" if CC_V_4_0_0
   141     default "4.0.1" if CC_V_4_0_1
   142     default "4.0.2" if CC_V_4_0_2
   143     default "4.0.3" if CC_V_4_0_3
   144     default "4.0.4" if CC_V_4_0_4
   145     default "4.1.0" if CC_V_4_1_0
   146     default "4.1.1" if CC_V_4_1_1
   147     default "4.1.2" if CC_V_4_1_2
   148     default "4.2.0" if CC_V_4_2_0
   149     default "4.2.1" if CC_V_4_2_1
   150     default "4.2.2" if CC_V_4_2_2
   151     default "4.2.3" if CC_V_4_2_3
   152     default "4.2.4" if CC_V_4_2_4
   153     default "4.3.0" if CC_V_4_3_0
   154     default "4.3.1" if CC_V_4_3_1
   155     default "4.3.2" if CC_V_4_3_2
   156     default "4.3.3" if CC_V_4_3_3
   157     default "4.4.0" if CC_V_4_4_0
   158 # CT_INSERT_VERSION_STRING_ABOVE
   159 # Don't remove above line!
   160 
   161 config CC_CXA_ATEXIT
   162     bool
   163     prompt "Use __cxa_atexit"
   164     default y
   165     depends on ! BARE_METAL
   166     help
   167       If you get the missing symbol "__cxa_atexit" when building C++ programs,
   168       you might want to try disabling this option.
   169 
   170 choice
   171     bool
   172     prompt "Use sjlj for exceptions"
   173     default CC_SJLJ_EXCEPTIONS_CONFIGURE
   174     depends on ! BARE_METAL
   175 
   176 # This config option is used nowhere in the code on purpose.
   177 # It only serves as a choice entry to force neither using nor not using sjlj
   178 config CC_SJLJ_EXCEPTIONS_CONFIGURE
   179     bool
   180     prompt "Let configure decide"
   181     help
   182       Let configure decide if setjmp/longjmp should be used to handle
   183       exceptions.
   184       
   185       Choose that if you trust configure to detect the correct settings.
   186       This is the default choice.
   187 
   188 config CC_SJLJ_EXCEPTIONS_USE
   189     bool
   190     prompt "Force using sjlj"
   191     help
   192       Do use setjmp/longjmp for exceptions.
   193       This is gcc's --enable-sjlj-exceptions configure switch.
   194       
   195       Choose that if you want to use setjmp/longjmp to handle exceptions.
   196 
   197 config CC_SJLJ_EXCEPTIONS_DONT_USE
   198     bool
   199     prompt "Force not using sjlj"
   200     help
   201       Do not use setjmp/longjmp for exceptions.
   202       This is gcc's --disable-sjlj-exceptions configure switch.
   203       
   204       Choose that if you want to not use setjmp/longjmp to handle exceptions.
   205 
   206 endchoice
   207 
   208 config CC_ENABLE_CXX_FLAGS
   209     string
   210     prompt "Flags to pass to --enable-cxx-flags"
   211     default ""
   212     help
   213       Enter here the value of the gcc's ./configure option --enable-cxx-flags.
   214       Leave empty if you don't know better.
   215       
   216       Note: just pass in the option _value_, that is only the part that goes
   217       after the '=' sign.
   218 
   219 config CC_CORE_EXTRA_CONFIG
   220     string
   221     prompt "Core gcc extra config"
   222     default ""
   223     help
   224       Extra flags to pass onto ./configure when configuring the core gcc.
   225       
   226       The core gcc is a stripped down, C-only compiler needed to build
   227       the C library. Kinda bootstrap gcc, if you wish.
   228 
   229 config CC_EXTRA_CONFIG
   230     string
   231     prompt "gcc extra config"
   232     default ""
   233     depends on ! BARE_METAL
   234     help
   235       Extra flags to pass onto ./configure when configuring gcc.
   236 
   237 config CC_PKGVERSION
   238     string
   239     prompt "gcc ID string"
   240     depends on CC_GCC_4_3_or_later
   241     default "crosstool-NG-${CT_VERSION}"
   242     help
   243       Specify a string that identifies your package. You may wish to include
   244       a build number or build date. This version string will be included in
   245       the output of gcc --version.
   246 
   247       This is passed to the configure flag --with-pkgversion.
   248 
   249 config CC_BUGURL
   250     string
   251     prompt "gcc bug URL"
   252     depends on CC_GCC_4_3_or_later
   253     default ""
   254     help
   255       Specify the URL that users should visit if they wish to report a bug.
   256 
   257 config CC_LANG_JAVA_USE_ECJ
   258     bool
   259     default y
   260     depends on CC_LANG_JAVA
   261     depends on CC_GCC_4_3_or_later