blob: a2d8ecb57e6475a4bb3c9cc438c9b66e8da2414b [file] [log] [blame]
Klaus Heinrich Kiwi3e6e8352020-04-14 16:06:01 -03001################################################################################
2#
3# alternate-gcc
4#
5################################################################################
6
7#
8# Based on buildroot/package/gcc/*.mk, but trying to simplify since we're not
9# (yet) going for a general scenario here
10#
11
12ALTERNATE_GCC_VERSION = $(call qstrip,$(BR2_ALTERNATE_GCC_VERSION))
13ALTERNATE_GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(ALTERNATE_GCC_VERSION)
14ALTERNATE_GCC_SOURCE = gcc-$(ALTERNATE_GCC_VERSION).tar.xz
15
16HOST_ALTERNATE_GCC_SUBDIR = build
17
18HOST_ALTERNATE_GCC_DEPENDENCIES = \
19 host-alternate-binutils \
20 host-gmp \
21 host-mpc \
22 host-mpfr \
23 $(BR_LIBC)
24
25HOST_ALTERNATE_GCC_EXCLUDES = \
26 libjava/* libgo/*
27
28define HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK
29 mkdir -p $(@D)/build
30 ln -sf ../configure $(@D)/build/configure
31endef
32
33HOST_ALTERNATE_GCC_CONF_OPTS += \
34 $(call qstrip,$(BR2_ALTERNATE_GCC_EXTRA_CONFIG_OPTIONS))
35
36define HOST_ALTERNATE_GCC_CONFIGURE_CMDS
37 (cd $(HOST_ALTERNATE_GCC_SRCDIR) && rm -rf config.cache; \
38 CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \
39 CXXFLAGS_FOR_TARGET="$(TARGET_CXXFLAGS)" \
40 CFLAGS="$(HOST_CFLAGS)" \
41 LDFLAGS="$(HOST_LDFLAGS)" \
42 MAKEINFO=missing \
43 ./configure \
44 --prefix="$(HOST_DIR)/alternate-toolchain" \
45 --enable-static \
46 --target=$(GNU_TARGET_NAME) \
47 --with-sysroot=$(STAGING_DIR) \
48 --enable-__cxa_atexit \
49 --with-gnu-ld \
50 --disable-libssp \
51 --disable-multilib \
52 --disable-decimal-float \
53 --with-gmp=$(HOST_DIR) \
54 --with-mpc=$(HOST_DIR) \
55 --with-mpfr=$(HOST_DIR) \
56 --enable-languages="c,c++" \
57 --with-build-time-tools=$(HOST_DIR)/alternate-toolchain/$(GNU_TARGET_NAME)/bin \
58 --enable-shared \
59 $(QUIET) $(HOST_ALTERNATE_GCC_CONF_OPTS) \
60 )
61endef
62
63HOST_ALTERNATE_GCC_PRE_CONFIGURE_HOOKS += HOST_ALTERNATE_GCC_CONFIGURE_SYMLINK
64
65$(eval $(host-autotools-package))