config/libc/none.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 23:45:29 2010 +0200 (2010-06-13)
changeset 1982 63cee3d5ab85
child 2444 896cb0d36c1a
permissions -rw-r--r--
libc/newlib: build in the 'start files' pass

A few facts:
- building the C library requires a proper core compiler
- core compiler is issued from one of the core passes
- the C library is required to build libstdc++
- newlib is only built for baremetal
- in bare metal, the final compiler is issued from one of the core passes

So we need to build the C library between core pass 1 and core pass 2.
The only place is eithe libc_headers() or libc_start_files(). The most
pertinent seems to be libc_start_files().

So we build newlib from libc_start_files(), and leave libc() empty.
     1 # Dummy config file to not use a C library *at all*
     2 # depends on BARE_METAL
     3 
     4 config LIBC_none
     5     help
     6       Do not use a C library.
     7       
     8       This is usefull if your project is self-contained, does not rely on
     9       an external C library, and provides all the necessary bits.
    10       
    11       Most probably usefull to bootloaders, as they generally don't depend
    12       on the C library.
    13       
    14       If unsure: do *not* choose that, and use another option in the choice.