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"
 }
 

Reply via email to