docs/0 - Table of content.txt
author Anthony Foiani <anthony.foiani@gmail.com>
Thu May 19 23:06:16 2011 +0200 (2011-05-19)
branch1.11
changeset 2464 4b844234d214
parent 2321 d896b85e8738
child 2563 e17f35b05539
permissions -rw-r--r--
complibs/ppl: build only C and C++ interfaces for PPL

By default, PPL wants to build interfaces for any of a variety of
langauges it finds on the local host (python, java, possibly perl, also
more esoteric languages such as ocaml and prolog).

These extra interfaces can double the compile time for the library. For
single-process builds, I found a savings of more than 40%:

default / j1: 716s total, 143.2s avg, 0.52s stdev
just_c / j1: 406s total, 81.2s avg, 0.33s stdev
just_c_cpp / j1: 413s total, 82.6s avg, 0.22s stdev

And for multi-process builds, it approached 50%:

default / j4: 625s total, 125.0s avg, 0.57s stdev
just_c / j4: 338s total, 67.6s avg, 1.25s stdev
just_c_cpp / j4: 327s total, 65.4s avg, 0.36s stdev

Since the PPL we build within ct-ng is only used by GCC, we only need to
build the C and C++ interfaces.

Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
(transplanted from ec30b191f0e3fe9bc73199f0bcb8d789db17aa92)
     1 File.........: 0 - Table of content.txt
     2 Copyrigth....: (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     - While building the final gcc, I get an error message that ends with:
    65         libtool.m4: error: problem compiling FC test program
    66     - gcc barfs because it is "unable to detect the exception model"
    67     - Installing the C library headers and start files fails because of
    68       missing unwind support, with a message like:
    69         configure: error: forced unwind support is required
    70 
    71 C- Misc. tutorials
    72     - Using crosstool-NG on FreeBSD (and other *BSD)
    73     - Using crosstool-NG on MacOS-X
    74     - Using Mercurial to hack crosstool-NG