binutils: add missing dependencies for Git versions
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 5 Dec 2013 17:20:58 +0000 (18:20 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 6 Dec 2013 21:48:00 +0000 (22:48 +0100)
When the binutils source code is pulled from a Git repository, a
number of generated files are not present, and need to be
re-generated. Those files are generated by flex, bison, and texinfo,
so we need to pull the corresponding dependencies.

Notice that we tried avoiding the texinfo dependency by doing a number
of MAKEINFO tricks, but none of them worked properly, so we've instead
chosen to depend on host-texinfo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/binutils/binutils.mk

index 13854b0673103a34ac93d865a15b52a914008629..d6828f5efde4051d398552228cf269bf38da31d3 100644 (file)
@@ -26,19 +26,27 @@ endif
 ifeq ($(BR2_arc),y)
 BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils,$(BINUTILS_VERSION))
 BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
+BINUTILS_FROM_GIT = y
 endif
 ifeq ($(BR2_microblaze),y)
 BINUTILS_SITE = $(call github,Xilinx,binutils,$(BINUTILS_VERSION))
 BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz
+BINUTILS_FROM_GIT = y
 endif
 BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils
 BINUTILS_SOURCE ?= binutils-$(BINUTILS_VERSION).tar.bz2
 BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS))
 BINUTILS_INSTALL_STAGING = YES
 BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
+HOST_BINUTILS_DEPENDENCIES =
 BINUTILS_LICENSE = GPLv3+, libiberty LGPLv2.1+
 BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
 
+ifeq ($(BINUTILS_FROM_GIT),y)
+BINUTILS_DEPENDENCIES += host-texinfo host-flex host-bison
+HOST_BINUTILS_DEPENDENCIES += host-texinfo host-flex host-bison
+endif
+
 # We need to specify host & target to avoid breaking ARM EABI
 BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
                --host=$(GNU_TARGET_NAME) \
@@ -58,8 +66,6 @@ HOST_BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
                        --with-sysroot=$(STAGING_DIR) \
                        $(BINUTILS_EXTRA_CONFIG_OPTIONS)
 
-HOST_BINUTILS_DEPENDENCIES =
-
 # We just want libbfd and libiberty, not the full-blown binutils in staging
 define BINUTILS_INSTALL_STAGING_CMDS
        $(MAKE) -C $(@D)/bfd DESTDIR=$(STAGING_DIR) install