config/toolchain.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Mar 03 17:41:59 2009 +0000 (2009-03-03)
changeset 1219 2b875ed306c2
parent 1094 c6a08b4c488c
child 1220 63d8500c8fc1
permissions -rw-r--r--
Allow user to add a directory component in the sys-root path.
Rename CT_DEBUG_INSTALL_DIR to CT_DEBUGROOT_DIR (to match CT_SYSROOT_DIR).
As a side effect, fix creating lib64->lib symlinks.

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