config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 02 21:43:36 2011 +0200 (2011-06-02)
changeset 2498 6b479665a053
parent 2489 b7c9f410704f
child 2500 ba1e71fa72a9
permissions -rw-r--r--
configure: add prefix to err messages in has_or_{abort,warn}

Make it easier to spot messages spewed out by has_or_{abort,warn}.

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