COPYING
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 676 78c450c0b219
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Unless otherwise stated in individual files, this work is licensed to you under
     2 the following terms.
     3 
     4 - Files in docs/ are available under the Creative Commons Attribution, Share
     5   Alike (by-sa), v2.5, to be found there:
     6     licenses.d/by-sa/deed.en     (human-readable summary)
     7     licenses.d/by-sa/legalcode   (legal code, the full license)
     8     
     9 - Files found in patches/*/ are available under the same license as the
    10   upstream software they apply to.
    11 
    12   That means that you can't use those patches if you were licensed the
    13   software under a specific license which is not the one the software is
    14   commonly available under.
    15 
    16   As an example, if you ever managed to get the Linux kernel under a license
    17   other than the GPLv2, you are not allowed to use the Linux kernel patches
    18   coming with crosstool-NG, as those are available under the GPLv2, which is
    19   the license the Linux kernel is most commonly available under.
    20 
    21   As a convenience, the GNU Lesser General Public License (LGPL) v2.1 (for the
    22   patches against glibc, uClibc, and some other libraries) is available there:
    23     licenses.d/lgpl.txt
    24 
    25 - Other files not covered by the above licenses, and not covered by an
    26   individual license specified in the file itself, or an accompanying file,
    27   are available under the GNU General Public License (GPL), v2, to be found
    28   here:
    29     licenses.d/gpl.txt
    30 
    31 - Also, I want to clarify one point. If you build a toolchain with crosstool-NG
    32   and you happen to sell, deliver, or otherwise publish this toolchain to a
    33   third party, I consider crosstool-NG as being part of the sources needed to
    34   rebuild the afore-mentioned toolchain, alongside with all other source code
    35   that third party is otherwise entitled to receive, due to other licenses of
    36   the different components. See licenses.d/gpl.txt, section 3, which reads:
    37    > For an executable work, complete source code means [...], plus the
    38    > scripts used to control compilation and installation of the executable.
    39 
    40   In short: crosstool-NG is the part refered to as "the scripts to control
    41   compilation and installation of the executable", it being the toolchain in
    42   our case; and as such you must make it available, in conformance to the
    43   GPLv2, see above.
    44 
    45   Also, if you have local patches that you apply to the different components
    46   (either manualy, or by instructing crosstool-NG to do so), you will have to
    47   make those patches available alongside with your toolchain, to comply with
    48   the licenses of the components impacted by your patches.