All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/rust: disable ninja
@ 2021-02-17 23:24 Romain Naour
  2021-02-18 19:00 ` Arnout Vandecappelle
  2021-02-20 16:03 ` Yann E. MORIN
  0 siblings, 2 replies; 5+ messages in thread
From: Romain Naour @ 2021-02-17 23:24 UTC (permalink / raw)
  To: buildroot

Ninja has recently be enabled as the default build system to build
llvm fork for rust compiler [1]. But we can still use Make if
"ninja = false" is provided in config.toml.

Ninja support can be enabled by a following patch.

[1] https://github.com/rust-lang/rust/commit/30b7dac745b1555cd96f41977f7d24435cbe7fa2

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1019386205

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/rust/rust.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/rust/rust.mk b/package/rust/rust.mk
index 798450e04e..a38a3d64f5 100644
--- a/package/rust/rust.mk
+++ b/package/rust/rust.mk
@@ -65,6 +65,8 @@ define HOST_RUST_CONFIGURE_CMDS
 		echo 'channel = "stable"'; \
 		echo '[target.$(RUSTC_TARGET_NAME)]'; \
 		echo 'cc = "$(TARGET_CROSS)gcc"'; \
+		echo '[llvm]'; \
+		echo 'ninja = false'; \
 	) > $(@D)/config.toml
 endef
 
-- 
2.29.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/rust: disable ninja
  2021-02-17 23:24 [Buildroot] [PATCH] package/rust: disable ninja Romain Naour
@ 2021-02-18 19:00 ` Arnout Vandecappelle
  2021-02-18 20:32   ` Romain Naour
  2021-02-20 16:03 ` Yann E. MORIN
  1 sibling, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2021-02-18 19:00 UTC (permalink / raw)
  To: buildroot



On 18/02/2021 00:24, Romain Naour wrote:
> Ninja has recently be enabled as the default build system to build
> llvm fork for rust compiler [1]. But we can still use Make if
> "ninja = false" is provided in config.toml.
> 
> Ninja support can be enabled by a following patch.
> 
> [1] https://github.com/rust-lang/rust/commit/30b7dac745b1555cd96f41977f7d24435cbe7fa2

 That commit reports a speedup of about 2 minutes in build time (on a highly
parallel system). I guess that on a lowlier system, the build time will still
improve by more than the 10 seconds it takes to build ninja...

 So I'd propose to instead just add

HOST_RUST_DEPENDENCIES += ninja

 (Note that long-term, I'd like to switch to ninja build for CMake packages in
general. Not that rust is a cmake package, but llvm is.)

 Regards,
 Arnout

> 
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/1019386205
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/rust/rust.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 798450e04e..a38a3d64f5 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -65,6 +65,8 @@ define HOST_RUST_CONFIGURE_CMDS
>  		echo 'channel = "stable"'; \
>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
>  		echo 'cc = "$(TARGET_CROSS)gcc"'; \
> +		echo '[llvm]'; \
> +		echo 'ninja = false'; \
>  	) > $(@D)/config.toml
>  endef
>  
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/rust: disable ninja
  2021-02-18 19:00 ` Arnout Vandecappelle
@ 2021-02-18 20:32   ` Romain Naour
  2021-02-19  8:24     ` Arnout Vandecappelle
  0 siblings, 1 reply; 5+ messages in thread
From: Romain Naour @ 2021-02-18 20:32 UTC (permalink / raw)
  To: buildroot

Hello Arnout,

Le 18/02/2021 ? 20:00, Arnout Vandecappelle a ?crit?:
> 
> 
> On 18/02/2021 00:24, Romain Naour wrote:
>> Ninja has recently be enabled as the default build system to build
>> llvm fork for rust compiler [1]. But we can still use Make if
>> "ninja = false" is provided in config.toml.
>>
>> Ninja support can be enabled by a following patch.
>>
>> [1] https://github.com/rust-lang/rust/commit/30b7dac745b1555cd96f41977f7d24435cbe7fa2
> 
>  That commit reports a speedup of about 2 minutes in build time (on a highly
> parallel system). I guess that on a lowlier system, the build time will still
> improve by more than the 10 seconds it takes to build ninja...

Yes, but the rust package was using Make build system until recently. I'm not
sure if we should switch to ninja for 2021.02 release.

> 
>  So I'd propose to instead just add
> 
> HOST_RUST_DEPENDENCIES += ninja

You mean host-ninja

> 
>  (Note that long-term, I'd like to switch to ninja build for CMake packages in
> general. Not that rust is a cmake package, but llvm is.)

That was already suggested long time ago but the benefit was rather small at
that time:

http://patchwork.ozlabs.org/project/buildroot/patch/20170106223748.2203-1-cedric.marie at openmailbox.org/

Best regards,
Romain


> 
>  Regards,
>  Arnout
> 
>>
>> Fixes:
>> https://gitlab.com/buildroot.org/buildroot/-/jobs/1019386205
>>
>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>> Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>> ---
>>  package/rust/rust.mk | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
>> index 798450e04e..a38a3d64f5 100644
>> --- a/package/rust/rust.mk
>> +++ b/package/rust/rust.mk
>> @@ -65,6 +65,8 @@ define HOST_RUST_CONFIGURE_CMDS
>>  		echo 'channel = "stable"'; \
>>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
>>  		echo 'cc = "$(TARGET_CROSS)gcc"'; \
>> +		echo '[llvm]'; \
>> +		echo 'ninja = false'; \
>>  	) > $(@D)/config.toml
>>  endef
>>  
>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/rust: disable ninja
  2021-02-18 20:32   ` Romain Naour
@ 2021-02-19  8:24     ` Arnout Vandecappelle
  0 siblings, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2021-02-19  8:24 UTC (permalink / raw)
  To: buildroot



On 18/02/2021 21:32, Romain Naour wrote:
> Hello Arnout,
> 
> Le 18/02/2021 ? 20:00, Arnout Vandecappelle a ?crit?:
>>
>>
>> On 18/02/2021 00:24, Romain Naour wrote:
>>> Ninja has recently be enabled as the default build system to build
>>> llvm fork for rust compiler [1]. But we can still use Make if
>>> "ninja = false" is provided in config.toml.
>>>
>>> Ninja support can be enabled by a following patch.
>>>
>>> [1] https://github.com/rust-lang/rust/commit/30b7dac745b1555cd96f41977f7d24435cbe7fa2
>>
>>  That commit reports a speedup of about 2 minutes in build time (on a highly
>> parallel system). I guess that on a lowlier system, the build time will still
>> improve by more than the 10 seconds it takes to build ninja...
> 
> Yes, but the rust package was using Make build system until recently. I'm not
> sure if we should switch to ninja for 2021.02 release.

 True.

> 
>>
>>  So I'd propose to instead just add
>>
>> HOST_RUST_DEPENDENCIES += ninja
> 
> You mean host-ninja
> 
>>
>>  (Note that long-term, I'd like to switch to ninja build for CMake packages in
>> general. Not that rust is a cmake package, but llvm is.)
> 
> That was already suggested long time ago but the benefit was rather small at
> that time:
> 
> http://patchwork.ozlabs.org/project/buildroot/patch/20170106223748.2203-1-cedric.marie at openmailbox.org/

 At the time, host-ninja still depended on host-python{,3}. This is no longer
the case. Now the overhead of host-ninja is just about 10s, so IMHO it's worth
it if it can shave off a minute off the build time of a large package.

 Regards,
 Arnout


> 
> Best regards,
> Romain
> 
> 
>>
>>  Regards,
>>  Arnout
>>
>>>
>>> Fixes:
>>> https://gitlab.com/buildroot.org/buildroot/-/jobs/1019386205
>>>
>>> Signed-off-by: Romain Naour <romain.naour@gmail.com>
>>> Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
>>> ---
>>>  package/rust/rust.mk | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
>>> index 798450e04e..a38a3d64f5 100644
>>> --- a/package/rust/rust.mk
>>> +++ b/package/rust/rust.mk
>>> @@ -65,6 +65,8 @@ define HOST_RUST_CONFIGURE_CMDS
>>>  		echo 'channel = "stable"'; \
>>>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
>>>  		echo 'cc = "$(TARGET_CROSS)gcc"'; \
>>> +		echo '[llvm]'; \
>>> +		echo 'ninja = false'; \
>>>  	) > $(@D)/config.toml
>>>  endef
>>>  
>>>
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] package/rust: disable ninja
  2021-02-17 23:24 [Buildroot] [PATCH] package/rust: disable ninja Romain Naour
  2021-02-18 19:00 ` Arnout Vandecappelle
@ 2021-02-20 16:03 ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2021-02-20 16:03 UTC (permalink / raw)
  To: buildroot

Romain, All,

On 2021-02-18 00:24 +0100, Romain Naour spake thusly:
> Ninja has recently be enabled as the default build system to build
> llvm fork for rust compiler [1]. But we can still use Make if
> "ninja = false" is provided in config.toml.
> 
> Ninja support can be enabled by a following patch.
> 
> [1] https://github.com/rust-lang/rust/commit/30b7dac745b1555cd96f41977f7d24435cbe7fa2
> 
> Fixes:
> https://gitlab.com/buildroot.org/buildroot/-/jobs/1019386205
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>

Applied to master, thanks.

If you have time, it would be great to investigate switching the cmake
backend to ninja.

Regards,
Yann E. MORIN.

> ---
>  package/rust/rust.mk | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/rust/rust.mk b/package/rust/rust.mk
> index 798450e04e..a38a3d64f5 100644
> --- a/package/rust/rust.mk
> +++ b/package/rust/rust.mk
> @@ -65,6 +65,8 @@ define HOST_RUST_CONFIGURE_CMDS
>  		echo 'channel = "stable"'; \
>  		echo '[target.$(RUSTC_TARGET_NAME)]'; \
>  		echo 'cc = "$(TARGET_CROSS)gcc"'; \
> +		echo '[llvm]'; \
> +		echo 'ninja = false'; \
>  	) > $(@D)/config.toml
>  endef
>  
> -- 
> 2.29.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-20 16:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-17 23:24 [Buildroot] [PATCH] package/rust: disable ninja Romain Naour
2021-02-18 19:00 ` Arnout Vandecappelle
2021-02-18 20:32   ` Romain Naour
2021-02-19  8:24     ` Arnout Vandecappelle
2021-02-20 16:03 ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.