From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1E5E51581E7 for ; Thu, 25 Apr 2024 11:12:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9E5F3E29B6; Thu, 25 Apr 2024 11:12:27 +0000 (UTC) Received: from tupone.it (tupone.it [IPv6:2a01:4f9:2b:129a::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3A384E29B1 for ; Thu, 25 Apr 2024 11:12:27 +0000 (UTC) Received: from alfredo.tupone.it (unknown [IPv6:2a01:e11:b:c630:2e0:4cff:fe69:49b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by tupone.it (Postfix) with ESMTPSA id 4CAB9840058 for ; Thu, 25 Apr 2024 13:12:25 +0200 (CEST) Date: Thu, 25 Apr 2024 13:12:22 +0200 From: Alfredo Tupone To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Subject: [PATCH] toolchain.eclass: ada related changes Message-ID: <20240425131222.6f76f6ca@alfredo.tupone.it> In-Reply-To: <20240325202322.0d3fb176@alfredo.tupone.it> References: <20240322191222.7089fc95@alfredo.tupone.it> <20240325202322.0d3fb176@alfredo.tupone.it> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.41; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: 44c58c8f-6ce0-4b02-867f-f3d8f89448e8 X-Archives-Hash: 5d02db6a81ed004dbb31c45f5af1ee64 Having received no comments, I would like to add this changes to toolchain.eclass This is less intrusive. The compiler check that was in place in the original email maybe is distruptive. It was checking that the used compiler is ada and version is less or equal. I saw that some gcc versions can be build with a newer compiler. IIRC gcc-13 can build gcc-12 but gcc-11 cannot be built with gcc-12 diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index a5d4345e7fbf..23c57353d702 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -288,38 +288,38 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then IUSE+=" objc-gc" TC_FEATURES+=( objc-gc ) IUSE+=" libssp objc++" # Stop forcing openmp on by default in the eclass. Gradually phase it out. # See bug #890999. if tc_version_is_at_least 13.0.0_pre20221218 ; then IUSE+=" openmp" else IUSE+=" +openmp" fi IUSE+=" fixed-point" IUSE+=" go" IUSE+=" +sanitize" TC_FEATURES+=( sanitize ) IUSE+=" graphite" TC_FEATURES+=( graphite ) - IUSE+=" ada" IUSE+=" vtv" IUSE+=" jit" IUSE+=" +pie +ssp pch" IUSE+=" systemtap" TC_FEATURES+=( systemtap ) tc_version_is_at_least 9.0 && IUSE+=" d" TC_FEATURES+=( d ) + tc_version_is_at_least 9.0 && IUSE+=" ada" TC_FEATURES+=( ada ) tc_version_is_at_least 9.1 && IUSE+=" lto" tc_version_is_at_least 10 && IUSE+=" cet" tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd ) tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind ) tc_version_is_at_least 11 && IUSE+=" custom-cflags" tc_version_is_at_least 12 && IUSE+=" ieee-long-double" tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow" tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-stack-clash-protection" tc_version_is_at_least 13.0.0_pre20221218 ${PV} && IUSE+=" modula2" # See https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615944.html # and https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why # it was disabled in 13. tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust" fi @@ -2495,31 +2495,31 @@ should_we_gcc_config() { # # Also add a hook so special ebuilds (kgcc64) can control which languages # exactly get enabled gcc-lang-supported() { grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || return 1 [[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0 has $1 ${TOOLCHAIN_ALLOWED_LANGS} } _tc_use_if_iuse() { in_iuse $1 && use $1 } is_ada() { gcc-lang-supported ada || return 1 - _tc_use_if_iuse ada + _tc_use_if_iuse cxx && _tc_use_if_iuse ada } is_cxx() { gcc-lang-supported 'c++' || return 1 _tc_use_if_iuse cxx } is_d() { gcc-lang-supported d || return 1 _tc_use_if_iuse d } is_f77() { gcc-lang-supported f77 || return 1 _tc_use_if_iuse fortran