Commit 48e9541f authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

Merge branch 'for-2011.02/dl-tools' of git://git.busybox.net/~tpetazzoni/git/buildroot

parents d4f63946 960d268b
Loading
Loading
Loading
Loading
+40 −13
Original line number Diff line number Diff line
@@ -85,19 +85,21 @@ DL_DIR:=$(TOPDIR)/dl
endif

################################################################################
# The DOWNLOAD_{GIT,SVN} helpers are in charge of getting a working copy of
# the source repository for their corresponding SCM, checking out the requested
# version / commit / tag, and create an archive out of it. DOWNLOAD_WGET is the
# normal wget-based download mechanism.
# The DOWNLOAD_{GIT,SVN,BZR} helpers are in charge of getting a
# working copy of the source repository for their corresponding SCM,
# checking out the requested version / commit / tag, and create an
# archive out of it. DOWNLOAD_WGET is the normal wget-based download
# mechanism.
#
# The SOURCE_CHECK_{GIT,SVN,WGET} helpers are in charge of simply checking that
# the source is available for download. This can be used to make sure one will
# be able to get all the sources needed for one's build configuration.
# The SOURCE_CHECK_{GIT,SVN,BZR,WGET} helpers are in charge of simply
# checking that the source is available for download. This can be used
# to make sure one will be able to get all the sources needed for
# one's build configuration.
#
# The SHOW_EXTERNAL_DEPS_{GIT,SVN,WGET} helpers simply output to the console
# the names of the files that will be downloaded, or path and revision of the
# source repositories, producing a list of all the "external dependencies" of
# a given build configuration.
# The SHOW_EXTERNAL_DEPS_{GIT,SVN,BZR,WGET} helpers simply output to
# the console the names of the files that will be downloaded, or path
# and revision of the source repositories, producing a list of all the
# "external dependencies" of a given build configuration.
################################################################################

define DOWNLOAD_GIT
@@ -123,6 +125,20 @@ define SHOW_EXTERNAL_DEPS_GIT
endef


define DOWNLOAD_BZR
	test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
	$(BZR) export $(DL_DIR)/$($(PKG)_SOURCE) $($(PKG)_SITE) -r $($(PKG)_DL_VERSION)
endef

define SOURCE_CHECK_BZR
	$(BZR) ls --quiet $($(PKG)_SITE) > /dev/null
endef

define SHOW_EXTERNAL_DEPS_BZR
	echo "$($(PKG)_SITE) [bzr: $($(PKG)_DL_VERSION)]"
endef


define DOWNLOAD_SVN
	test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
	(pushd $(DL_DIR) > /dev/null && \
@@ -175,6 +191,7 @@ define DOWNLOAD
		case "$($(PKG)_SITE_METHOD)" in \
			git) $($(DL_MODE)_GIT) && exit ;; \
			svn) $($(DL_MODE)_SVN) && exit ;; \
			bzr) $($(DL_MODE)_BZR) && exit ;; \
			*) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \
		esac ; \
	fi ; \
@@ -487,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