blob: f9168150b8d02064de3058e383441690bee1b9ac [file] [log] [blame]
Klaus Heinrich Kiwi3e6e8352020-04-14 16:06:01 -03001################################################################################
2#
3# alternate-binutils
4#
5################################################################################
6
7#
8# Based on buildroot/package/binutils/binutils.mk
9#
10
11ALTERNATE_BINUTILS_VERSION = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_VERSION))
12ALTERNATE_BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils
13ALTERNATE_BINUTILS_SOURCE ?= binutils-$(ALTERNATE_BINUTILS_VERSION).tar.xz
14
15ALTERNATE_BINUTILS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
16ALTERNATE_BINUTILS_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS)
17ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS))
18ALTERNATE_BINUTILS_CONF_ENV += MAKEINFO=true
19ALTERNATE_BINUTILS_MAKE_OPTS += MAKEINFO=true
20BINUTILS_INSTALL_OPTS += MAKEINFO=true install
21
22ifeq ($(BR2_PACKAGE_ZLIB),y)
23ALTERNATE_BINUTILS_DEPENDENCIES += zlib
24endif
25
26HOST_ALTERNATE_BINUTILS_CONF_OPTS = \
27 --disable-multilib \
28 --disable-werror \
29 --prefix="$(HOST_DIR)/alternate-toolchain" \
30 --target=$(GNU_TARGET_NAME) \
31 --disable-shared \
32 --enable-static \
33 --with-sysroot=$(STAGING_DIR) \
34 --enable-poison-system-directories \
35 $(ALTERNATE_BINUTILS_EXTRA_CONFIG_OPTIONS)
36
37ALTERNATE_BINUTILS_MAKE_ENV = $(TARGET_CONFIGURE_ARGS)
38
39define ALTERNATE_BINUTILS_INSTALL_HOST_CMDS
40 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/bfd DESTDIR="$(HOST_DIR)/alternate-toolchain" install
41 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/opcodes DESTDIR="$(HOST_DIR)/alternate-toolchain" install
42 $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libiberty DESTDIR="$(HOST_DIR)/alternate-toolchain" install
43endef
44
45ALTERNATE_BINUTILS_TOOLS = ar as ld ld.bfd nm objcopy objdump ranlib readelf strip
46define HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS
47 $(foreach tool,$(ALTERNATE_BINUTILS_TOOLS),\
48 rm -f $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool) && \
49 cp -a $(HOST_DIR)/alternate-toolchain/bin/$(GNU_TARGET_NAME)-$(tool) \
50 $(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin/$(tool)
51 )
52endef
53HOST_ALTERNATE_BINUTILS_POST_INSTALL_HOOKS += HOST_ALTERNATE_BINUTILS_FIXUP_HARDLINKS
54
55$(eval $(host-autotools-package))
56