diff options
Diffstat (limited to 'sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild')
-rw-r--r-- | sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild b/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild deleted file mode 100644 index a1b9fee8c4..0000000000 --- a/sys-devel/gcc/gcc-14.0.1_pre20240225.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -TOOLCHAIN_PATCH_DEV="sam" -PATCH_GCC_VER="14.0.0" -PATCH_VER="24" -MUSL_VER="1" -MUSL_GCC_VER="14.0.0" - -inherit toolchain - -# Don't keyword live ebuilds -if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then - #KEYWORDS="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" - # can't bootstrap from this using clang's libc++, better not use it - KEYWORDS="" -fi - -# use alternate source for Apple M1 (also works for x86_64) -IANSGCCVER="9bc66f9b11baf1c291b2afac429cb12bf8461f91" -SRC_URI+=" elibc_Darwin? ( https://github.com/iains/gcc-darwin-arm64/archive/${IANSGCCVER}.tar.gz -> gcc-darwin-arm64-${PV}.tar.gz )" - -# Technically only if USE=hardened *too* right now, but no point in complicating it further. -# If GCC is enabling CET by default, we need glibc to be built with support for it. -# bug #830454 -RDEPEND="!prefix-guest? ( elibc_glibc? ( sys-libs/glibc[cet(-)?] ) )" -DEPEND="${RDEPEND}" -BDEPEND=" - kernel_linux? ( >=${CATEGORY}/binutils-2.30[cet(-)?] ) - kernel_Darwin? ( - || ( ${CATEGORY}/binutils-apple ${CATEGORY}/native-cctools ) - )" - -src_unpack() { - if use elibc_Darwin ; then - # just use Ian's source, not the main one - S="${WORKDIR}/gcc-darwin-arm64-${IANSGCCVER}" - fi - default -} - -src_prepare() { - # make sure 64-bits native targets don't screw up the linker paths - eapply "${FILESDIR}"/gcc-12-no-libs-for-startfile.patch - - # doesn't apply on official and Darwin sources - rm "${WORKDIR}"/patch/31_all_gm2_make_P_var.patch - - toolchain_src_prepare - - eapply_user - - eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch - - # make it have correct install_names on Darwin - eapply -p1 "${FILESDIR}"/4.3.3/darwin-libgcc_s-installname.patch - - if [[ ${CHOST} == powerpc*-darwin* ]] ; then - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44107 - sed -i -e 's|^ifeq (/usr/lib,|ifneq (/usr/lib,|' \ - libgcc/config/t-slibgcc-darwin || die - fi - - if [[ ${CHOST} == *-solaris* ]] ; then - # madvise is not available in the compatibility mode GCC uses, - # posix_madvise however, is - sed -i -e 's/madvise/posix_madvise/' gcc/cp/module.cc || die - fi - - if [[ ${CHOST} == *-darwin* ]] ; then - # our ld64 is a slight bit different, so tweak expression to not - # get confused and break the build - sed -i -e 's/grep ld64/grep :ld64/' gcc/configure || die - - # rip out specific macos version min - sed -i -e 's/-mmacosx-version-min=11.0//' \ - libgcc/config/aarch64/t-darwin \ - libgcc/config/aarch64/t-heap-trampoline \ - || die - - # weird, because we call --disable-host-bind-now but the check - # interprets that as as using -Wl,-z,now - sed -i -e 's/-Wl,-z,now//' c++tools/configure{.ac,} || die - fi -} - -src_configure() { - local myconf=() - case ${CTARGET}:" ${USE} " in - powerpc*-darwin*) - # bug #381179 - filter-flags "-mcpu=*" "-mtune=*" - # bug #657522 - # A bug in configure checks whether -no-pie works, but the - # compiler doesn't pass -no-pie onto the linker if -fno-PIE - # isn't passed, so the configure check always finds -no-pie - # is accepted. (Likewise, when -fno-PIE is passed, the - # compiler passes -no_pie onto the linker.) - # Since our linker doesn't grok this, avoid above checks to - # be run - # NOTE: later ld64 does grok -no_pie, not -no-pie (as checked) - export gcc_cv_c_no_fpie=no - export gcc_cv_no_pie=no - ;; - *-darwin20) - # use sysroot with the linker, #756160 - export gcc_cv_ld_sysroot=yes - ;; - *-solaris*) - # todo: some magic for native vs. GNU linking? - myconf+=( --with-gnu-ld --with-gnu-as --enable-largefile ) - # Solaris 11 defines this in its headers, but that causes a - # mismatch whilst compiling, bug #657514 - #export ac_cv_func_aligned_alloc=no - #export ac_cv_func_memalign=no - #export ac_cv_func_posix_memalign=no - ;; - i[34567]86-*-linux*:*" prefix "*) - # to allow the linux-x86-on-amd64.patch become useful, we need - # to enable multilib, even if there is just one multilib option. - myconf+=( --enable-multilib ) - if [[ ${CBUILD:-${CHOST}} == "${CHOST}" ]]; then - # we might be on x86_64-linux, but don't do cross-compile, so - # tell the host-compiler to really create 32bits (for stage1) - # (real x86-linux-gcc also accept -m32). - append-flags -m32 - fi - ;; - esac - - if [[ ${CHOST} == *-darwin ]] ; then - # GCC' Darwin fork enables support for "-stdlib=libc++" - # unconditionally, and its default include path is invalid, - # causing package build failures due to missing header. - # But more importantly, it breaks the assumption of many build - # scripts and changes their CFLAGS and linking behaviors. The - # situation is tricky and needs careful considerations. - # For now, just disable support for "-stdlib=libc++". - myconf+=( --with-gxx-libcxx-include-dir=no ) - fi - - # Since GCC 4.1.2 some non-posix (?) /bin/sh compatible code is used, at - # least on Solaris, and AIX /bin/sh is way too slow, - # so force it to use $BASH (that portage uses) - it can't be EPREFIX - # in case that doesn't exist yet - export CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}" - toolchain_src_configure "${myconf[@]}" -} |