|
@@ -20,15 +20,9 @@ HOST_GCC_BARE_METAL_DEPENDENCIES = \
|
|
|
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 HOST_GCC_BARE_METAL_CONFIGURE_SYMLINK
|
|
|
- mkdir -p $(@D)/build
|
|
|
- ln -sf ../configure $(@D)/build/configure
|
|
|
-endef
|
|
|
-
|
|
|
-HOST_GCC_BARE_METAL_PRE_CONFIGURE_HOOKS += HOST_GCC_BARE_METAL_CONFIGURE_SYMLINK
|
|
|
-HOST_GCC_BARE_METAL_SUBDIR = build
|
|
|
+# 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) \
|
|
@@ -38,8 +32,13 @@ HOST_GCC_BARE_METAL_MAKE_OPTS = \
|
|
|
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 \
|
|
|
+ --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 \
|
|
@@ -54,9 +53,38 @@ HOST_GCC_BARE_METAL_CONF_OPTS = \
|
|
|
--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
|
|
|
+ --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))
|