1################################################################################
2#
3# gcc-initial
4#
5################################################################################
6
7GCC_INITIAL_VERSION = $(GCC_VERSION)
8GCC_INITIAL_SITE = $(GCC_SITE)
9GCC_INITIAL_SOURCE = $(GCC_SOURCE)
10HOST_GCC_INITIAL_LICENSE = $(HOST_GCC_LICENSE)
11HOST_GCC_INITIAL_LICENSE_FILES = $(HOST_GCC_LICENSE_FILES)
12
13# We do not have a 'gcc' package per-se; we only have two incarnations,
14# gcc-initial and gcc-final. gcc-initial is just an internal step that
15# users should not care about, while gcc-final is the one they shall see.
16HOST_GCC_INITIAL_DL_SUBDIR = gcc
17
18HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
19
20HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
21
22ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
23HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
24HOST_GCC_INITIAL_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
25endif
26
27HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
28
29# gcc doesn't support in-tree build, so we create a 'build'
30# subdirectory in the gcc sources, and build from there.
31HOST_GCC_INITIAL_SUBDIR = build
32
33HOST_GCC_INITIAL_PRE_CONFIGURE_HOOKS += HOST_GCC_CONFIGURE_SYMLINK
34
35HOST_GCC_INITIAL_CONF_OPTS = \
36	$(HOST_GCC_COMMON_CONF_OPTS) \
37	--enable-languages=c \
38	--disable-shared \
39	--without-headers \
40	--disable-threads \
41	--with-newlib \
42	--disable-largefile \
43	$(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS))
44
45HOST_GCC_INITIAL_CONF_ENV = \
46	$(HOST_GCC_COMMON_CONF_ENV)
47
48# Enable GCC target libs optimizations to optimize out __register_frame
49# when needed for some architectures when building with glibc.
50ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_107728),y)
51HOST_GCC_INITIAL_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS) -O1"
52HOST_GCC_INITIAL_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS) -O1"
53endif
54
55HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc all-target-libgcc
56HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc install-target-libgcc
57
58HOST_GCC_INITIAL_TOOLCHAIN_WRAPPER_ARGS += $(HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS)
59HOST_GCC_INITIAL_POST_BUILD_HOOKS += TOOLCHAIN_WRAPPER_BUILD
60HOST_GCC_INITIAL_POST_INSTALL_HOOKS += TOOLCHAIN_WRAPPER_INSTALL
61HOST_GCC_INITIAL_POST_INSTALL_HOOKS += HOST_GCC_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS
62
63$(eval $(host-autotools-package))
64