https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=
561b0bec4448f0302cb4915bf67c919bde4a1c57
in unstream glibc repo added optional dependency on CXX compiler.
Unfortunately ./configure tries hard to pass some g++ as CXX:
either ${CTARGET}-g++ (ok) or ${CBUILD}+g++ (bad).
During toolchain bootstrap ${CTARGET}-g++ does not yet exist
as we only have stage1-gcc without c++ (or libc) support.
To restore toolchain bootstrap we force-disable c++ detection
by setting cache variable:
libc_cv_cxx_link_ok=no
c++ is force disables only for cross-compilation case
(CHOST != CTARGET). Cross-building case (CHOST = CTRAGET)
is unchanged as we should already have c++ capable toolchain
by then.
Reported-by: hanetzer@startmail.com
Reported-by: rhn
Closes: https://bugs.gentoo.org/683074
Package-Manager: Portage-2.3.63, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
# Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
echo
# Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
echo