COPYING
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Wed Dec 14 16:55:22 2011 +0100 (2011-12-14)
branch1.13
changeset 2848 1ff89596dab0
parent 676 78c450c0b219
permissions -rw-r--r--
libc/eglibc: fix localedef 2.14 build

The localedef of eglibc 2.14 requires NOT_IN_libc to be defined in order to
compile intl/l10nflist.c.

This is because localedef is built separately from eglibc and uses some parts of
eglibc that don't compile in standalone without this preprocessor definition.

This fixes the following error:

[ALL ] gcc -g -O2 -DNO_SYSCONF -DNO_UNCOMPRESS
-DLOCALE_PATH='"/usr/lib/locale:/usr/share/i18n"'
-DLOCALEDIR='"/usr/lib/locale"' -DLOCALE_ALIAS_PATH='"/usr/share/locale"'
-DCHARMAP_PATH='"/usr/share/i18n/charmaps"'
-DREPERTOIREMAP_PATH='"/usr/share/i18n/repertoiremaps"'
-DLOCSRCDIR='"/usr/share/i18n/locales"' -Iglibc/locale/programs -Iglibc/locale
-I/<snip>/.build/src/eglibc-localedef-2_14/include
-I/<snip>/.build/src/eglibc-localedef-2_14 -I.
-include /<snip>/.build/src/eglibc-localedef-2_14/include/always.h -Wall
-Wno-format -c -o locarchive.o glibc/locale/programs/locarchive.c
[ALL ] glibc/locale/programs/locarchive.c: In function 'enlarge_archive':
[ALL ] glibc/locale/programs/locarchive.c:303:21: warning: variable
'oldlocrectab' set but not used [-Wunused-but-set-variable]
[ALL ] In file included from glibc/locale/programs/locarchive.c:651:0:
[ALL ] glibc/locale/programs/../../intl/l10nflist.c: In function
'_nl_normalize_codeset':
[ERROR] glibc/locale/programs/../../intl/l10nflist.c:342:9: error:
'_nl_C_locobj_ptr' undeclared (first use in this function)
[ALL ] glibc/locale/programs/../../intl/l10nflist.c:342:9: note: each
undeclared identifier is reported only once for each function it appears in
[ALL ] glibc/locale/programs/locarchive.c: In function
'add_locales_to_archive':
[ALL ] glibc/locale/programs/locarchive.c:1450:7: warning: passing argument
1 of '__xpg_basename' discards 'const' qualifier from pointer target type
[enabled by default]
[ALL ] /usr/include/libgen.h:35:14: note: expected 'char *' but argument is
of type 'const char *'
[ERROR] make[1]: *** [locarchive.o] Error 1

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