config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Dec 09 18:55:15 2010 +0100 (2010-12-09)
changeset 2209 cdafca8bdaa8
parent 2207 b268256e4a08
child 2210 c423e3d8f541
permissions -rw-r--r--
debug/gdb: global static forces static cross-gdb

If the global static option is set, then build host binutils statically.

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