config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Apr 15 22:35:18 2010 +0200 (2010-04-15)
changeset 1920 6df2d4f78948
parent 1881 5284cdc29a63
child 1921 2036f1008d4f
permissions -rw-r--r--
cc/gcc: add support for 4.5.0 or later versions

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