config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 09 22:02:20 2008 +0000 (2008-12-09)
changeset 1094 c6a08b4c488c
parent 1041 2573519c00d6
child 1219 2b875ed306c2
permissions -rw-r--r--
Sanity-check CT_TARGET_VENDOR, CT_TARGET_ALIAS and CT_TARGET_ALIAS_SED_EXPR:
- vendor and alias must not contain spaces
- vendor must not contain dashes '-'
- sed_expr must not generate an alias with a space in it

/trunk/scripts/functions | 17 16 1 0 ++++++++++++++++-
/trunk/config/toolchain.in | 1 1 0 0 +
2 files changed, 17 insertions(+), 1 deletion(-)
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@41
    15
config SHARED_LIBS
yann@41
    16
    bool
yann@41
    17
    prompt "Build shared libraries"
yann@850
    18
    depends on ! BARE_METAL
yann@41
    19
    default y
yann@41
    20
    help
yann@41
    21
      Say 'y' here, unless you don't want shared libraries.
yann@41
    22
      
yann@803
    23
      You might not want shared libraries if you're building for a target that
yann@41
    24
      don't support it (maybe some nommu targets, for example, or bare metal).
yann@41
    25
yann@41
    26
config TARGET_VENDOR
yann@41
    27
    string
yann@41
    28
    prompt "Vendor string"
yann@41
    29
    default "unknown"
yann@41
    30
    help
yann@335
    31
      Vendor part of the target tuple.
yann@41
    32
      
yann@335
    33
      A tuple is of the form arch-vendor-kernel-system.
yann@41
    34
      You can set the second part, vendor, to whatever you see fit.
yann@41
    35
      Use a single word, or use underscores "_" to separate words.
yann@1094
    36
      Use neither dash nor space, as it breaks things.
yann@41
    37
      
yann@41
    38
      Keep the default (unkown) if you don't know better.
yann@41
    39
yann@321
    40
config TARGET_ALIAS_SED_EXPR
yann@321
    41
    string
yann@321
    42
    prompt "Target sed transform"
yann@321
    43
    default ""
yann@321
    44
    help
yann@321
    45
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    46
      prefixing the target tuple followed by a dash and the component name
yann@321
    47
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@321
    48
      
yann@321
    49
      You can enter here a sed expression to be applied to ${CT_TARGET} to
yann@321
    50
      create an alias for your toolchain.
yann@321
    51
      
yann@321
    52
      For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
yann@321
    53
      will create the armeb-foobar-linux-uclibc alias to the above-mentioned
yann@321
    54
      toolchain.
yann@321
    55
      
yann@321
    56
      You shouldn't need to enter anything here, unless you plan to manually
yann@321
    57
      call the tools (autotools-based ./configure will use the standard name).
yann@321
    58
yann@41
    59
config TARGET_ALIAS
yann@41
    60
    string
yann@41
    61
    prompt "Target alias"
yann@41
    62
    default ""
yann@41
    63
    help
yann@321
    64
      Normaly, you'd call your toolchain components (especially gcc) by
yann@335
    65
      prefixing the target tuple followed by a dash and the component name
yann@41
    66
      (eg. armeb-unknown-linux-uclibc-gcc).
yann@41
    67
      
yann@41
    68
      You can enter a shortcut here. This string will be used to create
yann@41
    69
      symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
yann@41
    70
      then gcc for your toolchain will also be available as "foo-bar-gcc" along
yann@41
    71
      with the original name).
yann@41
    72
      
yann@41
    73
      You shouldn't need to enter anything here, unless you plan to manually
yann@41
    74
      call the tools (autotools-based ./configure will use the standard name).
yann@41
    75
yann@41
    76
comment "Toolchain type"
yann@41
    77
yann@41
    78
choice
yann@41
    79
    bool
yann@41
    80
    prompt "Type"
yann@41
    81
    default CROSS
yann@41
    82
yann@41
    83
config NATIVE
yann@41
    84
    bool
yann@1041
    85
    prompt "Native       (NO CODE!) (EXPERIMENTAL)"
yann@41
    86
    depends on EXPERIMENTAL
yann@41
    87
    help
yann@41
    88
      Build a native toolchain.
yann@41
    89
      See docs/overview.txt
yann@41
    90
yann@41
    91
config CROSS
yann@41
    92
    bool
yann@41
    93
    prompt "Cross"
yann@41
    94
    help
yann@41
    95
      Build a cross-toolchain.
yann@41
    96
      See docs/overview.txt
yann@41
    97
yann@41
    98
config CROSS_NATIVE
yann@41
    99
    bool
yann@1041
   100
    prompt "Cross-native (NO CODE!) (EXPERIMENTAL)"
yann@41
   101
    depends on EXPERIMENTAL
yann@41
   102
    help
yann@41
   103
      Build a cross-native toolchain.
yann@41
   104
      See docs/overview.txt
yann@41
   105
yann@41
   106
config CANADIAN
yann@41
   107
    bool
yann@1041
   108
    prompt "Canadian     (NO CODE!) (EXPERIMENTAL)"
yann@41
   109
    depends on EXPERIMENTAL
yann@41
   110
    help
yann@41
   111
      Build a canadian-toolchain.
yann@41
   112
      See docs/overview.txt
yann@41
   113
yann@41
   114
endchoice
yann@41
   115
yann@96
   116
config TOOLCHAIN_TYPE
yann@96
   117
    string
yann@96
   118
    default "native"        if NATIVE
yann@96
   119
    default "cross"         if CROSS
yann@96
   120
    default "cross-native"  if CROSS_NATIVE
yann@96
   121
    default "canadian"      if CANADIAN
yann@96
   122
yann@1041
   123
comment "Build system"
yann@1041
   124
yann@41
   125
config BUILD 
yann@41
   126
    string
yann@1041
   127
    prompt "|  Tuple        (READ HELP!)"
yann@41
   128
    default ""
yann@41
   129
    help
yann@41
   130
      Canonical name of the machine building the toolchain.
yann@41
   131
      You should leave empty, unless you really now what you're doing.
yann@41
   132
yann@1041
   133
config BUILD_PREFIX
yann@41
   134
    string
yann@1041
   135
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   136
    default ""
yann@41
   137
    help
yann@1041
   138
      If you have your *build system* tools in a weird location, and/or
yann@1041
   139
      they have an unusual prefix, enter it here.
yann@41
   140
      
yann@1041
   141
      Usually, you should leave that empty!
yann@41
   142
      
yann@1041
   143
      Eg.:
yann@1041
   144
        If your *build* gcc is /opt/build-tools/bin/weird-gcc then you
yann@1041
   145
        should enter:
yann@1041
   146
            /opt/build-tools/bin/weird-
yann@1041
   147
        
yann@1041
   148
        If your *build* gcc is /opt/build-tools/bin/weird-gcc and
yann@1041
   149
        /opt/build-tools/bin is in your PATH, you should enter:
yann@1041
   150
            weird-
yann@1041
   151
        
yann@1041
   152
        If your *build* gcc is /opt/build-tools/bin/gcc then you
yann@1041
   153
        should enter (do not forget to add the trailing '/'):
yann@1041
   154
            /opt/build-tools/bin/
yann@1041
   155
yann@1041
   156
config BUILD_SUFFIX
yann@1041
   157
    string
yann@1041
   158
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   159
    default ""
yann@1041
   160
    help
yann@1041
   161
      If your *build system* tools have an unusual suffix, enter it
yann@1041
   162
      here.
yann@1041
   163
      
yann@1041
   164
      Usually, you should leave that empty!
yann@1041
   165
      
yann@1041
   166
      Eg.:
yann@1041
   167
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   168
        installed as gcc-3.4, then you should enter:
yann@1041
   169
            -3.4
yann@1041
   170
      
yann@1041
   171
      It can happen that some of the tools have a suffix, when others
yann@1041
   172
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   173
      for that by checking the tools without the suffix in case it can
yann@1041
   174
      not find some of the tool.
yann@1041
   175
yann@1041
   176
if CANADIAN
yann@1041
   177
yann@1041
   178
comment "Host system"
yann@41
   179
yann@41
   180
config HOST
yann@41
   181
    string
yann@1041
   182
    prompt "|  Tuple        (READ HELP!)"
yann@41
   183
    default ""
yann@41
   184
    help
yann@41
   185
      Canonical name of the machine running the toolchain.
yann@41
   186
yann@1041
   187
config HOST_PREFIX
yann@41
   188
    string
yann@1041
   189
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   190
    default ""
yann@41
   191
    help
yann@1041
   192
      If you have your *host system* tools in a weird location, and/or
yann@1041
   193
      they have an unusual prefix, enter it here.
yann@1041
   194
      
yann@1041
   195
      Usually, you should leave that empty!
yann@1041
   196
      
yann@1041
   197
      Eg.:
yann@1041
   198
        If your *host* gcc is /opt/host-tools/bin/weird-gcc then you
yann@1041
   199
        should enter:
yann@1041
   200
            /opt/host-tools/bin/weird-
yann@1041
   201
        
yann@1041
   202
        If your *host* gcc is /opt/host-tools/bin/weird-gcc and
yann@1041
   203
        /opt/host-tools/bin is in your PATH, you should enter:
yann@1041
   204
            weird-
yann@1041
   205
        
yann@1041
   206
        If your *host* gcc is /opt/host-tools/bin/gcc then you
yann@1041
   207
        should enter (do not forget to add the trailing '/'):
yann@1041
   208
            /opt/host-tools/bin/
yann@41
   209
yann@1041
   210
config HOST_SUFFIX
yann@41
   211
    string
yann@1041
   212
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   213
    default ""
yann@41
   214
    help
yann@1041
   215
      If your *host system* tools have an unusual suffix, enter it
yann@1041
   216
      here.
yann@1041
   217
      
yann@1041
   218
      Usually, you should leave that empty!
yann@1041
   219
      
yann@1041
   220
      Eg.:
yann@1041
   221
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   222
        installed as gcc-3.4, then you should enter:
yann@1041
   223
            -3.4
yann@1041
   224
      
yann@1041
   225
      It can happen that some of the tools have a suffix, when others
yann@1041
   226
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   227
      for that by checking the tools without the suffix in case it can
yann@1041
   228
      not find some of the tool.
yann@1041
   229
yann@1041
   230
endif # CANADIAN
yann@1041
   231
yann@1041
   232
if CROSS_NATIVE || CANADIAN
yann@1041
   233
yann@1041
   234
comment "Target system"
yann@1041
   235
yann@1041
   236
config TARGET_PREFIX
yann@1041
   237
    string
yann@1041
   238
    prompt "|  Tools prefix (READ HELP!)"
yann@1041
   239
    default ""
yann@1041
   240
    help
yann@1041
   241
      If you have your *target system* tools in a weird location, and/or
yann@1041
   242
      they have an unusual prefix, enter it here.
yann@1041
   243
      
yann@1041
   244
      Usually, you should leave that empty!
yann@1041
   245
      
yann@1041
   246
      Eg.:
yann@1041
   247
        If your *target* gcc is /opt/target-tools/bin/weird-gcc then you
yann@1041
   248
        should enter:
yann@1041
   249
            /opt/target-tools/bin/weird-
yann@1041
   250
        
yann@1041
   251
        If your *target* gcc is /opt/target-tools/bin/weird-gcc and
yann@1041
   252
        /opt/target-tools/bin is in your PATH, you should enter:
yann@1041
   253
            weird-
yann@1041
   254
        
yann@1041
   255
        If your *target* gcc is /opt/target-tools/bin/gcc then you
yann@1041
   256
        should enter (do not forget to add the trailing '/'):
yann@1041
   257
            /opt/target-tools/bin/
yann@1041
   258
yann@1041
   259
config TARGET_SUFFIX
yann@1041
   260
    string
yann@1041
   261
    prompt "|  Tools suffix (READ HELP!)"
yann@1041
   262
    default ""
yann@1041
   263
    help
yann@1041
   264
      If your *target system* tools have an unusual suffix, enter it
yann@1041
   265
      here.
yann@1041
   266
      
yann@1041
   267
      Usually, you should leave that empty!
yann@1041
   268
      
yann@1041
   269
      Eg.:
yann@1041
   270
        If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
yann@1041
   271
        installed as gcc-3.4, then you should enter:
yann@1041
   272
            -3.4
yann@1041
   273
      
yann@1041
   274
      It can happen that some of the tools have a suffix, when others
yann@1041
   275
      don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
yann@1041
   276
      for that by checking the tools without the suffix in case it can
yann@1041
   277
      not find some of the tool.
yann@1041
   278
yann@1041
   279
endif # CROSS_NATIVE || CANADIAN
yann@41
   280
yann@41
   281
endmenu