91 lines
2.6 KiB
Makefile
91 lines
2.6 KiB
Makefile
################################################################################
|
|
#
|
|
# 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))
|