mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-18 02:39:46 +00:00
gcc: Build static libgcc in core_pass1
Per https://github.com/crosstool-ng/crosstool-ng/issues/808 build static libgcc in the first pass which lets us skip the second one. Building mingw-w64 requires header files in order to build C++ support so mingw builds core pass 2. This could probably be cleaned up by splitting libc_start_files into a separate libc_header step. But for now having core 2 for mingw-w64 and core 1 for the other libcs will have to do. Anything that previously selected CC_CORE_PASSES_NEEDED now selects CC_CORE_PASS_1_NEEDED. The same goes for CC_CORE_PASS_2_NEEDED with the exception of mingw-w64. Fixes #808 Fixes #217 Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
parent
ade8c04d14
commit
557b9d4f8d
@ -2,11 +2,6 @@
|
|||||||
|
|
||||||
menu "C compiler"
|
menu "C compiler"
|
||||||
|
|
||||||
config CC_CORE_PASSES_NEEDED
|
|
||||||
bool
|
|
||||||
select CC_CORE_PASS_1_NEEDED
|
|
||||||
select CC_CORE_PASS_2_NEEDED
|
|
||||||
|
|
||||||
config CC_CORE_PASS_1_NEEDED
|
config CC_CORE_PASS_1_NEEDED
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
|
## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
|
||||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||||
## select CC_CORE_PASSES_NEEDED
|
## select CC_CORE_PASS_1_NEEDED
|
||||||
# TBD: select GETTEXT for build only, not for host
|
# TBD: select GETTEXT for build only, not for host
|
||||||
## select GETTEXT_NEEDED
|
## select GETTEXT_NEEDED
|
||||||
## select BINUTILS_FORCE_LD_BFD_DEFAULT
|
## select BINUTILS_FORCE_LD_BFD_DEFAULT
|
||||||
|
@ -10,8 +10,7 @@
|
|||||||
## select LIBC_SUPPORT_THREADS_NONE
|
## select LIBC_SUPPORT_THREADS_NONE
|
||||||
## select COMP_TOOLS_AUTOCONF if !CONFIGURE_has_autoconf_2_65_or_newer || !CONFIGURE_has_autoreconf_2_64_or_newer
|
## select COMP_TOOLS_AUTOCONF if !CONFIGURE_has_autoconf_2_65_or_newer || !CONFIGURE_has_autoreconf_2_64_or_newer
|
||||||
## select COMP_TOOLS_AUTOMAKE if !CONFIGURE_has_automake_1_15_or_newer
|
## select COMP_TOOLS_AUTOMAKE if !CONFIGURE_has_automake_1_15_or_newer
|
||||||
## select CC_CORE_PASSES_NEEDED if CANADIAN
|
## select CC_CORE_PASS_1_NEEDED
|
||||||
## select CC_CORE_PASS_2_NEEDED if ! CANADIAN
|
|
||||||
## select LIBELF_NEEDED
|
## select LIBELF_NEEDED
|
||||||
##
|
##
|
||||||
## help Secure execution runtime for Moxie architecture.
|
## help Secure execution runtime for Moxie architecture.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
## depends on ! WINDOWS && ! BARE_METAL
|
## depends on ! WINDOWS && ! BARE_METAL
|
||||||
## depends on EXPERIMENTAL
|
## depends on EXPERIMENTAL
|
||||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||||
## select CC_CORE_PASSES_NEEDED
|
## select CC_CORE_PASS_1_NEEDED
|
||||||
|
|
||||||
## help Musl is a new standard library to power a new generation of Linux-based
|
## help Musl is a new standard library to power a new generation of Linux-based
|
||||||
## help devices. musl is lightweight, fast, simple, free, and strives to be
|
## help devices. musl is lightweight, fast, simple, free, and strives to be
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
## depends on BARE_METAL
|
## depends on BARE_METAL
|
||||||
## select LIBC_SUPPORT_THREADS_NONE
|
## select LIBC_SUPPORT_THREADS_NONE
|
||||||
## select CC_CORE_PASSES_NEEDED if CANADIAN
|
## select CC_CORE_PASS_1_NEEDED
|
||||||
## select CC_CORE_PASS_2_NEEDED if ! CANADIAN
|
|
||||||
|
|
||||||
## help Newlib is a C library intended for use on embedded systems. It is a
|
## help Newlib is a C library intended for use on embedded systems. It is a
|
||||||
## help conglomeration of several library parts, all under free software
|
## help conglomeration of several library parts, all under free software
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
## select LIBC_SUPPORT_THREADS_LT
|
## select LIBC_SUPPORT_THREADS_LT
|
||||||
## select LIBC_SUPPORT_THREADS_NONE
|
## select LIBC_SUPPORT_THREADS_NONE
|
||||||
## select LIBC_SUPPORT_THREADS_NATIVE if UCLIBC_0_9_33_2_or_later
|
## select LIBC_SUPPORT_THREADS_NATIVE if UCLIBC_0_9_33_2_or_later
|
||||||
## select CC_CORE_PASSES_NEEDED
|
## select CC_CORE_PASS_1_NEEDED
|
||||||
##
|
##
|
||||||
## help The de-facto standard for embeded linux systems.
|
## help The de-facto standard for embeded linux systems.
|
||||||
## help
|
## help
|
||||||
|
@ -202,6 +202,8 @@ do_cc_core_pass_1() {
|
|||||||
core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
|
core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
|
||||||
core_opts+=( "lang_list=c" )
|
core_opts+=( "lang_list=c" )
|
||||||
core_opts+=( "build_step=core1" )
|
core_opts+=( "build_step=core1" )
|
||||||
|
core_opts+=( "mode=static" )
|
||||||
|
core_opts+=( "build_libgcc=yes" )
|
||||||
|
|
||||||
CT_DoStep INFO "Installing pass-1 core C gcc compiler"
|
CT_DoStep INFO "Installing pass-1 core C gcc compiler"
|
||||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1"
|
CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1"
|
||||||
|
Loading…
Reference in New Issue
Block a user