config/toolchain.in
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Tue May 31 20:12:35 2011 +0200 (2011-05-31)
changeset 2487 481cd34691f0
parent 2484 d1a8c2ae7946
child 2488 58a28561f1bc
permissions -rw-r--r--
gcc: promote PKGVERSION and BUGURL options to toolchain level

This patch promotes the PKGVERSION and BUGURL options to toolchain level so that
all toolchain components supporting them can benefit from them.

These options are passed to configure through --with-pkgversion and
--with-bugurl.

They are supported by binutils 2.18+, gcc 4.3+, eglibc 2.9+ and gdb 7.0+.

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