18 Commits

Author SHA1 Message Date
Doug Goldstein 343ac47093 rust: strip whitespace from features
This whitespace in here causes rust to not be happy with the features
and throw warnings about a feature such as ' +sse3' being unsupported
when '+sse3' works just fine. Amazingly will cause rustc to abort when
you try to resolve the features to valid configs with the `--print` arg
to rustc.

(cherry picked from commit ce9949725c)
2016-11-08 19:52:32 -06:00
Derek Straka f861211e50 rust: remove the symlinks and libs installed directly into libdir (#17)
Signed-off-by: Derek Straka <derek@asterius.io>
2016-04-22 10:25:06 -05:00
Doug Goldstein 248c0afe62 rust: set our release channel appropriately
We're always building a stable release so we should be setting our
release channel appropriately.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:56:22 -05:00
Doug Goldstein 07f672a0c3 rust: remove --enable-debuginfo
Without this we cannot set 'eliminate-frame-pointer' in our target spec.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:03 -05:00
Doug Goldstein 42df692ce6 rust: update to the proper snapshot
Rust 1.7.0 uses a snapshot from 2015-12-18 and not 2015-08-11. Without
this change Rust will fetch the snapshot during the build process which
will fail on Yocto builds that disable network outside of the fetch
phase.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein 83ba5f85f4 rust: add missing 'ar' to target spec
We need to make sure we're using the cross compiling ar instead of the
system one.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein 73e05f4b26 rust: add support for x86 features
The existing feature parsing is specific to ARM so we need to add
support for x86. This is a little more generic since the variable we
parse is changed if we're building for the host, cross or actual target.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-10 22:54:02 -05:00
Doug Goldstein 4ed32e53f2 rust: generate an appropriate cpu for targets
This generates an appropriate CPU value for the targets. For ARM it
leaves the default of 'generic' since we build up all the different CPU
differences in the 'features' field but for x86/x86_64 we need to pass
an appropriate CPU value.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 09:31:59 -05:00
Doug Goldstein 71ac5fa78e rust: fix target generation add 'has-elf-tls'
This field defaults to false but for all of our targets it should be
true.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 08:47:38 -05:00
Doug Goldstein 7ebb23fad9 rust: fix target generation add 'env'
This field defaults to the empty string but for all of our targets it
should be set to GNU.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-07 08:47:18 -05:00
Doug Goldstein 45fefb3296 rust: use Python JSON instead of string handling
The code previously wrote out a JSON file but used basic string handling
instead of the Python JSON library. Its cleaner to use the Python JSON
library.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 15:50:21 -05:00
Doug Goldstein 1a4261c21a rust: drop duplicate variable assignment
prefix_for() and the deleted line are identical.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 14:00:08 -05:00
Doug Goldstein 37328c61c8 rust: use rust-installer's way of disabling ldconfig
Instead of patching in a disable ldconfig argument, just use the way
exposed by the rust-installer scripts to disable running ldconfig.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:35 -05:00
Doug Goldstein 218774055f rust: drop adding --enable-new-dtags
--enable-new-dtags is the default since Rust 1.7.0 due to
rust-lang/rust#30378.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:34 -05:00
Doug Goldstein edd628c138 rust: drop unnecessary data layout targets
Since Rust 1.3.0
(rust-lang/rust@958d563825) it has been
unnecessary to provide the data layout in targets. Additionally the data
layouts in this repo created LLVM IR on x86_64 that was differing from
other x86_64 builds of Rust.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2016-04-06 13:24:33 -05:00
Derek Straka fd787ed29e Update the post link flags to include libssp
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 16:28:04 -04:00
Derek Straka f5a77f1c41 Update rust sources to version 1.7.0
Signed-off-by: Derek Straka <derek@asterius.io>
2016-03-17 08:28:14 -04:00
Derek Straka e76332d732 Move the cargo and rust recipes from 'recipes' to 'recipes-devtools' 2016-02-19 19:11:43 -05:00