239 Commits

Author SHA1 Message Date
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 b84c61eb85 Revert "cargo: fix progress output"
This reverts commit dd0fc89389.
2020-05-12 10:22:06 -04:00
Steven Walter dd0fc89389 cargo: fix progress output
This patch got dropped from the new cargo version
2020-05-11 22:18:35 -04: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 4a763a2301 Update 0001-Disable-http2.patch for cargo 1.41.0 2020-02-11 17:11:14 +01:00
Colin Finck 5c7f51b6ad Update to Rust 1.41.0 2020-02-10 11:17:51 +01:00
Steven Walter d8d77be129 Merge pull request #259 from ColinFinck/update-to-rust-1.40.0
Update to Rust 1.40.0
2020-02-08 12:25:27 -05:00
Steven Walter dbf68d40b3 Merge pull request #257 from alistair23/alistair/python3-update
rust: Use Python3 native for build
2020-02-08 11:36:06 -05:00
Alex Kiernan 837b63596d cargo: Refresh http2 disable patch
Fixes:

  WARNING: Fuzz detected:

  checking file Cargo.toml
  Hunk #1 succeeded at 24 with fuzz 1.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2020-01-12 20:38:18 +00:00
Colin Finck 2668f6afd3 Update 0001-Disable-http2.patch for Cargo shipped with Rust 1.40.0 2020-01-06 10:55:39 +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 11aed43748 cargo-1.37.0: fix patch fuzz
Regenerate context lines with devtool.  This fixes a patch-fuzz warning
2019-08-31 13:58:55 -04: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 bcbe02f6ac cargo: Fix patch fuzz
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2019-06-07 12:10:04 +01: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
Andrei Gherzan 4a88247046 cargo: Refresh patch to avoid build warning
Signed-off-by: Andrei Gherzan <andrei@balena.io>
2019-04-17 16:44:58 +01: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
Johan Anderholm 9952633163 Use cargo version shipped with rust source
The source of cargo used in a release is shipped with the rust source.
Use this instead of the source from github to make sure cargo and rust
are always kept in sync.

This also makes updating rust version a bit easier.
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
Derek Straka 50828f8af2 Merge branch 'master' into master 2018-11-12 10:11:32 -05: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
Otavio Salvador f54025fed9 cargo: Add 0.31.0 recipe
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-09 08:06:29 -02:00
Otavio Salvador f317737fae cargo: Ensure libssh2 from system is used
This forces the use of libssh2 by exporting the
LIBSSH2_SYS_USE_PKG_CONFIG environment variable.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-05 14:33:01 -02: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