config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 30 16:54:30 2009 +0200 (2009-08-30)
changeset 1502 472cfde636a1
parent 1501 3bf289921a80
child 1514 461d964d7df2
permissions -rw-r--r--
config: move the "build shared libraries" option to the OS menu

The "Build shared libraries" config option is dependant on the type of
"Target OS".

Moving this options to the "Target OS" sub-menu is also better in the user
perspective: he/she no longer needs to go back and forth to see if he/she
missed any option.
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@1219
    17
    prompt "sysroot prefix dir (READ HELP)"
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
yann@1220
    31
comment "Tuple completion and aliasing"
yann@1220
    32
yann@41
    33
config TARGET_VENDOR
yann@41
    34
    string
yann@1220
    35
    prompt "Tuple's vendor string"
yann@41
    36
    default "unknown"
yann@41
    37
    help
yann@335
    38
      Vendor part of the target tuple.
yann@41
    39
      
yann@335
    40
      A tuple is of the form arch-vendor-kernel-system.
yann@41
    41
      You can set the second part, vendor, to whatever you see fit.
yann@41
    42
      Use a single word, or use underscores "_" to separate words.
yann@1094
    43
      Use neither dash nor space, as it breaks things.
yann@41
    44
      
yann@41
    45
      Keep the default (unkown) if you don't know better.
yann@41
    46
yann@321
    47
config TARGET_ALIAS_SED_EXPR
yann@321
    48
    string
yann@1220
    49
    prompt "Tuple's sed transform"
yann@321
    50
    default ""
yann@321
    51
    help
yann@321
    52
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    53
      prefixing the target tuple followed by a dash and the component name
yann@321
    54
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@321
    55
      
yann@321
    56
      You can enter here a sed expression to be applied to ${CT_TARGET} to
yann@321
    57
      create an alias for your toolchain.
yann@321
    58
      
yann@321
    59
      For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
yann@321
    60
      will create the armeb-foobar-linux-uclibc alias to the above-mentioned
yann@321
    61
      toolchain.
yann@321
    62
      
yann@321
    63
      You shouldn't need to enter anything here, unless you plan to manually
yann@321
    64
      call the tools (autotools-based ./configure will use the standard name).
yann@321
    65
yann@41
    66
config TARGET_ALIAS
yann@41
    67
    string
yann@1220
    68
    prompt "Tuple's alias"
yann@41
    69
    default ""
yann@41
    70
    help
yann@321
    71
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    72
      prefixing the target tuple followed by a dash and the component name
yann@41
    73
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@41
    74
      
yann@41
    75
      You can enter a shortcut here. This string will be used to create
yann@41
    76
      symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
yann@41
    77
      then gcc for your toolchain will also be available as "foo-bar-gcc" along
yann@41
    78
      with the original name).
yann@41
    79
      
yann@41
    80
      You shouldn't need to enter anything here, unless you plan to manually
yann@41
    81
      call the tools (autotools-based ./configure will use the standard name).
yann@41
    82
yann@41
    83
comment "Toolchain type"
yann@41
    84
yann@41
    85
choice
yann@41
    86
    bool
yann@41
    87
    prompt "Type"
yann@41
    88
    default CROSS
yann@41
    89
yann@41
    90
config NATIVE
yann@41
    91
    bool
yann@1041
    92
    prompt "Native       (NO CODE!) (EXPERIMENTAL)"
yann@41
    93
    depends on EXPERIMENTAL
yann@41
    94
    help
yann@41
    95
      Build a native toolchain.
yann@41
    96
      See docs/overview.txt
yann@41
    97
yann@41
    98
config CROSS
yann@41
    99
    bool
yann@41
   100
    prompt "Cross"
yann@41
   101
    help
yann@41
   102
      Build a cross-toolchain.
yann@41
   103
      See docs/overview.txt
yann@41
   104
yann@41
   105
config CROSS_NATIVE
yann@41
   106
    bool
yann@1041
   107
    prompt "Cross-native (NO CODE!) (EXPERIMENTAL)"
yann@41
   108
    depends on EXPERIMENTAL
yann@41
   109
    help
yann@41
   110
      Build a cross-native toolchain.
yann@41
   111
      See docs/overview.txt
yann@41
   112
yann@41
   113
config CANADIAN
yann@41
   114
    bool
yann@1425
   115
    prompt "Canadian     (EXPERIMENTAL)"
yann@41
   116
    depends on EXPERIMENTAL
yann@41
   117
    help
yann@41
   118
      Build a canadian-toolchain.
yann@41
   119
      See docs/overview.txt
yann@41
   120
yann@41
   121
endchoice
yann@41
   122
yann@96
   123
config TOOLCHAIN_TYPE
yann@96
   124
    string
yann@96
   125
    default "native"        if NATIVE
yann@96
   126
    default "cross"         if CROSS
yann@96
   127
    default "cross-native"  if CROSS_NATIVE
yann@96
   128
    default "canadian"      if CANADIAN
yann@96
   129
yann@1041
   130
comment "Build system"
yann@1041
   131
yann@41
   132
config BUILD 
yann@41
   133
    string
yann@1041
   134
    prompt "|  Tuple        (READ HELP!)"
yann@41
   135
    default ""
yann@41
   136
    help
yann@41
   137
      Canonical name of the machine building the toolchain.
yann@41
   138
      You should leave empty, unless you really now what you're doing.
yann@41
   139
yann@1041
   140
config BUILD_PREFIX
yann@41
   141
    string
yann@1041
   142
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   143
    default ""
yann@41
   144
    help
yann@1041
   145
      If you have your *build system* tools in a weird location, and/or
yann@1041
   146
      they have an unusual prefix, enter it here.
yann@41
   147
      
yann@1041
   148
      Usually, you should leave that empty!
yann@41
   149
      
yann@1041
   150
      Eg.:
yann@1041
   151
        If your *build* gcc is /opt/build-tools/bin/weird-gcc then you
yann@1041
   152
        should enter:
yann@1041
   153
            /opt/build-tools/bin/weird-
yann@1041
   154
        
yann@1041
   155
        If your *build* gcc is /opt/build-tools/bin/weird-gcc and
yann@1041
   156
        /opt/build-tools/bin is in your PATH, you should enter:
yann@1041
   157
            weird-
yann@1041
   158
        
yann@1041
   159
        If your *build* gcc is /opt/build-tools/bin/gcc then you
yann@1041
   160
        should enter (do not forget to add the trailing '/'):
yann@1041
   161
            /opt/build-tools/bin/
yann@1041
   162
yann@1041
   163
config BUILD_SUFFIX
yann@1041
   164
    string
yann@1041
   165
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   166
    default ""
yann@1041
   167
    help
yann@1041
   168
      If your *build system* tools have an unusual suffix, enter it
yann@1041
   169
      here.
yann@1041
   170
      
yann@1041
   171
      Usually, you should leave that empty!
yann@1041
   172
      
yann@1041
   173
      Eg.:
yann@1041
   174
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   175
        installed as gcc-3.4, then you should enter:
yann@1041
   176
            -3.4
yann@1041
   177
      
yann@1041
   178
      It can happen that some of the tools have a suffix, when others
yann@1041
   179
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   180
      for that by checking the tools without the suffix in case it can
yann@1041
   181
      not find some of the tool.
yann@1041
   182
yann@1041
   183
if CANADIAN
yann@1041
   184
yann@1041
   185
comment "Host system"
yann@41
   186
yann@41
   187
config HOST
yann@41
   188
    string
yann@1041
   189
    prompt "|  Tuple        (READ HELP!)"
yann@41
   190
    default ""
yann@41
   191
    help
yann@41
   192
      Canonical name of the machine running the toolchain.
yann@41
   193
yann@1041
   194
config HOST_PREFIX
yann@41
   195
    string
yann@1041
   196
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   197
    default ""
yann@41
   198
    help
yann@1041
   199
      If you have your *host system* tools in a weird location, and/or
yann@1041
   200
      they have an unusual prefix, enter it here.
yann@1041
   201
      
yann@1041
   202
      Usually, you should leave that empty!
yann@1041
   203
      
yann@1041
   204
      Eg.:
yann@1041
   205
        If your *host* gcc is /opt/host-tools/bin/weird-gcc then you
yann@1041
   206
        should enter:
yann@1041
   207
            /opt/host-tools/bin/weird-
yann@1041
   208
        
yann@1041
   209
        If your *host* gcc is /opt/host-tools/bin/weird-gcc and
yann@1041
   210
        /opt/host-tools/bin is in your PATH, you should enter:
yann@1041
   211
            weird-
yann@1041
   212
        
yann@1041
   213
        If your *host* gcc is /opt/host-tools/bin/gcc then you
yann@1041
   214
        should enter (do not forget to add the trailing '/'):
yann@1041
   215
            /opt/host-tools/bin/
yann@41
   216
yann@1041
   217
config HOST_SUFFIX
yann@41
   218
    string
yann@1041
   219
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   220
    default ""
yann@41
   221
    help
yann@1041
   222
      If your *host system* tools have an unusual suffix, enter it
yann@1041
   223
      here.
yann@1041
   224
      
yann@1041
   225
      Usually, you should leave that empty!
yann@1041
   226
      
yann@1041
   227
      Eg.:
yann@1041
   228
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   229
        installed as gcc-3.4, then you should enter:
yann@1041
   230
            -3.4
yann@1041
   231
      
yann@1041
   232
      It can happen that some of the tools have a suffix, when others
yann@1041
   233
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   234
      for that by checking the tools without the suffix in case it can
yann@1041
   235
      not find some of the tool.
yann@1041
   236
yann@1041
   237
endif # CANADIAN
yann@1041
   238
yann@1041
   239
if CROSS_NATIVE || CANADIAN
yann@1041
   240
yann@1041
   241
comment "Target system"
yann@1041
   242
yann@1041
   243
config TARGET_PREFIX
yann@1041
   244
    string
yann@1041
   245
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   246
    default ""
yann@1041
   247
    help
yann@1041
   248
      If you have your *target system* tools in a weird location, and/or
yann@1041
   249
      they have an unusual prefix, enter it here.
yann@1041
   250
      
yann@1041
   251
      Usually, you should leave that empty!
yann@1041
   252
      
yann@1041
   253
      Eg.:
yann@1041
   254
        If your *target* gcc is /opt/target-tools/bin/weird-gcc then you
yann@1041
   255
        should enter:
yann@1041
   256
            /opt/target-tools/bin/weird-
yann@1041
   257
        
yann@1041
   258
        If your *target* gcc is /opt/target-tools/bin/weird-gcc and
yann@1041
   259
        /opt/target-tools/bin is in your PATH, you should enter:
yann@1041
   260
            weird-
yann@1041
   261
        
yann@1041
   262
        If your *target* gcc is /opt/target-tools/bin/gcc then you
yann@1041
   263
        should enter (do not forget to add the trailing '/'):
yann@1041
   264
            /opt/target-tools/bin/
yann@1041
   265
yann@1041
   266
config TARGET_SUFFIX
yann@1041
   267
    string
yann@1041
   268
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   269
    default ""
yann@1041
   270
    help
yann@1041
   271
      If your *target system* tools have an unusual suffix, enter it
yann@1041
   272
      here.
yann@1041
   273
      
yann@1041
   274
      Usually, you should leave that empty!
yann@1041
   275
      
yann@1041
   276
      Eg.:
yann@1041
   277
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   278
        installed as gcc-3.4, then you should enter:
yann@1041
   279
            -3.4
yann@1041
   280
      
yann@1041
   281
      It can happen that some of the tools have a suffix, when others
yann@1041
   282
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   283
      for that by checking the tools without the suffix in case it can
yann@1041
   284
      not find some of the tool.
yann@1041
   285
yann@1041
   286
endif # CROSS_NATIVE || CANADIAN
yann@41
   287
yann@1493
   288
# Kept as a separate if block, even if it could go into the above block,
yann@1493
   289
# because it seems better. No real reason, only that it seems right...
yann@1493
   290
if CANADIAN
yann@1493
   291
yann@1493
   292
comment "Host specifics"
yann@1493
   293
yann@1493
   294
choice
yann@1493
   295
    bool
yann@1493
   296
    prompt "|  Install tools wrapper as:"
yann@1495
   297
    depends on WRAPPER_NEEDED
yann@1493
   298
    default TOOLS_WRAPPER_SHELL
yann@1493
   299
yann@1493
   300
config TOOLS_WRAPPER_SCRIPT
yann@1493
   301
    bool
yann@1493
   302
    prompt "shell script"
yann@1493
   303
    help
yann@1493
   304
      If your host has a shell, then you should say 'Y' here, to use
yann@1493
   305
      a (very very simple) shell script as wrapper.
yann@1493
   306
      
yann@1493
   307
      See docs/overview.txt, section "Tools wrapper".
yann@1493
   308
yann@1493
   309
config TOOLS_WRAPPER_EXEC
yann@1493
   310
    bool
yann@1493
   311
    prompt "executable"
yann@1493
   312
    help
yann@1493
   313
      If your host lacks a shell, then you should say 'Y' here, to use
yann@1493
   314
      an executable.
yann@1493
   315
      
yann@1493
   316
      See docs/overview.txt, section "Tools wrapper".
yann@1493
   317
yann@1493
   318
endchoice
yann@1493
   319
yann@1493
   320
config TOOLS_WRAPPER
yann@1493
   321
    string
yann@1493
   322
    default "script" if TOOLS_WRAPPER_SCRIPT
yann@1493
   323
    default "exec"   if TOOLS_WRAPPER_EXEC
yann@1493
   324
yann@1493
   325
endif # CROSS_NATIVE || CANADIAN
yann@1493
   326
yann@41
   327
endmenu