config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Dec 09 18:55:15 2010 +0100 (2010-12-09)
changeset 2209 cdafca8bdaa8
parent 2207 b268256e4a08
child 2210 c423e3d8f541
permissions -rw-r--r--
debug/gdb: global static forces static cross-gdb

If the global static option is set, then build host binutils statically.

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