Commit 960d268b authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

infrastructure: only require download tools when needed



Instead of having to require svn, git or bzr unconditionally, only
require them when one package needs them to be downloaded.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent ac294cf5
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -504,9 +504,19 @@ $$($(2)_TARGET_DIRCLEAN): PKG=$(2)
# configuration

ifeq ($$(BR2_PACKAGE_$(2)),y)

TARGETS += $(1)
endif
endef

ifeq ($$($(2)_SITE_METHOD),svn)
DL_TOOLS_DEPENDENCIES += svn
else ifeq ($$($(2)_SITE_METHOD),git)
DL_TOOLS_DEPENDENCIES += git
else ifeq ($$($(2)_SITE_METHOD),bzr)
DL_TOOLS_DEPENDENCIES += bzr
endif # SITE_METHOD

endif # BR2_PACKAGE_$(2)
endef # GENTARGETS_INNER

################################################################################
# GENTARGETS -- the target generator macro for generic packages
+7 −0
Original line number Diff line number Diff line
@@ -10,9 +10,16 @@ ifeq ($(BR2_STRIP_sstrip),y)
DEPENDENCIES_HOST_PREREQ+=sstrip_host
endif

# Remove duplicate entries from $(DL_TOOLS_DEPENDENCIES)
DL_TOOLS = \
	$(findstring svn,$(DL_TOOLS_DEPENDENCIES)) \
	$(findstring git,$(DL_TOOLS_DEPENDENCIES)) \
	$(findstring bzr,$(DL_TOOLS_DEPENDENCIES))

dependencies: $(DEPENDENCIES_HOST_PREREQ)
	@HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \
		CONFIG_FILE="$(CONFIG_DIR)/.config" \
		DL_TOOLS="$(DL_TOOLS)" \
		$(TOPDIR)/toolchain/dependencies/dependencies.sh

dependencies-source:
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then
fi;

# Check that a few mandatory programs are installed
for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio python svn unzip ; do
for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio python unzip ${DL_TOOLS} ; do
    if ! which $prog > /dev/null ; then
	/bin/echo -e "\nYou must install '$prog' on your build machine";
	if test $prog = "makeinfo" ; then