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.
yann@1591
     1
# Dummy config file to not use a C library *at all*
yann@1591
     2
# depends on BARE_METAL
yann@1591
     3
yann@1591
     4
config LIBC_none
yann@1591
     5
    help
yann@1591
     6
      Do not use a C library.
yann@1591
     7
      
yann@1591
     8
      This is usefull if your project is self-contained, does not rely on
yann@1591
     9
      an external C library, and provides all the necessary bits.
yann@1591
    10
      
yann@1591
    11
      Most probably usefull to bootloaders, as they generally don't depend
yann@1591
    12
      on the C library.
yann@1591
    13
      
yann@1591
    14
      If unsure: do *not* choose that, and use another option in the choice.