config/toolchain.in
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Fri Jun 03 17:21:56 2011 +0200 (2011-06-03)
changeset 2503 b5541f296b92
parent 2500 ba1e71fa72a9
child 2526 e5fb003a354c
permissions -rw-r--r--
kconfig: prepend CT-NG's version tag to PKGVERSION

"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION,
and this options is passed as is to --with-pkgversion.

This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before
passing it to --with-pkgversion.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
yann@41
     1
menu "Toolchain options"
yann@41
     2
yann@41
     3
comment "General toolchain options"
yann@41
     4
yann@2281
     5
config FORCE_SYSROOT
yann@2281
     6
    bool
yann@2281
     7
    default y if !OBSOLETE
yann@2281
     8
    select USE_SYSROOT
yann@2281
     9
yann@41
    10
config USE_SYSROOT
yann@41
    11
    bool
yann@41
    12
    prompt "Use sysroot'ed toolchain"
yann@41
    13
    default y
yann@41
    14
    help
yann@41
    15
      Use the 'shinny new' sysroot feature of gcc: libraries split between
yann@2279
    16
      prefix/target/sysroot/lib and prefix/target/sysroot/usr/lib
yann@41
    17
      
yann@41
    18
      You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
yann@41
    19
yann@2279
    20
config SYSROOT_NAME
yann@2279
    21
    string
yann@2407
    22
    prompt "sysroot directory name" if ! BACKEND
yann@2279
    23
    depends on USE_SYSROOT
yann@2279
    24
    default "sysroot"
yann@2279
    25
    help
yann@2279
    26
      Enter the base name of the sysroot directory. Usually, this simply
yann@2279
    27
      is 'sysroot' (the default) or 'sys-root'.
yann@2279
    28
      
yann@2279
    29
      You are free to enter anything here, except for spaces, and '/'
yann@2279
    30
      (see SYSROOT_DIR_PREFIX, below). If you leave this empy, then the
yann@2279
    31
      default 'sysroot' is used.
yann@2279
    32
yann@1219
    33
config SYSROOT_DIR_PREFIX
yann@1219
    34
    string
yann@1865
    35
    prompt "sysroot prefix dir (READ HELP)" if ! BACKEND
yann@1219
    36
    depends on USE_SYSROOT
yann@1219
    37
    default ""
yann@1219
    38
    help
yann@1219
    39
      *
yann@1219
    40
      * Unless you realy know you need that, leave it empty!
yann@1219
    41
      *
yann@1219
    42
      
yann@1219
    43
      This string will be interpreted as a directory component to be added
yann@1219
    44
      to the sysroot path, just before the actual sysroot directory.
yann@1219
    45
      
yann@1219
    46
      In fact, the sysroot path is constructed as:
yann@2279
    47
        ${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/${CT_SYSROOT_NAME}
yann@1219
    48
yann@2500
    49
# In case we need to add more conditions to enable static
yann@2500
    50
# toolchain, we'll be adding them here
yann@2500
    51
config STATIC_TOOLCHAIN_POSSIBLE
yann@2500
    52
    bool
yann@2500
    53
    default y
yann@2500
    54
    depends on CONFIGURE_has_static_libstdcxx
yann@2500
    55
    # Add new deps here! :-)
yann@2500
    56
bryanhundven@2207
    57
config STATIC_TOOLCHAIN
bryanhundven@2207
    58
    bool
bryanhundven@2207
    59
    prompt "Build Static Toolchain (EXPERIMENTAL)"
bryanhundven@2207
    60
    depends on EXPERIMENTAL
yann@2500
    61
    depends on STATIC_TOOLCHAIN_POSSIBLE
bryanhundven@2207
    62
    help
bryanhundven@2207
    63
      Build static host binaries.
bryanhundven@2207
    64
      
bryanhundven@2207
    65
      If you wish to move the toolchain to another host, and you are not
bryanhundven@2207
    66
      confident that this host has the required versions of system libs, then
bryanhundven@2207
    67
      you can say 'Y' here, and all the host tools will be linked staticaly.
bryanhundven@2207
    68
      
yann@2209
    69
      The impacted tools are:
bryanhundven@2210
    70
        - the GNU binutils
yann@2209
    71
        - the cross-gdb
yann@2209
    72
      
bryanhundven@2207
    73
      The default is 'N', to build dynamicaly-linked host binaries.
bryanhundven@2207
    74
      
bryanhundven@2207
    75
      NOTE: this has no connection to whether the target libraries will be
bryanhundven@2207
    76
      dynamic or static. This only applies to the tools themselves.
bryanhundven@2207
    77
benoit@2487
    78
config TOOLCHAIN_PKGVERSION
benoit@2487
    79
    string
benoit@2487
    80
    prompt "Toolchain ID string"
benoit@2503
    81
    default ""
benoit@2487
    82
    help
benoit@2487
    83
      Specify a string that identifies your package. You may wish to include
benoit@2487
    84
      a build number or build date. This version string will be included in
benoit@2490
    85
      the output of gcc --version, and also in binutils, eglibc, gdb and
benoit@2490
    86
      gdbserver.
benoit@2487
    87
benoit@2503
    88
      If this string is left empty, the actual package version will be:
benoit@2503
    89
          "crosstool-NG ${CT_VERSION}"
benoit@2503
    90
      Otherwise, it will be:
benoit@2503
    91
          "crosstool-NG ${CT_VERSION} - ${CT_TOOLCHAIN_PKGVERSION}"
benoit@2503
    92
benoit@2487
    93
      This is passed to the configure flag --with-pkgversion.
benoit@2487
    94
benoit@2487
    95
config TOOLCHAIN_BUGURL
benoit@2487
    96
    string
benoit@2487
    97
    prompt "Toolchain bug URL"
benoit@2487
    98
    default ""
benoit@2487
    99
    help
benoit@2487
   100
      Specify the URL that users should visit if they wish to report a bug.
benoit@2487
   101
yann@1220
   102
comment "Tuple completion and aliasing"
yann@1220
   103
yann@41
   104
config TARGET_VENDOR
yann@41
   105
    string
yann@1220
   106
    prompt "Tuple's vendor string"
yann@41
   107
    default "unknown"
yann@41
   108
    help
yann@335
   109
      Vendor part of the target tuple.
yann@41
   110
      
yann@335
   111
      A tuple is of the form arch-vendor-kernel-system.
yann@41
   112
      You can set the second part, vendor, to whatever you see fit.
yann@41
   113
      Use a single word, or use underscores "_" to separate words.
yann@1094
   114
      Use neither dash nor space, as it breaks things.
yann@41
   115
      
yann@1704
   116
      Keep the default (unknown) if you don't know better.
yann@41
   117
yann@321
   118
config TARGET_ALIAS_SED_EXPR
yann@321
   119
    string
yann@1220
   120
    prompt "Tuple's sed transform"
yann@321
   121
    default ""
yann@321
   122
    help
yann@321
   123
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
   124
      prefixing the target tuple followed by a dash and the component name
yann@321
   125
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@321
   126
      
yann@321
   127
      You can enter here a sed expression to be applied to ${CT_TARGET} to
yann@321
   128
      create an alias for your toolchain.
yann@321
   129
      
yann@321
   130
      For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
yann@321
   131
      will create the armeb-foobar-linux-uclibc alias to the above-mentioned
yann@321
   132
      toolchain.
yann@321
   133
      
yann@321
   134
      You shouldn't need to enter anything here, unless you plan to manually
yann@321
   135
      call the tools (autotools-based ./configure will use the standard name).
yann@321
   136
yann@41
   137
config TARGET_ALIAS
yann@41
   138
    string
yann@1220
   139
    prompt "Tuple's alias"
yann@41
   140
    default ""
yann@41
   141
    help
yann@321
   142
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
   143
      prefixing the target tuple followed by a dash and the component name
yann@41
   144
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@41
   145
      
yann@41
   146
      You can enter a shortcut here. This string will be used to create
yann@41
   147
      symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
yann@41
   148
      then gcc for your toolchain will also be available as "foo-bar-gcc" along
yann@41
   149
      with the original name).
yann@41
   150
      
yann@41
   151
      You shouldn't need to enter anything here, unless you plan to manually
yann@41
   152
      call the tools (autotools-based ./configure will use the standard name).
yann@41
   153
yann@41
   154
comment "Toolchain type"
yann@41
   155
yann@41
   156
choice
yann@41
   157
    bool
yann@41
   158
    prompt "Type"
yann@41
   159
    default CROSS
yann@41
   160
yann@41
   161
config NATIVE
yann@41
   162
    bool
yann@1041
   163
    prompt "Native       (NO CODE!) (EXPERIMENTAL)"
yann@41
   164
    depends on EXPERIMENTAL
yann@41
   165
    help
yann@41
   166
      Build a native toolchain.
yann@2227
   167
      See: "docs/6 - Toolchain types.txt"
yann@41
   168
yann@41
   169
config CROSS
yann@41
   170
    bool
yann@41
   171
    prompt "Cross"
yann@41
   172
    help
yann@41
   173
      Build a cross-toolchain.
yann@2227
   174
      See: "docs/6 - Toolchain types.txt"
yann@41
   175
yann@41
   176
config CROSS_NATIVE
yann@41
   177
    bool
yann@1041
   178
    prompt "Cross-native (NO CODE!) (EXPERIMENTAL)"
yann@41
   179
    depends on EXPERIMENTAL
yann@41
   180
    help
yann@41
   181
      Build a cross-native toolchain.
yann@2227
   182
      See: "docs/6 - Toolchain types.txt"
yann@41
   183
yann@41
   184
config CANADIAN
yann@41
   185
    bool
yann@1425
   186
    prompt "Canadian     (EXPERIMENTAL)"
yann@41
   187
    depends on EXPERIMENTAL
yann@41
   188
    help
yann@41
   189
      Build a canadian-toolchain.
yann@2227
   190
      See: "docs/6 - Toolchain types.txt"
yann@41
   191
yann@41
   192
endchoice
yann@41
   193
yann@96
   194
config TOOLCHAIN_TYPE
yann@96
   195
    string
yann@96
   196
    default "native"        if NATIVE
yann@96
   197
    default "cross"         if CROSS
yann@96
   198
    default "cross-native"  if CROSS_NATIVE
yann@96
   199
    default "canadian"      if CANADIAN
yann@96
   200
yann@1041
   201
comment "Build system"
yann@1041
   202
benoit@2484
   203
config BUILD
yann@41
   204
    string
yann@1041
   205
    prompt "|  Tuple        (READ HELP!)"
yann@41
   206
    default ""
yann@41
   207
    help
yann@41
   208
      Canonical name of the machine building the toolchain.
yann@41
   209
      You should leave empty, unless you really now what you're doing.
yann@41
   210
yann@1041
   211
config BUILD_PREFIX
yann@41
   212
    string
yann@1041
   213
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   214
    default ""
yann@41
   215
    help
yann@1041
   216
      If you have your *build system* tools in a weird location, and/or
yann@1041
   217
      they have an unusual prefix, enter it here.
yann@41
   218
      
yann@1041
   219
      Usually, you should leave that empty!
yann@41
   220
      
yann@1041
   221
      Eg.:
yann@1041
   222
        If your *build* gcc is /opt/build-tools/bin/weird-gcc then you
yann@1041
   223
        should enter:
yann@1041
   224
            /opt/build-tools/bin/weird-
yann@1041
   225
        
yann@1041
   226
        If your *build* gcc is /opt/build-tools/bin/weird-gcc and
yann@1041
   227
        /opt/build-tools/bin is in your PATH, you should enter:
yann@1041
   228
            weird-
yann@1041
   229
        
yann@1041
   230
        If your *build* gcc is /opt/build-tools/bin/gcc then you
yann@1041
   231
        should enter (do not forget to add the trailing '/'):
yann@1041
   232
            /opt/build-tools/bin/
yann@1041
   233
yann@1041
   234
config BUILD_SUFFIX
yann@1041
   235
    string
yann@1041
   236
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   237
    default ""
yann@1041
   238
    help
yann@1041
   239
      If your *build system* tools have an unusual suffix, enter it
yann@1041
   240
      here.
yann@1041
   241
      
yann@1041
   242
      Usually, you should leave that empty!
yann@1041
   243
      
yann@1041
   244
      Eg.:
yann@1041
   245
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   246
        installed as gcc-3.4, then you should enter:
yann@1041
   247
            -3.4
yann@1041
   248
      
yann@1041
   249
      It can happen that some of the tools have a suffix, when others
yann@1041
   250
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   251
      for that by checking the tools without the suffix in case it can
yann@1041
   252
      not find some of the tool.
yann@1041
   253
yann@1041
   254
if CANADIAN
yann@1041
   255
yann@1041
   256
comment "Host system"
yann@41
   257
yann@41
   258
config HOST
yann@41
   259
    string
yann@1041
   260
    prompt "|  Tuple        (READ HELP!)"
yann@41
   261
    default ""
yann@41
   262
    help
yann@41
   263
      Canonical name of the machine running the toolchain.
yann@41
   264
yann@1041
   265
config HOST_PREFIX
yann@41
   266
    string
yann@1041
   267
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   268
    default ""
yann@41
   269
    help
yann@1041
   270
      If you have your *host system* tools in a weird location, and/or
yann@1041
   271
      they have an unusual prefix, enter it here.
yann@1041
   272
      
yann@1041
   273
      Usually, you should leave that empty!
yann@1041
   274
      
yann@1041
   275
      Eg.:
yann@1041
   276
        If your *host* gcc is /opt/host-tools/bin/weird-gcc then you
yann@1041
   277
        should enter:
yann@1041
   278
            /opt/host-tools/bin/weird-
yann@1041
   279
        
yann@1041
   280
        If your *host* gcc is /opt/host-tools/bin/weird-gcc and
yann@1041
   281
        /opt/host-tools/bin is in your PATH, you should enter:
yann@1041
   282
            weird-
yann@1041
   283
        
yann@1041
   284
        If your *host* gcc is /opt/host-tools/bin/gcc then you
yann@1041
   285
        should enter (do not forget to add the trailing '/'):
yann@1041
   286
            /opt/host-tools/bin/
yann@41
   287
yann@1041
   288
config HOST_SUFFIX
yann@41
   289
    string
yann@1041
   290
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   291
    default ""
yann@41
   292
    help
yann@1041
   293
      If your *host system* tools have an unusual suffix, enter it
yann@1041
   294
      here.
yann@1041
   295
      
yann@1041
   296
      Usually, you should leave that empty!
yann@1041
   297
      
yann@1041
   298
      Eg.:
yann@1041
   299
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   300
        installed as gcc-3.4, then you should enter:
yann@1041
   301
            -3.4
yann@1041
   302
      
yann@1041
   303
      It can happen that some of the tools have a suffix, when others
yann@1041
   304
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   305
      for that by checking the tools without the suffix in case it can
yann@1041
   306
      not find some of the tool.
yann@1041
   307
yann@1041
   308
endif # CANADIAN
yann@1041
   309
yann@1041
   310
if CROSS_NATIVE || CANADIAN
yann@1041
   311
yann@1041
   312
comment "Target system"
yann@1041
   313
yann@1041
   314
config TARGET_PREFIX
yann@1041
   315
    string
yann@1041
   316
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   317
    default ""
yann@1041
   318
    help
yann@1041
   319
      If you have your *target system* tools in a weird location, and/or
yann@1041
   320
      they have an unusual prefix, enter it here.
yann@1041
   321
      
yann@1041
   322
      Usually, you should leave that empty!
yann@1041
   323
      
yann@1041
   324
      Eg.:
yann@1041
   325
        If your *target* gcc is /opt/target-tools/bin/weird-gcc then you
yann@1041
   326
        should enter:
yann@1041
   327
            /opt/target-tools/bin/weird-
yann@1041
   328
        
yann@1041
   329
        If your *target* gcc is /opt/target-tools/bin/weird-gcc and
yann@1041
   330
        /opt/target-tools/bin is in your PATH, you should enter:
yann@1041
   331
            weird-
yann@1041
   332
        
yann@1041
   333
        If your *target* gcc is /opt/target-tools/bin/gcc then you
yann@1041
   334
        should enter (do not forget to add the trailing '/'):
yann@1041
   335
            /opt/target-tools/bin/
yann@1041
   336
yann@1041
   337
config TARGET_SUFFIX
yann@1041
   338
    string
yann@1041
   339
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   340
    default ""
yann@1041
   341
    help
yann@1041
   342
      If your *target system* tools have an unusual suffix, enter it
yann@1041
   343
      here.
yann@1041
   344
      
yann@1041
   345
      Usually, you should leave that empty!
yann@1041
   346
      
yann@1041
   347
      Eg.:
yann@1041
   348
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   349
        installed as gcc-3.4, then you should enter:
yann@1041
   350
            -3.4
yann@1041
   351
      
yann@1041
   352
      It can happen that some of the tools have a suffix, when others
yann@1041
   353
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   354
      for that by checking the tools without the suffix in case it can
yann@1041
   355
      not find some of the tool.
yann@1041
   356
yann@1041
   357
endif # CROSS_NATIVE || CANADIAN
yann@41
   358
yann@41
   359
endmenu