package: add configuration option to specify a local override file

The user can now create a custom local override file to override the
source directory for various packages.

An example override file:

 ZLIB_OVERRIDE_SRCDIR = /tmp/zlib
 STRACE_OVERRIDE_SRCDIR = /opt/strace-4.5.20

would tell Buildroot to use the zlib and strace source code from the
specified directories, instead of download, extracting and patching
the code has done usually by Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2011-09-29 21:57:38 +02:00 committed by Peter Korsgaard
parent da76f0f155
commit ee0246e1e1
2 changed files with 17 additions and 0 deletions

View File

@ -334,6 +334,16 @@ config BR2_HAVE_DEVFILES
Install headers and static libraries in the
target filesystem
config BR2_PACKAGE_OVERRIDE_FILE
string "location of a package override file"
default "$(TOPDIR)/local.mk"
help
A package override file is a short makefile that contains
variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
which allows to tell Buildroot to use an existing directory
as the source directory for a particular package. See the
Buildroot documentation for more details on this feature.
endmenu
source "toolchain/Config.in"

View File

@ -309,6 +309,13 @@ else ifeq ($(BR2_TOOLCHAIN_CTNG),y)
include toolchain/toolchain-crosstool-ng.mk
endif
# Include the package override file if one has been provided in the
# configuration.
PACKAGE_OVERRIDE_FILE=$(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE))
ifneq ($(PACKAGE_OVERRIDE_FILE),)
-include $(PACKAGE_OVERRIDE_FILE)
endif
include package/*/*.mk
include boot/common.mk