[Buildroot] [PATCH] Makefile: include BR2_EXTERNAL before other packages
Peter Korsgaard
jacmet at uclibc.org
Thu Dec 12 23:14:45 UTC 2013
>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:
> From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> BR2_EXTERNAL may contain packages that are "providers" of generic
> functionalities, such as EGL/GLES/...
Ehh, do we want to support that? With the way we have implemented the
virtual jpeg/egl/.. whatever packages, the virtual package needs to know
about all the packages providing that functionality, so it can add the
implementation to it's dependencies (and complain if nothing is
enabled) - So to do it from BR2_EXTERNAL those external packages have to
mess with the variables of the virtual package (E.G. JPEG_DEPENDENCIES),
which isn't really nice (and is an implementation detail).
Is this position going to be the right place to include BR2_EXTERNAL for
everyone? E.G. you cannot use it to implement custom filesystem types.
If we put the include here, then it becomes very close to the
BR2_PACKAGE_OVERRIDE_FILE functionality (which gets included just
before) - Perhaps we should not have two features doing basically the
same?
Comments anybody?
> So, BR2_EXTERNAL must be included before our built-in packages,
> otherwise the dependencies and rules for our built-in packages
> are evaluated too early.
> David has reported that doing so fixes his use-case, but we should
> still consider this as a stop-gap until we can come up with a proper
> fix.
> Remove a superfluous extra empty line at the same time.
> Reported-by: David Corvoysier <david.corvoysier at orange.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: David Corvoysier <david.corvoysier at orange.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> Makefile | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
> diff --git a/Makefile b/Makefile
> index d52182e..22b7c99 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -121,7 +121,6 @@ else
> $(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
> endif
> -
> BUILD_DIR:=$(BASE_DIR)/build
> STAMP_DIR:=$(BASE_DIR)/stamps
> BINARIES_DIR:=$(BASE_DIR)/images
> @@ -358,14 +357,16 @@ ifneq ($(PACKAGE_OVERRIDE_FILE),)
> -include $(PACKAGE_OVERRIDE_FILE)
> endif
> +# Include BR2_EXTERNAL before other packages, as BR2_EXTERNAL
> +# may contain packages that are "providers" for eg. EGL/GLES/...
> +include $(BR2_EXTERNAL)/external.mk
> +
> include $(sort $(wildcard package/*/*.mk))
> include boot/common.mk
> include linux/linux.mk
> include system/system.mk
> -include $(BR2_EXTERNAL)/external.mk
> -
> TARGETS+=target-finalize
> ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
> --
> 1.8.1.2
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list