scripts/build/libc/none.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 23:45:29 2010 +0200 (2010-06-13)
changeset 1982 63cee3d5ab85
parent 850 ef8549b58b6f
child 2278 e86826b8621a
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@850
     1
# This file adds functions to build the C library for bare metal (IE. none)
yann@850
     2
# Copyright 2008 Yann E. MORIN
yann@850
     3
# Licensed under the GPL v2. See COPYING in the root of this package
yann@850
     4
yann@850
     5
do_libc_get() {
yann@850
     6
    :
yann@850
     7
}
yann@850
     8
yann@850
     9
do_libc_extract() {
yann@850
    10
    :
yann@850
    11
}
yann@850
    12
yann@850
    13
do_libc_check_config() {
yann@850
    14
    :
yann@850
    15
}
yann@850
    16
yann@850
    17
do_libc_headers() {
yann@850
    18
    :
yann@850
    19
}
yann@850
    20
yann@850
    21
do_libc_start_files() {
yann@850
    22
    :
yann@850
    23
}
yann@850
    24
yann@850
    25
do_libc() {
yann@850
    26
    :
yann@850
    27
}
yann@850
    28
yann@850
    29
do_libc_finish() {
yann@850
    30
    :
yann@850
    31
}