Skip to content

Commit

Permalink
infra: add force build flag for host dependencies
Browse files Browse the repository at this point in the history
This commit adds a config option which will force buildroot to
build all host dependencies even if they are already present on the
host system. This may be a desirable option if different hosts are
used to build the same source. In this case, some packages will be
built on one host that are not built on another. This is problematic
if build source archives are cached afterwards for offline builds.

Cc: Peter Korsgaard <[email protected]>
Signed-off-by: Bryce Ferguson <[email protected]>
Signed-off-by: Matt Weber <[email protected]>
[Peter: reword, drop exit 1, reshuffle]
Signed-off-by: Peter Korsgaard <[email protected]>
  • Loading branch information
Oxbef authored and jacmet committed Feb 4, 2019
1 parent 8e3c632 commit 3f1b965
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,18 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
and external toolchain backends (through the toolchain
wrapper).

config BR2_FORCE_HOST_BUILD
bool "Force the building of host dependencies"
help
Build all available host dependencies, even if they are
already installed on the system.

This option can be used to ensure that the download cache of
source archives for packages remain consistent between
different build hosts.

This option will increase build time.

config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
Expand Down
6 changes: 6 additions & 0 deletions support/dependencies/dependencies.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@
#
################################################################################

ifeq ($(BR2_FORCE_HOST_BUILD),y)
# ignore all available host packages
define suitable-host-package
endef
else
# suitable-host-pkg: calls check-host-$(1).sh shell script. Parameter (2)
# can be the candidate to be checked. If not present, the check-host-$(1).sh
# script should use 'which' to find a candidate. The script should return
# the path to the suitable host tool, or nothing if no suitable tool was found.
define suitable-host-package
$(shell support/dependencies/check-host-$(1).sh $(2))
endef
endif
# host utilities needs host-tar to extract the source code tarballs, so
# ensure check-host-tar.mk is included before the rest
include support/dependencies/check-host-tar.mk
Expand Down

0 comments on commit 3f1b965

Please sign in to comment.