Khem Raj
2822b50c04
layer.conf: Add gatesgarth to LAYERSERIES_COMPAT
...
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2020-10-15 09:28:23 -07:00
Steven Walter
b7f9c1d0d7
Add rust 1.46.0
2020-08-31 14:47:11 -04:00
Martin Jansa
647b976da2
rust: use PARALLEL_MAKE instead of BB_NUMBER_THREADS
...
* BB_NUMBER_THREADS is number of bitbake tasks running in
parallel, not parallelization inside individual tasks
* use oe.utils.parallel_make_argument to make sure it
works even when people add e.g. "-l 10" in PARALLEL_MAKE
* with the recent improvements for rust-native build time, I wanted
to rerun some build time tests from
https://github.com/shr-project/test-oe-build-time
here are the results on AMD Threadripper 3970x with 128GB ram:
BB is BB_NUMBER_THREADS
PM is PARALLEL_MAKE
TIME BB PM Description
20:50 * * zeus based build with 1.37 rust (BB/PM has no impact)
14:50 8 32,48,64 dunfell, 1.43 as in https://github.com/meta-rust/meta-rust/commit/d2ff87ca5545b8081b16ac8f53ed4295593208c6 (PM has no impact, because bootstrap uses BB)
9:50 8 32,48,64 dunfell, 1.43 with this patch applied, it doesn't get faster after some threashold of PM
13:32 8 64 dunfell, 1.43 with this patch applied and "rust.inc: cut build time in half" (https://github.com/meta-rust/meta-rust/commit/afcb58e5b9cbda7efb1c8a12c980cb2f583728bd ) reverted
13:30 8 64 dunfell, 1.43 with "rust.inc: cut build time in half" (https://github.com/meta-rust/meta-rust/commit/afcb58e5b9cbda7efb1c8a12c980cb2f583728bd ) as well as "rust.inc: run bootstrap.py in parallel" (https://github.com/meta-rust/meta-rust/commit/40a6bd8a8d943eff495c7fdeb0bf8452891f6f99 ) reverted to see if 1.43 builds faster without any meta-rust improvements compared to 1.37
94:47 1 64 dunfell, 1.43 as in https://github.com/meta-rust/meta-rust/commit/d2ff87ca5545b8081b16ac8f53ed4295593208c6 (either something went wrong or explicit "-j 1" disables some parallelism done by default already
13:40 * * zeus based build with 1.39 rust (BB/PM has no impact)
10:50 8 64 zeus based build with 1.39 rust as proposed in jansa/new-zeus-branch
80:51 8 1 zeus based build with 1.39 rust as proposed in jansa/new-zeus-branch with "-j 1" PARALLEL_MAKE
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com >
2020-05-28 18:36:04 +02:00
Tyler Hall
8d3f79f217
rust.inc: whitelist BB_NUMBER_THREADS in do_compile
...
d55cce6b8b6b510bf4905f19b949f7995af57a4d added a use of
BB_NUMBER_THREADS which is not whitelisted in Poky. This caused machines
with a different number of CPUs to have different sstate for
rust-native.
2020-05-18 19:10:04 -04:00
Alistair Francis
2c7321dac6
Bump to Rust version 1.43
...
Signed-off-by: Alistair Francis <alistair@alistair23.me >
2020-05-13 22:52:39 -07:00
Steven Walter
afcb58e5b9
rust.inc: cut build time in half
...
Don't tar everything up just to untar it again. This literally takes
longer than actually building the rust compiler
2020-05-11 22:18:35 -04:00
Steven Walter
40a6bd8a8d
rust.inc: run bootstrap.py in parallel
...
Allow bootstrap.py to use as many cores as bitbake normally uses
2020-05-11 22:18:35 -04:00
Steven Walter
c023edd985
rust.inc: make max-atomic-width an integer
...
As a string this was actually being ignored. It mostly didn't matter
because max-atomic-width falls back to target-pointer-size, and they are
usually the same. However, at least on i586, 64-bit atomics are
supported with a 32-bit pointer size.
2020-05-11 22:18:35 -04:00
Steven Walter
3b783652cc
rust-native shouldn't depend on TARGET variables
...
The whole point of rust-native is that it should be common for all
targets. If we reference TARGET variables during the build of
rust-native, then bitbake will build a different version for different
TARGETS.
2020-05-11 16:26:48 -04:00
Colin Finck
5c7f51b6ad
Update to Rust 1.41.0
2020-02-10 11:17:51 +01:00
Colin Finck
e5c2a4085f
Update to Rust and Cargo 1.40.0.
2020-01-06 10:03:13 +01:00
Alistair Francis
72aa4ef3ab
rust: Use Python3 native for build
...
Use Python3 as the native Python instead of Python2.
Signed-off-by: Alistair Francis <alistair@alistair23.me >
2019-12-26 18:46:53 -08:00
Steven Walter
0f950f5e33
Merge pull request #255 from rettichschnidi/update-to-rust-1.39.0
...
Update to Rust 1.39.0
2019-12-15 18:23:50 -05:00
Zubair Lutfullah Kakakhel
186ec59085
rust: Improve TUNE_FEATURE parsing
...
Since https://github.com/openembedded/openembedded-core/commit/ac83d22eb5031f7fdd09d34a1a46d92fd3e39a3c
The armvX arch definition is not present in TUNE_FEATURES but is now in
MACHINEOVERRIDES. Improve parsing so that MACHINEOVERRIDES is also checked.
Fixes #240
Tested on raspberrypi3 with balenaOS which uses rust.
Signed-off-by: Zubair Lutfullah Kakakhel <zubair@balena.io >
2019-11-12 10:39:41 +00:00
Reto Schneider
71895ec5a4
Update to Rust and Cargo 1.39.0
2019-11-08 18:00:16 +01:00
Steven Walter
1cb2ad5543
Merge pull request #249 from ColinFinck/update-to-rust-1.37.0
...
Update to Rust and Cargo 1.37.0.
2019-08-31 13:58:45 -04:00
Colin Finck
afccedc43c
Update to Rust and Cargo 1.37.0.
2019-08-29 11:31:28 +02:00
Alistair Francis
150b1591d6
rust-cross: Add riscv32 data layout information
...
This was generated with:
clang --target=riscv32 -emit-llvm -S -x c /dev/null -o aaa | cat aaa | grep "target datalayout"
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2019-08-23 15:57:29 -07:00
Johan Anderholm
2f323e1e9e
Update to rust and cargo version 1.36.0
2019-08-02 09:35:31 +00:00
Alex Kiernan
2afc6ecef2
rust-llvm: Update LICENSE.TXT checksum
...
License-Update: copyright years refreshed
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com >
2019-06-07 12:10:04 +01:00
Alex Kiernan
4ca5b781dc
rust-source: Update COPYRIGHT checksum
...
License-Update: path names updated (src/llvm => src/llvm-project)
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com >
2019-06-07 12:10:04 +01:00
Takuro Ashie
03f492ab35
Update to rust version 1.34.2
2019-06-06 17:56:39 +09:00
Johan Anderholm
723e24bd9d
Update to rust version 1.33.0
2019-03-02 07:28:09 +00:00
Johan Anderholm
fa0aebc070
Disable http2 in cargo
...
Since 1.31.0 cargo requires curl to support http2. Enabling http2 in
curl results in a dependency loop. This commit disables the use of
multiplexing and http2.
2019-02-15 12:34:37 +00:00
Johan Anderholm
b3d1b589ee
Update to rust version 1.32.0
2019-02-14 15:29:17 +00:00
Johan Anderholm
cb383b0d90
Remove rust 1.27.1
2019-02-14 15:29:17 +00:00
Khem Raj
16d015a481
rust-llvm: Update the sysroot patch to latest from meta-clang
...
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2019-02-13 13:24:23 -08:00
Dan Dedrick
e7c10de555
rust: don't configure thumb if not in TUNE_FEATURES
...
ARM_INSTRUCTION_SET, and therefore ARM_THUMB_OPT also, expect to only be
used in conjunction with the thumb TUNE_FEATURES. So thumb-mode should only
be added if thumb is in TUNE_FEATURES and ARM_THUMB_OPT is thumb.
The commit https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/conf/machine/include/arm/arch-armv7a.inc?id=3e7d26e31a724009e69788460737e07163a14051
caused armv7a.inc to set ARM_INSTRUCTION_SET to thumb and the commit
message explicitly states that the change should have no effect unless
TUNE_FEATURES also includes thumb. This change to rust will allow that
assumption to continue to be true.
2019-01-14 15:58:54 -05:00
Johan Anderholm
496b75fa1f
Update to rust version 1.31.1
...
Also make use of the sources vendored in the rustc package instead of
letting bitbake download the sources.
2019-01-03 17:31:46 +01:00
Khem Raj
bf01840f5b
rust-cross: Add riscv64 data layout information
...
clang --target=riscv64 -emit-llvm -S -x c /dev/null -o aaa | cat aaa | grep "target datalayout"
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-12-26 14:52:22 -08:00
Khem Raj
1b00814593
rust-cross: Add mips64 data layout llvm specifications
...
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-12-26 14:52:22 -08:00
Khem Raj
68d6bce609
rust-cross: Add ppc support
...
This ensures that rust-cross can be compiled for ppc arch
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-12-26 14:52:18 -08:00
Khem Raj
665213a13d
libstd-rs: Depend on libunwind on musl builds
...
musl builds need libunwind.a to be in sysroot for libstd-rs to build
unwinding support into it. This also means we need to compile libunwind
with --enable-static in oe-core
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-12-05 16:13:21 -08:00
Khem Raj
446d28d6e1
rust: Use llvm-rust-native and env variables to configure llvm-config
...
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-11-09 22:53:49 -08:00
Khem Raj
b15ba05ea8
rust-llvm: Make llvm-config cross compile friendly
...
Import patches from clang layer to ensure that llvm-config
can be provided configs from environment
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-11-09 22:52:05 -08:00
Khem Raj
e04d99bf38
rust-llvm: Fix build with OE-core master
...
Disable libxml2 explicitly
Disable building hosttools on target build
Signed-off-by: Khem Raj <raj.khem@gmail.com >
2018-11-02 15:05:17 -07:00
Steven Walter
5a9933dd46
rust-llvm: correctly disable assertions
...
We were already trying to disable assertions, but it wasn't working.
rust-llvm now configures assertions based on the CMAKE_BUILD_TYPE.
Setting that to "Release" causes assertions to be disabled, which is
what we want.
2018-08-08 12:37:17 -04:00
Johan Anderholm
bbf4f77f98
Bump to Rust 1.27.1
2018-07-18 08:15:34 +02:00
Steven Walter
8b471a1bdc
libstd-rs: use a separate variable for --features
...
This will allow features to be easily modified through a bbappend file
in another layer.
2018-07-16 09:09:10 -04:00
Steven Walter
cef09a5551
libstd-rs: support debug builds
2018-07-12 11:03:16 -04:00
Johan Anderholm
8e6c6271fc
Handle env and llvm-target for musl
...
Further changes needed for musl to work.
env needs to be set to "musl" for unwinding work properly.
Also the llvm target should end with "-musl" and not "-gnu".
2018-07-06 19:34:33 +02:00
Johan Anderholm
6066f1d2df
Corrected target-c-int-width
...
The correct value for x86_64 and aarch64 is 32
2018-07-06 19:34:33 +02:00
Johan Anderholm
6a0d148968
Make it possible to build with TCLIBC="musl" (musl as libc)
2018-07-06 19:34:33 +02:00
Johan Anderholm
e1fa6d39ce
Don't install rust-llvm system-wide
...
Put rust-llvm into a directory of it's own. This avoids conflicts
between the official llvm and rusts temporary one. It solves
interoperability issues with meta-clang.
Use /usr/lib/llvm-rust/ as prefix because that matches what llvm does
themselves on debian and ubuntu.
2018-07-06 19:30:36 +02:00
Johan Anderholm
03d8fb472c
Bump to Rust 1.26.2
...
Remove old versions because they are not compatible with the changes in
rust-common.bbclass
2018-06-16 09:50:47 +02:00
Jonathan Creekmore
575016d11d
Remove Rust 1.24.0 in favor of 1.24.1
...
The Rust maintainers released 1.24.1 because several minor regressions
were found in the 1.24.0 release that collectively merited an updated
release.
2018-03-02 12:59:28 -06:00
Adam Schwalm
0639277e4c
Add 1.24.0 for rocko
2018-02-27 16:19:12 -06:00
Andrei Gherzan
69ae1df12e
libstd-rs: Set SONAME for libstd.so
...
When yocto is searching for lib dependencies it uses SONAMES and RPATHS to find
the right one. When we compile a rust package which dynamically links to rust's
libstd, yocto will not be able to find the matching dependency in shlib and
will complain with a warning. Even worse, if you have compiled go-runtime, the
build will find go-runtime as provider of libstd and will complain that you
missed a RDEPENDS to go-runtime - this is completely wrong obviously.
This patch adds SONAME to rust's stdlib. In this way yocto will create the
required provider and packages dynamically linking to it will be able to find
libstd-rs as a provider of stdlib.
Signed-off-by: Andrei Gherzan <andrei@resin.io >
2018-02-26 17:43:09 +00:00
Derek Straka
a19993c804
Merge branch 'master' into panic-strategy
2018-01-26 08:28:06 -05:00
Tyler Hall
52ea673a8f
rust: allow configuring panic-strategy
...
This defaults to "unwind" if not set, so this alone has no effect.
Signed-off-by: Tyler Hall <tylerwhall@gmail.com >
2018-01-23 17:54:15 -05:00