commit: 148b773c86ce9a1b6e97fadde809652938236c59
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 16:24:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 16:30:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=148b773c
toolchain.eclass: only make gnat* tool wrappers for native builds
Only make the wrappers for native builds. For cross, we can't
do it as CBUILD vs CHOST will get mixed up then.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c59f1246459f..51704a7f5fbf 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1085,19 +1085,26 @@ toolchain_setup_ada() {
# Create bin wrappers because not all of the build system respects
# GNATBIND or GNATMAKE.
- mkdir "${T}"/ada-wrappers || die
- local tool
- for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
- cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
- #!/bin/sh
- exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@"
- EOF
+ _toolchain_make_gnat_wrappers() {
+ mkdir "${T}"/ada-wrappers || die
+ local tool
+ for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ;
do
+ cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
+ #!/bin/sh
+ exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@"
+ EOF
+
+ export "${tool^^}"="${T}"/ada-wrappers/${tool}
+ done
+ chmod +x
"${T}"/ada-wrappers/gnat{,bind,chop,clean,kr,link,ls,make,name,prep} || die
- export "${tool^^}"="${T}"/ada-wrappers/${tool}
- done
- chmod +x
"${T}"/ada-wrappers/gnat{,bind,chop,clean,kr,link,ls,make,name,prep} || die
+ export PATH="${T}/ada-wrappers:${old_path}"
+ }
+
+ # Only make the wrappers for native builds. For cross, we can't
+ # do it as CBUILD vs CHOST will get mixed up then.
+ ! tc-is-cross-compiler && _toolchain_make_gnat_wrappers
- export PATH="${T}/ada-wrappers:${old_path}"
export CC="$(tc-getCC) -specs=${T}/ada.spec"
}