build: remove obsolete parallel build related options

Always use the main make jobserver, which has been the default for ages

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2017-01-06 00:28:51 +01:00
parent 029b36d9b5
commit 1e1d735e52
4 changed files with 5 additions and 68 deletions

View File

@ -87,59 +87,6 @@ menu "Global build settings"
help
Enables IPv6 support in kernel (builtin) and packages.
config PKG_BUILD_PARALLEL
bool
prompt "Compile certain packages parallelized"
default y
help
This adds a -jX option to certain packages that are known to behave well
for parallel build. By default, the package make processes use the main
jobserver, in which case this option only takes effect when you add -jX
to the make command.
If you are unsure, select N.
config PKG_BUILD_USE_JOBSERVER
bool
prompt "Use top-level make jobserver for packages"
depends on PKG_BUILD_PARALLEL
default y
help
This passes the main make process jobserver fds to package builds,
enabling full parallelization across different packages.
Note that disabling this may overcommit CPU resources depending on the
-j level of the main make process, the number of package submake jobs
selected below and the number of actual CPUs present.
Example: If the main make is passed a -j4 and the submake -j
is also set to 4, we may end up with 16 parallel make processes
in the worst case.
config PKG_BUILD_JOBS
int
prompt "Number of package submake jobs (2-512)"
range 2 512
default 2
depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER
help
The number of jobs (-jX) to pass to packages submake.
config PKG_DEFAULT_PARALLEL
bool
prompt "Parallelize the default package build rule (May break build)"
depends on PKG_BUILD_PARALLEL
depends on BROKEN
default n
help
Always set the default package build rules to parallel build.
WARNING: This may break build or kill your cat, as it builds packages
with multiple jobs that are probably not tested in a parallel build
environment.
Only say Y if you don't mind fixing broken packages. Before reporting
build bugs, set this to N and re-run the build.
comment "Stripping options"
choice

View File

@ -11,17 +11,12 @@ HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSIO
HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install
HOST_BUILD_PARALLEL ?=
ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j))
else
HOST_MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS)
endif
HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j))
ifeq ($(strip $(HOST_BUILD_PARALLEL)),0)
HOST_JOBS?=-j1
else
HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\
$(if $(CONFIG_PKG_BUILD_PARALLEL),$(HOST_MAKE_J),-j1),-j1)
HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL),$(HOST_MAKE_J),-j1)
endif
include $(INCLUDE_DIR)/host.mk

View File

@ -197,7 +197,7 @@ define Image/mkfs/squashfs
$(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \
-nopad -noappend -root-owned \
-comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \
-processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),1) \
-processors 1 \
$(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH))
endef

View File

@ -17,17 +17,12 @@ PKG_BUILD_PARALLEL ?=
PKG_USE_MIPS16 ?= 1
PKG_IREMAP ?= 1
ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j))
else
MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS)
endif
MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j))
ifeq ($(strip $(PKG_BUILD_PARALLEL)),0)
PKG_JOBS?=-j1
else
PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\
$(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1)
PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL),$(MAKE_J),-j1)
endif
ifdef CONFIG_USE_MIPS16
ifeq ($(strip $(PKG_USE_MIPS16)),1)