config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 02 20:06:44 2009 +0200 (2009-08-02)
changeset 1446 0a44fc4d6bd0
parent 1253 064a8e0abc37
child 1493 0dce3a3986a1
permissions -rw-r--r--
[config] Allow user to specify custom CONFIG_SHELL

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