docs/0 - Table of content.txt
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Jul 28 22:09:31 2011 +0200 (2011-07-28)
changeset 2573 424fa2092ace
parent 2563 e17f35b05539
child 2908 dcdb309b7967
permissions -rw-r--r--
scripts/libc: do not build add-ons by default

Currently, no --enable-add-ons option is passed to libc configure when
"$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search
for present add-ons. In that case, all present add-ons are built, although
no add-on was selected by the user in the config. Moreover, this can make the
configure fail if some non-standard add-ons like eglibc-localedef are present.

This behavior also leads to an inconsistency from a user point of view between
the following cases:
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config,
which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons
are built.
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the
config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting
the chosen threading implementation, e.g. "nptl", so only this add-on is
built.

This patch disables the building of all add-ons in that case.

It is still possible to build all present add-ons by adding --enable-add-ons to
LIBC_GLIBC_EXTRA_CONFIG_ARRAY.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
     1 File.........: 0 - Table of content.txt
     2 Copyright....: (C) 2010 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     3 License......: Creative Commons Attribution Share Alike (CC-by-sa), v2.5
     4 
     5 
     6 Table Of Content  /
     7 _________________/
     8 
     9 
    10 1- Introduction
    11     - History
    12     - Referring to crosstool-NG
    13 
    14 2- Installing crosstool-NG
    15     - Install method
    16     - The hacker's way
    17     - Preparing for packaging
    18     - Shell completion
    19     - Contributed code
    20 
    21 3- Configuring a toolchain
    22     - Interesting config options
    23     - Re-building an existing toolchain
    24     - Using as a backend for a build-system
    25 
    26 4- Building the toolchain
    27     - Stopping and restarting a build
    28     - Testing all toolchains at once
    29     - Overriding the number of // jobs
    30     - Note on // jobs
    31     - Tools wrapper
    32 
    33 5- Using the toolchain
    34     - The 'populate' script
    35 
    36 6- Toolchain types
    37     - Seemingly-native toolchains
    38 
    39 7- Contributing
    40     - Sending a bug report
    41     - Sending patches
    42 
    43 8- Internals
    44     - Makefile front-end
    45     - Kconfig parser
    46     - Architecture-specific
    47     - Adding a new version of a component
    48     - Build scripts
    49 
    50 9 - How is a toolchain constructed?
    51     - I want a cross-compiler! What is this toolchain you're speaking about?
    52     - So, what are those components in a toolchain?
    53     - And now, how do all these components chained together?
    54     - So the list is complete. But why does crosstool-NG have more steps?
    55 
    56 A- Credits
    57 
    58 B- Known issues
    59     - gcc is not found, although I *do* have gcc installed
    60     - The extract and/or path steps fail under Cygwin
    61     - uClibc fails to build under Cygwin
    62     - On 64-bit build systems, the glibc (possibly eglibc too) build
    63       fails for 64-bit targets, because it can not find libgcc
    64     - libtool.m4: error: problem compiling FC test program
    65     - unable to detect the exception model
    66     - configure: error: forced unwind support is required
    67     - glibc start files and headers fail with: [/usr/include/limits.h] Error 1
    68 
    69 C- Misc. tutorials
    70     - Using crosstool-NG on FreeBSD (and other *BSD)
    71     - Using crosstool-NG on MacOS-X
    72     - Using Mercurial to hack crosstool-NG