mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-04 10:53:30 +08:00
gcc-initial, gcc-intermediate, gcc-final: optimize extraction
Several sub-directories of the gcc code base are in fact not needed for the Buildroot build: libjava/, libgo/ and gcc/testsuite/ being the biggest ones. Avoiding their extraction saves quite a bit of disk space, and compensates a bit the fact that we now extract three times the gcc source code. This requires changing the 100-uclibc-conf.patch to no longer patch files from the libjava/ directory, since this directory is no longer extracted. [Peter: add comment about why this is done] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
e236fe481e
commit
00e9b1e4f7
@ -11,23 +11,3 @@
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
--- gcc/libjava/classpath/ltconfig
|
||||
+++ gcc/libjava/classpath/ltconfig
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1251,7 +1251,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -11,23 +11,3 @@
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
--- gcc/libjava/classpath/ltconfig
|
||||
+++ gcc/libjava/classpath/ltconfig
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1251,7 +1251,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -11,23 +11,3 @@
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
--- gcc/libjava/classpath/ltconfig
|
||||
+++ gcc/libjava/classpath/ltconfig
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1251,7 +1251,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -11,23 +11,3 @@
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
--- gcc/libjava/classpath/ltconfig
|
||||
+++ gcc/libjava/classpath/ltconfig
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1251,7 +1251,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -11,23 +11,3 @@
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
--- gcc/libjava/classpath/ltconfig
|
||||
+++ gcc/libjava/classpath/ltconfig
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1251,7 +1251,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -13,25 +13,3 @@ Index: gcc-4.8.0/contrib/regression/objs-gcc.sh
|
||||
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
|
||||
make bootstrap || exit 1
|
||||
make install || exit 1
|
||||
Index: gcc-4.8.0/libjava/classpath/ltconfig
|
||||
===================================================================
|
||||
--- gcc-4.8.0.orig/libjava/classpath/ltconfig 2011-02-13 12:45:53.000000000 +0100
|
||||
+++ gcc-4.8.0/libjava/classpath/ltconfig 2013-03-23 17:39:04.000000000 +0100
|
||||
@@ -603,7 +603,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
-linux-gnu*) ;;
|
||||
+linux-gnu*|linux-uclibc*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
|
||||
@@ -1247,7 +1247,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
|
@ -12,6 +12,8 @@ HOST_GCC_FINAL_DEPENDENCIES = \
|
||||
$(HOST_GCC_COMMON_DEPENDENCIES) \
|
||||
uclibc
|
||||
|
||||
HOST_GCC_FINAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
|
||||
|
||||
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
|
||||
HOST_GCC_FINAL_POST_EXTRACT_CMDS += HOST_GCC_FINAL_XTENSA_OVERLAY_EXTRACT
|
||||
endif
|
||||
|
@ -10,6 +10,8 @@ GCC_INITIAL_SOURCE = $(GCC_SOURCE)
|
||||
|
||||
HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
|
||||
|
||||
HOST_GCC_INITIAL_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
|
||||
|
||||
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
|
||||
HOST_GCC_INITIAL_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
|
||||
endif
|
||||
|
@ -12,6 +12,8 @@ HOST_GCC_INTERMEDIATE_DEPENDENCIES = \
|
||||
$(HOST_GCC_COMMON_DEPENDENCIES) \
|
||||
uclibc-configured
|
||||
|
||||
HOST_GCC_INTERMEDIATE_EXTRACT_CMDS = $(HOST_GCC_EXTRACT_CMDS)
|
||||
|
||||
ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
|
||||
HOST_GCC_INTERMEDIATE_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
|
||||
endif
|
||||
|
@ -42,6 +42,23 @@ define HOST_GCC_APPLY_PATCHES
|
||||
support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) \*.patch
|
||||
endef
|
||||
|
||||
#
|
||||
# Custom extract command to save disk space
|
||||
#
|
||||
|
||||
define HOST_GCC_EXTRACT_CMDS
|
||||
$(BZCAT) $(DL_DIR)/$(GCC_SOURCE) | \
|
||||
$(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(@D) \
|
||||
--exclude='libjava/*' \
|
||||
--exclude='libgo/*' \
|
||||
--exclude='gcc/testsuite/*' \
|
||||
--exclude='libstdc++-v3/testsuite/*' \
|
||||
$(TAR_OPTIONS) -
|
||||
mkdir -p $(@D)/libstdc++-v3/testsuite/
|
||||
echo "all:" > $(@D)/libstdc++-v3/testsuite/Makefile.in
|
||||
echo "install:" >> $(@D)/libstdc++-v3/testsuite/Makefile.in
|
||||
endef
|
||||
|
||||
#
|
||||
# Create 'build' directory and configure symlink
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user