config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Dec 22 00:34:56 2010 +0100 (2010-12-22)
changeset 2227 5158aa602e58
parent 2210 c423e3d8f541
child 2279 a559d9890c02
permissions -rw-r--r--
docs: overview.txt is gone, point to the new documentation

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