diff options
Diffstat (limited to 'sys-libs/glibc/glibc-2.36-r3.ebuild')
-rw-r--r-- | sys-libs/glibc/glibc-2.36-r3.ebuild | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/sys-libs/glibc/glibc-2.36-r3.ebuild b/sys-libs/glibc/glibc-2.36-r3.ebuild index 1c3abc020acc..012d6984dd74 100644 --- a/sys-libs/glibc/glibc-2.36-r3.ebuild +++ b/sys-libs/glibc/glibc-2.36-r3.ebuild @@ -182,6 +182,15 @@ XFAIL_TEST_LIST=( # Small helper functions # +dump_build_environment() { + einfo ==== glibc build environment ======================================================== + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX CPP LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + einfo ===================================================================================== +} + is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] } @@ -522,15 +531,20 @@ setup_env() { fi # Reset CC and CXX to the value at start of emerge - export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} - export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} + export CC=${glibc__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}} + export CXX=${glibc__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}} - # and make sure __ORIC_CC and __ORIG_CXX is defined now. - export __ORIG_CC=${CC} - export __ORIG_CXX=${CXX} + # and make sure glibc__ORIG_CC and glibc__ORIG_CXX is defined now. + export glibc__ORIG_CC=${CC} + export glibc__ORIG_CXX=${CXX} if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then + export glibc__force_gcc=yes + # once this is toggled on, it needs to stay on, since with CPP manipulated + # tc-is-clang does not work correctly anymore... + fi + if [[ ${glibc__force_gcc} == "yes" ]] ; then # If we are running in an otherwise clang/llvm environment, we need to # recover the proper gcc and binutils settings here, at least until glibc # is finally building with clang. So let's override everything that is @@ -547,6 +561,7 @@ setup_env() { einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" + export CPP="${current_gcc_path}/cpp" export CXX="${current_gcc_path}/g++" export LD="${current_binutils_path}/ld.bfd" export AR="${current_binutils_path}/ar" @@ -584,10 +599,10 @@ setup_env() { # around the original clean value to avoid appending multiple ABIs on # top of each other. (Why does the comment talk about CFLAGS if the code # acts on CC?) - export __GLIBC_CC=${CC} - export __GLIBC_CXX=${CXX} + export glibc__GLIBC_CC=${CC} + export glibc__GLIBC_CXX=${CXX} - export __abi_CFLAGS="$(get_abi_CFLAGS)" + export glibc__abi_CFLAGS="$(get_abi_CFLAGS)" # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760 # To build .S (assembly) files with the same ABI-specific flags @@ -596,10 +611,10 @@ setup_env() { # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS # and breaks multiarch support. See 659030#c3 for an example. # The glibc configure script doesn't properly use LDFLAGS all the time. - export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" + export CC="${glibc__GLIBC_CC} ${glibc__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}" # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548 - export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}" + export CXX="${glibc__GLIBC_CXX} ${glibc__abi_CFLAGS} ${CFLAGS}" if is_crosscompile; then # Assume worst-case bootstrap: glibc is buil first time @@ -913,13 +928,8 @@ src_prepare() { } glibc_do_configure() { + dump_build_environment - local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do - einfo " $(printf '%15s' ${v}:) ${!v}" - done - - echo local myconf=() # Use '=strong' instead of '=all' to protect only functions |