config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 29 00:15:32 2010 +0200 (2010-03-29)
changeset 1864 758d5137fe87
parent 1808 a1370757e6a1
child 1881 5284cdc29a63
permissions -rw-r--r--
scripts/populate: optimise search loop

Curently, populate will iterate over all ELF (shared objects|executables)
to look for missing NEEDED DSOs, adding to the list at every iterations
of the search loop.

Instead of looking again at previously handled ELF files, recursively
resolve every ELf files.

Also, in case there are a whole lot of files (more than the shell can
accept as arguments list, or creating a command line longer than the
shell can cope with), use a temporary file with the list of files
to search for missing dependencies.
yann@448
     1
# Compiler options
yann@448
     2
yann@923
     3
config CC_gcc
yann@923
     4
    select CC_SUPPORT_CXX
yann@923
     5
    select CC_SUPPORT_FORTRAN
yann@923
     6
    select CC_SUPPORT_JAVA
yann@923
     7
    select CC_SUPPORT_ADA
yann@923
     8
    select CC_SUPPORT_OBJC
yann@923
     9
    select CC_SUPPORT_OBJCXX
yann@923
    10
    help
yann@923
    11
      gcc is the full-blown GNU compiler. This is what most people will choose.
yann@923
    12
      
yann@923
    13
      gcc supports many languages, a powerful code parser, optimised binary
yann@923
    14
      output, and lots of other features.
yann@923
    15
yann@448
    16
choice
yann@448
    17
    bool
yann@448
    18
    prompt "gcc version"
yann@1535
    19
# Don't remove next line
yann@1535
    20
# CT_INSERT_VERSION_BELOW
yann@448
    21
yann@1752
    22
config CC_V_4_4_3
yann@1752
    23
    bool
yann@1778
    24
    prompt "4.4.3"
yann@1752
    25
    select CC_GCC_4_4_or_later
yann@1752
    26
yann@1611
    27
config CC_V_4_4_2
yann@1611
    28
    bool
yann@1778
    29
    prompt "4.4.2"
yann@1611
    30
    select CC_GCC_4_4_or_later
yann@1611
    31
yann@1534
    32
config CC_V_4_4_1
yann@448
    33
    bool
yann@1778
    34
    prompt "4.4.1"
yann@1534
    35
    select CC_GCC_4_4_or_later
yann@1462
    36
yann@1268
    37
config CC_V_4_4_0
yann@1268
    38
    bool
yann@1778
    39
    prompt "4.4.0"
yann@1320
    40
    select CC_GCC_4_4_or_later
yann@1268
    41
yann@1534
    42
config CC_V_4_3_4
yann@1442
    43
    bool
yann@1534
    44
    prompt "4.3.4"
yann@1534
    45
    select CC_GCC_4_3_or_later
yann@1534
    46
yann@1534
    47
config CC_V_4_3_3
yann@1534
    48
    bool
yann@1534
    49
    prompt "4.3.3"
yann@1534
    50
    select CC_GCC_4_3_or_later
yann@1534
    51
yann@1534
    52
config CC_V_4_3_2
yann@1534
    53
    bool
yann@1534
    54
    prompt "4.3.2"
yann@1534
    55
    select CC_GCC_4_3_or_later
yann@1534
    56
yann@1534
    57
config CC_V_4_3_1
yann@1534
    58
    bool
yann@1534
    59
    prompt "4.3.1"
yann@1534
    60
    select CC_GCC_4_3_or_later
yann@1534
    61
yann@1534
    62
config CC_V_4_2_4
yann@1534
    63
    bool
yann@1534
    64
    prompt "4.2.4"
yann@1534
    65
yann@1534
    66
config CC_V_4_2_3
yann@1534
    67
    bool
yann@1615
    68
    prompt "4.2.3 (OBSOLETE)"
yann@1615
    69
    depends on OBSOLETE
yann@1534
    70
yann@1534
    71
config CC_V_4_2_2
yann@1534
    72
    bool
yann@1534
    73
    prompt "4.2.2"
yann@1534
    74
yann@1534
    75
config CC_V_4_2_1
yann@1534
    76
    bool
yann@1615
    77
    prompt "4.2.1 (OBSOLETE)"
yann@1615
    78
    depends on OBSOLETE
yann@1534
    79
yann@1534
    80
config CC_V_4_2_0
yann@1534
    81
    bool
yann@1615
    82
    prompt "4.2.0 (OBSOLETE)"
yann@1615
    83
    depends on OBSOLETE
yann@1534
    84
yann@1534
    85
config CC_V_4_1_2
yann@1534
    86
    bool
yann@1615
    87
    prompt "4.1.2 (OBSOLETE)"
yann@1615
    88
    depends on OBSOLETE
yann@1534
    89
yann@1534
    90
config CC_V_4_0_4
yann@1534
    91
    bool
yann@1615
    92
    prompt "4.0.4 (OBSOLETE)"
yann@1615
    93
    depends on OBSOLETE
yann@1534
    94
yann@1534
    95
config CC_V_3_4_6
yann@1534
    96
    bool
yann@1534
    97
    prompt "3.4.6 (OBSOLETE)"
yann@1534
    98
    depends on OBSOLETE
yann@1534
    99
yann@448
   100
endchoice
yann@448
   101
yann@1268
   102
config CC_GCC_4_3_or_later
yann@1268
   103
    bool
yann@1268
   104
    default n
yann@1848
   105
    select CC_GCC_USE_GMP_MPFR
yann@1268
   106
yann@1320
   107
config CC_GCC_4_4_or_later
yann@1268
   108
    bool
yann@1268
   109
    default n
yann@1805
   110
    select CC_GCC_4_3_or_later
yann@1848
   111
    select CC_GCC_USE_PPL_CLOOG_MPC
yann@1848
   112
yann@1848
   113
config CC_GCC_USE_GMP_MPFR
yann@1848
   114
    bool
yann@1848
   115
    default n
yann@1848
   116
    select GMP
yann@1848
   117
    select MPFR
yann@1848
   118
yann@1848
   119
config CC_GCC_USE_PPL_CLOOG_MPC
yann@1848
   120
    bool
yann@1848
   121
    default n
yann@1808
   122
    select PPL
yann@1808
   123
    select CLOOG
yann@1808
   124
    select MPC
yann@1268
   125
yann@448
   126
config CC_VERSION
yann@448
   127
    string
yann@1535
   128
# Don't remove next line
yann@1535
   129
# CT_INSERT_VERSION_STRING_BELOW
yann@1752
   130
    default "4.4.3" if CC_V_4_4_3
yann@1611
   131
    default "4.4.2" if CC_V_4_4_2
yann@1534
   132
    default "4.4.1" if CC_V_4_4_1
yann@1534
   133
    default "4.4.0" if CC_V_4_4_0
yann@1534
   134
    default "4.3.4" if CC_V_4_3_4
yann@1534
   135
    default "4.3.3" if CC_V_4_3_3
yann@1534
   136
    default "4.3.2" if CC_V_4_3_2
yann@1534
   137
    default "4.3.1" if CC_V_4_3_1
yann@1534
   138
    default "4.3.0" if CC_V_4_3_0
yann@1534
   139
    default "4.2.4" if CC_V_4_2_4
yann@1534
   140
    default "4.2.3" if CC_V_4_2_3
yann@1534
   141
    default "4.2.2" if CC_V_4_2_2
yann@1534
   142
    default "4.2.1" if CC_V_4_2_1
yann@1534
   143
    default "4.2.0" if CC_V_4_2_0
yann@1534
   144
    default "4.1.2" if CC_V_4_1_2
yann@1534
   145
    default "4.0.4" if CC_V_4_0_4
yann@1534
   146
    default "3.4.6" if CC_V_3_4_6
yann@448
   147
yann@448
   148
config CC_CXA_ATEXIT
yann@448
   149
    bool
yann@765
   150
    prompt "Use __cxa_atexit"
yann@765
   151
    default y
yann@850
   152
    depends on ! BARE_METAL
yann@448
   153
    help
yann@448
   154
      If you get the missing symbol "__cxa_atexit" when building C++ programs,
yann@448
   155
      you might want to try disabling this option.
yann@448
   156
yann@765
   157
choice
yann@765
   158
    bool
yann@765
   159
    prompt "Use sjlj for exceptions"
yann@765
   160
    default CC_SJLJ_EXCEPTIONS_CONFIGURE
yann@850
   161
    depends on ! BARE_METAL
yann@765
   162
yann@765
   163
# This config option is used nowhere in the code on purpose.
yann@765
   164
# It only serves as a choice entry to force neither using nor not using sjlj
yann@765
   165
config CC_SJLJ_EXCEPTIONS_CONFIGURE
yann@765
   166
    bool
yann@765
   167
    prompt "Let configure decide"
yann@765
   168
    help
yann@765
   169
      Let configure decide if setjmp/longjmp should be used to handle
yann@765
   170
      exceptions.
yann@765
   171
      
yann@765
   172
      Choose that if you trust configure to detect the correct settings.
yann@765
   173
      This is the default choice.
yann@765
   174
yann@765
   175
config CC_SJLJ_EXCEPTIONS_USE
yann@765
   176
    bool
yann@765
   177
    prompt "Force using sjlj"
yann@765
   178
    help
yann@765
   179
      Do use setjmp/longjmp for exceptions.
yann@765
   180
      This is gcc's --enable-sjlj-exceptions configure switch.
yann@765
   181
      
yann@765
   182
      Choose that if you want to use setjmp/longjmp to handle exceptions.
yann@765
   183
yann@765
   184
config CC_SJLJ_EXCEPTIONS_DONT_USE
yann@765
   185
    bool
yann@765
   186
    prompt "Force not using sjlj"
yann@765
   187
    help
yann@765
   188
      Do not use setjmp/longjmp for exceptions.
yann@765
   189
      This is gcc's --disable-sjlj-exceptions configure switch.
yann@765
   190
      
yann@765
   191
      Choose that if you want to not use setjmp/longjmp to handle exceptions.
yann@765
   192
yann@765
   193
endchoice
yann@765
   194
yann@1484
   195
config CC_ENABLE_CXX_FLAGS
yann@1484
   196
    string
yann@1484
   197
    prompt "Flags to pass to --enable-cxx-flags"
yann@1484
   198
    default ""
yann@1484
   199
    help
yann@1484
   200
      Enter here the value of the gcc's ./configure option --enable-cxx-flags.
yann@1484
   201
      Leave empty if you don't know better.
yann@1484
   202
      
yann@1484
   203
      Note: just pass in the option _value_, that is only the part that goes
yann@1484
   204
      after the '=' sign.
yann@1484
   205
yann@448
   206
config CC_CORE_EXTRA_CONFIG
yann@448
   207
    string
yann@448
   208
    prompt "Core gcc extra config"
yann@448
   209
    default ""
yann@448
   210
    help
yann@448
   211
      Extra flags to pass onto ./configure when configuring the core gcc.
yann@448
   212
      
yann@448
   213
      The core gcc is a stripped down, C-only compiler needed to build
yann@448
   214
      the C library. Kinda bootstrap gcc, if you wish.
yann@448
   215
yann@448
   216
config CC_EXTRA_CONFIG
yann@448
   217
    string
yann@448
   218
    prompt "gcc extra config"
yann@448
   219
    default ""
yann@850
   220
    depends on ! BARE_METAL
yann@448
   221
    help
yann@448
   222
      Extra flags to pass onto ./configure when configuring gcc.
yann@466
   223
yann@545
   224
config CC_PKGVERSION
yann@545
   225
    string
yann@545
   226
    prompt "gcc ID string"
yann@545
   227
    depends on CC_GCC_4_3_or_later
yann@545
   228
    default "crosstool-NG-${CT_VERSION}"
yann@545
   229
    help
yann@545
   230
      Specify a string that identifies your package. You may wish to include
yann@545
   231
      a build number or build date. This version string will be included in
yann@545
   232
      the output of gcc --version.
yann@545
   233
yann@545
   234
      This is passed to the configure flag --with-pkgversion.
yann@545
   235
yann@545
   236
config CC_BUGURL
yann@545
   237
    string
yann@545
   238
    prompt "gcc bug URL"
yann@545
   239
    depends on CC_GCC_4_3_or_later
yann@545
   240
    default ""
yann@545
   241
    help
yann@545
   242
      Specify the URL that users should visit if they wish to report a bug.
yann@1129
   243
yann@1129
   244
config CC_LANG_JAVA_USE_ECJ
yann@1129
   245
    bool
yann@1129
   246
    default y
yann@1129
   247
    depends on CC_LANG_JAVA
yann@1129
   248
    depends on CC_GCC_4_3_or_later