| ################################################################################ |
| # |
| # gcc-bare-metal |
| # |
| ################################################################################ |
| |
| HOST_GCC_BARE_METAL_VERSION = 14.2.0 |
| HOST_GCC_BARE_METAL_SITE = \ |
| https://ftp.gnu.org/gnu/gcc/gcc-$(HOST_GCC_BARE_METAL_VERSION) |
| HOST_GCC_BARE_METAL_SOURCE = gcc-$(HOST_GCC_BARE_METAL_VERSION).tar.xz |
| |
| HOST_GCC_BARE_METAL_LICENSE = GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0 |
| HOST_GCC_BARE_METAL_LICENSE_FILES = COPYING COPYING3 COPYING.LIB COPYING3.LIB |
| HOST_GCC_BARE_METAL_CPE_ID_VENDOR = gnu |
| HOST_GCC_BARE_METAL_CPE_ID_PRODUCT = gcc |
| |
| HOST_GCC_BARE_METAL_DEPENDENCIES = \ |
| host-binutils-bare-metal \ |
| host-gmp \ |
| host-mpc \ |
| host-mpfr \ |
| host-isl |
| |
| # gcc doesn't support in-tree build, so we create a 'build' |
| # subdirectory in the gcc sources, and build from there. |
| define GCC_BARE_METAL_CONFIGURE_SYMLINK |
| mkdir -p $(@D)/build |
| ln -sf ../configure $(@D)/build/configure |
| endef |
| |
| HOST_GCC_BARE_METAL_PRE_CONFIGURE_HOOKS += GCC_BARE_METAL_CONFIGURE_SYMLINK |
| HOST_GCC_BARE_METAL_SUBDIR = build |
| |
| 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 = \ |
| --target=$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE) \ |
| --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) \ |
| --with-sysroot=$(TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT) \ |
| AR_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ar \ |
| RANLIB_FOR_TARGET=$(HOST_DIR)/bin/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)-ranlib |
| |
| $(eval $(host-autotools-package)) |