diff mbox series

build: Use of cargo not yet supported here in Canadian cross configurations (was: [PATCH] build: Check for cargo when building rust language)

Message ID 87wmoylrrg.fsf@euler.schwinge.ddns.net
State New
Headers show
Series build: Use of cargo not yet supported here in Canadian cross configurations (was: [PATCH] build: Check for cargo when building rust language) | expand

Commit Message

Thomas Schwinge April 15, 2024, 12:44 p.m. UTC
Hi!

On 2024-04-15T13:14:42+0200, I wrote:
> On 2024-04-08T18:33:38+0200, pierre-emmanuel.patry@embecosm.com wrote:
>> The rust frontend requires cargo to build some of it's components,
>
> In GCC upstream still: 's%requires%is going to require'.  ;-)
>
>> it's presence was not checked during configuration.
>
> After confirming the desired semantics/diagnostics, I've now pushed this
> to trunk branch in commit 3e1e73fc99584440e5967577f2049573eeaf4596
> "build: Check for cargo when building rust language".

On top of that, OK to push the attached
"build: Use of cargo not yet supported here in Canadian cross configurations"?


Grüße
 Thomas

Comments

Pierre-Emmanuel Patry April 15, 2024, 4:36 p.m. UTC | #1
Hello,

On 4/15/24 2:44 PM, Thomas Schwinge wrote:
> On top of that, OK to push the attached
> "build: Use of cargo not yet supported here in Canadian cross configurations"?

This additional patch looks good. I wonder whether we should enable 
canadian cross in the future with cargo or simply wait for gcc to be 
able to compile those components entirely.

Regards,
Arthur Cohen April 16, 2024, 8:55 a.m. UTC | #2
Hi Thomas,

On 4/15/24 14:44, Thomas Schwinge wrote:
> Hi!
> 
> On 2024-04-15T13:14:42+0200, I wrote:
>> On 2024-04-08T18:33:38+0200, pierre-emmanuel.patry@embecosm.com wrote:
>>> The rust frontend requires cargo to build some of it's components,
>>
>> In GCC upstream still: 's%requires%is going to require'.  ;-)
>>
>>> it's presence was not checked during configuration.
>>
>> After confirming the desired semantics/diagnostics, I've now pushed this
>> to trunk branch in commit 3e1e73fc99584440e5967577f2049573eeaf4596
>> "build: Check for cargo when building rust language".
> 
> On top of that, OK to push the attached
> "build: Use of cargo not yet supported here in Canadian cross configurations"?

Patch looks good, thanks :) Do you want me to propagate the change to 
our development repo or would you like to open a pull-request yourself?

Best,

Arthur

> 
> 
> Grüße
>   Thomas
> 
>
diff mbox series

Patch

From eb38990b4147951dd21f19def43072368f782af5 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <tschwinge@baylibre.com>
Date: Mon, 15 Apr 2024 14:27:45 +0200
Subject: [PATCH] build: Use of cargo not yet supported here in Canadian cross
 configurations

..., until <https://github.com/Rust-GCC/gccrs/issues/2898>
"'cargo' should build for the host system" is resolved.

Follow-up to commit 3e1e73fc99584440e5967577f2049573eeaf4596
"build: Check for cargo when building rust language".

	* configure.ac (have_cargo): Force to "no" in Canadian cross
	configurations
	* configure: Regenerate.
---
 configure    | 13 +++++++++++++
 configure.ac | 12 ++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/configure b/configure
index e254aa132b5..e59a870b2bd 100755
--- a/configure
+++ b/configure
@@ -9179,6 +9179,19 @@  $as_echo "$as_me: WARNING: --enable-host-shared required to build $language" >&2
           ;;
         esac
 
+        # Pre-conditions to consider whether cargo being supported.
+        if test x"$have_cargo" = xyes \
+          && test x"$build" != x"$host"; then
+          # Until <https://github.com/Rust-GCC/gccrs/issues/2898>
+          # "'cargo' should build for the host system" is resolved:
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: use of cargo not yet supported here in Canadian cross configurations" >&5
+$as_echo "$as_me: WARNING: use of cargo not yet supported here in Canadian cross configurations" >&2;}
+          have_cargo=no
+        else
+          # Assume that cargo-produced object files are compatible with what
+          # we're going to build here.
+          :
+        fi
         # Disable Rust if cargo is unavailable.
         case ${add_this_lang}:${language}:${have_cargo} in
           yes:rust:no)
diff --git a/configure.ac b/configure.ac
index 87205d0ac1f..4ab54431475 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2306,6 +2306,18 @@  directories, to avoid imposing the performance cost of
           ;;
         esac
 
+        # Pre-conditions to consider whether cargo being supported.
+        if test x"$have_cargo" = xyes \
+          && test x"$build" != x"$host"; then
+          # Until <https://github.com/Rust-GCC/gccrs/issues/2898>
+          # "'cargo' should build for the host system" is resolved:
+          AC_MSG_WARN([use of cargo not yet supported here in Canadian cross configurations])
+          have_cargo=no
+        else
+          # Assume that cargo-produced object files are compatible with what
+          # we're going to build here.
+          :
+        fi
         # Disable Rust if cargo is unavailable.
         case ${add_this_lang}:${language}:${have_cargo} in
           yes:rust:no)
-- 
2.34.1