| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- ################################################################################
- #
- # gcc-bare-metal
- #
- ################################################################################
- GCC_BARE_METAL_VERSION = 14.2.0
- GCC_BARE_METAL_SITE = $(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_BARE_METAL_VERSION)
- GCC_BARE_METAL_SOURCE = gcc-$(GCC_BARE_METAL_VERSION).tar.xz
- GCC_BARE_METAL_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0
- GCC_BARE_METAL_LICENSE_FILES = COPYING COPYING3 COPYING.LIB COPYING3.LIB
- GCC_BARE_METAL_CPE_ID_VENDOR = gnu
- GCC_BARE_METAL_CPE_ID_PRODUCT = gcc
- HOST_GCC_BARE_METAL_DEPENDENCIES = \
- host-binutils-bare-metal \
- host-gmp \
- host-mpc \
- host-mpfr \
- host-isl
- # Don't build documentation. It takes up extra space / build time,
- # and sometimes needs specific makeinfo versions to work
- HOST_GCC_BARE_METAL_CONF_ENV = MAKEINFO=missing
- HOST_GCC_BARE_METAL_MAKE_OPTS = \
- $(HOST_GCC_COMMON_MAKE_OPTS) \
- all-gcc \
- all-target-libgcc
- HOST_GCC_BARE_METAL_INSTALL_OPTS = install-gcc install-target-libgcc
- HOST_GCC_BARE_METAL_CONF_OPTS = \
- --prefix=$(HOST_DIR) \
- --sysconfdir=$(HOST_DIR)/etc \
- --localstatedir=$(HOST_DIR)/var \
- $(if $$($$(PKG)_OVERRIDE_SRCDIR),,--disable-dependency-tracking) \
- $(QUIET) \
- --disable-shared \
- --disable-initfini-array \
- --disable-__cxa_atexit \
- --disable-libstdcxx-pch \
- --with-newlib \
- --disable-threads \
- --enable-plugins \
- --with-gnu-as \
- --disable-libitm \
- --without-long-double-128 \
- --without-headers \
- --enable-languages=c \
- --disable-multilib \
- --with-gmp=$(HOST_DIR) \
- --with-mpc=$(HOST_DIR) \
- --with-mpfr=$(HOST_DIR) \
- --with-isl=$(HOST_DIR)
- define HOST_GCC_BARE_METAL_CONFIGURE_CMDS
- $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
- mkdir -p $(@D)/build-$(arch_tuple) && \
- cd $(@D)/build-$(arch_tuple) && \
- $(HOST_CONFIGURE_OPTS) \
- $(HOST_GCC_BARE_METAL_CONF_ENV) \
- CONFIG_SITE=/dev/null \
- $(@D)/configure \
- $(HOST_GCC_BARE_METAL_CONF_OPTS) \
- --target=$(arch_tuple) \
- --with-sysroot=$(HOST_DIR)/$(arch_tuple)/sysroot \
- AR_FOR_TARGET=$(HOST_DIR)/bin/$(arch_tuple)-ar \
- RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(arch_tuple)-ranlib
- )
- endef
- define HOST_GCC_BARE_METAL_BUILD_CMDS
- $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
- $(HOST_MAKE_ENV) $(MAKE) \
- $(HOST_GCC_BARE_METAL_MAKE_OPTS) \
- -C $(@D)/build-$(arch_tuple)
- )
- endef
- define HOST_GCC_BARE_METAL_INSTALL_CMDS
- $(foreach arch_tuple, $(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE), \
- $(HOST_MAKE_ENV) $(MAKE) \
- $(HOST_GCC_BARE_METAL_INSTALL_OPTS) \
- -C $(@D)/build-$(arch_tuple)
- )
- endef
- $(eval $(host-autotools-package))
|