config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Mar 03 17:41:59 2009 +0000 (2009-03-03)
changeset 1219 2b875ed306c2
parent 1094 c6a08b4c488c
child 1220 63d8500c8fc1
permissions -rw-r--r--
Allow user to add a directory component in the sys-root path.
Rename CT_DEBUG_INSTALL_DIR to CT_DEBUGROOT_DIR (to match CT_SYSROOT_DIR).
As a side effect, fix creating lib64->lib symlinks.

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