diff options
author | Michael Büsch <mb@bu3sch.de> | 2010-10-03 12:54:07 +0000 |
---|---|---|
committer | Michael Büsch <mb@bu3sch.de> | 2010-10-03 12:54:07 +0000 |
commit | cf323eb924bf6a5b45e136f7afef91078d5b070d (patch) | |
tree | 7b350cd2d188252969c030ec46477ae3659f812c | |
parent | 68219be4e76133e9d3cff8e76d0e66232efbf593 (diff) | |
download | mtk-20170518-cf323eb924bf6a5b45e136f7afef91078d5b070d.zip mtk-20170518-cf323eb924bf6a5b45e136f7afef91078d5b070d.tar.gz mtk-20170518-cf323eb924bf6a5b45e136f7afef91078d5b070d.tar.bz2 |
optionally support parallel toolchain build. This defaults to off, because certain toolchain versions are known to break on parallel build. However, it significantly speeds up the build and latest versions of the tools do compile fine.
SVN-Revision: 23196
-rw-r--r-- | Config.in | 18 | ||||
-rw-r--r-- | include/toolchain-build.mk | 2 | ||||
-rw-r--r-- | toolchain/binutils/Makefile | 2 | ||||
-rw-r--r-- | toolchain/gcc/common.mk | 2 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile | 2 |
5 files changed, 21 insertions, 5 deletions
@@ -268,7 +268,7 @@ menu "Global build settings" config PKG_DEFAULT_PARALLEL bool - prompt "Always parallelize the default package build rule (Dangerous)" + prompt "Parallelize the default package build rule (May break build)" depends on PKG_BUILD_PARALLEL default n help @@ -278,7 +278,21 @@ menu "Global build settings" packages with multiple jobs that are probably not tested in a parallel build environment. - Say N. Only say Y for testing. + Only say Y, if you don't mind fixing broken packages. + Before reporting build bugs, set this to N and re-run the build. + + config TOOLCHAIN_PARALLEL + bool + prompt "Parallelize the toolchain build (May break build)" + depends on PKG_BUILD_PARALLEL + default n + help + Build the toolchain with parallel make jobs. + This speeds up the toolchain build on SMP machines, but may + break the build for certain toolchain versions. + + If you say Y, toolchain build might break. + Before reporting build bugs, set this to N and re-run the build. comment "Stripping options" diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk index 6defe63..a0bc406 100644 --- a/include/toolchain-build.mk +++ b/include/toolchain-build.mk @@ -11,6 +11,8 @@ REAL_STAGING_DIR_HOST:=$(STAGING_DIR_HOST) STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) +TOOLCHAIN_JOBS?=$(if $(CONFIG_TOOLCHAIN_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS)) + include $(INCLUDE_DIR)/host-build.mk HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 5682698..d829098 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -79,7 +79,7 @@ define Host/Configure endef define Host/Compile - $(MAKE) -C $(HOST_BUILD_DIR) all + $(MAKE) $(TOOLCHAIN_JOBS) -C $(HOST_BUILD_DIR) all endef define Host/Install diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index e227720..8c293dd 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -173,7 +173,7 @@ endif GCC_MAKE:= \ export SHELL="$(BASH)"; \ - $(MAKE) \ + $(MAKE) $(TOOLCHAIN_JOBS) \ CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index 362548a..d3d4d85 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -109,7 +109,7 @@ UCLIBC_MAKE = PATH='$(TARGET_PATH)' $(MAKE) -C $(HOST_BUILD_DIR) \ define Host/Compile $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(HOST_BUILD_DIR)/Rules.mak - $(UCLIBC_MAKE) PREFIX= all + $(UCLIBC_MAKE) $(TOOLCHAIN_JOBS) PREFIX= all $(UCLIBC_MAKE) PREFIX="$(TOOLCHAIN_DIR)/" install_runtime install_dev $(CP) $(HOST_BUILD_DIR)/libc/libc_so.a $(TOOLCHAIN_DIR)/lib/ $(CP) $(HOST_BUILD_DIR)/libpthread/*/libpthread_so.a $(TOOLCHAIN_DIR)/lib/ |