config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Apr 30 23:13:12 2011 +0200 (2011-04-30)
changeset 2424 28092887b486
parent 2281 1333e4ac89f0
child 2484 d1a8c2ae7946
permissions -rw-r--r--
scripts: fix installation

Changeset e013ddebc063 forgot to install the samples.mk file.

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