build: Detect number of CPUs for build processes on FreeBSD
Type: improvement Change-Id: Ia3a00266f47f0c3e567efa143ef08bf4e8cffe35 Signed-off-by: Tom Jones <thj@freebsd.org>
This commit is contained in:
@ -650,11 +650,18 @@ configure_check_timestamp = \
|
||||
# /proc/cpuinfo does not exist on platforms without a /proc and on some
|
||||
# platforms, notably inside containers, it has no content. In those cases
|
||||
# we assume there's 1 processor; we use 2*ncpu for the -j option.
|
||||
#
|
||||
# On FreeBSD we can call nproc to get the number of processors.
|
||||
#
|
||||
# NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test
|
||||
# for file presence and content; for now this will have to do.
|
||||
ifndef MAKE_PARALLEL_JOBS
|
||||
ifeq ($(shell uname), FreeBSD)
|
||||
MAKE_PARALLEL_JOBS = $(shell nproc)
|
||||
else
|
||||
MAKE_PARALLEL_JOBS = $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
|
||||
$(shell grep -c ^processor /proc/cpuinfo), 2)
|
||||
endif # FreeBSD
|
||||
endif
|
||||
MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,-j $(MAKE_PARALLEL_JOBS))
|
||||
|
||||
|
4
build/external/Makefile
vendored
4
build/external/Makefile
vendored
@ -21,8 +21,12 @@ INSTALL_DIR ?= $(CURDIR)/_install
|
||||
PKG_VERSION ?= $(shell git describe --abbrev=0 --match 'v[0-9]*' | cut -d- -f1 | cut -dv -f2 | cut -d. -f1,2)
|
||||
PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l)
|
||||
SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct .)
|
||||
ifeq ($shell(uname), FreeBSD)
|
||||
JOBS := $(shell nproc)
|
||||
else
|
||||
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
|
||||
$(shell grep -c ^processor /proc/cpuinfo), 2)
|
||||
endif # FreeBSD
|
||||
|
||||
B := $(BUILD_DIR)
|
||||
I := $(INSTALL_DIR)
|
||||
|
Reference in New Issue
Block a user