config/toolchain.in
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Fri Jun 03 17:21:56 2011 +0200 (2011-06-03)
changeset 2503 b5541f296b92
parent 2500 ba1e71fa72a9
child 2526 e5fb003a354c
permissions -rw-r--r--
kconfig: prepend CT-NG's version tag to PKGVERSION

"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION,
and this options is passed as is to --with-pkgversion.

This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before
passing it to --with-pkgversion.

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