config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jan 22 23:20:18 2011 +0100 (2011-01-22)
changeset 2305 2ed26c646568
parent 2279 a559d9890c02
child 2407 ce9168b4af1e
permissions -rw-r--r--
scripts: create the makeinfo wrapper before we set PATH

If we set PATH to the tools wrappers before we create the
makeinfo wrapper, then we may well wrap an existing wrapper
from a previous run.

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