COPYING
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Jan 24 22:21:19 2013 +0100 (2013-01-24)
changeset 3174 239ea86a47f6
parent 676 78c450c0b219
permissions -rw-r--r--
cc/gcc: remove 'sub-level' version form symbols

Now we use defconfig files to store the samples, we have to be a bit more
conservatives in the symbols names, so as to avoid gigantic version bumps
when updating sub-level versions from a package.

For example (using fictitious versions):
- in crosstool-NG 1.17.0, we choose:
- latest gcc is gcc-linaro-4.7-2012.10, which is the default for the
choice in the menuconfig
- gcc-linaro-4.6-2012.10 is selected
- so, sample has an explicit symbol for the selected gcc version, as it
is not the default
- we update to crosstool-NG 1.18.0:
- latest gcc version is gcc-linaro-4.7-2013.01
- gcc-linaro-46 has been updated to gcc-linaro-4.6-2013.01
- as the sample now has no *valid* symbol to set the gcc version, the
default is used, while we would have expected to still use the 4.6
release from linaro, not the 4.7

Get rid of sub-level (ie. the third digit sequence in versions) from the
symbols for linaro versions.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.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.