author Johannes Stezenbach <>
Thu Jul 29 19:30:37 2010 +0200 (2010-07-29)
changeset 2047 ace1d90c9b15
parent 676 78c450c0b219
permissions -rw-r--r--
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <>
(transplanted from 20dd8cef1c8adff0aa3e78ae6d7acfbc45ed5a83)
     1 Unless otherwise stated in individual files, this work is licensed to you under
     2 the following terms.
     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)
     9 - Files found in patches/*/ are available under the same license as the
    10   upstream software they apply to.
    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.
    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.
    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
    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
    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.
    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.
    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.