summaryrefslogtreecommitdiffstats
path: root/toolchain/helpers.mk
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-10-02 21:20:09 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2011-10-09 21:24:58 +0200
commit2c23e937660f43131f68f6cbf2ff3fe3d0417032 (patch)
tree5e3de6e678cfc021dc4d4796c8e1ada1cd849616 /toolchain/helpers.mk
parentcec7128dc1a30880523011a115ff52d7a27c403d (diff)
downloadbuildroot-novena-2c23e937660f43131f68f6cbf2ff3fe3d0417032.tar.gz
buildroot-novena-2c23e937660f43131f68f6cbf2ff3fe3d0417032.zip
external toolchain: slightly optimize the copy of the toolchain sysroot
The sysroot of an ARM CodeSourcery toolchain takes about 1.4 GB of space, but 1.1+ GB of this space consists in locale-related information which Buildroot doesn't use. By skipping the copy of those unused files, we save quite a bit of time while importing the toolchain sysroot. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'toolchain/helpers.mk')
-rw-r--r--toolchain/helpers.mk5
1 files changed, 4 insertions, 1 deletions
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 4d90d15ec..7f3efaa40 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -79,6 +79,9 @@ copy_toolchain_lib_root = \
# non-default architecture variant is used. Without this, the
# compiler fails to find libraries and headers.
#
+# Note that the 'locale' directories are not copied. They are huge
+# (400+MB) in CodeSourcery toolchains, and they are not really useful.
+#
# $1: main sysroot directory of the toolchain
# $2: arch specific sysroot directory of the toolchain
# $3: arch specific subdirectory in the sysroot
@@ -89,7 +92,7 @@ copy_toolchain_sysroot = \
ARCH_SUBDIR="$(strip $3)"; \
for i in etc lib sbin usr ; do \
if [ -d $${ARCH_SYSROOT_DIR}/$$i ] ; then \
- cp -a $${ARCH_SYSROOT_DIR}/$$i $(STAGING_DIR)/ ; \
+ rsync -au --exclude 'usr/lib/locale' $${ARCH_SYSROOT_DIR}/$$i $(STAGING_DIR)/ ; \
fi ; \
done ; \
if [ `readlink -f $${SYSROOT_DIR}` != `readlink -f $${ARCH_SYSROOT_DIR}` ] ; then \