config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 02 23:56:13 2011 +0200 (2011-06-02)
changeset 2501 5f2d85ceb423
parent 2490 cce067f0448e
child 2503 b5541f296b92
permissions -rw-r--r--
functions: fix downloading files

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     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 "crosstool-NG-${CT_VERSION}"
    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       This is passed to the configure flag --with-pkgversion.
    89 
    90 config TOOLCHAIN_BUGURL
    91     string
    92     prompt "Toolchain bug URL"
    93     default ""
    94     help
    95       Specify the URL that users should visit if they wish to report a bug.
    96 
    97 comment "Tuple completion and aliasing"
    98 
    99 config TARGET_VENDOR
   100     string
   101     prompt "Tuple's vendor string"
   102     default "unknown"
   103     help
   104       Vendor part of the target tuple.
   105       
   106       A tuple is of the form arch-vendor-kernel-system.
   107       You can set the second part, vendor, to whatever you see fit.
   108       Use a single word, or use underscores "_" to separate words.
   109       Use neither dash nor space, as it breaks things.
   110       
   111       Keep the default (unknown) if you don't know better.
   112 
   113 config TARGET_ALIAS_SED_EXPR
   114     string
   115     prompt "Tuple's sed transform"
   116     default ""
   117     help
   118       Normaly, you'd call your toolchain components (especially gcc) by
   119       prefixing the target tuple followed by a dash and the component name
   120       (eg. armeb-unknown-linux-uclibc-gcc).
   121       
   122       You can enter here a sed expression to be applied to ${CT_TARGET} to
   123       create an alias for your toolchain.
   124       
   125       For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
   126       will create the armeb-foobar-linux-uclibc alias to the above-mentioned
   127       toolchain.
   128       
   129       You shouldn't need to enter anything here, unless you plan to manually
   130       call the tools (autotools-based ./configure will use the standard name).
   131 
   132 config TARGET_ALIAS
   133     string
   134     prompt "Tuple's alias"
   135     default ""
   136     help
   137       Normaly, you'd call your toolchain components (especially gcc) by
   138       prefixing the target tuple followed by a dash and the component name
   139       (eg. armeb-unknown-linux-uclibc-gcc).
   140       
   141       You can enter a shortcut here. This string will be used to create
   142       symbolic links to the toolchain tools (eg. if you enter "foo-bar" here,
   143       then gcc for your toolchain will also be available as "foo-bar-gcc" along
   144       with the original name).
   145       
   146       You shouldn't need to enter anything here, unless you plan to manually
   147       call the tools (autotools-based ./configure will use the standard name).
   148 
   149 comment "Toolchain type"
   150 
   151 choice
   152     bool
   153     prompt "Type"
   154     default CROSS
   155 
   156 config NATIVE
   157     bool
   158     prompt "Native       (NO CODE!) (EXPERIMENTAL)"
   159     depends on EXPERIMENTAL
   160     help
   161       Build a native toolchain.
   162       See: "docs/6 - Toolchain types.txt"
   163 
   164 config CROSS
   165     bool
   166     prompt "Cross"
   167     help
   168       Build a cross-toolchain.
   169       See: "docs/6 - Toolchain types.txt"
   170 
   171 config CROSS_NATIVE
   172     bool
   173     prompt "Cross-native (NO CODE!) (EXPERIMENTAL)"
   174     depends on EXPERIMENTAL
   175     help
   176       Build a cross-native toolchain.
   177       See: "docs/6 - Toolchain types.txt"
   178 
   179 config CANADIAN
   180     bool
   181     prompt "Canadian     (EXPERIMENTAL)"
   182     depends on EXPERIMENTAL
   183     help
   184       Build a canadian-toolchain.
   185       See: "docs/6 - Toolchain types.txt"
   186 
   187 endchoice
   188 
   189 config TOOLCHAIN_TYPE
   190     string
   191     default "native"        if NATIVE
   192     default "cross"         if CROSS
   193     default "cross-native"  if CROSS_NATIVE
   194     default "canadian"      if CANADIAN
   195 
   196 comment "Build system"
   197 
   198 config BUILD
   199     string
   200     prompt "|  Tuple        (READ HELP!)"
   201     default ""
   202     help
   203       Canonical name of the machine building the toolchain.
   204       You should leave empty, unless you really now what you're doing.
   205 
   206 config BUILD_PREFIX
   207     string
   208     prompt "|  Tools prefix (READ HELP!)"
   209     default ""
   210     help
   211       If you have your *build system* tools in a weird location, and/or
   212       they have an unusual prefix, enter it here.
   213       
   214       Usually, you should leave that empty!
   215       
   216       Eg.:
   217         If your *build* gcc is /opt/build-tools/bin/weird-gcc then you
   218         should enter:
   219             /opt/build-tools/bin/weird-
   220         
   221         If your *build* gcc is /opt/build-tools/bin/weird-gcc and
   222         /opt/build-tools/bin is in your PATH, you should enter:
   223             weird-
   224         
   225         If your *build* gcc is /opt/build-tools/bin/gcc then you
   226         should enter (do not forget to add the trailing '/'):
   227             /opt/build-tools/bin/
   228 
   229 config BUILD_SUFFIX
   230     string
   231     prompt "|  Tools suffix (READ HELP!)"
   232     default ""
   233     help
   234       If your *build system* tools have an unusual suffix, enter it
   235       here.
   236       
   237       Usually, you should leave that empty!
   238       
   239       Eg.:
   240         If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
   241         installed as gcc-3.4, then you should enter:
   242             -3.4
   243       
   244       It can happen that some of the tools have a suffix, when others
   245       don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
   246       for that by checking the tools without the suffix in case it can
   247       not find some of the tool.
   248 
   249 if CANADIAN
   250 
   251 comment "Host system"
   252 
   253 config HOST
   254     string
   255     prompt "|  Tuple        (READ HELP!)"
   256     default ""
   257     help
   258       Canonical name of the machine running the toolchain.
   259 
   260 config HOST_PREFIX
   261     string
   262     prompt "|  Tools prefix (READ HELP!)"
   263     default ""
   264     help
   265       If you have your *host system* tools in a weird location, and/or
   266       they have an unusual prefix, enter it here.
   267       
   268       Usually, you should leave that empty!
   269       
   270       Eg.:
   271         If your *host* gcc is /opt/host-tools/bin/weird-gcc then you
   272         should enter:
   273             /opt/host-tools/bin/weird-
   274         
   275         If your *host* gcc is /opt/host-tools/bin/weird-gcc and
   276         /opt/host-tools/bin is in your PATH, you should enter:
   277             weird-
   278         
   279         If your *host* gcc is /opt/host-tools/bin/gcc then you
   280         should enter (do not forget to add the trailing '/'):
   281             /opt/host-tools/bin/
   282 
   283 config HOST_SUFFIX
   284     string
   285     prompt "|  Tools suffix (READ HELP!)"
   286     default ""
   287     help
   288       If your *host system* tools have an unusual suffix, enter it
   289       here.
   290       
   291       Usually, you should leave that empty!
   292       
   293       Eg.:
   294         If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
   295         installed as gcc-3.4, then you should enter:
   296             -3.4
   297       
   298       It can happen that some of the tools have a suffix, when others
   299       don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
   300       for that by checking the tools without the suffix in case it can
   301       not find some of the tool.
   302 
   303 endif # CANADIAN
   304 
   305 if CROSS_NATIVE || CANADIAN
   306 
   307 comment "Target system"
   308 
   309 config TARGET_PREFIX
   310     string
   311     prompt "|  Tools prefix (READ HELP!)"
   312     default ""
   313     help
   314       If you have your *target system* tools in a weird location, and/or
   315       they have an unusual prefix, enter it here.
   316       
   317       Usually, you should leave that empty!
   318       
   319       Eg.:
   320         If your *target* gcc is /opt/target-tools/bin/weird-gcc then you
   321         should enter:
   322             /opt/target-tools/bin/weird-
   323         
   324         If your *target* gcc is /opt/target-tools/bin/weird-gcc and
   325         /opt/target-tools/bin is in your PATH, you should enter:
   326             weird-
   327         
   328         If your *target* gcc is /opt/target-tools/bin/gcc then you
   329         should enter (do not forget to add the trailing '/'):
   330             /opt/target-tools/bin/
   331 
   332 config TARGET_SUFFIX
   333     string
   334     prompt "|  Tools suffix (READ HELP!)"
   335     default ""
   336     help
   337       If your *target system* tools have an unusual suffix, enter it
   338       here.
   339       
   340       Usually, you should leave that empty!
   341       
   342       Eg.:
   343         If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2
   344         installed as gcc-3.4, then you should enter:
   345             -3.4
   346       
   347       It can happen that some of the tools have a suffix, when others
   348       don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts
   349       for that by checking the tools without the suffix in case it can
   350       not find some of the tool.
   351 
   352 endif # CROSS_NATIVE || CANADIAN
   353 
   354 endmenu