640 Commits

Author SHA1 Message Date
Steven Walter
8b0b52d5b3 Merge pull request #221 from stfl/sumo_cargo_22
libstd don't fail if incremental build files don't exist (sumo)
2018-12-05 11:12:38 -05:00
Stefan Lendl
1587d5b8dc libstd don't fail if incremental build files don't exist (sumo) 2018-12-05 15:48:38 +01:00
Derek Straka
3efa0f069f Update Jenkins file to point to sumo branches
Signed-off-by: Derek Straka <derek@asterius.io>
2018-05-22 09:44:21 -04:00
Derek Straka
7cfa3db4f6 Merge pull request #194 from agherzan/ag_compat
layer.conf: Define LAYERSERIES_COMPAT to fix build warning
2018-05-22 09:41:30 -04:00
Derek Straka
63aa6db53a Merge pull request #196 from srwalter/devtool
cargo_common.bbclass: improve operation with devtool
2018-05-20 11:21:49 -04:00
Steven Walter
48e2a7db25 cargo_common.bbclass: improve operation with devtool
Because devtool inhibits all the normal bitbake fetchers, we can't mask crates.io.
Use EXTERNALSRC to detect if we're being built with devtool, and only mask
crates.io if we're not.

Fixes #195
2018-05-19 10:16:55 -04:00
Andrei Gherzan
ab62d9cdbf layer.conf: Define LAYERSERIES_COMPAT to fix build warning
Signed-off-by: Andrei Gherzan <andrei@resin.io>
2018-05-14 18:24:55 +01:00
Derek Straka
22d72b3be6 Merge pull request #190 from jcreekmore/add-rust-1.24.1
Remove Rust 1.24.0 in favor of 1.24.1
2018-03-05 08:32:00 -05: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
Derek Straka
8203dce091 Merge pull request #188 from jcreekmore/rust-1.24.0-rocko
Add rust version 1.24.0
2018-03-01 08:07:49 -05:00
Adam Schwalm
0639277e4c Add 1.24.0 for rocko 2018-02-27 16:19:12 -06:00
Derek Straka
5a9c23fac4 Merge pull request #189 from agherzan/fix-soname
libstd-rs: Set SONAME for libstd.so
2018-02-27 07:54:03 -05: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
17cc34c9c8 Merge pull request #185 from tylerwhall/panic-strategy
rust: allow configuring panic-strategy
2018-01-27 09:46:35 -05:00
Derek Straka
a19993c804 Merge branch 'master' into panic-strategy 2018-01-26 08:28:06 -05:00
Tyler Hall
03c0338cab Merge pull request #184 from bkylerussell/rm-do-compile
rust-llvm: remove custom do_compile
2018-01-24 13:45:24 -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
Kyle Russell
4c7cbf6a60 rust-llvm: remove custom do_compile
This works out in recent poky releases because cmake_do_compile ends up
in oe_runmake via base_do_compile, but this changed recently to allow
cmake's generic `cmake --build` feature to call the appropriate
generator instead of always assuming make.

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit?id=579d17ba5f722edb9fe79682480c4a9508ad0ed4
2018-01-23 17:31:43 -05:00
Derek Straka
8f46fe3e97 Merge pull request #182 from Fulkerson/master
Add support for the mips32 architecture
2017-12-03 14:43:32 -05:00
Johan Anderholm
c65375f14f Jenkinsfile: Add qemumips machine 2017-12-02 08:39:09 +01:00
Johan Anderholm
f02df59eea Add support for the mips32 architecture
Support for mips32 big (mips) and little endian (mipsel) for mips32
and mips32r2 cpus. The big endian target can be verified with the
qemumips machine.
2017-12-01 19:36:15 +01:00
Johan Anderholm
141177fbf9 rust: specify target-c-int-width
The "target_c_int_width field is added to librustc_back since rust
1.22.0 because not all rust targets (e.g. msp430-none-elf, avr)
have 32-bit int types any more.
2017-11-27 15:48:54 -06:00
Steven Walter
fa4f4f9c1a Merge pull request #180 from srwalter/stable-sstate-hashes
Make rustc output reproducible
2017-11-08 10:17:21 -05:00
Steven Walter
7f7156b664 Merge branch 'master' into stable-sstate-hashes 2017-11-08 09:42:06 -05:00
Derek Straka
af5491692e Merge pull request #179 from meta-rust/add-debug-to-build-script
Add debug information to troubleshoot jenkins issues
2017-11-03 16:00:43 -04:00
Derek Straka
ab57e94e2c Don't bother erroring out if the rsync fails
Signed-off-by: Derek Straka <derek@asterius.io>
2017-11-03 13:50:12 -04:00
Derek Straka
6965038dee Add debug information to troubleshoot jenkins issues
Signed-off-by: Derek Straka <derek@asterius.io>
2017-11-03 13:50:12 -04:00
Tyler Hall
e5230147f6 Remap source paths
This is needed for reproducible builds.
2017-11-03 12:41:51 -04:00
Tyler Hall
528a34206b rustc: always allow unstable options 2017-11-03 12:41:51 -04:00
Tyler Hall
434f7851f5 Fix path substitution 2017-11-03 12:41:51 -04:00
Steven Walter
5b1b95772e Merge pull request #178 from srwalter/rust-bin-fixes
rust-bin.bbclass fixes
2017-11-03 12:41:31 -04:00
Tyler Hall
81ea9f2d2c bitflags: update to 0.8.2 and Rust 1.20 compat
0.8.2 is the last version before the breaking "flags" keyword change.

For now, no_std crates need to be rlibs because rustc complains about
missing lang items on dylibs even though it would eventually be resolved
in the final link.

Ignore pub_use_of_private_extern_crate as there exists no version with
this fixed that uses the old API.
2017-11-03 09:57:21 -04:00
Tyler Hall
d4755fc065 time-rs: update 0.1.26 -> 0.1.38
This version does not need the C helpers.
2017-11-03 09:57:21 -04:00
Tyler Hall
533507b25b libc-rs: update to 0.2.21
Signed-off-by: Tyler Hall <tyler.hall@lexmark.com>
Signed-off-by: Steven Walter <swalter@lexmark.com>
2017-11-03 09:57:21 -04:00
Steven Walter
ad9f280e6c Allow various recipes to build -native 2017-11-03 09:57:19 -04:00
Steven Walter
c60b799c11 Allow native variants of rust recipes to build 2017-11-02 16:41:58 -04:00
Tyler Hall
463622c0c6 rust-bin: use linker to set rpath
Patchelf should be reserved for when the ELF cannot be generated
correctly in the first place. This is not the case here because we have
control over the linker flags. The limitation is that -C link-args can
only be specified once, so consolidate the generation of link-args. Also
introduce some new intermediate variables in link-args generation for
customization.

Patchelf was running only in ${PKGD} because patching the ELF in ${D}
would cause objcopy to fail when splitting the debug sections. This is
not a problem when setting it correctly in the linker. The benefit is
that the rpath is correct in the sysroot as well.

This also switches the rpaths to be relative so that they work in both
the sysroot and the target in the same way.

Signed-off-by: Tyler Hall <tyler.hall@lexmark.com>
Signed-off-by: Steven Walter <swalter@lexmark.com>
2017-11-02 16:41:58 -04:00
Tyler Hall
172a226259 rust-bin: use linker wrapper
Commit 864fe95 ("classes: create proper compiler and linker wrappers")
introduced wrapper scripts for the OE toolchain. Specifying the sysroot
manually ceased to function in rust-bin, so use the wrapper where rustc
is called directly.

This should be more reliable than trying to repeat what OE puts in the
$CC variable.
2017-11-02 16:41:58 -04:00
Tyler Hall
c83864ce19 rust-bin: get RUST_TARGET_PATH from rust-common
Since commit 06a138a ("rust: drop custom target finding patch"), rustc
is no longer self-sufficient in finding its target specifications. Any
usage of rustc needs RUST_TARGET_PATH set in the environment.

Move the declaration to rust-common.bbclass and add the export to
rust-bin where rustc is invoked.
2017-11-02 16:41:58 -04:00
Derek Straka
bd80824ddf Merge pull request #177 from jcreekmore/rust-1.21.0
support Rust 1.21.0 and Cargo 0.22.0
2017-11-02 10:46:30 -04:00
Jonathan Creekmore
b28674a452 support Rust 1.21.0 and Cargo 0.22.0 2017-10-31 16:45:30 -05:00
Derek Straka
9383b2d572 Merge pull request #174 from cardoe/drop-1.15
drop Rust 1.15.1 / Cargo 0.16
2017-10-23 10:39:17 -04:00
Doug Goldstein
d231fcb708 drop Rust 1.15.1 / Cargo 0.16 2017-10-10 11:22:26 -05:00
Will Newton
7f80e6d68b cargo.bbclass: Avoid bashism in cargo_do_install
The double square brackets are an extension to POSIX so are not
available in some shells. Use a case statement instead.
2017-10-03 22:28:24 -05:00
Doug Goldstein
a1cd215131 Merge pull request #167 from meta-rust/add-correct-layer-config
layer.conf: add the openembedded-layer to the depends since we use libgit2 from there
2017-10-03 22:00:31 -05:00
Derek Straka
34941a25e9 Always allow the clean-up to succeed
Signed-off-by: Derek Straka <derek@asterius.io>
2017-10-03 10:35:17 -04:00
Derek Straka
9b0dc6b3af layer.conf: add the openembedded-layer to the depends since we use libgit2 from there
Signed-off-by: Derek Straka <derek@asterius.io>
2017-10-03 10:35:17 -04:00
Derek Straka
afe7e94a6e Merge pull request #169 from Fulkerson/rust-1.20.0
bump to Rust 1.20.0 and Cargo 0.21
2017-10-03 10:33:56 -04:00
Johan Anderholm
37813c4dff rust: Don't specify allocator for >= 1.20.0
System allocator is the default in rust.
2017-09-30 11:23:29 +02:00
Johan Anderholm
2fd83daa46 libstd: correct path to COPYRIGHT 2017-09-30 11:22:58 +02:00