mirror of
https://git.proxmox.com/git/rustc
synced 2026-01-03 10:59:52 +00:00
New upstream version 1.44.1+dfsg1
This commit is contained in:
parent
74b04a01b7
commit
ba9703b0c9
@ -19,7 +19,7 @@ hop on the [Rust Discord server][rust-discord] or [Rust Zulip server][rust-zulip
|
||||
|
||||
As a reminder, all contributors are expected to follow our [Code of Conduct][coc].
|
||||
|
||||
The [rustc-guide] is your friend! It describes how the compiler works and how
|
||||
The [rustc-dev-guide] is your friend! It describes how the compiler works and how
|
||||
to contribute to it in more detail than this document.
|
||||
|
||||
If this is your first time contributing, the [walkthrough] chapter of the guide
|
||||
@ -29,8 +29,8 @@ can give you a good example of how a typical contribution would go.
|
||||
[rust-discord]: http://discord.gg/rust-lang
|
||||
[rust-zulip]: https://rust-lang.zulipchat.com
|
||||
[coc]: https://www.rust-lang.org/conduct.html
|
||||
[rustc-guide]: https://rust-lang.github.io/rustc-guide/
|
||||
[walkthrough]: https://rust-lang.github.io/rustc-guide/walkthrough.html
|
||||
[rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/
|
||||
[walkthrough]: https://rustc-dev-guide.rust-lang.org/walkthrough.html
|
||||
|
||||
## Feature Requests
|
||||
[feature-requests]: #feature-requests
|
||||
@ -103,12 +103,12 @@ $ RUST_BACKTRACE=1 rustc ...
|
||||
## The Build System
|
||||
|
||||
For info on how to configure and build the compiler, please see [this
|
||||
chapter][rustcguidebuild] of the rustc-guide. This chapter contains info for
|
||||
chapter][rustcguidebuild] of the rustc-dev-guide. This chapter contains info for
|
||||
contributions to the compiler and the standard library. It also lists some
|
||||
really useful commands to the build system (`./x.py`), which could save you a
|
||||
lot of time.
|
||||
|
||||
[rustcguidebuild]: https://rust-lang.github.io/rustc-guide/building/how-to-build-and-run.html
|
||||
[rustcguidebuild]: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html
|
||||
|
||||
## Pull Requests
|
||||
[pull-requests]: #pull-requests
|
||||
@ -142,7 +142,7 @@ the issue in question.
|
||||
Please make sure your pull request is in compliance with Rust's style
|
||||
guidelines by running
|
||||
|
||||
$ python x.py test src/tools/tidy
|
||||
$ python x.py test tidy
|
||||
|
||||
Make this check before every pull request (and every new commit in a pull
|
||||
request); you can add [git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
|
||||
@ -188,7 +188,70 @@ with one another are rolled up.
|
||||
Speaking of tests, Rust has a comprehensive test suite. More information about
|
||||
it can be found [here][rctd].
|
||||
|
||||
### External Dependencies
|
||||
### External Dependencies (subtree)
|
||||
|
||||
As a developer to this repository, you don't have to treat the following external projects
|
||||
differently from other crates that are directly in this repo:
|
||||
|
||||
* none so far, see https://github.com/rust-lang/rust/issues/70651 for more info
|
||||
|
||||
They are just regular files and directories. This is in contrast to `submodule` dependencies
|
||||
(see below for those). Only tool authors will actually use any operations here.
|
||||
|
||||
#### Synchronizing a subtree
|
||||
|
||||
There are two synchronization directions: `subtree push` and `subtree pull`.
|
||||
|
||||
```
|
||||
git subtree push -P src/tools/clippy git@github.com:your-github-name/rust-clippy sync-from-rust
|
||||
```
|
||||
|
||||
takes all the changes that
|
||||
happened to the copy in this repo and creates commits on the remote repo that match the local
|
||||
changes. Every local commit that touched the subtree causes a commit on the remote repo, but is
|
||||
modified to move the files from the specified directory to the tool repo root.
|
||||
|
||||
Make sure to not pick the `master` branch on the tool repo, so you can open a normal PR to the tool
|
||||
to merge that subrepo push.
|
||||
|
||||
```
|
||||
git subtree pull -P src/tools/clippy https://github.com/rust-lang/rust-clippy master
|
||||
```
|
||||
|
||||
takes all changes since the last `subtree pull` from the tool repo
|
||||
repo and adds these commits to the rustc repo + a merge commit that moves the tool changes into
|
||||
the specified directory in the rust repository.
|
||||
|
||||
It is recommended that you always do a push first and get that merged to the tool master branch.
|
||||
Then, when you do a pull, the merge works without conflicts.
|
||||
While it's definitely possible to resolve conflicts during a pull, you may have to redo the conflict
|
||||
resolution if your PR doesn't get merged fast enough and there are new conflicts. Do not try to
|
||||
rebase the result of a `git subtree pull`, rebasing merge commits is a bad idea in general.
|
||||
|
||||
You always need to specify the `-P` prefix to the subtree directory and the corresponding remote
|
||||
repository. If you specify the wrong directory or repository
|
||||
you'll get very fun merges that try to push the wrong directory to the wrong remote repository.
|
||||
Luckily you can just abort this without any consequences by throwing away either the pulled commits
|
||||
in rustc or the pushed branch on the remote and try again. It is usually fairly obvious
|
||||
that this is happening because you suddenly get thousands of commits that want to be synchronized.
|
||||
|
||||
#### Creating a new subtree dependency
|
||||
|
||||
If you want to create a new subtree dependency from an existing repository, call (from this
|
||||
repository's root directory!)
|
||||
|
||||
```
|
||||
git subtree add -P src/tools/clippy https://github.com/rust-lang/rust-clippy.git master
|
||||
```
|
||||
|
||||
This will create a new commit, which you may not rebase under any circumstances! Delete the commit
|
||||
and redo the operation if you need to rebase.
|
||||
|
||||
Now you're done, the `src/tools/clippy` directory behaves as if clippy were part of the rustc
|
||||
monorepo, so no one but you (or others that synchronize subtrees) actually needs to use `git subtree`.
|
||||
|
||||
|
||||
### External Dependencies (submodules)
|
||||
|
||||
Currently building Rust will also build the following external projects:
|
||||
|
||||
@ -221,7 +284,6 @@ before the PR is merged.
|
||||
|
||||
Rust's build system builds a number of tools that make use of the
|
||||
internals of the compiler. This includes
|
||||
[Clippy](https://github.com/rust-lang/rust-clippy),
|
||||
[RLS](https://github.com/rust-lang/rls) and
|
||||
[rustfmt](https://github.com/rust-lang/rustfmt). If these tools
|
||||
break because of your changes, you may run into a sort of "chicken and egg"
|
||||
@ -336,9 +398,9 @@ to check small fixes. For example, `rustdoc src/doc/reference.md` will render
|
||||
reference to `doc/reference.html`. The CSS might be messed up, but you can
|
||||
verify that the HTML is right.
|
||||
|
||||
Additionally, contributions to the [rustc-guide] are always welcome. Contributions
|
||||
Additionally, contributions to the [rustc-dev-guide] are always welcome. Contributions
|
||||
can be made directly at [the
|
||||
rust-lang/rustc-guide](https://github.com/rust-lang/rustc-guide) repo. The issue
|
||||
rust-lang/rustc-dev-guide](https://github.com/rust-lang/rustc-dev-guide) repo. The issue
|
||||
tracker in that repo is also a great way to find things that need doing. There
|
||||
are issues for beginners and advanced compiler devs alike!
|
||||
|
||||
@ -434,7 +496,7 @@ For people new to Rust, and just starting to contribute, or even for
|
||||
more seasoned developers, some useful places to look for information
|
||||
are:
|
||||
|
||||
* The [rustc guide] contains information about how various parts of the compiler work and how to contribute to the compiler
|
||||
* The [rustc dev guide] contains information about how various parts of the compiler work and how to contribute to the compiler
|
||||
* [Rust Forge][rustforge] contains additional documentation, including write-ups of how to achieve common tasks
|
||||
* The [Rust Internals forum][rif], a place to ask questions and
|
||||
discuss Rust's internals
|
||||
@ -448,7 +510,7 @@ are:
|
||||
* **Google!** ([search only in Rust Documentation][gsearchdocs] to find types, traits, etc. quickly)
|
||||
* Don't be afraid to ask! The Rust community is friendly and helpful.
|
||||
|
||||
[rustc guide]: https://rust-lang.github.io/rustc-guide/about-this-guide.html
|
||||
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||
[gdfrustc]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
||||
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
|
||||
[rif]: http://internals.rust-lang.org
|
||||
@ -456,5 +518,5 @@ are:
|
||||
[rustforge]: https://forge.rust-lang.org/
|
||||
[tlgba]: http://tomlee.co/2014/04/a-more-detailed-tour-of-the-rust-compiler/
|
||||
[ro]: http://www.rustaceans.org/
|
||||
[rctd]: https://rust-lang.github.io/rustc-guide/tests/intro.html
|
||||
[rctd]: https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||
[cheatsheet]: https://buildbot2.rust-lang.org/homu/
|
||||
|
||||
715
Cargo.lock
generated
715
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -24,6 +24,7 @@ members = [
|
||||
"src/tools/miri",
|
||||
"src/tools/rustdoc-themes",
|
||||
"src/tools/unicode-table-generator",
|
||||
"src/tools/expand-yaml-anchors",
|
||||
]
|
||||
exclude = [
|
||||
"build",
|
||||
|
||||
16
README.md
16
README.md
@ -15,19 +15,19 @@ Read ["Installation"] from [The Book].
|
||||
## Installing from Source
|
||||
|
||||
_Note: If you wish to contribute to the compiler, you should read [this
|
||||
chapter][rustcguidebuild] of the rustc-guide instead of this section._
|
||||
chapter][rustcguidebuild] of the rustc-dev-guide instead of this section._
|
||||
|
||||
The Rust build system has a Python script called `x.py` to bootstrap building
|
||||
the compiler. More information about it may be found by running `./x.py --help`
|
||||
or reading the [rustc guide][rustcguidebuild].
|
||||
or reading the [rustc dev guide][rustcguidebuild].
|
||||
|
||||
[rustcguidebuild]: https://rust-lang.github.io/rustc-guide/building/how-to-build-and-run.html
|
||||
[rustcguidebuild]: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html
|
||||
|
||||
### Building on *nix
|
||||
1. Make sure you have installed the dependencies:
|
||||
|
||||
* `g++` 5.1 or later or `clang++` 3.5 or later
|
||||
* `python` 2.7 (but not 3.x)
|
||||
* `python` 3 or 2.7
|
||||
* GNU `make` 3.81 or later
|
||||
* `cmake` 3.4.3 or later
|
||||
* `curl`
|
||||
@ -113,7 +113,7 @@ build.
|
||||
make \
|
||||
diffutils \
|
||||
tar \
|
||||
mingw-w64-x86_64-python2 \
|
||||
mingw-w64-x86_64-python \
|
||||
mingw-w64-x86_64-cmake \
|
||||
mingw-w64-x86_64-gcc
|
||||
```
|
||||
@ -249,14 +249,14 @@ Most real-time collaboration happens in a variety of channels on the
|
||||
community, documentation, and all major contribution areas in the Rust ecosystem.
|
||||
A good place to ask for help would be the #help channel.
|
||||
|
||||
The [rustc guide] might be a good place to start if you want to find out how
|
||||
The [rustc dev guide] might be a good place to start if you want to find out how
|
||||
various parts of the compiler work.
|
||||
|
||||
Also, you may find the [rustdocs for the compiler itself][rustdocs] useful.
|
||||
|
||||
[rust-discord]: https://discord.gg/rust-lang
|
||||
[rustc guide]: https://rust-lang.github.io/rustc-guide/about-this-guide.html
|
||||
[rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
|
||||
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||
[rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/
|
||||
|
||||
## License
|
||||
|
||||
|
||||
195
RELEASES.md
195
RELEASES.md
@ -1,3 +1,190 @@
|
||||
Version 1.44.1 (2020-06-18)
|
||||
===========================
|
||||
|
||||
* [rustfmt accepts rustfmt_skip in cfg_attr again.][73078]
|
||||
* [Don't hash executable filenames on apple platforms, fixing backtraces.][cargo/8329]
|
||||
* [Fix crashes when finding backtrace on macOS.][71397]
|
||||
* [Clippy applies lint levels into different files.][clippy/5356]
|
||||
|
||||
[71397]: https://github.com/rust-lang/rust/issues/71397
|
||||
[73078]: https://github.com/rust-lang/rust/issues/73078
|
||||
[cargo/8329]: https://github.com/rust-lang/cargo/pull/8329
|
||||
[clippy/5356]: https://github.com/rust-lang/rust-clippy/issues/5356
|
||||
|
||||
Version 1.44.0 (2020-06-04)
|
||||
==========================
|
||||
|
||||
Language
|
||||
--------
|
||||
- [You can now use `async/.await` with `#[no_std]` enabled.][69033]
|
||||
- [Added the `unused_braces` lint.][70081]
|
||||
|
||||
**Syntax-only changes**
|
||||
|
||||
- [Expansion-driven outline module parsing][69838]
|
||||
```rust
|
||||
#[cfg(FALSE)]
|
||||
mod foo {
|
||||
mod bar {
|
||||
mod baz; // `foo/bar/baz.rs` doesn't exist, but no error!
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
These are still rejected semantically, so you will likely receive an error but
|
||||
these changes can be seen and parsed by macros and conditional compilation.
|
||||
|
||||
Compiler
|
||||
--------
|
||||
- [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156]
|
||||
Additionally when in incremental mode rustc defaults to 256 codegen units.
|
||||
- [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and
|
||||
a panic is thrown.][67502]
|
||||
- [Added tier 3\* support for the `aarch64-unknown-none` and
|
||||
`aarch64-unknown-none-softfloat` targets.][68334]
|
||||
- [Added tier 3 support for `arm64-apple-tvos` and
|
||||
`x86_64-apple-tvos` targets.][68191]
|
||||
|
||||
|
||||
Libraries
|
||||
---------
|
||||
- [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows
|
||||
`vec![]` to be able to be used in `const` contexts.
|
||||
- [`convert::Infallible` now implements `Hash`.][70281]
|
||||
- [`OsString` now implements `DerefMut` and `IndexMut` returning
|
||||
a `&mut OsStr`.][70048]
|
||||
- [Unicode 13 is now supported.][69929]
|
||||
- [`String` now implements `From<&mut str>`.][69661]
|
||||
- [`IoSlice` now implements `Copy`.][69403]
|
||||
- [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32.
|
||||
- [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899]
|
||||
- [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`,
|
||||
`from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all
|
||||
integer types.][69373]
|
||||
|
||||
Stabilized APIs
|
||||
---------------
|
||||
- [`PathBuf::with_capacity`]
|
||||
- [`PathBuf::capacity`]
|
||||
- [`PathBuf::clear`]
|
||||
- [`PathBuf::reserve`]
|
||||
- [`PathBuf::reserve_exact`]
|
||||
- [`PathBuf::shrink_to_fit`]
|
||||
- [`f32::to_int_unchecked`]
|
||||
- [`f64::to_int_unchecked`]
|
||||
- [`Layout::align_to`]
|
||||
- [`Layout::pad_to_align`]
|
||||
- [`Layout::array`]
|
||||
- [`Layout::extend`]
|
||||
|
||||
Cargo
|
||||
-----
|
||||
- [Added the `cargo tree` command which will print a tree graph of
|
||||
your dependencies.][cargo/8062] E.g.
|
||||
```
|
||||
mdbook v0.3.2 (/Users/src/rust/mdbook)
|
||||
├── ammonia v3.0.0
|
||||
│ ├── html5ever v0.24.0
|
||||
│ │ ├── log v0.4.8
|
||||
│ │ │ └── cfg-if v0.1.9
|
||||
│ │ ├── mac v0.1.1
|
||||
│ │ └── markup5ever v0.9.0
|
||||
│ │ ├── log v0.4.8 (*)
|
||||
│ │ ├── phf v0.7.24
|
||||
│ │ │ └── phf_shared v0.7.24
|
||||
│ │ │ ├── siphasher v0.2.3
|
||||
│ │ │ └── unicase v1.4.2
|
||||
│ │ │ [build-dependencies]
|
||||
│ │ │ └── version_check v0.1.5
|
||||
...
|
||||
```
|
||||
You can also display dependencies on multiple versions of the same crate with
|
||||
`cargo tree -d` (short for `cargo tree --duplicates`).
|
||||
|
||||
Misc
|
||||
----
|
||||
- [Rustdoc now allows you to specify `--crate-version` to have rustdoc include
|
||||
the version in the sidebar.][69494]
|
||||
|
||||
Compatibility Notes
|
||||
-------------------
|
||||
- [Rustc now correctly generates static libraries on Windows GNU targets with
|
||||
the `.a` extension, rather than the previous `.lib`.][70937]
|
||||
- [Removed the `-C no_integrated_as` flag from rustc.][70345]
|
||||
- [The `file_name` property in JSON output of macro errors now points the actual
|
||||
source file rather than the previous format of `<NAME macros>`.][70969]
|
||||
**Note:** this may not point a file that actually exists on the user's system.
|
||||
- [The minimum required external LLVM version has been bumped to LLVM 8.][71147]
|
||||
- [`mem::{zeroed, uninitialised}` will now panic when used with types that do
|
||||
not allow zero initialization such as `NonZeroU8`.][66059] This was
|
||||
previously a warning.
|
||||
- [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as`
|
||||
operator has been defined as a saturating operation.][71269] This was previously
|
||||
undefined behaviour, you can use the `{f64, f32}::to_int_unchecked` methods to
|
||||
continue using the current behaviour which may desirable in rare performance
|
||||
sensitive situations.
|
||||
|
||||
Internal Only
|
||||
-------------
|
||||
These changes provide no direct user facing benefits, but represent significant
|
||||
improvements to the internals and overall performance of rustc and
|
||||
related tools.
|
||||
|
||||
- [dep_graph Avoid allocating a set on when the number reads are small.][69778]
|
||||
- [Replace big JS dict with JSON parsing.][71250]
|
||||
|
||||
[69373]: https://github.com/rust-lang/rust/pull/69373/
|
||||
[66059]: https://github.com/rust-lang/rust/pull/66059/
|
||||
[68191]: https://github.com/rust-lang/rust/pull/68191/
|
||||
[68899]: https://github.com/rust-lang/rust/pull/68899/
|
||||
[71147]: https://github.com/rust-lang/rust/pull/71147/
|
||||
[71250]: https://github.com/rust-lang/rust/pull/71250/
|
||||
[70937]: https://github.com/rust-lang/rust/pull/70937/
|
||||
[70969]: https://github.com/rust-lang/rust/pull/70969/
|
||||
[70632]: https://github.com/rust-lang/rust/pull/70632/
|
||||
[70281]: https://github.com/rust-lang/rust/pull/70281/
|
||||
[70345]: https://github.com/rust-lang/rust/pull/70345/
|
||||
[70048]: https://github.com/rust-lang/rust/pull/70048/
|
||||
[70081]: https://github.com/rust-lang/rust/pull/70081/
|
||||
[70156]: https://github.com/rust-lang/rust/pull/70156/
|
||||
[71269]: https://github.com/rust-lang/rust/pull/71269/
|
||||
[69838]: https://github.com/rust-lang/rust/pull/69838/
|
||||
[69929]: https://github.com/rust-lang/rust/pull/69929/
|
||||
[69661]: https://github.com/rust-lang/rust/pull/69661/
|
||||
[69778]: https://github.com/rust-lang/rust/pull/69778/
|
||||
[69494]: https://github.com/rust-lang/rust/pull/69494/
|
||||
[69403]: https://github.com/rust-lang/rust/pull/69403/
|
||||
[69033]: https://github.com/rust-lang/rust/pull/69033/
|
||||
[68692]: https://github.com/rust-lang/rust/pull/68692/
|
||||
[68334]: https://github.com/rust-lang/rust/pull/68334/
|
||||
[67502]: https://github.com/rust-lang/rust/pull/67502/
|
||||
[cargo/8062]: https://github.com/rust-lang/cargo/pull/8062/
|
||||
[`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity
|
||||
[`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity
|
||||
[`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear
|
||||
[`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve
|
||||
[`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact
|
||||
[`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit
|
||||
[`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked
|
||||
[`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked
|
||||
[`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to
|
||||
[`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align
|
||||
[`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array
|
||||
[`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
|
||||
|
||||
|
||||
Version 1.43.1 (2020-05-07)
|
||||
===========================
|
||||
|
||||
* [Updated openssl-src to 1.1.1g for CVE-2020-1967.][71430]
|
||||
* [Fixed the stabilization of AVX-512 features.][71473]
|
||||
* [Fixed `cargo package --list` not working with unpublished dependencies.][cargo/8151]
|
||||
|
||||
[71430]: https://github.com/rust-lang/rust/pull/71430
|
||||
[71473]: https://github.com/rust-lang/rust/issues/71473
|
||||
[cargo/8151]: https://github.com/rust-lang/cargo/issues/8151
|
||||
|
||||
|
||||
Version 1.43.0 (2020-04-23)
|
||||
==========================
|
||||
|
||||
@ -14,7 +201,7 @@ Language
|
||||
- [Merge `fn` syntax + cleanup item parsing.][68728]
|
||||
- [`item` macro fragments can be interpolated into `trait`s, `impl`s, and `extern` blocks.][69366]
|
||||
For example, you may now write:
|
||||
```rust
|
||||
```rust
|
||||
macro_rules! mac_trait {
|
||||
($i:item) => {
|
||||
trait T { $i }
|
||||
@ -82,7 +269,7 @@ Misc
|
||||
- [Certain checks in the `const_err` lint were deemed unrelated to const
|
||||
evaluation][69185], and have been moved to the `unconditional_panic` and
|
||||
`arithmetic_overflow` lints.
|
||||
|
||||
|
||||
Compatibility Notes
|
||||
-------------------
|
||||
|
||||
@ -173,7 +360,7 @@ Language
|
||||
(e.g. `type Foo: Ord;`).
|
||||
- `...` (the C-variadic type) may occur syntactically directly as the type of
|
||||
any function parameter.
|
||||
|
||||
|
||||
These are still rejected *semantically*, so you will likely receive an error
|
||||
but these changes can be seen and parsed by procedural macros and
|
||||
conditional compilation.
|
||||
@ -465,7 +652,7 @@ Compatibility Notes
|
||||
- [Using `#[inline]` on function prototypes and consts now emits a warning under
|
||||
`unused_attribute` lint.][65294] Using `#[inline]` anywhere else inside traits
|
||||
or `extern` blocks now correctly emits a hard error.
|
||||
|
||||
|
||||
[65294]: https://github.com/rust-lang/rust/pull/65294/
|
||||
[66103]: https://github.com/rust-lang/rust/pull/66103/
|
||||
[65843]: https://github.com/rust-lang/rust/pull/65843/
|
||||
|
||||
@ -84,8 +84,9 @@
|
||||
#link-shared = false
|
||||
|
||||
# When building llvm, this configures what is being appended to the version.
|
||||
# If absent, we let the version as-is.
|
||||
#version-suffix = "-rust"
|
||||
# The default is "-rust-$version-$channel", except for dev channel where rustc
|
||||
# version number is omitted. To use LLVM version as is, provide an empty string.
|
||||
#version-suffix = "-rust-dev"
|
||||
|
||||
# On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass
|
||||
# with clang-cl, so this is special in that it only compiles LLVM with clang-cl
|
||||
@ -168,11 +169,9 @@
|
||||
|
||||
# Python interpreter to use for various tasks throughout the build, notably
|
||||
# rustdoc tests, the lldb python interpreter, and some dist bits and pieces.
|
||||
# Note that Python 2 is currently required.
|
||||
#
|
||||
# Defaults to python2.7, then python2. If neither executable can be found, then
|
||||
# it defaults to the Python interpreter used to execute x.py.
|
||||
#python = "python2.7"
|
||||
# Defaults to the Python interpreter used to execute x.py.
|
||||
#python = "python"
|
||||
|
||||
# Force Cargo to check that Cargo.lock describes the precise dependency
|
||||
# set that all the Cargo.toml files create, instead of updating it.
|
||||
|
||||
1
configure
vendored
1
configure
vendored
@ -11,6 +11,7 @@ try() {
|
||||
fi
|
||||
}
|
||||
|
||||
try python3 "$@"
|
||||
try python2.7 "$@"
|
||||
try python27 "$@"
|
||||
try python2 "$@"
|
||||
|
||||
@ -1 +1 @@
|
||||
4fb7144ed159f94491249e86d5bbd033b5d60550
|
||||
c7087fe00d2ba919df1d813c040a5d47e43b0fe7
|
||||
@ -3,6 +3,6 @@ This directory contains the source code of the rust project, including:
|
||||
- `libstd`
|
||||
- Various submodules for tools, like rustdoc, rls, etc.
|
||||
|
||||
For more information on how various parts of the compiler work, see the [rustc guide].
|
||||
For more information on how various parts of the compiler work, see the [rustc dev guide].
|
||||
|
||||
[rustc guide]: https://rust-lang.github.io/rustc-guide/about-this-guide.html
|
||||
[rustc dev guide]: https://rustc-dev-guide.rust-lang.org/about-this-guide.html
|
||||
|
||||
@ -54,4 +54,4 @@ version = "0.3"
|
||||
features = ["fileapi", "ioapiset", "jobapi2", "handleapi", "winioctl"]
|
||||
|
||||
[dev-dependencies]
|
||||
pretty_assertions = "0.5"
|
||||
pretty_assertions = "0.6"
|
||||
|
||||
@ -55,6 +55,9 @@ The script accepts commands, flags, and arguments to determine what to do:
|
||||
# run all unit tests
|
||||
./x.py test
|
||||
|
||||
# execute tool tests
|
||||
./x.py test tidy
|
||||
|
||||
# execute the UI test suite
|
||||
./x.py test src/test/ui
|
||||
|
||||
|
||||
@ -134,11 +134,6 @@ fn main() {
|
||||
cmd.arg(format!("-Clinker={}", host_linker));
|
||||
}
|
||||
|
||||
// Override linker flavor if necessary.
|
||||
if let Ok(host_linker_flavor) = env::var("RUSTC_HOST_LINKER_FLAVOR") {
|
||||
cmd.arg(format!("-Clinker-flavor={}", host_linker_flavor));
|
||||
}
|
||||
|
||||
if let Ok(s) = env::var("RUSTC_HOST_CRT_STATIC") {
|
||||
if s == "true" {
|
||||
cmd.arg("-C").arg("target-feature=+crt-static");
|
||||
|
||||
@ -52,12 +52,7 @@ fn main() {
|
||||
// Bootstrap's Cargo-command builder sets this variable to the current Rust version; let's pick
|
||||
// it up so we can make rustdoc print this into the docs
|
||||
if let Some(version) = env::var_os("RUSTDOC_CRATE_VERSION") {
|
||||
// This "unstable-options" can be removed when `--crate-version` is stabilized
|
||||
if !has_unstable {
|
||||
cmd.arg("-Z").arg("unstable-options");
|
||||
}
|
||||
cmd.arg("--crate-version").arg(version);
|
||||
has_unstable = true;
|
||||
}
|
||||
|
||||
// Needed to be able to run all rustdoc tests.
|
||||
|
||||
@ -664,6 +664,10 @@ class RustBuild(object):
|
||||
if self.clean and os.path.exists(build_dir):
|
||||
shutil.rmtree(build_dir)
|
||||
env = os.environ.copy()
|
||||
# `CARGO_BUILD_TARGET` breaks bootstrap build.
|
||||
# See also: <https://github.com/rust-lang/rust/issues/70208>.
|
||||
if "CARGO_BUILD_TARGET" in env:
|
||||
del env["CARGO_BUILD_TARGET"]
|
||||
env["RUSTC_BOOTSTRAP"] = '1'
|
||||
env["CARGO_TARGET_DIR"] = build_dir
|
||||
env["RUSTC"] = self.rustc()
|
||||
|
||||
@ -11,7 +11,7 @@ use std::path::{Path, PathBuf};
|
||||
use std::process::Command;
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
use build_helper::t;
|
||||
use build_helper::{output, t};
|
||||
|
||||
use crate::cache::{Cache, Interned, INTERNER};
|
||||
use crate::check;
|
||||
@ -21,9 +21,10 @@ use crate::doc;
|
||||
use crate::flags::Subcommand;
|
||||
use crate::install;
|
||||
use crate::native;
|
||||
use crate::run;
|
||||
use crate::test;
|
||||
use crate::tool;
|
||||
use crate::util::{self, add_lib_path, exe, libdir};
|
||||
use crate::util::{self, add_dylib_path, add_link_lib_path, exe, libdir};
|
||||
use crate::{Build, DocTests, GitRepo, Mode};
|
||||
|
||||
pub use crate::Compiler;
|
||||
@ -313,6 +314,7 @@ pub enum Kind {
|
||||
Dist,
|
||||
Doc,
|
||||
Install,
|
||||
Run,
|
||||
}
|
||||
|
||||
impl<'a> Builder<'a> {
|
||||
@ -353,6 +355,7 @@ impl<'a> Builder<'a> {
|
||||
}
|
||||
Kind::Test => describe!(
|
||||
crate::toolstate::ToolStateCheck,
|
||||
test::ExpandYamlAnchors,
|
||||
test::Tidy,
|
||||
test::Ui,
|
||||
test::CompileFail,
|
||||
@ -454,6 +457,7 @@ impl<'a> Builder<'a> {
|
||||
install::Src,
|
||||
install::Rustc
|
||||
),
|
||||
Kind::Run => describe!(run::ExpandYamlAnchors,),
|
||||
}
|
||||
}
|
||||
|
||||
@ -507,6 +511,7 @@ impl<'a> Builder<'a> {
|
||||
Subcommand::Bench { ref paths, .. } => (Kind::Bench, &paths[..]),
|
||||
Subcommand::Dist { ref paths } => (Kind::Dist, &paths[..]),
|
||||
Subcommand::Install { ref paths } => (Kind::Install, &paths[..]),
|
||||
Subcommand::Run { ref paths } => (Kind::Run, &paths[..]),
|
||||
Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(),
|
||||
};
|
||||
|
||||
@ -660,7 +665,7 @@ impl<'a> Builder<'a> {
|
||||
return;
|
||||
}
|
||||
|
||||
add_lib_path(vec![self.rustc_libdir(compiler)], &mut cmd.command);
|
||||
add_dylib_path(vec![self.rustc_libdir(compiler)], &mut cmd.command);
|
||||
}
|
||||
|
||||
/// Gets a path to the compiler specified.
|
||||
@ -698,6 +703,20 @@ impl<'a> Builder<'a> {
|
||||
cmd
|
||||
}
|
||||
|
||||
/// Return the path to `llvm-config` for the target, if it exists.
|
||||
///
|
||||
/// Note that this returns `None` if LLVM is disabled, or if we're in a
|
||||
/// check build or dry-run, where there's no need to build all of LLVM.
|
||||
fn llvm_config(&self, target: Interned<String>) -> Option<PathBuf> {
|
||||
if self.config.llvm_enabled() && self.kind != Kind::Check && !self.config.dry_run {
|
||||
let llvm_config = self.ensure(native::Llvm { target });
|
||||
if llvm_config.is_file() {
|
||||
return Some(llvm_config);
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
/// Prepares an invocation of `cargo` to be run.
|
||||
///
|
||||
/// This will create a `Command` that represents a pending execution of
|
||||
@ -727,10 +746,6 @@ impl<'a> Builder<'a> {
|
||||
|
||||
cargo.env("CARGO_TARGET_DIR", &out_dir).arg(cmd);
|
||||
|
||||
if !self.local_rebuild {
|
||||
cargo.arg("-Zconfig-profile");
|
||||
}
|
||||
|
||||
let profile_var = |name: &str| {
|
||||
let profile = if self.config.rust_optimize { "RELEASE" } else { "DEV" };
|
||||
format!("CARGO_PROFILE_{}_{}", profile, name)
|
||||
@ -851,13 +866,7 @@ impl<'a> Builder<'a> {
|
||||
rustflags.arg("-Zforce-unstable-if-unmarked");
|
||||
}
|
||||
|
||||
// cfg(bootstrap): the flag was renamed from `-Zexternal-macro-backtrace`
|
||||
// to `-Zmacro-backtrace`, keep only the latter after beta promotion.
|
||||
if stage == 0 {
|
||||
rustflags.arg("-Zexternal-macro-backtrace");
|
||||
} else {
|
||||
rustflags.arg("-Zmacro-backtrace");
|
||||
}
|
||||
rustflags.arg("-Zmacro-backtrace");
|
||||
|
||||
let want_rustdoc = self.doc_tests != DocTests::No;
|
||||
|
||||
@ -960,27 +969,11 @@ impl<'a> Builder<'a> {
|
||||
// See https://github.com/rust-lang/rust/issues/68647.
|
||||
let can_use_lld = mode != Mode::Std;
|
||||
|
||||
// FIXME: The beta compiler doesn't pick the `lld-link` flavor for `*-pc-windows-msvc`
|
||||
// Remove `RUSTC_HOST_LINKER_FLAVOR` when this is fixed
|
||||
let lld_linker_flavor = |linker: &Path, target: Interned<String>| {
|
||||
compiler.stage == 0
|
||||
&& linker.file_name() == Some(OsStr::new("rust-lld"))
|
||||
&& target.contains("pc-windows-msvc")
|
||||
};
|
||||
|
||||
if let Some(host_linker) = self.linker(compiler.host, can_use_lld) {
|
||||
if lld_linker_flavor(host_linker, compiler.host) {
|
||||
cargo.env("RUSTC_HOST_LINKER_FLAVOR", "lld-link");
|
||||
}
|
||||
|
||||
cargo.env("RUSTC_HOST_LINKER", host_linker);
|
||||
}
|
||||
|
||||
if let Some(target_linker) = self.linker(target, can_use_lld) {
|
||||
if lld_linker_flavor(target_linker, target) {
|
||||
rustflags.arg("-Clinker-flavor=lld-link");
|
||||
}
|
||||
|
||||
let target = crate::envify(&target);
|
||||
cargo.env(&format!("CARGO_TARGET_{}_LINKER", target), target_linker);
|
||||
}
|
||||
@ -1013,8 +1006,13 @@ impl<'a> Builder<'a> {
|
||||
cargo.env("RUSTC_HOST_CRT_STATIC", x.to_string());
|
||||
}
|
||||
|
||||
if let Some(map) = self.build.debuginfo_map(GitRepo::Rustc) {
|
||||
if let Some(map_to) = self.build.debuginfo_map_to(GitRepo::Rustc) {
|
||||
let map = format!("{}={}", self.build.src.display(), map_to);
|
||||
cargo.env("RUSTC_DEBUGINFO_MAP", map);
|
||||
|
||||
// `rustc` needs to know the virtual `/rustc/$hash` we're mapping to,
|
||||
// in order to opportunistically reverse it later.
|
||||
cargo.env("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR", map_to);
|
||||
}
|
||||
|
||||
// Enable usage of unstable features
|
||||
@ -1044,6 +1042,17 @@ impl<'a> Builder<'a> {
|
||||
.env("RUSTC_SNAPSHOT_LIBDIR", self.rustc_libdir(compiler));
|
||||
}
|
||||
|
||||
// Tools that use compiler libraries may inherit the `-lLLVM` link
|
||||
// requirement, but the `-L` library path is not propagated across
|
||||
// separate Cargo projects. We can add LLVM's library path to the
|
||||
// platform-specific environment variable as a workaround.
|
||||
if mode == Mode::ToolRustc {
|
||||
if let Some(llvm_config) = self.llvm_config(target) {
|
||||
let llvm_libdir = output(Command::new(&llvm_config).arg("--libdir"));
|
||||
add_link_lib_path(vec![llvm_libdir.trim().into()], &mut cargo);
|
||||
}
|
||||
}
|
||||
|
||||
if self.config.incremental {
|
||||
cargo.env("CARGO_INCREMENTAL", "1");
|
||||
} else {
|
||||
@ -1074,6 +1083,13 @@ impl<'a> Builder<'a> {
|
||||
|
||||
if self.config.deny_warnings {
|
||||
rustflags.arg("-Dwarnings");
|
||||
|
||||
// FIXME(#58633) hide "unused attribute" errors in incremental
|
||||
// builds of the standard library, as the underlying checks are
|
||||
// not yet properly integrated with incremental recompilation.
|
||||
if mode == Mode::Std && compiler.stage == 0 && self.config.incremental {
|
||||
rustflags.arg("-Aunused-attributes");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ use build_helper::output;
|
||||
use crate::Build;
|
||||
|
||||
// The version number
|
||||
pub const CFG_RELEASE_NUM: &str = "1.43.0";
|
||||
pub const CFG_RELEASE_NUM: &str = "1.44.1";
|
||||
|
||||
pub struct GitInfo {
|
||||
inner: Option<Info>,
|
||||
|
||||
@ -22,7 +22,7 @@ use serde::Deserialize;
|
||||
use crate::builder::Cargo;
|
||||
use crate::dist;
|
||||
use crate::native;
|
||||
use crate::util::{exe, is_dylib};
|
||||
use crate::util::{exe, is_dylib, symlink_dir};
|
||||
use crate::{Compiler, GitRepo, Mode};
|
||||
|
||||
use crate::builder::{Builder, Kind, RunConfig, ShouldRun, Step};
|
||||
@ -186,6 +186,8 @@ pub fn std_cargo(builder: &Builder<'_>, target: Interned<String>, cargo: &mut Ca
|
||||
// `compiler-rt` is located.
|
||||
let compiler_builtins_root = builder.src.join("src/llvm-project/compiler-rt");
|
||||
let compiler_builtins_c_feature = if compiler_builtins_root.exists() {
|
||||
// Note that `libprofiler_builtins/build.rs` also computes this so if
|
||||
// you're changing something here please also change that.
|
||||
cargo.env("RUST_COMPILER_RT_ROOT", &compiler_builtins_root);
|
||||
" compiler-builtins-c".to_string()
|
||||
} else {
|
||||
@ -451,44 +453,6 @@ impl Step for Rustc {
|
||||
false,
|
||||
);
|
||||
|
||||
// We used to build librustc_codegen_llvm as a separate step,
|
||||
// which produced a dylib that the compiler would dlopen() at runtime.
|
||||
// This meant that we only needed to make sure that libLLVM.so was
|
||||
// installed by the time we went to run a tool using it - since
|
||||
// librustc_codegen_llvm was effectively a standalone artifact,
|
||||
// other crates were completely oblivious to its dependency
|
||||
// on `libLLVM.so` during build time.
|
||||
//
|
||||
// However, librustc_codegen_llvm is now built as an ordinary
|
||||
// crate during the same step as the rest of the compiler crates.
|
||||
// This means that any crates depending on it will see the fact
|
||||
// that it uses `libLLVM.so` as a native library, and will
|
||||
// cause us to pass `-llibLLVM.so` to the linker when we link
|
||||
// a binary.
|
||||
//
|
||||
// For `rustc` itself, this works out fine.
|
||||
// During the `Assemble` step, we call `dist::maybe_install_llvm_dylib`
|
||||
// to copy libLLVM.so into the `stage` directory. We then link
|
||||
// the compiler binary, which will find `libLLVM.so` in the correct place.
|
||||
//
|
||||
// However, this is insufficient for tools that are build against stage0
|
||||
// (e.g. stage1 rustdoc). Since `Assemble` for stage0 doesn't actually do anything,
|
||||
// we won't have `libLLVM.so` in the stage0 sysroot. In the past, this wasn't
|
||||
// a problem - we would copy the tool binary into its correct stage directory
|
||||
// (e.g. stage1 for a stage1 rustdoc built against a stage0 compiler).
|
||||
// Since libLLVM.so wasn't resolved until runtime, it was fine for it to
|
||||
// not exist while we were building it.
|
||||
//
|
||||
// To ensure that we can still build stage1 tools against a stage0 compiler,
|
||||
// we explicitly copy libLLVM.so into the stage0 sysroot when building
|
||||
// the stage0 compiler. This ensures that tools built against stage0
|
||||
// will see libLLVM.so at build time, making the linker happy.
|
||||
if compiler.stage == 0 {
|
||||
builder.info(&format!("Installing libLLVM.so to stage 0 ({})", compiler.host));
|
||||
let sysroot = builder.sysroot(compiler);
|
||||
dist::maybe_install_llvm_dylib(builder, compiler.host, &sysroot);
|
||||
}
|
||||
|
||||
builder.ensure(RustcLink {
|
||||
compiler: builder.compiler(compiler.stage, builder.config.build),
|
||||
target_compiler: compiler,
|
||||
@ -671,6 +635,30 @@ impl Step for Sysroot {
|
||||
};
|
||||
let _ = fs::remove_dir_all(&sysroot);
|
||||
t!(fs::create_dir_all(&sysroot));
|
||||
|
||||
// Symlink the source root into the same location inside the sysroot,
|
||||
// where `rust-src` component would go (`$sysroot/lib/rustlib/src/rust`),
|
||||
// so that any tools relying on `rust-src` also work for local builds,
|
||||
// and also for translating the virtual `/rustc/$hash` back to the real
|
||||
// directory (for running tests with `rust.remap-debuginfo = true`).
|
||||
let sysroot_lib_rustlib_src = sysroot.join("lib/rustlib/src");
|
||||
t!(fs::create_dir_all(&sysroot_lib_rustlib_src));
|
||||
let sysroot_lib_rustlib_src_rust = sysroot_lib_rustlib_src.join("rust");
|
||||
if let Err(e) = symlink_dir(&builder.config, &builder.src, &sysroot_lib_rustlib_src_rust) {
|
||||
eprintln!(
|
||||
"warning: creating symbolic link `{}` to `{}` failed with {}",
|
||||
sysroot_lib_rustlib_src_rust.display(),
|
||||
builder.src.display(),
|
||||
e,
|
||||
);
|
||||
if builder.config.rust_remap_debuginfo {
|
||||
eprintln!(
|
||||
"warning: some `src/test/ui` tests will fail when lacking `{}`",
|
||||
sysroot_lib_rustlib_src_rust.display(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
INTERNER.intern_path(sysroot)
|
||||
}
|
||||
}
|
||||
@ -949,7 +937,11 @@ pub fn stream_cargo(
|
||||
}
|
||||
// Instruct Cargo to give us json messages on stdout, critically leaving
|
||||
// stderr as piped so we can get those pretty colors.
|
||||
let mut message_format = String::from("json-render-diagnostics");
|
||||
let mut message_format = if builder.config.json_output {
|
||||
String::from("json")
|
||||
} else {
|
||||
String::from("json-render-diagnostics")
|
||||
};
|
||||
if let Some(s) = &builder.config.rustc_error_format {
|
||||
message_format.push_str(",json-diagnostic-");
|
||||
message_format.push_str(s);
|
||||
|
||||
@ -48,6 +48,7 @@ pub struct Config {
|
||||
pub ignore_git: bool,
|
||||
pub exclude: Vec<PathBuf>,
|
||||
pub rustc_error_format: Option<String>,
|
||||
pub json_output: bool,
|
||||
pub test_compare_mode: bool,
|
||||
pub llvm_libunwind: bool,
|
||||
|
||||
@ -415,6 +416,7 @@ impl Config {
|
||||
let mut config = Config::default_opts();
|
||||
config.exclude = flags.exclude;
|
||||
config.rustc_error_format = flags.rustc_error_format;
|
||||
config.json_output = flags.json_output;
|
||||
config.on_fail = flags.on_fail;
|
||||
config.stage = flags.stage;
|
||||
config.jobs = flags.jobs.map(threads_from_config);
|
||||
|
||||
@ -1461,18 +1461,18 @@ impl Step for Miri {
|
||||
builder.create_dir(&image);
|
||||
|
||||
// Prepare the image directory
|
||||
// We expect miri to build, because we've exited this step above if tool
|
||||
// state for miri isn't testing.
|
||||
// We're always fine with miri not building, we don't ship it on
|
||||
// beta/stable anyway.
|
||||
let miri = builder
|
||||
.ensure(tool::Miri { compiler, target, extra_features: Vec::new() })
|
||||
.or_else(|| {
|
||||
missing_tool("miri", builder.build.config.missing_tools);
|
||||
missing_tool("miri", true);
|
||||
None
|
||||
})?;
|
||||
let cargomiri = builder
|
||||
.ensure(tool::CargoMiri { compiler, target, extra_features: Vec::new() })
|
||||
.or_else(|| {
|
||||
missing_tool("cargo miri", builder.build.config.missing_tools);
|
||||
missing_tool("cargo miri", true);
|
||||
None
|
||||
})?;
|
||||
|
||||
|
||||
@ -313,6 +313,9 @@ impl Step for Standalone {
|
||||
}
|
||||
|
||||
let mut cmd = builder.rustdoc_cmd(compiler);
|
||||
// Needed for --index-page flag
|
||||
cmd.arg("-Z").arg("unstable-options");
|
||||
|
||||
cmd.arg("--html-after-content")
|
||||
.arg(&footer)
|
||||
.arg("--html-before-content")
|
||||
@ -395,7 +398,7 @@ impl Step for Std {
|
||||
|
||||
// Keep a whitelist so we do not build internal stdlib crates, these will be
|
||||
// build by the rustc step later if enabled.
|
||||
cargo.arg("-Z").arg("unstable-options").arg("-p").arg(package);
|
||||
cargo.arg("-p").arg(package);
|
||||
// Create all crate output directories first to make sure rustdoc uses
|
||||
// relative links.
|
||||
// FIXME: Cargo should probably do this itself.
|
||||
@ -406,6 +409,8 @@ impl Step for Std {
|
||||
.arg("rust.css")
|
||||
.arg("--markdown-no-toc")
|
||||
.arg("--generate-redirect-pages")
|
||||
.arg("-Z")
|
||||
.arg("unstable-options")
|
||||
.arg("--resource-suffix")
|
||||
.arg(crate::channel::CFG_RELEASE_NUM)
|
||||
.arg("--index-page")
|
||||
|
||||
@ -31,6 +31,7 @@ pub struct Flags {
|
||||
pub incremental: bool,
|
||||
pub exclude: Vec<PathBuf>,
|
||||
pub rustc_error_format: Option<String>,
|
||||
pub json_output: bool,
|
||||
pub dry_run: bool,
|
||||
|
||||
// This overrides the deny-warnings configuration option,
|
||||
@ -86,6 +87,9 @@ pub enum Subcommand {
|
||||
Install {
|
||||
paths: Vec<PathBuf>,
|
||||
},
|
||||
Run {
|
||||
paths: Vec<PathBuf>,
|
||||
},
|
||||
}
|
||||
|
||||
impl Default for Subcommand {
|
||||
@ -113,6 +117,7 @@ Subcommands:
|
||||
clean Clean out build directories
|
||||
dist Build distribution artifacts
|
||||
install Install distribution artifacts
|
||||
run Run tools contained in this repository
|
||||
|
||||
To learn more about a subcommand, run `./x.py <subcommand> -h`",
|
||||
);
|
||||
@ -152,6 +157,7 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`",
|
||||
"VALUE",
|
||||
);
|
||||
opts.optopt("", "error-format", "rustc error format", "FORMAT");
|
||||
opts.optflag("", "json-output", "use message-format=json");
|
||||
opts.optopt(
|
||||
"",
|
||||
"llvm-skip-rebuild",
|
||||
@ -188,6 +194,7 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`",
|
||||
|| (s == "clean")
|
||||
|| (s == "dist")
|
||||
|| (s == "install")
|
||||
|| (s == "run")
|
||||
});
|
||||
let subcommand = match subcommand {
|
||||
Some(s) => s,
|
||||
@ -359,7 +366,7 @@ Arguments:
|
||||
subcommand_help.push_str(
|
||||
"\n
|
||||
Arguments:
|
||||
This subcommand accepts a number of paths to directories to tests that
|
||||
This subcommand accepts a number of paths to test directories that
|
||||
should be compiled and run. For example:
|
||||
|
||||
./x.py test src/test/ui
|
||||
@ -372,6 +379,10 @@ Arguments:
|
||||
just like `build src/libstd --stage N` it tests the compiler produced by the previous
|
||||
stage.
|
||||
|
||||
Execute tool tests with a tool name argument:
|
||||
|
||||
./x.py test tidy
|
||||
|
||||
If no arguments are passed then the complete artifacts for that stage are
|
||||
compiled and tested.
|
||||
|
||||
@ -396,6 +407,18 @@ Arguments:
|
||||
./x.py doc --stage 1",
|
||||
);
|
||||
}
|
||||
"run" => {
|
||||
subcommand_help.push_str(
|
||||
"\n
|
||||
Arguments:
|
||||
This subcommand accepts a number of paths to tools to build and run. For
|
||||
example:
|
||||
|
||||
./x.py run src/tool/expand-yaml-anchors
|
||||
|
||||
At least a tool needs to be called.",
|
||||
);
|
||||
}
|
||||
_ => {}
|
||||
};
|
||||
// Get any optional paths which occur after the subcommand
|
||||
@ -464,6 +487,13 @@ Arguments:
|
||||
"fmt" => Subcommand::Format { check: matches.opt_present("check") },
|
||||
"dist" => Subcommand::Dist { paths },
|
||||
"install" => Subcommand::Install { paths },
|
||||
"run" => {
|
||||
if paths.is_empty() {
|
||||
println!("\nrun requires at least a path!\n");
|
||||
usage(1, &opts, &subcommand_help, &extra_help);
|
||||
}
|
||||
Subcommand::Run { paths }
|
||||
}
|
||||
_ => {
|
||||
usage(1, &opts, &subcommand_help, &extra_help);
|
||||
}
|
||||
@ -475,6 +505,7 @@ Arguments:
|
||||
dry_run: matches.opt_present("dry-run"),
|
||||
on_fail: matches.opt_str("on-fail"),
|
||||
rustc_error_format: matches.opt_str("error-format"),
|
||||
json_output: matches.opt_present("json-output"),
|
||||
keep_stage: matches
|
||||
.opt_strs("keep-stage")
|
||||
.into_iter()
|
||||
|
||||
@ -4,7 +4,7 @@ use crate::Build;
|
||||
use build_helper::{output, t};
|
||||
use ignore::WalkBuilder;
|
||||
use std::path::Path;
|
||||
use std::process::Command;
|
||||
use std::process::{Command, Stdio};
|
||||
|
||||
fn rustfmt(src: &Path, rustfmt: &Path, path: &Path, check: bool) {
|
||||
let mut cmd = Command::new(&rustfmt);
|
||||
@ -37,6 +37,9 @@ struct RustfmtConfig {
|
||||
}
|
||||
|
||||
pub fn format(build: &Build, check: bool) {
|
||||
if build.config.dry_run {
|
||||
return;
|
||||
}
|
||||
let mut builder = ignore::types::TypesBuilder::new();
|
||||
builder.add_defaults();
|
||||
builder.select("rust");
|
||||
@ -53,16 +56,48 @@ pub fn format(build: &Build, check: bool) {
|
||||
for ignore in rustfmt_config.ignore {
|
||||
ignore_fmt.add(&format!("!{}", ignore)).expect(&ignore);
|
||||
}
|
||||
let untracked_paths_output = output(
|
||||
Command::new("git").arg("status").arg("--porcelain").arg("--untracked-files=normal"),
|
||||
);
|
||||
let untracked_paths = untracked_paths_output
|
||||
.lines()
|
||||
.filter(|entry| entry.starts_with("??"))
|
||||
.map(|entry| entry.split(" ").nth(1).expect("every git status entry should list a path"));
|
||||
for untracked_path in untracked_paths {
|
||||
eprintln!("skip untracked path {} during rustfmt invocations", untracked_path);
|
||||
ignore_fmt.add(&format!("!{}", untracked_path)).expect(&untracked_path);
|
||||
let git_available = match Command::new("git")
|
||||
.arg("--version")
|
||||
.stdout(Stdio::null())
|
||||
.stderr(Stdio::null())
|
||||
.status()
|
||||
{
|
||||
Ok(status) => status.success(),
|
||||
Err(_) => false,
|
||||
};
|
||||
if git_available {
|
||||
let in_working_tree = match Command::new("git")
|
||||
.arg("rev-parse")
|
||||
.arg("--is-inside-work-tree")
|
||||
.stdout(Stdio::null())
|
||||
.stderr(Stdio::null())
|
||||
.status()
|
||||
{
|
||||
Ok(status) => status.success(),
|
||||
Err(_) => false,
|
||||
};
|
||||
if in_working_tree {
|
||||
let untracked_paths_output = output(
|
||||
Command::new("git")
|
||||
.arg("status")
|
||||
.arg("--porcelain")
|
||||
.arg("--untracked-files=normal"),
|
||||
);
|
||||
let untracked_paths = untracked_paths_output
|
||||
.lines()
|
||||
.filter(|entry| entry.starts_with("??"))
|
||||
.map(|entry| {
|
||||
entry.split(" ").nth(1).expect("every git status entry should list a path")
|
||||
});
|
||||
for untracked_path in untracked_paths {
|
||||
eprintln!("skip untracked path {} during rustfmt invocations", untracked_path);
|
||||
ignore_fmt.add(&format!("!{}", untracked_path)).expect(&untracked_path);
|
||||
}
|
||||
} else {
|
||||
eprintln!("Not in git tree. Skipping git-aware format checks");
|
||||
}
|
||||
} else {
|
||||
eprintln!("Could not find usable git. Skipping git-aware format checks");
|
||||
}
|
||||
let ignore_fmt = ignore_fmt.build().unwrap();
|
||||
|
||||
|
||||
@ -103,7 +103,12 @@ pub unsafe fn setup(build: &mut Build) {
|
||||
};
|
||||
|
||||
let parent = OpenProcess(PROCESS_DUP_HANDLE, FALSE, pid.parse().unwrap());
|
||||
assert!(!parent.is_null(), "{}", io::Error::last_os_error());
|
||||
assert!(
|
||||
!parent.is_null(),
|
||||
"PID `{}` doesn't seem to exist: {}",
|
||||
pid,
|
||||
io::Error::last_os_error()
|
||||
);
|
||||
let mut parent_handle = ptr::null_mut();
|
||||
let r = DuplicateHandle(
|
||||
GetCurrentProcess(),
|
||||
|
||||
@ -140,6 +140,7 @@ mod format;
|
||||
mod install;
|
||||
mod metadata;
|
||||
mod native;
|
||||
mod run;
|
||||
mod sanity;
|
||||
mod test;
|
||||
mod tool;
|
||||
@ -739,19 +740,18 @@ impl Build {
|
||||
self.config.jobs.unwrap_or_else(|| num_cpus::get() as u32)
|
||||
}
|
||||
|
||||
fn debuginfo_map(&self, which: GitRepo) -> Option<String> {
|
||||
fn debuginfo_map_to(&self, which: GitRepo) -> Option<String> {
|
||||
if !self.config.rust_remap_debuginfo {
|
||||
return None;
|
||||
}
|
||||
|
||||
let path = match which {
|
||||
match which {
|
||||
GitRepo::Rustc => {
|
||||
let sha = self.rust_sha().unwrap_or(channel::CFG_RELEASE_NUM);
|
||||
format!("/rustc/{}", sha)
|
||||
Some(format!("/rustc/{}", sha))
|
||||
}
|
||||
GitRepo::Llvm => String::from("/rustc/llvm"),
|
||||
};
|
||||
Some(format!("{}={}", self.src.display(), path))
|
||||
GitRepo::Llvm => Some(String::from("/rustc/llvm")),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the path to the C compiler for the target specified.
|
||||
@ -786,7 +786,8 @@ impl Build {
|
||||
base.push("-fno-omit-frame-pointer".into());
|
||||
}
|
||||
|
||||
if let Some(map) = self.debuginfo_map(which) {
|
||||
if let Some(map_to) = self.debuginfo_map_to(which) {
|
||||
let map = format!("{}={}", self.src.display(), map_to);
|
||||
let cc = self.cc(target);
|
||||
if cc.ends_with("clang") || cc.ends_with("gcc") {
|
||||
base.push(format!("-fdebug-prefix-map={}", map));
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
use std::env;
|
||||
use std::ffi::OsString;
|
||||
use std::fs::{self, File};
|
||||
use std::io;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::process::Command;
|
||||
|
||||
@ -54,7 +55,6 @@ impl Step for Llvm {
|
||||
}
|
||||
}
|
||||
|
||||
let llvm_info = &builder.in_tree_llvm_info;
|
||||
let root = "src/llvm-project/llvm";
|
||||
let out_dir = builder.llvm_out(target);
|
||||
let mut llvm_config_ret_dir = builder.llvm_out(builder.config.build);
|
||||
@ -65,40 +65,35 @@ impl Step for Llvm {
|
||||
|
||||
let build_llvm_config =
|
||||
llvm_config_ret_dir.join(exe("llvm-config", &*builder.config.build));
|
||||
let done_stamp = out_dir.join("llvm-finished-building");
|
||||
|
||||
if done_stamp.exists() {
|
||||
if builder.config.llvm_skip_rebuild {
|
||||
builder.info(
|
||||
"Warning: \
|
||||
Using a potentially stale build of LLVM; \
|
||||
This may not behave well.",
|
||||
);
|
||||
return build_llvm_config;
|
||||
}
|
||||
let stamp = out_dir.join("llvm-finished-building");
|
||||
let stamp = HashStamp::new(stamp, builder.in_tree_llvm_info.sha());
|
||||
|
||||
if let Some(llvm_commit) = llvm_info.sha() {
|
||||
let done_contents = t!(fs::read(&done_stamp));
|
||||
if builder.config.llvm_skip_rebuild && stamp.path.exists() {
|
||||
builder.info(
|
||||
"Warning: \
|
||||
Using a potentially stale build of LLVM; \
|
||||
This may not behave well.",
|
||||
);
|
||||
return build_llvm_config;
|
||||
}
|
||||
|
||||
// If LLVM was already built previously and the submodule's commit didn't change
|
||||
// from the previous build, then no action is required.
|
||||
if done_contents == llvm_commit.as_bytes() {
|
||||
return build_llvm_config;
|
||||
}
|
||||
} else {
|
||||
if stamp.is_done() {
|
||||
if stamp.hash.is_none() {
|
||||
builder.info(
|
||||
"Could not determine the LLVM submodule commit hash. \
|
||||
Assuming that an LLVM rebuild is not necessary.",
|
||||
);
|
||||
builder.info(&format!(
|
||||
"To force LLVM to rebuild, remove the file `{}`",
|
||||
done_stamp.display()
|
||||
stamp.path.display()
|
||||
));
|
||||
return build_llvm_config;
|
||||
}
|
||||
return build_llvm_config;
|
||||
}
|
||||
|
||||
builder.info(&format!("Building LLVM for {}", target));
|
||||
t!(stamp.remove());
|
||||
let _time = util::timeit(&builder);
|
||||
t!(fs::create_dir_all(&out_dir));
|
||||
|
||||
@ -240,10 +235,14 @@ impl Step for Llvm {
|
||||
if !suffix.is_empty() {
|
||||
cfg.define("LLVM_VERSION_SUFFIX", suffix);
|
||||
}
|
||||
} else if builder.config.channel == "dev" {
|
||||
// Changes to a version suffix require a complete rebuild of the LLVM.
|
||||
// To avoid rebuilds during a time of version bump, don't include rustc
|
||||
// release number on the dev channel.
|
||||
cfg.define("LLVM_VERSION_SUFFIX", "-rust-dev");
|
||||
} else {
|
||||
let default_suffix =
|
||||
format!("-rust-{}-{}", channel::CFG_RELEASE_NUM, builder.config.channel);
|
||||
cfg.define("LLVM_VERSION_SUFFIX", default_suffix);
|
||||
let suffix = format!("-rust-{}-{}", channel::CFG_RELEASE_NUM, builder.config.channel);
|
||||
cfg.define("LLVM_VERSION_SUFFIX", suffix);
|
||||
}
|
||||
|
||||
if let Some(ref linker) = builder.config.llvm_use_linker {
|
||||
@ -271,7 +270,7 @@ impl Step for Llvm {
|
||||
|
||||
cfg.build();
|
||||
|
||||
t!(fs::write(&done_stamp, llvm_info.sha().unwrap_or("")));
|
||||
t!(stamp.write());
|
||||
|
||||
build_llvm_config
|
||||
}
|
||||
@ -290,11 +289,11 @@ fn check_llvm_version(builder: &Builder<'_>, llvm_config: &Path) {
|
||||
let version = output(cmd.arg("--version"));
|
||||
let mut parts = version.split('.').take(2).filter_map(|s| s.parse::<u32>().ok());
|
||||
if let (Some(major), Some(_minor)) = (parts.next(), parts.next()) {
|
||||
if major >= 7 {
|
||||
if major >= 8 {
|
||||
return;
|
||||
}
|
||||
}
|
||||
panic!("\n\nbad LLVM version: {}, need >=7.0\n\n", version)
|
||||
panic!("\n\nbad LLVM version: {}, need >=8.0\n\n", version)
|
||||
}
|
||||
|
||||
fn configure_cmake(
|
||||
@ -584,17 +583,21 @@ impl Step for Sanitizers {
|
||||
return runtimes;
|
||||
}
|
||||
|
||||
let done_stamp = out_dir.join("sanitizers-finished-building");
|
||||
if done_stamp.exists() {
|
||||
builder.info(&format!(
|
||||
"Assuming that sanitizers rebuild is not necessary. \
|
||||
To force a rebuild, remove the file `{}`",
|
||||
done_stamp.display()
|
||||
));
|
||||
let stamp = out_dir.join("sanitizers-finished-building");
|
||||
let stamp = HashStamp::new(stamp, builder.in_tree_llvm_info.sha());
|
||||
|
||||
if stamp.is_done() {
|
||||
if stamp.hash.is_none() {
|
||||
builder.info(&format!(
|
||||
"Rebuild sanitizers by removing the file `{}`",
|
||||
stamp.path.display()
|
||||
));
|
||||
}
|
||||
return runtimes;
|
||||
}
|
||||
|
||||
builder.info(&format!("Building sanitizers for {}", self.target));
|
||||
t!(stamp.remove());
|
||||
let _time = util::timeit(&builder);
|
||||
|
||||
let mut cfg = cmake::Config::new(&compiler_rt_dir);
|
||||
@ -623,8 +626,7 @@ impl Step for Sanitizers {
|
||||
cfg.build_target(&runtime.cmake_target);
|
||||
cfg.build();
|
||||
}
|
||||
|
||||
t!(fs::write(&done_stamp, b""));
|
||||
t!(stamp.write());
|
||||
|
||||
runtimes
|
||||
}
|
||||
@ -689,3 +691,41 @@ fn supported_sanitizers(
|
||||
}
|
||||
result
|
||||
}
|
||||
|
||||
struct HashStamp {
|
||||
path: PathBuf,
|
||||
hash: Option<Vec<u8>>,
|
||||
}
|
||||
|
||||
impl HashStamp {
|
||||
fn new(path: PathBuf, hash: Option<&str>) -> Self {
|
||||
HashStamp { path, hash: hash.map(|s| s.as_bytes().to_owned()) }
|
||||
}
|
||||
|
||||
fn is_done(&self) -> bool {
|
||||
match fs::read(&self.path) {
|
||||
Ok(h) => self.hash.as_deref().unwrap_or(b"") == h.as_slice(),
|
||||
Err(e) if e.kind() == io::ErrorKind::NotFound => false,
|
||||
Err(e) => {
|
||||
panic!("failed to read stamp file `{}`: {}", self.path.display(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn remove(&self) -> io::Result<()> {
|
||||
match fs::remove_file(&self.path) {
|
||||
Ok(()) => Ok(()),
|
||||
Err(e) => {
|
||||
if e.kind() == io::ErrorKind::NotFound {
|
||||
Ok(())
|
||||
} else {
|
||||
Err(e)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn write(&self) -> io::Result<()> {
|
||||
fs::write(&self.path, self.hash.as_deref().unwrap_or(b""))
|
||||
}
|
||||
}
|
||||
|
||||
43
src/bootstrap/run.rs
Normal file
43
src/bootstrap/run.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use crate::builder::{Builder, RunConfig, ShouldRun, Step};
|
||||
use crate::tool::Tool;
|
||||
use std::process::Command;
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct ExpandYamlAnchors;
|
||||
|
||||
impl Step for ExpandYamlAnchors {
|
||||
type Output = ();
|
||||
|
||||
/// Runs the `expand-yaml_anchors` tool.
|
||||
///
|
||||
/// This tool in `src/tools` read the CI configuration files written in YAML and expands the
|
||||
/// anchors in them, since GitHub Actions doesn't support them.
|
||||
fn run(self, builder: &Builder<'_>) {
|
||||
builder.info("Expanding YAML anchors in the GitHub Actions configuration");
|
||||
try_run(
|
||||
builder,
|
||||
&mut builder.tool_cmd(Tool::ExpandYamlAnchors).arg("generate").arg(&builder.src),
|
||||
);
|
||||
}
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
run.path("src/tools/expand-yaml-anchors")
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
run.builder.ensure(ExpandYamlAnchors);
|
||||
}
|
||||
}
|
||||
|
||||
fn try_run(builder: &Builder<'_>, cmd: &mut Command) -> bool {
|
||||
if !builder.fail_fast {
|
||||
if !builder.try_run(cmd) {
|
||||
let mut failures = builder.delayed_failures.borrow_mut();
|
||||
failures.push(format!("{:?}", cmd));
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
builder.run(cmd);
|
||||
}
|
||||
true
|
||||
}
|
||||
@ -132,8 +132,6 @@ pub fn check(build: &mut Build) {
|
||||
.python
|
||||
.take()
|
||||
.map(|p| cmd_finder.must_have(p))
|
||||
.or_else(|| cmd_finder.maybe_have("python2.7"))
|
||||
.or_else(|| cmd_finder.maybe_have("python2"))
|
||||
.or_else(|| env::var_os("BOOTSTRAP_PYTHON").map(PathBuf::from)) // set by bootstrap.py
|
||||
.or_else(|| Some(cmd_finder.must_have("python")));
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ use crate::flags::Subcommand;
|
||||
use crate::native;
|
||||
use crate::tool::{self, SourceType, Tool};
|
||||
use crate::toolstate::ToolState;
|
||||
use crate::util::{self, dylib_path, dylib_path_var};
|
||||
use crate::util::{self, add_link_lib_path, dylib_path, dylib_path_var};
|
||||
use crate::Crate as CargoCrate;
|
||||
use crate::{envify, DocTests, GitRepo, Mode};
|
||||
|
||||
@ -607,7 +607,6 @@ impl Step for RustdocTheme {
|
||||
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
pub struct RustdocJSStd {
|
||||
pub host: Interned<String>,
|
||||
pub target: Interned<String>,
|
||||
}
|
||||
|
||||
@ -621,13 +620,22 @@ impl Step for RustdocJSStd {
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
run.builder.ensure(RustdocJSStd { host: run.host, target: run.target });
|
||||
run.builder.ensure(RustdocJSStd { target: run.target });
|
||||
}
|
||||
|
||||
fn run(self, builder: &Builder<'_>) {
|
||||
if let Some(ref nodejs) = builder.config.nodejs {
|
||||
let mut command = Command::new(nodejs);
|
||||
command.args(&["src/tools/rustdoc-js-std/tester.js", &*self.host]);
|
||||
command
|
||||
.arg(builder.src.join("src/tools/rustdoc-js/tester.js"))
|
||||
.arg("--crate-name")
|
||||
.arg("std")
|
||||
.arg("--resource-suffix")
|
||||
.arg(crate::channel::CFG_RELEASE_NUM)
|
||||
.arg("--doc-folder")
|
||||
.arg(builder.doc_out(self.target))
|
||||
.arg("--test-folder")
|
||||
.arg(builder.src.join("src/test/rustdoc-js-std"));
|
||||
builder.ensure(crate::doc::Std { target: self.target, stage: builder.top_stage });
|
||||
builder.run(&mut command);
|
||||
} else {
|
||||
@ -726,9 +734,6 @@ impl Step for Tidy {
|
||||
let mut cmd = builder.tool_cmd(Tool::Tidy);
|
||||
cmd.arg(builder.src.join("src"));
|
||||
cmd.arg(&builder.initial_cargo);
|
||||
if !builder.config.vendor {
|
||||
cmd.arg("--no-vendor");
|
||||
}
|
||||
if builder.is_verbose() {
|
||||
cmd.arg("--verbose");
|
||||
}
|
||||
@ -751,6 +756,35 @@ impl Step for Tidy {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct ExpandYamlAnchors;
|
||||
|
||||
impl Step for ExpandYamlAnchors {
|
||||
type Output = ();
|
||||
const ONLY_HOSTS: bool = true;
|
||||
|
||||
/// Ensure the `generate-ci-config` tool was run locally.
|
||||
///
|
||||
/// The tool in `src/tools` reads the CI definition in `src/ci/builders.yml` and generates the
|
||||
/// appropriate configuration for all our CI providers. This step ensures the tool was called
|
||||
/// by the user before committing CI changes.
|
||||
fn run(self, builder: &Builder<'_>) {
|
||||
builder.info("Ensuring the YAML anchors in the GitHub Actions config were expanded");
|
||||
try_run(
|
||||
builder,
|
||||
&mut builder.tool_cmd(Tool::ExpandYamlAnchors).arg("check").arg(&builder.src),
|
||||
);
|
||||
}
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
run.path("src/tools/expand-yaml-anchors")
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
run.builder.ensure(ExpandYamlAnchors);
|
||||
}
|
||||
}
|
||||
|
||||
fn testdir(builder: &Builder<'_>, host: Interned<String>) -> PathBuf {
|
||||
builder.out.join(host).join("test")
|
||||
}
|
||||
@ -1142,12 +1176,23 @@ impl Step for Compiletest {
|
||||
let llvm_config = builder.ensure(native::Llvm { target: builder.config.build });
|
||||
if !builder.config.dry_run {
|
||||
let llvm_version = output(Command::new(&llvm_config).arg("--version"));
|
||||
// Remove trailing newline from llvm-config output.
|
||||
let llvm_version = llvm_version.trim_end();
|
||||
cmd.arg("--llvm-version").arg(llvm_version);
|
||||
}
|
||||
if !builder.is_rust_llvm(target) {
|
||||
cmd.arg("--system-llvm");
|
||||
}
|
||||
|
||||
// Tests that use compiler libraries may inherit the `-lLLVM` link
|
||||
// requirement, but the `-L` library path is not propagated across
|
||||
// separate compilations. We can add LLVM's library path to the
|
||||
// platform-specific environment variable as a workaround.
|
||||
if !builder.config.dry_run && suite.ends_with("fulldeps") {
|
||||
let llvm_libdir = output(Command::new(&llvm_config).arg("--libdir"));
|
||||
add_link_lib_path(vec![llvm_libdir.trim().into()], &mut cmd);
|
||||
}
|
||||
|
||||
// Only pass correct values for these flags for the `run-make` suite as it
|
||||
// requires that a C++ compiler was configured which isn't always the case.
|
||||
if !builder.config.dry_run && suite == "run-make-fulldeps" {
|
||||
|
||||
@ -12,7 +12,7 @@ use crate::channel;
|
||||
use crate::channel::GitInfo;
|
||||
use crate::compile;
|
||||
use crate::toolstate::ToolState;
|
||||
use crate::util::{add_lib_path, exe, CiEnv};
|
||||
use crate::util::{add_dylib_path, exe, CiEnv};
|
||||
use crate::Compiler;
|
||||
use crate::Mode;
|
||||
|
||||
@ -378,6 +378,7 @@ bootstrap_tool!(
|
||||
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
|
||||
RustInstaller, "src/tools/rust-installer", "fabricate", is_external_tool = true;
|
||||
RustdocTheme, "src/tools/rustdoc-themes", "rustdoc-themes";
|
||||
ExpandYamlAnchors, "src/tools/expand-yaml-anchors", "expand-yaml-anchors";
|
||||
);
|
||||
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
@ -388,7 +389,7 @@ pub struct ErrorIndex {
|
||||
impl ErrorIndex {
|
||||
pub fn command(builder: &Builder<'_>, compiler: Compiler) -> Command {
|
||||
let mut cmd = Command::new(builder.ensure(ErrorIndex { compiler }));
|
||||
add_lib_path(
|
||||
add_dylib_path(
|
||||
vec![PathBuf::from(&builder.sysroot_libdir(compiler, compiler.host))],
|
||||
&mut cmd,
|
||||
);
|
||||
@ -606,7 +607,15 @@ macro_rules! tool_extended {
|
||||
|
||||
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
|
||||
let builder = run.builder;
|
||||
run.path($path).default_condition(builder.config.extended)
|
||||
run.path($path).default_condition(
|
||||
builder.config.extended
|
||||
&& builder.config.tools.as_ref().map_or(true, |tools| {
|
||||
tools.iter().any(|tool| match tool.as_ref() {
|
||||
"clippy" => $tool_name == "clippy-driver",
|
||||
x => $tool_name == x,
|
||||
})
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
fn make_run(run: RunConfig<'_>) {
|
||||
@ -689,7 +698,7 @@ impl<'a> Builder<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
add_lib_path(lib_paths, &mut cmd);
|
||||
add_dylib_path(lib_paths, &mut cmd);
|
||||
cmd
|
||||
}
|
||||
}
|
||||
|
||||
@ -215,6 +215,9 @@ impl Step for ToolStateCheck {
|
||||
tool, old_state, state
|
||||
);
|
||||
} else {
|
||||
// This warning only appears in the logs, which most
|
||||
// people won't read. It's mostly here for testing and
|
||||
// debugging.
|
||||
eprintln!(
|
||||
"warning: Tool `{}` is not test-pass (is `{}`), \
|
||||
this should be fixed before beta is branched.",
|
||||
@ -222,6 +225,11 @@ impl Step for ToolStateCheck {
|
||||
);
|
||||
}
|
||||
}
|
||||
// `publish_toolstate.py` is responsible for updating
|
||||
// `latest.json` and creating comments/issues warning people
|
||||
// if there is a regression. That all happens in a separate CI
|
||||
// job on the master branch once the PR has passed all tests
|
||||
// on the `auto` branch.
|
||||
}
|
||||
}
|
||||
|
||||
@ -230,7 +238,7 @@ impl Step for ToolStateCheck {
|
||||
}
|
||||
|
||||
if builder.config.channel == "nightly" && env::var_os("TOOLSTATE_PUBLISH").is_some() {
|
||||
commit_toolstate_change(&toolstates, in_beta_week);
|
||||
commit_toolstate_change(&toolstates);
|
||||
}
|
||||
}
|
||||
|
||||
@ -325,11 +333,11 @@ fn prepare_toolstate_config(token: &str) {
|
||||
Err(_) => false,
|
||||
};
|
||||
if !success {
|
||||
panic!("git config key={} value={} successful (status: {:?})", key, value, status);
|
||||
panic!("git config key={} value={} failed (status: {:?})", key, value, status);
|
||||
}
|
||||
}
|
||||
|
||||
// If changing anything here, then please check that src/ci/publish_toolstate.sh is up to date
|
||||
// If changing anything here, then please check that `src/ci/publish_toolstate.sh` is up to date
|
||||
// as well.
|
||||
git_config("user.email", "7378925+rust-toolstate-update@users.noreply.github.com");
|
||||
git_config("user.name", "Rust Toolstate Update");
|
||||
@ -373,14 +381,14 @@ fn read_old_toolstate() -> Vec<RepoState> {
|
||||
///
|
||||
/// * See <https://help.github.com/articles/about-commit-email-addresses/>
|
||||
/// if a private email by GitHub is wanted.
|
||||
fn commit_toolstate_change(current_toolstate: &ToolstateData, in_beta_week: bool) {
|
||||
let old_toolstate = read_old_toolstate();
|
||||
|
||||
fn commit_toolstate_change(current_toolstate: &ToolstateData) {
|
||||
let message = format!("({} CI update)", OS.expect("linux/windows only"));
|
||||
let mut success = false;
|
||||
for _ in 1..=5 {
|
||||
// Update the toolstate results (the new commit-to-toolstate mapping) in the toolstate repo.
|
||||
change_toolstate(¤t_toolstate, &old_toolstate, in_beta_week);
|
||||
// Upload the test results (the new commit-to-toolstate mapping) to the toolstate repo.
|
||||
// This does *not* change the "current toolstate"; that only happens post-landing
|
||||
// via `src/ci/docker/publish_toolstate.sh`.
|
||||
publish_test_results(¤t_toolstate);
|
||||
|
||||
// `git commit` failing means nothing to commit.
|
||||
let status = t!(Command::new("git")
|
||||
@ -429,31 +437,12 @@ fn commit_toolstate_change(current_toolstate: &ToolstateData, in_beta_week: bool
|
||||
}
|
||||
}
|
||||
|
||||
fn change_toolstate(
|
||||
current_toolstate: &ToolstateData,
|
||||
old_toolstate: &[RepoState],
|
||||
in_beta_week: bool,
|
||||
) {
|
||||
let mut regressed = false;
|
||||
for repo_state in old_toolstate {
|
||||
let tool = &repo_state.tool;
|
||||
let state = repo_state.state();
|
||||
let new_state = current_toolstate[tool.as_str()];
|
||||
|
||||
if new_state != state {
|
||||
eprintln!("The state of `{}` has changed from `{}` to `{}`", tool, state, new_state);
|
||||
if new_state < state {
|
||||
if !NIGHTLY_TOOLS.iter().any(|(name, _path)| name == tool) {
|
||||
regressed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if regressed && in_beta_week {
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
/// Updates the "history" files with the latest results.
|
||||
///
|
||||
/// These results will later be promoted to `latest.json` by the
|
||||
/// `publish_toolstate.py` script if the PR passes all tests and is merged to
|
||||
/// master.
|
||||
fn publish_test_results(current_toolstate: &ToolstateData) {
|
||||
let commit = t!(std::process::Command::new("git").arg("rev-parse").arg("HEAD").output());
|
||||
let commit = t!(String::from_utf8(commit.stdout));
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ pub fn libdir(target: &str) -> &'static str {
|
||||
}
|
||||
|
||||
/// Adds a list of lookup paths to `cmd`'s dynamic library lookup path.
|
||||
pub fn add_lib_path(path: Vec<PathBuf>, cmd: &mut Command) {
|
||||
pub fn add_dylib_path(path: Vec<PathBuf>, cmd: &mut Command) {
|
||||
let mut list = dylib_path();
|
||||
for path in path {
|
||||
list.insert(0, path);
|
||||
@ -72,6 +72,31 @@ pub fn dylib_path() -> Vec<PathBuf> {
|
||||
env::split_paths(&var).collect()
|
||||
}
|
||||
|
||||
/// Adds a list of lookup paths to `cmd`'s link library lookup path.
|
||||
pub fn add_link_lib_path(path: Vec<PathBuf>, cmd: &mut Command) {
|
||||
let mut list = link_lib_path();
|
||||
for path in path {
|
||||
list.insert(0, path);
|
||||
}
|
||||
cmd.env(link_lib_path_var(), t!(env::join_paths(list)));
|
||||
}
|
||||
|
||||
/// Returns the environment variable which the link library lookup path
|
||||
/// resides in for this platform.
|
||||
fn link_lib_path_var() -> &'static str {
|
||||
if cfg!(target_env = "msvc") { "LIB" } else { "LIBRARY_PATH" }
|
||||
}
|
||||
|
||||
/// Parses the `link_lib_path_var()` environment variable, returning a list of
|
||||
/// paths that are members of this lookup path.
|
||||
fn link_lib_path() -> Vec<PathBuf> {
|
||||
let var = match env::var_os(link_lib_path_var()) {
|
||||
Some(v) => v,
|
||||
None => return vec![],
|
||||
};
|
||||
env::split_paths(&var).collect()
|
||||
}
|
||||
|
||||
/// `push` all components to `buf`. On windows, append `.exe` to the last component.
|
||||
pub fn push_exe_path(mut buf: PathBuf, components: &[&str]) -> PathBuf {
|
||||
let (&file, components) = components.split_last().expect("at least one component required");
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
#####################################
|
||||
## READ BEFORE CHANGING THIS ##
|
||||
#####################################
|
||||
|
||||
# We're in the process of evaluating GitHub Actions as a possible replacement
|
||||
# for Azure Pipelines, and at the moment the configuration is duplicated
|
||||
# between the two CI providers. Be sure to also change the configuration in
|
||||
# src/ci/github-actions when changing this file.
|
||||
|
||||
#####################################
|
||||
|
||||
#
|
||||
# Azure Pipelines "auto" branch build for Rust on Linux, macOS, and Windows.
|
||||
#
|
||||
@ -18,7 +29,7 @@ jobs:
|
||||
- template: steps/run.yml
|
||||
strategy:
|
||||
matrix:
|
||||
x86_64-gnu-llvm-7:
|
||||
x86_64-gnu-llvm-8:
|
||||
RUST_BACKTRACE: 1
|
||||
dist-x86_64-linux: {}
|
||||
dist-x86_64-linux-alt:
|
||||
@ -76,7 +87,7 @@ jobs:
|
||||
# version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
|
||||
x86_64-apple:
|
||||
SCRIPT: ./x.py test
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.8
|
||||
MACOSX_STD_DEPLOYMENT_TARGET: 10.7
|
||||
@ -85,7 +96,7 @@ jobs:
|
||||
|
||||
dist-x86_64-apple:
|
||||
SCRIPT: ./x.py dist
|
||||
RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
@ -94,7 +105,7 @@ jobs:
|
||||
|
||||
dist-x86_64-apple-alt:
|
||||
SCRIPT: ./x.py dist
|
||||
RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
@ -111,22 +122,22 @@ jobs:
|
||||
matrix:
|
||||
# 32/64 bit MSVC tests
|
||||
x86_64-msvc-1:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: make ci-subset-1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
x86_64-msvc-2:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: make ci-subset-2
|
||||
i686-msvc-1:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
SCRIPT: make ci-subset-1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
i686-msvc-2:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
SCRIPT: make ci-subset-2
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
@ -134,10 +145,10 @@ jobs:
|
||||
# MSVC aux tests
|
||||
x86_64-msvc-aux:
|
||||
RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
x86_64-msvc-cargo:
|
||||
SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
VCVARS_BAT: vcvars64.bat
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
@ -145,7 +156,7 @@ jobs:
|
||||
# MSVC tools tests
|
||||
x86_64-msvc-tools:
|
||||
SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
|
||||
|
||||
# 32/64-bit MinGW builds.
|
||||
#
|
||||
@ -161,31 +172,31 @@ jobs:
|
||||
# came from the mingw-w64 SourceForge download site. Unfortunately
|
||||
# SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
|
||||
i686-mingw-1:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-subset-1
|
||||
CUSTOM_MINGW: 1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
i686-mingw-2:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-subset-2
|
||||
CUSTOM_MINGW: 1
|
||||
x86_64-mingw-1:
|
||||
SCRIPT: make ci-mingw-subset-1
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
CUSTOM_MINGW: 1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
x86_64-mingw-2:
|
||||
SCRIPT: make ci-mingw-subset-2
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
CUSTOM_MINGW: 1
|
||||
|
||||
# 32/64 bit MSVC and GNU deployment
|
||||
dist-x86_64-msvc:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
INITIAL_RUST_CONFIGURE_ARGS: >-
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
@ -193,7 +204,7 @@ jobs:
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
dist-i686-msvc:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
INITIAL_RUST_CONFIGURE_ARGS: >-
|
||||
--build=i686-pc-windows-msvc
|
||||
--target=i586-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
@ -201,17 +212,17 @@ jobs:
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
dist-i686-mingw:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
CUSTOM_MINGW: 1
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
dist-x86_64-mingw:
|
||||
SCRIPT: python x.py dist
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
CUSTOM_MINGW: 1
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
|
||||
# "alternate" deployment, see .travis.yml for more info
|
||||
dist-x86_64-msvc-alt:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
#####################################
|
||||
## READ BEFORE CHANGING THIS ##
|
||||
#####################################
|
||||
|
||||
# We're in the process of evaluating GitHub Actions as a possible replacement
|
||||
# for Azure Pipelines, and at the moment the configuration is duplicated
|
||||
# between the two CI providers. Be sure to also change the configuration in
|
||||
# src/ci/github-actions when changing this file.
|
||||
|
||||
#####################################
|
||||
|
||||
#
|
||||
# Azure Pipelines job to publish toolstate. Only triggers on pushes to master.
|
||||
#
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
#####################################
|
||||
## READ BEFORE CHANGING THIS ##
|
||||
#####################################
|
||||
|
||||
# We're in the process of evaluating GitHub Actions as a possible replacement
|
||||
# for Azure Pipelines, and at the moment the configuration is duplicated
|
||||
# between the two CI providers. Be sure to also change the configuration in
|
||||
# src/ci/github-actions when changing this file.
|
||||
|
||||
#####################################
|
||||
|
||||
#
|
||||
# Azure Pipelines pull request build for Rust
|
||||
#
|
||||
@ -18,7 +29,7 @@ jobs:
|
||||
- template: steps/run.yml
|
||||
strategy:
|
||||
matrix:
|
||||
x86_64-gnu-llvm-7: {}
|
||||
x86_64-gnu-llvm-8: {}
|
||||
mingw-check: {}
|
||||
x86_64-gnu-tools:
|
||||
CI_ONLY_WHEN_SUBMODULES_CHANGED: 1
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
#####################################
|
||||
## READ BEFORE CHANGING THIS ##
|
||||
#####################################
|
||||
|
||||
# We're in the process of evaluating GitHub Actions as a possible replacement
|
||||
# for Azure Pipelines, and at the moment the configuration is duplicated
|
||||
# between the two CI providers. Be sure to also change the configuration in
|
||||
# src/ci/github-actions when changing this file.
|
||||
|
||||
#####################################
|
||||
|
||||
# FIXME(linux): need to configure core dumps, enable them, and then dump
|
||||
# backtraces on failure from all core dumps:
|
||||
#
|
||||
@ -59,8 +70,8 @@ steps:
|
||||
displayName: Install InnoSetup
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- bash: src/ci/scripts/windows-symlink-build-dir.sh
|
||||
displayName: Ensure the build happens on C:\ instead of D:\
|
||||
- bash: src/ci/scripts/symlink-build-dir.sh
|
||||
displayName: Ensure the build happens on a partition with enough space
|
||||
condition: and(succeeded(), not(variables.SKIP_JOB))
|
||||
|
||||
- bash: src/ci/scripts/disable-git-crlf-conversion.sh
|
||||
|
||||
@ -1,3 +1,14 @@
|
||||
#####################################
|
||||
## READ BEFORE CHANGING THIS ##
|
||||
#####################################
|
||||
|
||||
# We're in the process of evaluating GitHub Actions as a possible replacement
|
||||
# for Azure Pipelines, and at the moment the configuration is duplicated
|
||||
# between the two CI providers. Be sure to also change the configuration in
|
||||
# src/ci/github-actions when changing this file.
|
||||
|
||||
#####################################
|
||||
|
||||
pr: none
|
||||
trigger:
|
||||
- try
|
||||
@ -32,7 +43,7 @@ jobs:
|
||||
# matrix:
|
||||
# dist-x86_64-apple:
|
||||
# SCRIPT: ./x.py dist
|
||||
# RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
# INITIAL_RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
# DEPLOY: 1
|
||||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
# MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
@ -42,7 +53,7 @@ jobs:
|
||||
#
|
||||
# dist-x86_64-apple-alt:
|
||||
# SCRIPT: ./x.py dist
|
||||
# RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
|
||||
# INITIAL_RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
|
||||
# DEPLOY_ALT: 1
|
||||
# RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
# MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
@ -58,7 +69,7 @@ jobs:
|
||||
# strategy:
|
||||
# matrix:
|
||||
# dist-x86_64-msvc:
|
||||
# RUST_CONFIGURE_ARGS: >
|
||||
# INITIAL_RUST_CONFIGURE_ARGS: >
|
||||
# --build=x86_64-pc-windows-msvc
|
||||
# --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
|
||||
# --enable-full-tools
|
||||
@ -68,6 +79,6 @@ jobs:
|
||||
# DEPLOY: 1
|
||||
#
|
||||
# dist-x86_64-msvc-alt:
|
||||
# RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
# INITIAL_RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
# SCRIPT: python x.py dist
|
||||
# DEPLOY_ALT: 1
|
||||
|
||||
@ -138,15 +138,14 @@ $category > $option = $value -- $comment
|
||||
For targets: `arm-unknown-linux-gnueabi`
|
||||
|
||||
- Path and misc options > Prefix directory = /x-tools/${CT\_TARGET}
|
||||
- Path and misc options > Patches origin = Bundled, then local
|
||||
- Path and misc options > Local patch directory = /tmp/patches
|
||||
- Path and misc options > Patches origin = Bundled only
|
||||
- Target options > Target Architecture = arm
|
||||
- Target options > Architecture level = armv6 -- (+)
|
||||
- Target options > Floating point = software (no FPU) -- (\*)
|
||||
- Operating System > Target OS = linux
|
||||
- Operating System > Linux kernel version = 3.2.72 -- Precise kernel
|
||||
- C-library > glibc version = 2.16.0
|
||||
- C compiler > gcc version = 5.2.0
|
||||
- Operating System > Linux kernel version = 3.2.101
|
||||
- C-library > glibc version = 2.17.0
|
||||
- C compiler > gcc version = 8.3.0
|
||||
- C compiler > C++ = ENABLE -- to cross compile LLVM
|
||||
|
||||
### `arm-linux-gnueabihf.config`
|
||||
@ -154,17 +153,16 @@ For targets: `arm-unknown-linux-gnueabi`
|
||||
For targets: `arm-unknown-linux-gnueabihf`
|
||||
|
||||
- Path and misc options > Prefix directory = /x-tools/${CT\_TARGET}
|
||||
- Path and misc options > Patches origin = Bundled, then local
|
||||
- Path and misc options > Local patch directory = /tmp/patches
|
||||
- Path and misc options > Patches origin = Bundled only
|
||||
- Target options > Target Architecture = arm
|
||||
- Target options > Architecture level = armv6 -- (+)
|
||||
- Target options > Use specific FPU = vfp -- (+)
|
||||
- Target options > Floating point = hardware (FPU) -- (\*)
|
||||
- Target options > Default instruction set mode = arm -- (+)
|
||||
- Operating System > Target OS = linux
|
||||
- Operating System > Linux kernel version = 3.2.72 -- Precise kernel
|
||||
- C-library > glibc version = 2.16.0
|
||||
- C compiler > gcc version = 5.2.0
|
||||
- Operating System > Linux kernel version = 3.2.101
|
||||
- C-library > glibc version = 2.17.0
|
||||
- C compiler > gcc version = 8.3.0
|
||||
- C compiler > C++ = ENABLE -- to cross compile LLVM
|
||||
|
||||
### `armv7-linux-gnueabihf.config`
|
||||
|
||||
@ -31,7 +31,7 @@ ENV TARGETS=arm-linux-androideabi
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --arm-linux-androideabi-ndk=/android/ndk/arm-14
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test --target $TARGETS
|
||||
ENV SCRIPT python3 ../x.py test --target $TARGETS
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -14,7 +14,7 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
libc6-dev \
|
||||
libc6-dev-armhf-cross \
|
||||
make \
|
||||
python2.7 \
|
||||
python3 \
|
||||
qemu-system-arm \
|
||||
xz-utils
|
||||
|
||||
@ -78,6 +78,6 @@ COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --qemu-armhf-rootfs=/tmp/rootfs
|
||||
ENV SCRIPT python2.7 ../x.py test --target arm-unknown-linux-gnueabihf
|
||||
ENV SCRIPT python3 ../x.py test --target arm-unknown-linux-gnueabihf
|
||||
|
||||
ENV NO_CHANGE_USER=1
|
||||
|
||||
@ -14,7 +14,7 @@ RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
libc6-dev \
|
||||
libc6-dev-arm64-cross \
|
||||
make \
|
||||
python2.7 \
|
||||
python3 \
|
||||
qemu-system-aarch64 \
|
||||
xz-utils
|
||||
|
||||
@ -75,5 +75,5 @@ RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--qemu-aarch64-rootfs=/tmp/rootfs
|
||||
ENV SCRIPT python2.7 ../x.py test --target aarch64-unknown-linux-gnu
|
||||
ENV SCRIPT python3 ../x.py test --target aarch64-unknown-linux-gnu
|
||||
ENV NO_CHANGE_USER=1
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -33,7 +33,7 @@ ENV EMCC_CFLAGS=-O1
|
||||
# Emscripten installation is user-specific
|
||||
ENV NO_CHANGE_USER=1
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test --target $TARGETS
|
||||
ENV SCRIPT python3 ../x.py test --target $TARGETS
|
||||
|
||||
# This is almost identical to the wasm32-unknown-emscripten target, so
|
||||
# running with assertions again is not useful
|
||||
|
||||
@ -19,7 +19,7 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-extended \
|
||||
--enable-cargo-openssl-static
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py dist --target $HOSTS --host $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --target $HOSTS --host $HOSTS
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -33,11 +33,11 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
# build to finish we use --warn-unresolved-symbols. Note that the missing
|
||||
# symbols does not affect std, only the compiler (llvm) and cargo (openssl).
|
||||
ENV SCRIPT \
|
||||
python2.7 ../x.py build src/llvm --host $HOSTS --target $HOSTS && \
|
||||
python3 ../x.py build src/llvm --host $HOSTS --target $HOSTS && \
|
||||
(export RUSTFLAGS="\"-C link-arg=-Wl,--warn-unresolved-symbols\""; \
|
||||
rm /android/ndk/arm && \
|
||||
ln -s /android/ndk/arm-14 /android/ndk/arm && \
|
||||
python2.7 ../x.py dist --host $HOSTS --target $HOSTS)
|
||||
python3 ../x.py dist --host $HOSTS --target $HOSTS)
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -33,11 +33,11 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
# build to finish we use --warn-unresolved-symbols. Note that the missing
|
||||
# symbols does not affect std, only the compiler (llvm) and cargo (openssl).
|
||||
ENV SCRIPT \
|
||||
python2.7 ../x.py build src/llvm --host $HOSTS --target $HOSTS && \
|
||||
python3 ../x.py build src/llvm --host $HOSTS --target $HOSTS && \
|
||||
(export RUSTFLAGS="\"-C link-arg=-Wl,--warn-unresolved-symbols\""; \
|
||||
rm /android/ndk/x86 && \
|
||||
ln -s /android/ndk/x86-14 /android/ndk/x86 && \
|
||||
python2.7 ../x.py dist --host $HOSTS --target $HOSTS)
|
||||
python3 ../x.py dist --host $HOSTS --target $HOSTS)
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -23,4 +23,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=powerpc-unknown-linux-gnuspe
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -23,4 +23,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=sparc64-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -19,7 +19,7 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-extended \
|
||||
--enable-cargo-openssl-static
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py dist --target $HOSTS --host $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --target $HOSTS --host $HOSTS
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -33,4 +33,4 @@ ENV \
|
||||
ENV HOSTS=x86_64-unknown-dragonfly
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -18,7 +18,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
make \
|
||||
nasm \
|
||||
pkg-config \
|
||||
python2.7 \
|
||||
python3 \
|
||||
sudo \
|
||||
texinfo \
|
||||
wget \
|
||||
@ -46,4 +46,4 @@ ENV RUST_CONFIGURE_ARGS --disable-jemalloc \
|
||||
--set=$TARGET.cc=x86_64-unknown-haiku-gcc \
|
||||
--set=$TARGET.cxx=x86_64-unknown-haiku-g++ \
|
||||
--set=$TARGET.llvm-config=/bin/llvm-config-haiku
|
||||
ENV SCRIPT python2.7 ../x.py dist --host=$HOST --target=$HOST
|
||||
ENV SCRIPT python3 ../x.py dist --host=$HOST --target=$HOST
|
||||
|
||||
@ -19,4 +19,4 @@ ENV \
|
||||
CXX_x86_64_unknown_redox=x86_64-unknown-redox-g++
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended
|
||||
ENV SCRIPT python2.7 ../x.py dist --target x86_64-unknown-redox
|
||||
ENV SCRIPT python3 ../x.py dist --target x86_64-unknown-redox
|
||||
|
||||
@ -36,4 +36,4 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-extended \
|
||||
--enable-profiler \
|
||||
--disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -23,6 +23,7 @@ ENV TARGETS=$TARGETS,x86_64-linux-android
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-extended \
|
||||
--enable-profiler \
|
||||
--arm-linux-androideabi-ndk=/android/ndk/arm-14 \
|
||||
--armv7-linux-androideabi-ndk=/android/ndk/arm-14 \
|
||||
--thumbv7neon-linux-androideabi-ndk=/android/ndk/arm-14 \
|
||||
@ -31,7 +32,7 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--x86_64-linux-android-ndk=/android/ndk/x86_64-21 \
|
||||
--disable-docs
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
|
||||
ENV SCRIPT python3 ../x.py dist --target $TARGETS
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
@ -3,20 +3,14 @@ FROM ubuntu:16.04
|
||||
COPY scripts/cross-apt-packages.sh /scripts/
|
||||
RUN sh /scripts/cross-apt-packages.sh
|
||||
|
||||
# Ubuntu 16.04 (this container) ships with make 4, but something in the
|
||||
# toolchains we build below chokes on that, so go back to make 3
|
||||
COPY scripts/make3.sh /scripts/
|
||||
RUN sh /scripts/make3.sh
|
||||
|
||||
COPY scripts/crosstool-ng.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng.sh
|
||||
COPY scripts/crosstool-ng-1.24.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng-1.24.sh
|
||||
|
||||
COPY scripts/rustbuild-setup.sh /scripts/
|
||||
RUN sh /scripts/rustbuild-setup.sh
|
||||
USER rustbuild
|
||||
WORKDIR /tmp
|
||||
|
||||
COPY dist-arm-linux/patches/ /tmp/patches/
|
||||
COPY dist-arm-linux/arm-linux-gnueabi.config dist-arm-linux/build-toolchains.sh /tmp/
|
||||
RUN ./build-toolchains.sh
|
||||
|
||||
@ -34,4 +28,4 @@ ENV CC_arm_unknown_linux_gnueabi=arm-unknown-linux-gnueabi-gcc \
|
||||
ENV HOSTS=arm-unknown-linux-gnueabi
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -1,9 +1,29 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Crosstool-NG Configuration
|
||||
# crosstool-NG Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_make381=y
|
||||
CT_CONFIGURE_has_xz=y
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_automake_1_15_or_newer=y
|
||||
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||
CT_CONFIGURE_has_bison_2_7_or_newer=y
|
||||
CT_CONFIGURE_has_python=y
|
||||
CT_CONFIGURE_has_git=y
|
||||
CT_CONFIGURE_has_md5sum=y
|
||||
CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@ -20,41 +40,48 @@ CT_MODULES=y
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
CT_LOCAL_TARBALLS_DIR=""
|
||||
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
|
||||
CT_SAVE_TARBALLS=y
|
||||
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
|
||||
CT_WORK_DIR="${CT_TOP_DIR}/.build"
|
||||
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||
CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
|
||||
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
|
||||
CT_RM_RF_PREFIX_DIR=y
|
||||
CT_REMOVE_DOCS=y
|
||||
CT_INSTALL_DIR_RO=y
|
||||
CT_INSTALL_LICENSES=y
|
||||
CT_PREFIX_DIR_RO=y
|
||||
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
|
||||
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
|
||||
|
||||
#
|
||||
# Downloading
|
||||
#
|
||||
CT_DOWNLOAD_AGENT_WGET=y
|
||||
# CT_DOWNLOAD_AGENT_CURL is not set
|
||||
# CT_DOWNLOAD_AGENT_NONE is not set
|
||||
# CT_FORBID_DOWNLOAD is not set
|
||||
# CT_FORCE_DOWNLOAD is not set
|
||||
CT_CONNECT_TIMEOUT=10
|
||||
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
|
||||
# CT_ONLY_DOWNLOAD is not set
|
||||
# CT_USE_MIRROR is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST=y
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
|
||||
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
|
||||
|
||||
#
|
||||
# Extracting
|
||||
#
|
||||
# CT_FORCE_EXTRACT is not set
|
||||
CT_OVERIDE_CONFIG_GUESS_SUB=y
|
||||
CT_OVERRIDE_CONFIG_GUESS_SUB=y
|
||||
# CT_ONLY_EXTRACT is not set
|
||||
# CT_PATCH_BUNDLED is not set
|
||||
# CT_PATCH_LOCAL is not set
|
||||
CT_PATCH_BUNDLED_LOCAL=y
|
||||
# CT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
|
||||
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
|
||||
# CT_PATCH_NONE is not set
|
||||
CT_PATCH_ORDER="bundled,local"
|
||||
CT_PATCH_USE_LOCAL=y
|
||||
CT_LOCAL_PATCH_DIR="/tmp/patches"
|
||||
CT_PATCH_BUNDLED=y
|
||||
# CT_PATCH_BUNDLED_LOCAL is not set
|
||||
CT_PATCH_ORDER="bundled"
|
||||
|
||||
#
|
||||
# Build behavior
|
||||
@ -77,11 +104,11 @@ CT_CONFIG_SHELL="${bash}"
|
||||
#
|
||||
# CT_LOG_ERROR is not set
|
||||
# CT_LOG_WARN is not set
|
||||
CT_LOG_INFO=y
|
||||
# CT_LOG_EXTRA is not set
|
||||
# CT_LOG_INFO is not set
|
||||
CT_LOG_EXTRA=y
|
||||
# CT_LOG_ALL is not set
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="INFO"
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_TO_FILE=y
|
||||
@ -90,84 +117,85 @@ CT_LOG_FILE_COMPRESS=y
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
# CT_ARCH_ALPHA is not set
|
||||
# CT_ARCH_ARC is not set
|
||||
CT_ARCH_ARM=y
|
||||
# CT_ARCH_AVR is not set
|
||||
# CT_ARCH_M68K is not set
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
# CT_ARCH_POWERPC is not set
|
||||
# CT_ARCH_S390 is not set
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
# CT_ARCH_X86 is not set
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_SUPPORTS_64=y
|
||||
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||
CT_ARCH_SUPPORTS_WITH_CPU=y
|
||||
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
CT_ARCH_DEFAULT_32=y
|
||||
CT_ARCH_ARCH="armv6"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
# CT_ARCH_ALPHA_EV4 is not set
|
||||
# CT_ARCH_ALPHA_EV45 is not set
|
||||
# CT_ARCH_ALPHA_EV5 is not set
|
||||
# CT_ARCH_ALPHA_EV56 is not set
|
||||
# CT_ARCH_ALPHA_EV6 is not set
|
||||
# CT_ARCH_ALPHA_EV67 is not set
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_FPU=""
|
||||
# CT_ARCH_BE is not set
|
||||
CT_ARCH_LE=y
|
||||
CT_ARCH_32=y
|
||||
# CT_ARCH_64 is not set
|
||||
CT_ARCH_BITNESS=32
|
||||
# CT_ARCH_FLOAT_HW is not set
|
||||
CT_ARCH_FLOAT_SW=y
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
# CT_ARCH_alpha is not set
|
||||
CT_ARCH_arm=y
|
||||
# CT_ARCH_avr is not set
|
||||
# CT_ARCH_m68k is not set
|
||||
# CT_ARCH_mips is not set
|
||||
# CT_ARCH_nios2 is not set
|
||||
# CT_ARCH_powerpc is not set
|
||||
# CT_ARCH_s390 is not set
|
||||
# CT_ARCH_sh is not set
|
||||
# CT_ARCH_sparc is not set
|
||||
# CT_ARCH_x86 is not set
|
||||
# CT_ARCH_xtensa is not set
|
||||
CT_ARCH_alpha_AVAILABLE=y
|
||||
CT_ARCH_arm_AVAILABLE=y
|
||||
CT_ARCH_avr_AVAILABLE=y
|
||||
CT_ARCH_m68k_AVAILABLE=y
|
||||
CT_ARCH_microblaze_AVAILABLE=y
|
||||
CT_ARCH_mips_AVAILABLE=y
|
||||
CT_ARCH_nios2_AVAILABLE=y
|
||||
CT_ARCH_powerpc_AVAILABLE=y
|
||||
CT_ARCH_s390_AVAILABLE=y
|
||||
CT_ARCH_sh_AVAILABLE=y
|
||||
CT_ARCH_sparc_AVAILABLE=y
|
||||
CT_ARCH_x86_AVAILABLE=y
|
||||
CT_ARCH_xtensa_AVAILABLE=y
|
||||
CT_ARCH_SUFFIX=""
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_ENDIAN="little"
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
CT_ARCH_FLOAT="soft"
|
||||
|
||||
#
|
||||
# arm other options
|
||||
# Options for arm
|
||||
#
|
||||
CT_ARCH_ARM_PKG_KSYM=""
|
||||
CT_ARCH_ARM_MODE="arm"
|
||||
CT_ARCH_ARM_MODE_ARM=y
|
||||
# CT_ARCH_ARM_MODE_THUMB is not set
|
||||
# CT_ARCH_ARM_INTERWORKING is not set
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=y
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_DEMULTILIB=y
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
|
||||
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
# CT_ARCH_BE is not set
|
||||
CT_ARCH_LE=y
|
||||
CT_ARCH_ENDIAN="little"
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_SUPPORTS_64=y
|
||||
CT_ARCH_DEFAULT_32=y
|
||||
CT_ARCH_BITNESS=32
|
||||
CT_ARCH_32=y
|
||||
# CT_ARCH_64 is not set
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||
CT_ARCH_SUPPORTS_WITH_CPU=y
|
||||
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
CT_ARCH_ARCH="armv6"
|
||||
CT_ARCH_FPU=""
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
# CT_ARCH_FLOAT_HW is not set
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
CT_ARCH_FLOAT_SW=y
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
CT_ARCH_FLOAT="soft"
|
||||
|
||||
#
|
||||
# Toolchain options
|
||||
@ -181,7 +209,9 @@ CT_USE_SYSROOT=y
|
||||
CT_SYSROOT_NAME="sysroot"
|
||||
CT_SYSROOT_DIR_PREFIX=""
|
||||
CT_WANTS_STATIC_LINK=y
|
||||
CT_WANTS_STATIC_LINK_CXX=y
|
||||
# CT_STATIC_TOOLCHAIN is not set
|
||||
CT_SHOW_CT_VERSION=y
|
||||
CT_TOOLCHAIN_PKGVERSION=""
|
||||
CT_TOOLCHAIN_BUGURL=""
|
||||
|
||||
@ -215,126 +245,215 @@ CT_BUILD_SUFFIX=""
|
||||
# Operating System
|
||||
#
|
||||
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
|
||||
# CT_KERNEL_BARE_METAL is not set
|
||||
CT_KERNEL_LINUX=y
|
||||
CT_KERNEL="linux"
|
||||
CT_KERNEL_VERSION="3.2.72"
|
||||
# CT_KERNEL_bare_metal is not set
|
||||
CT_KERNEL_linux=y
|
||||
CT_KERNEL_bare_metal_AVAILABLE=y
|
||||
CT_KERNEL_linux_AVAILABLE=y
|
||||
# CT_KERNEL_V_4_3 is not set
|
||||
# CT_KERNEL_V_4_2 is not set
|
||||
# CT_KERNEL_V_4_1 is not set
|
||||
# CT_KERNEL_V_3_18 is not set
|
||||
# CT_KERNEL_V_3_14 is not set
|
||||
# CT_KERNEL_V_3_12 is not set
|
||||
# CT_KERNEL_V_3_10 is not set
|
||||
# CT_KERNEL_V_3_4 is not set
|
||||
CT_KERNEL_V_3_2=y
|
||||
# CT_KERNEL_V_2_6_32 is not set
|
||||
# CT_KERNEL_LINUX_CUSTOM is not set
|
||||
CT_KERNEL_windows_AVAILABLE=y
|
||||
CT_KERNEL_CHOICE_KSYM="LINUX"
|
||||
CT_KERNEL_LINUX_SHOW=y
|
||||
|
||||
#
|
||||
# Options for linux
|
||||
#
|
||||
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
||||
CT_LINUX_DIR_NAME="linux"
|
||||
CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_4_20 is not set
|
||||
# CT_LINUX_V_4_19 is not set
|
||||
# CT_LINUX_V_4_18 is not set
|
||||
# CT_LINUX_V_4_17 is not set
|
||||
# CT_LINUX_V_4_16 is not set
|
||||
# CT_LINUX_V_4_15 is not set
|
||||
# CT_LINUX_V_4_14 is not set
|
||||
# CT_LINUX_V_4_13 is not set
|
||||
# CT_LINUX_V_4_12 is not set
|
||||
# CT_LINUX_V_4_11 is not set
|
||||
# CT_LINUX_V_4_10 is not set
|
||||
# CT_LINUX_V_4_9 is not set
|
||||
# CT_LINUX_V_4_4 is not set
|
||||
# CT_LINUX_V_4_1 is not set
|
||||
# CT_LINUX_V_3_16 is not set
|
||||
# CT_LINUX_V_3_13 is not set
|
||||
# CT_LINUX_V_3_12 is not set
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
CT_LINUX_V_3_2=y
|
||||
# CT_LINUX_V_2_6_32 is not set
|
||||
# CT_LINUX_NO_VERSIONS is not set
|
||||
CT_LINUX_VERSION="3.2.101"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_4_8_or_older=y
|
||||
CT_LINUX_older_than_4_8=y
|
||||
CT_LINUX_3_7_or_older=y
|
||||
CT_LINUX_older_than_3_7=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
# Common kernel options
|
||||
#
|
||||
CT_SHARED_LIBS=y
|
||||
|
||||
#
|
||||
# linux other options
|
||||
#
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
|
||||
#
|
||||
# Binary utilities
|
||||
#
|
||||
CT_ARCH_BINFMT_ELF=y
|
||||
CT_BINUTILS_BINUTILS=y
|
||||
CT_BINUTILS="binutils"
|
||||
CT_BINUTILS_binutils=y
|
||||
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
|
||||
CT_BINUTILS_BINUTILS_SHOW=y
|
||||
|
||||
#
|
||||
# Options for binutils
|
||||
#
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
CT_BINUTILS_V_2_32=y
|
||||
# CT_BINUTILS_V_2_31 is not set
|
||||
# CT_BINUTILS_V_2_30 is not set
|
||||
# CT_BINUTILS_V_2_29 is not set
|
||||
# CT_BINUTILS_V_2_28 is not set
|
||||
# CT_BINUTILS_V_2_27 is not set
|
||||
# CT_BINUTILS_V_2_26 is not set
|
||||
# CT_BINUTILS_NO_VERSIONS is not set
|
||||
CT_BINUTILS_VERSION="2.32"
|
||||
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
|
||||
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
# CT_CC_BINUTILS_SHOW_LINARO is not set
|
||||
CT_BINUTILS_V_2_25_1=y
|
||||
# CT_BINUTILS_V_2_25 is not set
|
||||
# CT_BINUTILS_V_2_24 is not set
|
||||
# CT_BINUTILS_V_2_23_2 is not set
|
||||
# CT_BINUTILS_V_2_23_1 is not set
|
||||
# CT_BINUTILS_V_2_22 is not set
|
||||
# CT_BINUTILS_V_2_21_53 is not set
|
||||
# CT_BINUTILS_V_2_21_1a is not set
|
||||
# CT_BINUTILS_V_2_20_1a is not set
|
||||
# CT_BINUTILS_V_2_19_1a is not set
|
||||
# CT_BINUTILS_V_2_18a is not set
|
||||
CT_BINUTILS_VERSION="2.25.1"
|
||||
CT_BINUTILS_2_25_1_or_later=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_2_24_or_later=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_2_22_or_later=y
|
||||
CT_BINUTILS_2_21_or_later=y
|
||||
CT_BINUTILS_2_20_or_later=y
|
||||
CT_BINUTILS_2_19_or_later=y
|
||||
CT_BINUTILS_2_18_or_later=y
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_FORCE_LD_BFD=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
CT_BINUTILS_LINKER_LD=y
|
||||
# CT_BINUTILS_LINKER_LD_GOLD is not set
|
||||
# CT_BINUTILS_LINKER_GOLD_LD is not set
|
||||
CT_BINUTILS_LINKERS_LIST="ld"
|
||||
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
# CT_BINUTILS_PLUGINS is not set
|
||||
CT_BINUTILS_RELRO=m
|
||||
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_BINUTILS_FOR_TARGET is not set
|
||||
|
||||
#
|
||||
# binutils other options
|
||||
#
|
||||
CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_NEWLIB is not set
|
||||
# CT_LIBC_NONE is not set
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_VERSION="2.16.0"
|
||||
CT_LIBC_glibc=y
|
||||
# CT_LIBC_musl is not set
|
||||
# CT_LIBC_uClibc is not set
|
||||
CT_LIBC_avr_libc_AVAILABLE=y
|
||||
CT_LIBC_glibc_AVAILABLE=y
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
# CT_CC_GLIBC_SHOW_LINARO is not set
|
||||
# CT_LIBC_GLIBC_V_2_22 is not set
|
||||
# CT_LIBC_GLIBC_V_2_21 is not set
|
||||
# CT_LIBC_GLIBC_V_2_20 is not set
|
||||
# CT_LIBC_GLIBC_V_2_19 is not set
|
||||
# CT_LIBC_GLIBC_V_2_18 is not set
|
||||
# CT_LIBC_GLIBC_V_2_17 is not set
|
||||
CT_LIBC_GLIBC_V_2_16_0=y
|
||||
# CT_LIBC_GLIBC_V_2_15 is not set
|
||||
# CT_LIBC_GLIBC_V_2_14_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_14 is not set
|
||||
# CT_LIBC_GLIBC_V_2_13 is not set
|
||||
# CT_LIBC_GLIBC_V_2_12_2 is not set
|
||||
# CT_LIBC_GLIBC_V_2_12_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_11_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_11 is not set
|
||||
# CT_LIBC_GLIBC_V_2_10_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_9 is not set
|
||||
# CT_LIBC_GLIBC_V_2_8 is not set
|
||||
CT_LIBC_mingw_AVAILABLE=y
|
||||
CT_LIBC_musl_AVAILABLE=y
|
||||
CT_LIBC_newlib_AVAILABLE=y
|
||||
CT_LIBC_none_AVAILABLE=y
|
||||
CT_LIBC_uClibc_AVAILABLE=y
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for glibc
|
||||
#
|
||||
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
|
||||
CT_GLIBC_DIR_NAME="glibc"
|
||||
CT_GLIBC_USE_GNU=y
|
||||
CT_GLIBC_USE="GLIBC"
|
||||
CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
# CT_GLIBC_V_2_28 is not set
|
||||
# CT_GLIBC_V_2_27 is not set
|
||||
# CT_GLIBC_V_2_26 is not set
|
||||
# CT_GLIBC_V_2_25 is not set
|
||||
# CT_GLIBC_V_2_24 is not set
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
CT_GLIBC_V_2_17=y
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
# CT_GLIBC_NO_VERSIONS is not set
|
||||
CT_GLIBC_VERSION="2.17"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_29_or_older=y
|
||||
CT_GLIBC_older_than_2_29=y
|
||||
CT_GLIBC_REQUIRE_older_than_2_29=y
|
||||
CT_GLIBC_2_27_or_older=y
|
||||
CT_GLIBC_older_than_2_27=y
|
||||
CT_GLIBC_2_26_or_older=y
|
||||
CT_GLIBC_older_than_2_26=y
|
||||
CT_GLIBC_2_25_or_older=y
|
||||
CT_GLIBC_older_than_2_25=y
|
||||
CT_GLIBC_2_24_or_older=y
|
||||
CT_GLIBC_older_than_2_24=y
|
||||
CT_GLIBC_2_23_or_older=y
|
||||
CT_GLIBC_older_than_2_23=y
|
||||
CT_GLIBC_2_20_or_older=y
|
||||
CT_GLIBC_older_than_2_20=y
|
||||
CT_GLIBC_2_17_or_later=y
|
||||
CT_GLIBC_2_17_or_older=y
|
||||
CT_GLIBC_later_than_2_14=y
|
||||
CT_GLIBC_2_14_or_later=y
|
||||
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
|
||||
CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_GLIBC_HAS_NPTL_ADDON=y
|
||||
CT_GLIBC_HAS_PORTS_ADDON=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
CT_GLIBC_USE_PORTS_ADDON=y
|
||||
CT_GLIBC_USE_NPTL_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
CT_GLIBC_HAS_OBSOLETE_RPC=y
|
||||
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GLIBC_CONFIGPARMS=""
|
||||
CT_GLIBC_EXTRA_CFLAGS=""
|
||||
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
|
||||
# CT_GLIBC_DISABLE_VERSIONING is not set
|
||||
CT_GLIBC_OLDEST_ABI=""
|
||||
CT_GLIBC_FORCE_UNWIND=y
|
||||
# CT_GLIBC_LOCALES is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_GLIBC_MIN_KERNEL="3.2.101"
|
||||
# CT_GLIBC_SSP_DEFAULT is not set
|
||||
# CT_GLIBC_SSP_NO is not set
|
||||
# CT_GLIBC_SSP_YES is not set
|
||||
# CT_GLIBC_SSP_ALL is not set
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_NEWLIB_USE_REDHAT is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@ -342,100 +461,71 @@ CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
# Common C library options
|
||||
#
|
||||
CT_THREADS_NATIVE=y
|
||||
# CT_CREATE_LDSO_CONF is not set
|
||||
CT_LIBC_XLDD=y
|
||||
|
||||
#
|
||||
# glibc other options
|
||||
#
|
||||
CT_LIBC_GLIBC_PORTS_EXTERNAL=y
|
||||
CT_LIBC_GLIBC_MAY_FORCE_PORTS=y
|
||||
CT_LIBC_glibc_familly=y
|
||||
CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_LIBC_GLIBC_CONFIGPARMS=""
|
||||
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
|
||||
CT_LIBC_EXTRA_CC_ARGS=""
|
||||
# CT_LIBC_DISABLE_VERSIONING is not set
|
||||
CT_LIBC_OLDEST_ABI=""
|
||||
CT_LIBC_GLIBC_FORCE_UNWIND=y
|
||||
CT_LIBC_GLIBC_USE_PORTS=y
|
||||
CT_LIBC_ADDONS_LIST=""
|
||||
|
||||
#
|
||||
# WARNING !!!
|
||||
#
|
||||
|
||||
#
|
||||
# For glibc >= 2.8, it can happen that the tarballs
|
||||
#
|
||||
|
||||
#
|
||||
# for the addons are not available for download.
|
||||
#
|
||||
|
||||
#
|
||||
# If that happens, bad luck... Try a previous version
|
||||
#
|
||||
|
||||
#
|
||||
# or try again later... :-(
|
||||
#
|
||||
# CT_LIBC_LOCALES is not set
|
||||
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_LIBC_GLIBC_MIN_KERNEL="3.2.72"
|
||||
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC="gcc"
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_gcc=y
|
||||
# CT_CC_GCC_SHOW_LINARO is not set
|
||||
CT_CC_GCC_V_5_2_0=y
|
||||
# CT_CC_GCC_V_4_9_3 is not set
|
||||
# CT_CC_GCC_V_4_8_5 is not set
|
||||
# CT_CC_GCC_V_4_7_4 is not set
|
||||
# CT_CC_GCC_V_4_6_4 is not set
|
||||
# CT_CC_GCC_V_4_5_4 is not set
|
||||
# CT_CC_GCC_V_4_4_7 is not set
|
||||
# CT_CC_GCC_V_4_3_6 is not set
|
||||
# CT_CC_GCC_V_4_2_4 is not set
|
||||
CT_CC_GCC_4_2_or_later=y
|
||||
CT_CC_GCC_4_3_or_later=y
|
||||
CT_CC_GCC_4_4_or_later=y
|
||||
CT_CC_GCC_4_5_or_later=y
|
||||
CT_CC_GCC_4_6_or_later=y
|
||||
CT_CC_GCC_4_7_or_later=y
|
||||
CT_CC_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_4_9_or_later=y
|
||||
CT_CC_GCC_5=y
|
||||
CT_CC_GCC_5_or_later=y
|
||||
CT_CC_GCC_HAS_GRAPHITE=y
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_HAS_LTO=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
CT_CC_GCC_HAS_PKGVERSION_BUGURL=y
|
||||
CT_CC_GCC_HAS_BUILD_ID=y
|
||||
CT_CC_GCC_HAS_LNK_HASH_STYLE=y
|
||||
CT_CC_GCC_USE_GMP_MPFR=y
|
||||
CT_CC_GCC_USE_MPC=y
|
||||
CT_CC_GCC_HAS_LIBQUADMATH=y
|
||||
CT_CC_GCC_HAS_LIBSANITIZER=y
|
||||
CT_CC_GCC_VERSION="5.2.0"
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
CT_CC_GCC=y
|
||||
CT_CC="gcc"
|
||||
CT_CC_CHOICE_KSYM="GCC"
|
||||
CT_CC_GCC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for gcc
|
||||
#
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
CT_GCC_V_8=y
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
# CT_GCC_V_5 is not set
|
||||
# CT_GCC_V_4_9 is not set
|
||||
# CT_GCC_NO_VERSIONS is not set
|
||||
CT_GCC_VERSION="8.3.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_later_than_7=y
|
||||
CT_GCC_7_or_later=y
|
||||
CT_GCC_later_than_6=y
|
||||
CT_GCC_6_or_later=y
|
||||
CT_GCC_later_than_5=y
|
||||
CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
CT_CC_GCC_ENABLE_CXX_FLAGS=""
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_ENV_ARRAY=""
|
||||
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
# Optimisation features
|
||||
#
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
|
||||
#
|
||||
# Settings for libraries running on target
|
||||
@ -464,97 +554,208 @@ CT_CC_GCC_DEC_FLOAT_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOAT_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOAT_DPD is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_NO is not set
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_JAVA=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
CT_ALL_CC_CHOICES="GCC"
|
||||
|
||||
#
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
# CT_CC_LANG_JAVA is not set
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_dmalloc is not set
|
||||
# CT_DEBUG_duma is not set
|
||||
# CT_DEBUG_gdb is not set
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
# CT_DEBUG_DUMA is not set
|
||||
# CT_DEBUG_GDB is not set
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
|
||||
#
|
||||
# Companion libraries
|
||||
#
|
||||
CT_COMPLIBS_NEEDED=y
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
# CT_COMP_LIBS_CLOOG is not set
|
||||
# CT_COMP_LIBS_EXPAT is not set
|
||||
CT_COMP_LIBS_GETTEXT=y
|
||||
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
|
||||
CT_GETTEXT_DIR_NAME="gettext"
|
||||
CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
CT_GETTEXT_V_0_19_8_1=y
|
||||
# CT_GETTEXT_NO_VERSIONS is not set
|
||||
CT_GETTEXT_VERSION="0.19.8.1"
|
||||
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
|
||||
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
CT_GMP_PKG_NAME="gmp"
|
||||
CT_GMP_SRC_RELEASE=y
|
||||
CT_GMP_PATCH_ORDER="global"
|
||||
CT_GMP_V_6_1=y
|
||||
# CT_GMP_NO_VERSIONS is not set
|
||||
CT_GMP_VERSION="6.1.2"
|
||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
CT_ISL_PKG_NAME="isl"
|
||||
CT_ISL_SRC_RELEASE=y
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_20=y
|
||||
# CT_ISL_V_0_19 is not set
|
||||
# CT_ISL_V_0_18 is not set
|
||||
# CT_ISL_V_0_17 is not set
|
||||
# CT_ISL_V_0_16 is not set
|
||||
# CT_ISL_V_0_15 is not set
|
||||
# CT_ISL_NO_VERSIONS is not set
|
||||
CT_ISL_VERSION="0.20"
|
||||
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_ISL_SIGNATURE_FORMAT=""
|
||||
CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
CT_LIBICONV_DIR_NAME="libiconv"
|
||||
CT_LIBICONV_PKG_NAME="libiconv"
|
||||
CT_LIBICONV_SRC_RELEASE=y
|
||||
CT_LIBICONV_PATCH_ORDER="global"
|
||||
CT_LIBICONV_V_1_15=y
|
||||
# CT_LIBICONV_NO_VERSIONS is not set
|
||||
CT_LIBICONV_VERSION="1.15"
|
||||
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
|
||||
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_LIBS_MPC=y
|
||||
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
|
||||
CT_MPC_DIR_NAME="mpc"
|
||||
CT_MPC_PKG_NAME="mpc"
|
||||
CT_MPC_SRC_RELEASE=y
|
||||
CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_1=y
|
||||
# CT_MPC_V_1_0 is not set
|
||||
# CT_MPC_NO_VERSIONS is not set
|
||||
CT_MPC_VERSION="1.1.0"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_MPC_1_1_0_or_later=y
|
||||
CT_MPC_1_1_0_or_older=y
|
||||
CT_COMP_LIBS_MPFR=y
|
||||
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
|
||||
CT_MPFR_DIR_NAME="mpfr"
|
||||
CT_MPFR_PKG_NAME="mpfr"
|
||||
CT_MPFR_SRC_RELEASE=y
|
||||
CT_MPFR_PATCH_ORDER="global"
|
||||
CT_MPFR_V_4_0=y
|
||||
# CT_MPFR_V_3_1 is not set
|
||||
# CT_MPFR_NO_VERSIONS is not set
|
||||
CT_MPFR_VERSION="4.0.2"
|
||||
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
CT_NCURSES_PKG_NAME="ncurses"
|
||||
CT_NCURSES_SRC_RELEASE=y
|
||||
CT_NCURSES_PATCH_ORDER="global"
|
||||
CT_NCURSES_V_6_1=y
|
||||
# CT_NCURSES_V_6_0 is not set
|
||||
# CT_NCURSES_NO_VERSIONS is not set
|
||||
CT_NCURSES_VERSION="6.1"
|
||||
CT_NCURSES_MIRRORS="ftp://invisible-island.net/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
CT_NCURSES_TARGET_CONFIG_ARGS=""
|
||||
# CT_NCURSES_TARGET_DISABLE_DB is not set
|
||||
CT_NCURSES_TARGET_FALLBACKS=""
|
||||
CT_COMP_LIBS_ZLIB=y
|
||||
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
|
||||
CT_ZLIB_DIR_NAME="zlib"
|
||||
CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
# CT_ZLIB_NO_VERSIONS is not set
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP ISL LIBELF LIBICONV MPC MPFR NCURSES ZLIB"
|
||||
CT_LIBICONV_NEEDED=y
|
||||
CT_GETTEXT_NEEDED=y
|
||||
CT_GMP_NEEDED=y
|
||||
CT_MPFR_NEEDED=y
|
||||
CT_ISL_NEEDED=y
|
||||
CT_MPC_NEEDED=y
|
||||
CT_COMPLIBS=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_LIBICONV=y
|
||||
CT_GETTEXT=y
|
||||
CT_GMP=y
|
||||
CT_MPFR=y
|
||||
CT_ISL=y
|
||||
CT_MPC=y
|
||||
CT_LIBICONV_V_1_14=y
|
||||
CT_LIBICONV_VERSION="1.14"
|
||||
CT_GETTEXT_V_0_19_6=y
|
||||
CT_GETTEXT_VERSION="0.19.6"
|
||||
CT_GMP_V_6_0_0=y
|
||||
# CT_GMP_V_5_1_3 is not set
|
||||
# CT_GMP_V_5_1_1 is not set
|
||||
# CT_GMP_V_5_0_2 is not set
|
||||
# CT_GMP_V_5_0_1 is not set
|
||||
# CT_GMP_V_4_3_2 is not set
|
||||
# CT_GMP_V_4_3_1 is not set
|
||||
# CT_GMP_V_4_3_0 is not set
|
||||
CT_GMP_5_0_2_or_later=y
|
||||
CT_GMP_VERSION="6.0.0a"
|
||||
CT_MPFR_V_3_1_3=y
|
||||
# CT_MPFR_V_3_1_2 is not set
|
||||
# CT_MPFR_V_3_1_0 is not set
|
||||
# CT_MPFR_V_3_0_1 is not set
|
||||
# CT_MPFR_V_3_0_0 is not set
|
||||
# CT_MPFR_V_2_4_2 is not set
|
||||
# CT_MPFR_V_2_4_1 is not set
|
||||
# CT_MPFR_V_2_4_0 is not set
|
||||
CT_MPFR_VERSION="3.1.3"
|
||||
CT_ISL_V_0_14=y
|
||||
# CT_ISL_V_0_12_2 is not set
|
||||
CT_ISL_V_0_14_or_later=y
|
||||
CT_ISL_V_0_12_or_later=y
|
||||
CT_ISL_VERSION="0.14"
|
||||
# CT_CLOOG_V_0_18_4 is not set
|
||||
# CT_CLOOG_V_0_18_1 is not set
|
||||
# CT_CLOOG_V_0_18_0 is not set
|
||||
CT_MPC_V_1_0_3=y
|
||||
# CT_MPC_V_1_0_2 is not set
|
||||
# CT_MPC_V_1_0_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
# CT_MPC_V_0_9 is not set
|
||||
# CT_MPC_V_0_8_2 is not set
|
||||
# CT_MPC_V_0_8_1 is not set
|
||||
# CT_MPC_V_0_7 is not set
|
||||
CT_MPC_VERSION="1.0.3"
|
||||
|
||||
#
|
||||
# Companion libraries common options
|
||||
#
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
CT_NCURSES=y
|
||||
CT_ZLIB=y
|
||||
|
||||
#
|
||||
# Companion tools
|
||||
#
|
||||
|
||||
#
|
||||
# READ HELP before you say 'Y' below !!!
|
||||
#
|
||||
# CT_COMP_TOOLS is not set
|
||||
# CT_COMP_TOOLS_FOR_HOST is not set
|
||||
# CT_COMP_TOOLS_AUTOCONF is not set
|
||||
# CT_COMP_TOOLS_AUTOMAKE is not set
|
||||
# CT_COMP_TOOLS_BISON is not set
|
||||
# CT_COMP_TOOLS_DTC is not set
|
||||
# CT_COMP_TOOLS_LIBTOOL is not set
|
||||
# CT_COMP_TOOLS_M4 is not set
|
||||
# CT_COMP_TOOLS_MAKE is not set
|
||||
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
commit bdb24c2851fd5f0ad9b82d7ea1db911d334b02d2
|
||||
Author: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue May 20 21:27:13 2014 +0000
|
||||
|
||||
Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
index 29e2c2b00b04..e848bfeffdcb 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -22,7 +22,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
index 285b99b5ed0d..48d00fc83641 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -20,7 +20,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
||||
@ -3,20 +3,14 @@ FROM ubuntu:16.04
|
||||
COPY scripts/cross-apt-packages.sh /scripts/
|
||||
RUN sh /scripts/cross-apt-packages.sh
|
||||
|
||||
# Ubuntu 16.04 (this container) ships with make 4, but something in the
|
||||
# toolchains we build below chokes on that, so go back to make 3
|
||||
COPY scripts/make3.sh /scripts/
|
||||
RUN sh /scripts/make3.sh
|
||||
|
||||
COPY scripts/crosstool-ng.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng.sh
|
||||
COPY scripts/crosstool-ng-1.24.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng-1.24.sh
|
||||
|
||||
COPY scripts/rustbuild-setup.sh /scripts/
|
||||
RUN sh /scripts/rustbuild-setup.sh
|
||||
USER rustbuild
|
||||
WORKDIR /tmp
|
||||
|
||||
COPY dist-armhf-linux/patches/ /tmp/patches/
|
||||
COPY dist-armhf-linux/arm-linux-gnueabihf.config dist-armhf-linux/build-toolchains.sh /tmp/
|
||||
RUN ./build-toolchains.sh
|
||||
|
||||
@ -34,4 +28,4 @@ ENV CC_arm_unknown_linux_gnueabihf=arm-unknown-linux-gnueabihf-gcc \
|
||||
ENV HOSTS=arm-unknown-linux-gnueabihf
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -1,9 +1,29 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Crosstool-NG Configuration
|
||||
# crosstool-NG Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_make381=y
|
||||
CT_CONFIGURE_has_xz=y
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_wget=y
|
||||
CT_CONFIGURE_has_curl=y
|
||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||
CT_CONFIGURE_has_libtool_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
|
||||
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
|
||||
CT_CONFIGURE_has_automake_1_15_or_newer=y
|
||||
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||
CT_CONFIGURE_has_bison_2_7_or_newer=y
|
||||
CT_CONFIGURE_has_python=y
|
||||
CT_CONFIGURE_has_git=y
|
||||
CT_CONFIGURE_has_md5sum=y
|
||||
CT_CONFIGURE_has_sha1sum=y
|
||||
CT_CONFIGURE_has_sha256sum=y
|
||||
CT_CONFIGURE_has_sha512sum=y
|
||||
CT_CONFIGURE_has_install_with_strip_program=y
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@ -20,41 +40,48 @@ CT_MODULES=y
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
CT_LOCAL_TARBALLS_DIR=""
|
||||
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
|
||||
CT_SAVE_TARBALLS=y
|
||||
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
|
||||
CT_WORK_DIR="${CT_TOP_DIR}/.build"
|
||||
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||
CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
|
||||
CT_INSTALL_DIR="${CT_PREFIX_DIR}"
|
||||
CT_RM_RF_PREFIX_DIR=y
|
||||
CT_REMOVE_DOCS=y
|
||||
CT_INSTALL_DIR_RO=y
|
||||
CT_INSTALL_LICENSES=y
|
||||
CT_PREFIX_DIR_RO=y
|
||||
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
|
||||
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
|
||||
|
||||
#
|
||||
# Downloading
|
||||
#
|
||||
CT_DOWNLOAD_AGENT_WGET=y
|
||||
# CT_DOWNLOAD_AGENT_CURL is not set
|
||||
# CT_DOWNLOAD_AGENT_NONE is not set
|
||||
# CT_FORBID_DOWNLOAD is not set
|
||||
# CT_FORCE_DOWNLOAD is not set
|
||||
CT_CONNECT_TIMEOUT=10
|
||||
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
|
||||
# CT_ONLY_DOWNLOAD is not set
|
||||
# CT_USE_MIRROR is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST=y
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
|
||||
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
|
||||
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
|
||||
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
|
||||
|
||||
#
|
||||
# Extracting
|
||||
#
|
||||
# CT_FORCE_EXTRACT is not set
|
||||
CT_OVERIDE_CONFIG_GUESS_SUB=y
|
||||
CT_OVERRIDE_CONFIG_GUESS_SUB=y
|
||||
# CT_ONLY_EXTRACT is not set
|
||||
# CT_PATCH_BUNDLED is not set
|
||||
# CT_PATCH_LOCAL is not set
|
||||
CT_PATCH_BUNDLED_LOCAL=y
|
||||
# CT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
|
||||
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
|
||||
# CT_PATCH_NONE is not set
|
||||
CT_PATCH_ORDER="bundled,local"
|
||||
CT_PATCH_USE_LOCAL=y
|
||||
CT_LOCAL_PATCH_DIR="/tmp/patches"
|
||||
CT_PATCH_BUNDLED=y
|
||||
# CT_PATCH_BUNDLED_LOCAL is not set
|
||||
CT_PATCH_ORDER="bundled"
|
||||
|
||||
#
|
||||
# Build behavior
|
||||
@ -77,11 +104,11 @@ CT_CONFIG_SHELL="${bash}"
|
||||
#
|
||||
# CT_LOG_ERROR is not set
|
||||
# CT_LOG_WARN is not set
|
||||
CT_LOG_INFO=y
|
||||
# CT_LOG_EXTRA is not set
|
||||
# CT_LOG_INFO is not set
|
||||
CT_LOG_EXTRA=y
|
||||
# CT_LOG_ALL is not set
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="INFO"
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_TO_FILE=y
|
||||
@ -90,78 +117,35 @@ CT_LOG_FILE_COMPRESS=y
|
||||
#
|
||||
# Target options
|
||||
#
|
||||
# CT_ARCH_ALPHA is not set
|
||||
# CT_ARCH_ARC is not set
|
||||
CT_ARCH_ARM=y
|
||||
# CT_ARCH_AVR is not set
|
||||
# CT_ARCH_M68K is not set
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
# CT_ARCH_POWERPC is not set
|
||||
# CT_ARCH_S390 is not set
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
# CT_ARCH_X86 is not set
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_SUPPORTS_64=y
|
||||
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||
CT_ARCH_SUPPORTS_WITH_CPU=y
|
||||
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
CT_ARCH_DEFAULT_32=y
|
||||
CT_ARCH_ARCH="armv6"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
# CT_ARCH_ALPHA_EV4 is not set
|
||||
# CT_ARCH_ALPHA_EV45 is not set
|
||||
# CT_ARCH_ALPHA_EV5 is not set
|
||||
# CT_ARCH_ALPHA_EV56 is not set
|
||||
# CT_ARCH_ALPHA_EV6 is not set
|
||||
# CT_ARCH_ALPHA_EV67 is not set
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_FPU="vfp"
|
||||
# CT_ARCH_BE is not set
|
||||
CT_ARCH_LE=y
|
||||
CT_ARCH_32=y
|
||||
# CT_ARCH_64 is not set
|
||||
CT_ARCH_BITNESS=32
|
||||
CT_ARCH_FLOAT_HW=y
|
||||
# CT_ARCH_FLOAT_SW is not set
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
# CT_ARCH_alpha is not set
|
||||
CT_ARCH_arm=y
|
||||
# CT_ARCH_avr is not set
|
||||
# CT_ARCH_m68k is not set
|
||||
# CT_ARCH_mips is not set
|
||||
# CT_ARCH_nios2 is not set
|
||||
# CT_ARCH_powerpc is not set
|
||||
# CT_ARCH_s390 is not set
|
||||
# CT_ARCH_sh is not set
|
||||
# CT_ARCH_sparc is not set
|
||||
# CT_ARCH_x86 is not set
|
||||
# CT_ARCH_xtensa is not set
|
||||
CT_ARCH_alpha_AVAILABLE=y
|
||||
CT_ARCH_arm_AVAILABLE=y
|
||||
CT_ARCH_avr_AVAILABLE=y
|
||||
CT_ARCH_m68k_AVAILABLE=y
|
||||
CT_ARCH_microblaze_AVAILABLE=y
|
||||
CT_ARCH_mips_AVAILABLE=y
|
||||
CT_ARCH_nios2_AVAILABLE=y
|
||||
CT_ARCH_powerpc_AVAILABLE=y
|
||||
CT_ARCH_s390_AVAILABLE=y
|
||||
CT_ARCH_sh_AVAILABLE=y
|
||||
CT_ARCH_sparc_AVAILABLE=y
|
||||
CT_ARCH_x86_AVAILABLE=y
|
||||
CT_ARCH_xtensa_AVAILABLE=y
|
||||
CT_ARCH_SUFFIX=""
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_ENDIAN="little"
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
CT_ARCH_FLOAT="hard"
|
||||
|
||||
#
|
||||
# arm other options
|
||||
# Options for arm
|
||||
#
|
||||
CT_ARCH_ARM_PKG_KSYM=""
|
||||
CT_ARCH_ARM_MODE="arm"
|
||||
CT_ARCH_ARM_MODE_ARM=y
|
||||
# CT_ARCH_ARM_MODE_THUMB is not set
|
||||
@ -169,6 +153,50 @@ CT_ARCH_ARM_MODE_ARM=y
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=y
|
||||
CT_ARCH_ARM_TUPLE_USE_EABIHF=y
|
||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC RISCV S390 SH SPARC X86 XTENSA"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_DEMULTILIB=y
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
|
||||
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
# CT_ARCH_BE is not set
|
||||
CT_ARCH_LE=y
|
||||
CT_ARCH_ENDIAN="little"
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_SUPPORTS_64=y
|
||||
CT_ARCH_DEFAULT_32=y
|
||||
CT_ARCH_BITNESS=32
|
||||
CT_ARCH_32=y
|
||||
# CT_ARCH_64 is not set
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||
CT_ARCH_SUPPORTS_WITH_CPU=y
|
||||
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
CT_ARCH_ARCH="armv6"
|
||||
CT_ARCH_FPU="vfp"
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
CT_ARCH_FLOAT_HW=y
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
# CT_ARCH_FLOAT_SW is not set
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
CT_ARCH_FLOAT="hard"
|
||||
|
||||
#
|
||||
# Toolchain options
|
||||
@ -182,7 +210,9 @@ CT_USE_SYSROOT=y
|
||||
CT_SYSROOT_NAME="sysroot"
|
||||
CT_SYSROOT_DIR_PREFIX=""
|
||||
CT_WANTS_STATIC_LINK=y
|
||||
CT_WANTS_STATIC_LINK_CXX=y
|
||||
# CT_STATIC_TOOLCHAIN is not set
|
||||
CT_SHOW_CT_VERSION=y
|
||||
CT_TOOLCHAIN_PKGVERSION=""
|
||||
CT_TOOLCHAIN_BUGURL=""
|
||||
|
||||
@ -216,126 +246,215 @@ CT_BUILD_SUFFIX=""
|
||||
# Operating System
|
||||
#
|
||||
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
|
||||
# CT_KERNEL_BARE_METAL is not set
|
||||
CT_KERNEL_LINUX=y
|
||||
CT_KERNEL="linux"
|
||||
CT_KERNEL_VERSION="3.2.72"
|
||||
# CT_KERNEL_bare_metal is not set
|
||||
CT_KERNEL_linux=y
|
||||
CT_KERNEL_bare_metal_AVAILABLE=y
|
||||
CT_KERNEL_linux_AVAILABLE=y
|
||||
# CT_KERNEL_V_4_3 is not set
|
||||
# CT_KERNEL_V_4_2 is not set
|
||||
# CT_KERNEL_V_4_1 is not set
|
||||
# CT_KERNEL_V_3_18 is not set
|
||||
# CT_KERNEL_V_3_14 is not set
|
||||
# CT_KERNEL_V_3_12 is not set
|
||||
# CT_KERNEL_V_3_10 is not set
|
||||
# CT_KERNEL_V_3_4 is not set
|
||||
CT_KERNEL_V_3_2=y
|
||||
# CT_KERNEL_V_2_6_32 is not set
|
||||
# CT_KERNEL_LINUX_CUSTOM is not set
|
||||
CT_KERNEL_windows_AVAILABLE=y
|
||||
CT_KERNEL_CHOICE_KSYM="LINUX"
|
||||
CT_KERNEL_LINUX_SHOW=y
|
||||
|
||||
#
|
||||
# Options for linux
|
||||
#
|
||||
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
||||
CT_LINUX_DIR_NAME="linux"
|
||||
CT_LINUX_PKG_NAME="linux"
|
||||
CT_LINUX_SRC_RELEASE=y
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_4_20 is not set
|
||||
# CT_LINUX_V_4_19 is not set
|
||||
# CT_LINUX_V_4_18 is not set
|
||||
# CT_LINUX_V_4_17 is not set
|
||||
# CT_LINUX_V_4_16 is not set
|
||||
# CT_LINUX_V_4_15 is not set
|
||||
# CT_LINUX_V_4_14 is not set
|
||||
# CT_LINUX_V_4_13 is not set
|
||||
# CT_LINUX_V_4_12 is not set
|
||||
# CT_LINUX_V_4_11 is not set
|
||||
# CT_LINUX_V_4_10 is not set
|
||||
# CT_LINUX_V_4_9 is not set
|
||||
# CT_LINUX_V_4_4 is not set
|
||||
# CT_LINUX_V_4_1 is not set
|
||||
# CT_LINUX_V_3_16 is not set
|
||||
# CT_LINUX_V_3_13 is not set
|
||||
# CT_LINUX_V_3_12 is not set
|
||||
# CT_LINUX_V_3_10 is not set
|
||||
# CT_LINUX_V_3_4 is not set
|
||||
CT_LINUX_V_3_2=y
|
||||
# CT_LINUX_V_2_6_32 is not set
|
||||
# CT_LINUX_NO_VERSIONS is not set
|
||||
CT_LINUX_VERSION="3.2.101"
|
||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
CT_LINUX_4_8_or_older=y
|
||||
CT_LINUX_older_than_4_8=y
|
||||
CT_LINUX_3_7_or_older=y
|
||||
CT_LINUX_older_than_3_7=y
|
||||
CT_LINUX_later_than_3_2=y
|
||||
CT_LINUX_3_2_or_later=y
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
|
||||
|
||||
#
|
||||
# Common kernel options
|
||||
#
|
||||
CT_SHARED_LIBS=y
|
||||
|
||||
#
|
||||
# linux other options
|
||||
#
|
||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||
|
||||
#
|
||||
# Binary utilities
|
||||
#
|
||||
CT_ARCH_BINFMT_ELF=y
|
||||
CT_BINUTILS_BINUTILS=y
|
||||
CT_BINUTILS="binutils"
|
||||
CT_BINUTILS_binutils=y
|
||||
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
|
||||
CT_BINUTILS_BINUTILS_SHOW=y
|
||||
|
||||
#
|
||||
# Options for binutils
|
||||
#
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
CT_BINUTILS_SRC_RELEASE=y
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
CT_BINUTILS_V_2_32=y
|
||||
# CT_BINUTILS_V_2_31 is not set
|
||||
# CT_BINUTILS_V_2_30 is not set
|
||||
# CT_BINUTILS_V_2_29 is not set
|
||||
# CT_BINUTILS_V_2_28 is not set
|
||||
# CT_BINUTILS_V_2_27 is not set
|
||||
# CT_BINUTILS_V_2_26 is not set
|
||||
# CT_BINUTILS_NO_VERSIONS is not set
|
||||
CT_BINUTILS_VERSION="2.32"
|
||||
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
|
||||
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_BINUTILS_later_than_2_30=y
|
||||
CT_BINUTILS_2_30_or_later=y
|
||||
CT_BINUTILS_later_than_2_27=y
|
||||
CT_BINUTILS_2_27_or_later=y
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
# CT_CC_BINUTILS_SHOW_LINARO is not set
|
||||
CT_BINUTILS_V_2_25_1=y
|
||||
# CT_BINUTILS_V_2_25 is not set
|
||||
# CT_BINUTILS_V_2_24 is not set
|
||||
# CT_BINUTILS_V_2_23_2 is not set
|
||||
# CT_BINUTILS_V_2_23_1 is not set
|
||||
# CT_BINUTILS_V_2_22 is not set
|
||||
# CT_BINUTILS_V_2_21_53 is not set
|
||||
# CT_BINUTILS_V_2_21_1a is not set
|
||||
# CT_BINUTILS_V_2_20_1a is not set
|
||||
# CT_BINUTILS_V_2_19_1a is not set
|
||||
# CT_BINUTILS_V_2_18a is not set
|
||||
CT_BINUTILS_VERSION="2.25.1"
|
||||
CT_BINUTILS_2_25_1_or_later=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_2_24_or_later=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
CT_BINUTILS_2_22_or_later=y
|
||||
CT_BINUTILS_2_21_or_later=y
|
||||
CT_BINUTILS_2_20_or_later=y
|
||||
CT_BINUTILS_2_19_or_later=y
|
||||
CT_BINUTILS_2_18_or_later=y
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_FORCE_LD_BFD=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
CT_BINUTILS_LINKER_LD=y
|
||||
# CT_BINUTILS_LINKER_LD_GOLD is not set
|
||||
# CT_BINUTILS_LINKER_GOLD_LD is not set
|
||||
CT_BINUTILS_LINKERS_LIST="ld"
|
||||
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
# CT_BINUTILS_PLUGINS is not set
|
||||
CT_BINUTILS_RELRO=m
|
||||
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_BINUTILS_FOR_TARGET is not set
|
||||
|
||||
#
|
||||
# binutils other options
|
||||
#
|
||||
CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_NEWLIB is not set
|
||||
# CT_LIBC_NONE is not set
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_VERSION="2.16.0"
|
||||
CT_LIBC_glibc=y
|
||||
# CT_LIBC_musl is not set
|
||||
# CT_LIBC_uClibc is not set
|
||||
CT_LIBC_avr_libc_AVAILABLE=y
|
||||
CT_LIBC_glibc_AVAILABLE=y
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
# CT_CC_GLIBC_SHOW_LINARO is not set
|
||||
# CT_LIBC_GLIBC_V_2_22 is not set
|
||||
# CT_LIBC_GLIBC_V_2_21 is not set
|
||||
# CT_LIBC_GLIBC_V_2_20 is not set
|
||||
# CT_LIBC_GLIBC_V_2_19 is not set
|
||||
# CT_LIBC_GLIBC_V_2_18 is not set
|
||||
# CT_LIBC_GLIBC_V_2_17 is not set
|
||||
CT_LIBC_GLIBC_V_2_16_0=y
|
||||
# CT_LIBC_GLIBC_V_2_15 is not set
|
||||
# CT_LIBC_GLIBC_V_2_14_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_14 is not set
|
||||
# CT_LIBC_GLIBC_V_2_13 is not set
|
||||
# CT_LIBC_GLIBC_V_2_12_2 is not set
|
||||
# CT_LIBC_GLIBC_V_2_12_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_11_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_11 is not set
|
||||
# CT_LIBC_GLIBC_V_2_10_1 is not set
|
||||
# CT_LIBC_GLIBC_V_2_9 is not set
|
||||
# CT_LIBC_GLIBC_V_2_8 is not set
|
||||
CT_LIBC_mingw_AVAILABLE=y
|
||||
CT_LIBC_musl_AVAILABLE=y
|
||||
CT_LIBC_newlib_AVAILABLE=y
|
||||
CT_LIBC_none_AVAILABLE=y
|
||||
CT_LIBC_uClibc_AVAILABLE=y
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for glibc
|
||||
#
|
||||
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
|
||||
CT_GLIBC_DIR_NAME="glibc"
|
||||
CT_GLIBC_USE_GNU=y
|
||||
CT_GLIBC_USE="GLIBC"
|
||||
CT_GLIBC_PKG_NAME="glibc"
|
||||
CT_GLIBC_SRC_RELEASE=y
|
||||
CT_GLIBC_PATCH_ORDER="global"
|
||||
# CT_GLIBC_V_2_28 is not set
|
||||
# CT_GLIBC_V_2_27 is not set
|
||||
# CT_GLIBC_V_2_26 is not set
|
||||
# CT_GLIBC_V_2_25 is not set
|
||||
# CT_GLIBC_V_2_24 is not set
|
||||
# CT_GLIBC_V_2_23 is not set
|
||||
# CT_GLIBC_V_2_19 is not set
|
||||
CT_GLIBC_V_2_17=y
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
# CT_GLIBC_NO_VERSIONS is not set
|
||||
CT_GLIBC_VERSION="2.17"
|
||||
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
|
||||
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GLIBC_2_29_or_older=y
|
||||
CT_GLIBC_older_than_2_29=y
|
||||
CT_GLIBC_REQUIRE_older_than_2_29=y
|
||||
CT_GLIBC_2_27_or_older=y
|
||||
CT_GLIBC_older_than_2_27=y
|
||||
CT_GLIBC_2_26_or_older=y
|
||||
CT_GLIBC_older_than_2_26=y
|
||||
CT_GLIBC_2_25_or_older=y
|
||||
CT_GLIBC_older_than_2_25=y
|
||||
CT_GLIBC_2_24_or_older=y
|
||||
CT_GLIBC_older_than_2_24=y
|
||||
CT_GLIBC_2_23_or_older=y
|
||||
CT_GLIBC_older_than_2_23=y
|
||||
CT_GLIBC_2_20_or_older=y
|
||||
CT_GLIBC_older_than_2_20=y
|
||||
CT_GLIBC_2_17_or_later=y
|
||||
CT_GLIBC_2_17_or_older=y
|
||||
CT_GLIBC_later_than_2_14=y
|
||||
CT_GLIBC_2_14_or_later=y
|
||||
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
|
||||
CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_GLIBC_HAS_NPTL_ADDON=y
|
||||
CT_GLIBC_HAS_PORTS_ADDON=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
CT_GLIBC_USE_PORTS_ADDON=y
|
||||
CT_GLIBC_USE_NPTL_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
CT_GLIBC_HAS_OBSOLETE_RPC=y
|
||||
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_GLIBC_CONFIGPARMS=""
|
||||
CT_GLIBC_EXTRA_CFLAGS=""
|
||||
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
|
||||
# CT_GLIBC_DISABLE_VERSIONING is not set
|
||||
CT_GLIBC_OLDEST_ABI=""
|
||||
CT_GLIBC_FORCE_UNWIND=y
|
||||
# CT_GLIBC_LOCALES is not set
|
||||
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_GLIBC_MIN_KERNEL="3.2.101"
|
||||
# CT_GLIBC_SSP_DEFAULT is not set
|
||||
# CT_GLIBC_SSP_NO is not set
|
||||
# CT_GLIBC_SSP_YES is not set
|
||||
# CT_GLIBC_SSP_ALL is not set
|
||||
# CT_GLIBC_SSP_STRONG is not set
|
||||
# CT_NEWLIB_USE_REDHAT is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@ -343,100 +462,71 @@ CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
# Common C library options
|
||||
#
|
||||
CT_THREADS_NATIVE=y
|
||||
# CT_CREATE_LDSO_CONF is not set
|
||||
CT_LIBC_XLDD=y
|
||||
|
||||
#
|
||||
# glibc other options
|
||||
#
|
||||
CT_LIBC_GLIBC_PORTS_EXTERNAL=y
|
||||
CT_LIBC_GLIBC_MAY_FORCE_PORTS=y
|
||||
CT_LIBC_glibc_familly=y
|
||||
CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_LIBC_GLIBC_CONFIGPARMS=""
|
||||
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
|
||||
CT_LIBC_EXTRA_CC_ARGS=""
|
||||
# CT_LIBC_DISABLE_VERSIONING is not set
|
||||
CT_LIBC_OLDEST_ABI=""
|
||||
CT_LIBC_GLIBC_FORCE_UNWIND=y
|
||||
CT_LIBC_GLIBC_USE_PORTS=y
|
||||
CT_LIBC_ADDONS_LIST=""
|
||||
|
||||
#
|
||||
# WARNING !!!
|
||||
#
|
||||
|
||||
#
|
||||
# For glibc >= 2.8, it can happen that the tarballs
|
||||
#
|
||||
|
||||
#
|
||||
# for the addons are not available for download.
|
||||
#
|
||||
|
||||
#
|
||||
# If that happens, bad luck... Try a previous version
|
||||
#
|
||||
|
||||
#
|
||||
# or try again later... :-(
|
||||
#
|
||||
# CT_LIBC_LOCALES is not set
|
||||
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
|
||||
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_LIBC_GLIBC_MIN_KERNEL="3.2.72"
|
||||
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC="gcc"
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_gcc=y
|
||||
# CT_CC_GCC_SHOW_LINARO is not set
|
||||
CT_CC_GCC_V_5_2_0=y
|
||||
# CT_CC_GCC_V_4_9_3 is not set
|
||||
# CT_CC_GCC_V_4_8_5 is not set
|
||||
# CT_CC_GCC_V_4_7_4 is not set
|
||||
# CT_CC_GCC_V_4_6_4 is not set
|
||||
# CT_CC_GCC_V_4_5_4 is not set
|
||||
# CT_CC_GCC_V_4_4_7 is not set
|
||||
# CT_CC_GCC_V_4_3_6 is not set
|
||||
# CT_CC_GCC_V_4_2_4 is not set
|
||||
CT_CC_GCC_4_2_or_later=y
|
||||
CT_CC_GCC_4_3_or_later=y
|
||||
CT_CC_GCC_4_4_or_later=y
|
||||
CT_CC_GCC_4_5_or_later=y
|
||||
CT_CC_GCC_4_6_or_later=y
|
||||
CT_CC_GCC_4_7_or_later=y
|
||||
CT_CC_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_4_9_or_later=y
|
||||
CT_CC_GCC_5=y
|
||||
CT_CC_GCC_5_or_later=y
|
||||
CT_CC_GCC_HAS_GRAPHITE=y
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_HAS_LTO=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
CT_CC_GCC_HAS_PKGVERSION_BUGURL=y
|
||||
CT_CC_GCC_HAS_BUILD_ID=y
|
||||
CT_CC_GCC_HAS_LNK_HASH_STYLE=y
|
||||
CT_CC_GCC_USE_GMP_MPFR=y
|
||||
CT_CC_GCC_USE_MPC=y
|
||||
CT_CC_GCC_HAS_LIBQUADMATH=y
|
||||
CT_CC_GCC_HAS_LIBSANITIZER=y
|
||||
CT_CC_GCC_VERSION="5.2.0"
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
CT_CC_GCC=y
|
||||
CT_CC="gcc"
|
||||
CT_CC_CHOICE_KSYM="GCC"
|
||||
CT_CC_GCC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for gcc
|
||||
#
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
CT_GCC_V_8=y
|
||||
# CT_GCC_V_7 is not set
|
||||
# CT_GCC_V_6 is not set
|
||||
# CT_GCC_V_5 is not set
|
||||
# CT_GCC_V_4_9 is not set
|
||||
# CT_GCC_NO_VERSIONS is not set
|
||||
CT_GCC_VERSION="8.3.0"
|
||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GCC_SIGNATURE_FORMAT=""
|
||||
CT_GCC_later_than_7=y
|
||||
CT_GCC_7_or_later=y
|
||||
CT_GCC_later_than_6=y
|
||||
CT_GCC_6_or_later=y
|
||||
CT_GCC_later_than_5=y
|
||||
CT_GCC_5_or_later=y
|
||||
CT_GCC_later_than_4_9=y
|
||||
CT_GCC_4_9_or_later=y
|
||||
CT_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
CT_CC_GCC_ENABLE_CXX_FLAGS=""
|
||||
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_CC_GCC_EXTRA_ENV_ARRAY=""
|
||||
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
# Optimisation features
|
||||
#
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
|
||||
#
|
||||
# Settings for libraries running on target
|
||||
@ -465,97 +555,208 @@ CT_CC_GCC_DEC_FLOAT_AUTO=y
|
||||
# CT_CC_GCC_DEC_FLOAT_BID is not set
|
||||
# CT_CC_GCC_DEC_FLOAT_DPD is not set
|
||||
# CT_CC_GCC_DEC_FLOATS_NO is not set
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_JAVA=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
CT_CC_SUPPORT_OBJC=y
|
||||
CT_CC_SUPPORT_OBJCXX=y
|
||||
CT_CC_SUPPORT_GOLANG=y
|
||||
CT_ALL_CC_CHOICES="GCC"
|
||||
|
||||
#
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
# CT_CC_LANG_JAVA is not set
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_dmalloc is not set
|
||||
# CT_DEBUG_duma is not set
|
||||
# CT_DEBUG_gdb is not set
|
||||
# CT_DEBUG_ltrace is not set
|
||||
# CT_DEBUG_strace is not set
|
||||
# CT_DEBUG_DUMA is not set
|
||||
# CT_DEBUG_GDB is not set
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
|
||||
#
|
||||
# Companion libraries
|
||||
#
|
||||
CT_COMPLIBS_NEEDED=y
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
# CT_COMP_LIBS_CLOOG is not set
|
||||
# CT_COMP_LIBS_EXPAT is not set
|
||||
CT_COMP_LIBS_GETTEXT=y
|
||||
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
|
||||
CT_GETTEXT_DIR_NAME="gettext"
|
||||
CT_GETTEXT_PKG_NAME="gettext"
|
||||
CT_GETTEXT_SRC_RELEASE=y
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
CT_GETTEXT_V_0_19_8_1=y
|
||||
# CT_GETTEXT_NO_VERSIONS is not set
|
||||
CT_GETTEXT_VERSION="0.19.8.1"
|
||||
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
|
||||
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.gz"
|
||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
CT_GMP_PKG_NAME="gmp"
|
||||
CT_GMP_SRC_RELEASE=y
|
||||
CT_GMP_PATCH_ORDER="global"
|
||||
CT_GMP_V_6_1=y
|
||||
# CT_GMP_NO_VERSIONS is not set
|
||||
CT_GMP_VERSION="6.1.2"
|
||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
|
||||
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
CT_ISL_PKG_NAME="isl"
|
||||
CT_ISL_SRC_RELEASE=y
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_20=y
|
||||
# CT_ISL_V_0_19 is not set
|
||||
# CT_ISL_V_0_18 is not set
|
||||
# CT_ISL_V_0_17 is not set
|
||||
# CT_ISL_V_0_16 is not set
|
||||
# CT_ISL_V_0_15 is not set
|
||||
# CT_ISL_NO_VERSIONS is not set
|
||||
CT_ISL_VERSION="0.20"
|
||||
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_ISL_SIGNATURE_FORMAT=""
|
||||
CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
CT_COMP_LIBS_LIBICONV=y
|
||||
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
|
||||
CT_LIBICONV_DIR_NAME="libiconv"
|
||||
CT_LIBICONV_PKG_NAME="libiconv"
|
||||
CT_LIBICONV_SRC_RELEASE=y
|
||||
CT_LIBICONV_PATCH_ORDER="global"
|
||||
CT_LIBICONV_V_1_15=y
|
||||
# CT_LIBICONV_NO_VERSIONS is not set
|
||||
CT_LIBICONV_VERSION="1.15"
|
||||
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
|
||||
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_LIBS_MPC=y
|
||||
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
|
||||
CT_MPC_DIR_NAME="mpc"
|
||||
CT_MPC_PKG_NAME="mpc"
|
||||
CT_MPC_SRC_RELEASE=y
|
||||
CT_MPC_PATCH_ORDER="global"
|
||||
CT_MPC_V_1_1=y
|
||||
# CT_MPC_V_1_0 is not set
|
||||
# CT_MPC_NO_VERSIONS is not set
|
||||
CT_MPC_VERSION="1.1.0"
|
||||
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_MPC_1_1_0_or_later=y
|
||||
CT_MPC_1_1_0_or_older=y
|
||||
CT_COMP_LIBS_MPFR=y
|
||||
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
|
||||
CT_MPFR_DIR_NAME="mpfr"
|
||||
CT_MPFR_PKG_NAME="mpfr"
|
||||
CT_MPFR_SRC_RELEASE=y
|
||||
CT_MPFR_PATCH_ORDER="global"
|
||||
CT_MPFR_V_4_0=y
|
||||
# CT_MPFR_V_3_1 is not set
|
||||
# CT_MPFR_NO_VERSIONS is not set
|
||||
CT_MPFR_VERSION="4.0.2"
|
||||
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
|
||||
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
|
||||
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_MPFR_later_than_4_0_0=y
|
||||
CT_MPFR_4_0_0_or_later=y
|
||||
CT_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
CT_NCURSES_PKG_NAME="ncurses"
|
||||
CT_NCURSES_SRC_RELEASE=y
|
||||
CT_NCURSES_PATCH_ORDER="global"
|
||||
CT_NCURSES_V_6_1=y
|
||||
# CT_NCURSES_V_6_0 is not set
|
||||
# CT_NCURSES_NO_VERSIONS is not set
|
||||
CT_NCURSES_VERSION="6.1"
|
||||
CT_NCURSES_MIRRORS="ftp://invisible-island.net/ncurses $(CT_Mirrors GNU ncurses)"
|
||||
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
CT_NCURSES_TARGET_CONFIG_ARGS=""
|
||||
# CT_NCURSES_TARGET_DISABLE_DB is not set
|
||||
CT_NCURSES_TARGET_FALLBACKS=""
|
||||
CT_COMP_LIBS_ZLIB=y
|
||||
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
|
||||
CT_ZLIB_DIR_NAME="zlib"
|
||||
CT_ZLIB_PKG_NAME="zlib"
|
||||
CT_ZLIB_SRC_RELEASE=y
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
# CT_ZLIB_NO_VERSIONS is not set
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP ISL LIBELF LIBICONV MPC MPFR NCURSES ZLIB"
|
||||
CT_LIBICONV_NEEDED=y
|
||||
CT_GETTEXT_NEEDED=y
|
||||
CT_GMP_NEEDED=y
|
||||
CT_MPFR_NEEDED=y
|
||||
CT_ISL_NEEDED=y
|
||||
CT_MPC_NEEDED=y
|
||||
CT_COMPLIBS=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_LIBICONV=y
|
||||
CT_GETTEXT=y
|
||||
CT_GMP=y
|
||||
CT_MPFR=y
|
||||
CT_ISL=y
|
||||
CT_MPC=y
|
||||
CT_LIBICONV_V_1_14=y
|
||||
CT_LIBICONV_VERSION="1.14"
|
||||
CT_GETTEXT_V_0_19_6=y
|
||||
CT_GETTEXT_VERSION="0.19.6"
|
||||
CT_GMP_V_6_0_0=y
|
||||
# CT_GMP_V_5_1_3 is not set
|
||||
# CT_GMP_V_5_1_1 is not set
|
||||
# CT_GMP_V_5_0_2 is not set
|
||||
# CT_GMP_V_5_0_1 is not set
|
||||
# CT_GMP_V_4_3_2 is not set
|
||||
# CT_GMP_V_4_3_1 is not set
|
||||
# CT_GMP_V_4_3_0 is not set
|
||||
CT_GMP_5_0_2_or_later=y
|
||||
CT_GMP_VERSION="6.0.0a"
|
||||
CT_MPFR_V_3_1_3=y
|
||||
# CT_MPFR_V_3_1_2 is not set
|
||||
# CT_MPFR_V_3_1_0 is not set
|
||||
# CT_MPFR_V_3_0_1 is not set
|
||||
# CT_MPFR_V_3_0_0 is not set
|
||||
# CT_MPFR_V_2_4_2 is not set
|
||||
# CT_MPFR_V_2_4_1 is not set
|
||||
# CT_MPFR_V_2_4_0 is not set
|
||||
CT_MPFR_VERSION="3.1.3"
|
||||
CT_ISL_V_0_14=y
|
||||
# CT_ISL_V_0_12_2 is not set
|
||||
CT_ISL_V_0_14_or_later=y
|
||||
CT_ISL_V_0_12_or_later=y
|
||||
CT_ISL_VERSION="0.14"
|
||||
# CT_CLOOG_V_0_18_4 is not set
|
||||
# CT_CLOOG_V_0_18_1 is not set
|
||||
# CT_CLOOG_V_0_18_0 is not set
|
||||
CT_MPC_V_1_0_3=y
|
||||
# CT_MPC_V_1_0_2 is not set
|
||||
# CT_MPC_V_1_0_1 is not set
|
||||
# CT_MPC_V_1_0 is not set
|
||||
# CT_MPC_V_0_9 is not set
|
||||
# CT_MPC_V_0_8_2 is not set
|
||||
# CT_MPC_V_0_8_1 is not set
|
||||
# CT_MPC_V_0_7 is not set
|
||||
CT_MPC_VERSION="1.0.3"
|
||||
|
||||
#
|
||||
# Companion libraries common options
|
||||
#
|
||||
# CT_COMPLIBS_CHECK is not set
|
||||
CT_NCURSES=y
|
||||
CT_ZLIB=y
|
||||
|
||||
#
|
||||
# Companion tools
|
||||
#
|
||||
|
||||
#
|
||||
# READ HELP before you say 'Y' below !!!
|
||||
#
|
||||
# CT_COMP_TOOLS is not set
|
||||
# CT_COMP_TOOLS_FOR_HOST is not set
|
||||
# CT_COMP_TOOLS_AUTOCONF is not set
|
||||
# CT_COMP_TOOLS_AUTOMAKE is not set
|
||||
# CT_COMP_TOOLS_BISON is not set
|
||||
# CT_COMP_TOOLS_DTC is not set
|
||||
# CT_COMP_TOOLS_LIBTOOL is not set
|
||||
# CT_COMP_TOOLS_M4 is not set
|
||||
# CT_COMP_TOOLS_MAKE is not set
|
||||
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
commit bdb24c2851fd5f0ad9b82d7ea1db911d334b02d2
|
||||
Author: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue May 20 21:27:13 2014 +0000
|
||||
|
||||
Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c b/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
index 29e2c2b00b04..e848bfeffdcb 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -22,7 +22,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c b/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
index 285b99b5ed0d..48d00fc83641 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -20,7 +20,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
||||
@ -3,8 +3,8 @@ FROM ubuntu:16.04
|
||||
COPY scripts/cross-apt-packages.sh /scripts/
|
||||
RUN sh /scripts/cross-apt-packages.sh
|
||||
|
||||
COPY dist-armv7-linux/crosstool-ng.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng.sh
|
||||
COPY scripts/crosstool-ng-1.24.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng-1.24.sh
|
||||
|
||||
COPY scripts/rustbuild-setup.sh /scripts/
|
||||
RUN sh /scripts/rustbuild-setup.sh
|
||||
@ -28,4 +28,4 @@ ENV CC_armv7_unknown_linux_gnueabihf=armv7-unknown-linux-gnueabihf-gcc \
|
||||
ENV HOSTS=armv7-unknown-linux-gnueabihf
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
xz-utils \
|
||||
@ -46,5 +46,5 @@ ENV CFLAGS_i586_unknown_linux_musl=-Wa,-mrelax-relocations=no
|
||||
ENV TARGETS=i586-unknown-linux-gnu,i686-unknown-linux-musl
|
||||
|
||||
ENV SCRIPT \
|
||||
python2.7 ../x.py test --target $TARGETS && \
|
||||
python2.7 ../x.py dist --target $TARGETS,i586-unknown-linux-musl
|
||||
python3 ../x.py test --target $TARGETS && \
|
||||
python3 ../x.py dist --target $TARGETS,i586-unknown-linux-musl
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -30,4 +30,4 @@ ENV \
|
||||
ENV HOSTS=i686-unknown-freebsd
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -23,4 +23,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=mips-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -22,4 +22,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=mips64-unknown-linux-gnuabi64
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -23,4 +23,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=mips64el-unknown-linux-gnuabi64
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -22,4 +22,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV HOSTS=mipsel-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -35,4 +35,4 @@ ENV \
|
||||
ENV HOSTS=powerpc-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -36,4 +36,4 @@ ENV \
|
||||
ENV HOSTS=powerpc64-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -33,4 +33,4 @@ ENV \
|
||||
ENV HOSTS=powerpc64le-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -35,4 +35,4 @@ ENV \
|
||||
ENV HOSTS=s390x-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -18,7 +18,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
@ -72,6 +71,9 @@ RUN ./install-mips-musl.sh
|
||||
COPY dist-various-1/install-mipsel-musl.sh /build
|
||||
RUN ./install-mipsel-musl.sh
|
||||
|
||||
COPY dist-various-1/install-aarch64-none-elf.sh /build
|
||||
RUN ./install-aarch64-none-elf.sh
|
||||
|
||||
# Suppress some warnings in the openwrt toolchains we downloaded
|
||||
ENV STAGING_DIR=/tmp
|
||||
|
||||
@ -140,6 +142,8 @@ ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi
|
||||
ENV TARGETS=$TARGETS,armv5te-unknown-linux-musleabi
|
||||
ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf
|
||||
ENV TARGETS=$TARGETS,aarch64-unknown-linux-musl
|
||||
ENV TARGETS=$TARGETS,aarch64-unknown-none
|
||||
ENV TARGETS=$TARGETS,aarch64-unknown-none-softfloat
|
||||
ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu
|
||||
ENV TARGETS=$TARGETS,x86_64-unknown-redox
|
||||
ENV TARGETS=$TARGETS,thumbv6m-none-eabi
|
||||
@ -178,6 +182,10 @@ ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
|
||||
CC_armv7a_none_eabihf=arm-none-eabi-gcc \
|
||||
CFLAGS_armv7a_none_eabi=-march=armv7-a \
|
||||
CFLAGS_armv7a_none_eabihf=-march=armv7-a+vfpv3 \
|
||||
CC_aarch64_unknown_none_softfloat=aarch64-none-elf-gcc \
|
||||
CFLAGS_aarch64_unknown_none_softfloat=-mstrict-align -march=armv8-a+nofp+nosimd \
|
||||
CC_aarch64_unknown_none=aarch64-none-elf-gcc \
|
||||
CFLAGS_aarch64_unknown_none=-mstrict-align -march=armv8-a+fp+simd \
|
||||
CC_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-gcc \
|
||||
AR_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-ar \
|
||||
CXX_riscv64gc_unknown_linux_gnu=riscv64-unknown-linux-gnu-g++ \
|
||||
@ -200,8 +208,8 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--disable-docs
|
||||
|
||||
ENV SCRIPT \
|
||||
python2.7 ../x.py test --target $RUN_MAKE_TARGETS src/test/run-make && \
|
||||
python2.7 ../x.py dist --target $TARGETS
|
||||
python3 ../x.py test --target $RUN_MAKE_TARGETS src/test/run-make && \
|
||||
python3 ../x.py dist --target $TARGETS
|
||||
|
||||
# sccache
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
|
||||
6
src/ci/docker/dist-various-1/install-aarch64-none-elf.sh
Executable file
6
src/ci/docker/dist-various-1/install-aarch64-none-elf.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
curl -L https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf.tar.xz \
|
||||
| tar --extract --xz --strip 1 --directory /usr/local
|
||||
@ -17,7 +17,7 @@ RUN apt-get update && apt-get build-dep -y clang llvm && apt-get install -y --no
|
||||
libmpfr-dev \
|
||||
ninja-build \
|
||||
nodejs \
|
||||
python2.7-dev \
|
||||
python3-dev \
|
||||
software-properties-common \
|
||||
unzip \
|
||||
# Needed for apt-key to work:
|
||||
@ -110,4 +110,4 @@ ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
|
||||
--set target.wasm32-wasi.wasi-root=/wasm32-wasi \
|
||||
--musl-root-armv7=/musl-armv7
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
|
||||
ENV SCRIPT python3 ../x.py dist --target $TARGETS
|
||||
|
||||
@ -12,7 +12,7 @@ export PATH=`pwd`/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-14.04/bin:$PATH
|
||||
git clone https://github.com/CraneStation/wasi-libc
|
||||
|
||||
cd wasi-libc
|
||||
git reset --hard 1fad33890a5e299027ce0eab7b6ad5260585e347
|
||||
git reset --hard 9efc2f428358564fe64c374d762d0bfce1d92507
|
||||
make -j$(nproc) INSTALL_DIR=/wasm32-wasi install
|
||||
|
||||
cd ..
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -30,4 +30,4 @@ ENV \
|
||||
ENV HOSTS=x86_64-unknown-freebsd
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -7,7 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
wget \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
xz-utils \
|
||||
@ -34,6 +34,7 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--musl-root-x86_64=/usr/local/x86_64-linux-musl \
|
||||
--enable-extended \
|
||||
--disable-docs \
|
||||
--enable-lld \
|
||||
--set target.x86_64-unknown-linux-musl.crt-static=false \
|
||||
--build $HOSTS
|
||||
|
||||
@ -47,4 +48,4 @@ ENV CFLAGS_x86_64_unknown_linux_musl="-Wa,-mrelax-relocations=no -Wa,--compress-
|
||||
-Wl,--compress-debug-sections=none"
|
||||
|
||||
# To run native tests replace `dist` below with `test`
|
||||
ENV SCRIPT python2.7 ../x.py dist --build $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --build $HOSTS
|
||||
|
||||
@ -19,4 +19,4 @@ ENV \
|
||||
ENV HOSTS=x86_64-unknown-netbsd
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python2.7 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -18,7 +18,7 @@ COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --build=i686-unknown-linux-gnu --disable-optimize-tests
|
||||
ENV SCRIPT python2.7 ../x.py test
|
||||
ENV SCRIPT python3 ../x.py test
|
||||
|
||||
# FIXME(#59637) takes too long on CI right now
|
||||
ENV NO_LLVM_ASSERTIONS=1 NO_DEBUG_ASSERTIONS=1
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -20,7 +20,7 @@ RUN sh /scripts/sccache.sh
|
||||
ENV RUST_CONFIGURE_ARGS --build=i686-unknown-linux-gnu
|
||||
# Exclude some tests that are unlikely to be platform specific, to speed up
|
||||
# this slow job.
|
||||
ENV SCRIPT python2.7 ../x.py test \
|
||||
ENV SCRIPT python3 ../x.py test \
|
||||
--exclude src/bootstrap \
|
||||
--exclude src/test/rustdoc-js \
|
||||
--exclude src/tools/error_index_generator \
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -22,7 +22,9 @@ RUN sh /scripts/sccache.sh
|
||||
COPY mingw-check/validate-toolstate.sh /scripts/
|
||||
|
||||
ENV RUN_CHECK_WITH_PARALLEL_QUERIES 1
|
||||
ENV SCRIPT python2.7 ../x.py check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu && \
|
||||
python2.7 ../x.py build --stage 0 src/tools/build-manifest && \
|
||||
python2.7 ../x.py test --stage 0 src/tools/compiletest && \
|
||||
ENV SCRIPT python3 ../x.py test src/tools/expand-yaml-anchors && \
|
||||
python3 ../x.py check --target=i686-pc-windows-gnu --host=i686-pc-windows-gnu && \
|
||||
python3 ../x.py build --stage 0 src/tools/build-manifest && \
|
||||
python3 ../x.py test --stage 0 src/tools/compiletest && \
|
||||
python3 ../x.py test src/tools/tidy && \
|
||||
/scripts/validate-toolstate.sh
|
||||
|
||||
@ -7,12 +7,12 @@ IFS=$'\n\t'
|
||||
rm -rf rust-toolstate
|
||||
git clone --depth=1 https://github.com/rust-lang-nursery/rust-toolstate.git
|
||||
cd rust-toolstate
|
||||
python2.7 "../../src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" \
|
||||
python3 "../../src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" \
|
||||
"$(git log --format=%s -n1 HEAD)" "" ""
|
||||
# Only check maintainers if this build is supposed to publish toolstate.
|
||||
# Builds that are not supposed to publish don't have the access token.
|
||||
if [ -n "${TOOLSTATE_PUBLISH+is_set}" ]; then
|
||||
TOOLSTATE_VALIDATE_MAINTAINERS_REPO=rust-lang/rust python2.7 \
|
||||
TOOLSTATE_VALIDATE_MAINTAINERS_REPO=rust-lang/rust python3 \
|
||||
"../../src/tools/publish_toolstate.py"
|
||||
fi
|
||||
cd ..
|
||||
|
||||
@ -11,7 +11,7 @@ apt-get install -y --no-install-recommends \
|
||||
libssl-dev \
|
||||
make \
|
||||
pkg-config \
|
||||
python2.7 \
|
||||
python3 \
|
||||
sudo \
|
||||
unzip \
|
||||
xz-utils
|
||||
|
||||
@ -13,7 +13,7 @@ download_ndk() {
|
||||
|
||||
make_standalone_toolchain() {
|
||||
# See https://developer.android.com/ndk/guides/standalone_toolchain.htm
|
||||
python2.7 /android/ndk/ndk/build/tools/make_standalone_toolchain.py \
|
||||
python3 /android/ndk/ndk/build/tools/make_standalone_toolchain.py \
|
||||
--install-dir /android/ndk/$1-$2 \
|
||||
--arch $1 \
|
||||
--api $2
|
||||
|
||||
@ -19,7 +19,7 @@ apt-get update && apt-get install -y --no-install-recommends \
|
||||
make \
|
||||
patch \
|
||||
pkg-config \
|
||||
python2.7 \
|
||||
python3 \
|
||||
sudo \
|
||||
texinfo \
|
||||
unzip \
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -40,7 +40,7 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
ENV NO_DEBUG_ASSERTIONS=1
|
||||
|
||||
ENV WASM_TARGETS=wasm32-unknown-unknown
|
||||
ENV WASM_SCRIPT python2.7 /checkout/x.py test --target $WASM_TARGETS \
|
||||
ENV WASM_SCRIPT python3 /checkout/x.py test --target $WASM_TARGETS \
|
||||
src/test/run-make \
|
||||
src/test/ui \
|
||||
src/test/compile-fail \
|
||||
@ -49,13 +49,13 @@ ENV WASM_SCRIPT python2.7 /checkout/x.py test --target $WASM_TARGETS \
|
||||
src/libcore
|
||||
|
||||
ENV NVPTX_TARGETS=nvptx64-nvidia-cuda
|
||||
ENV NVPTX_SCRIPT python2.7 /checkout/x.py test --target $NVPTX_TARGETS \
|
||||
ENV NVPTX_SCRIPT python3 /checkout/x.py test --target $NVPTX_TARGETS \
|
||||
src/test/run-make \
|
||||
src/test/assembly
|
||||
|
||||
ENV MUSL_TARGETS=x86_64-unknown-linux-musl \
|
||||
CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc \
|
||||
CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++
|
||||
ENV MUSL_SCRIPT python2.7 /checkout/x.py test --target $MUSL_TARGETS
|
||||
ENV MUSL_SCRIPT python3 /checkout/x.py test --target $MUSL_TARGETS
|
||||
|
||||
ENV SCRIPT $WASM_SCRIPT && $NVPTX_SCRIPT && $MUSL_SCRIPT
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -20,10 +20,16 @@ RUN bash /scripts/emscripten.sh
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
# emcc seems to need python to specifically be "python" and not "python3"
|
||||
RUN ln `which python3` /usr/bin/python
|
||||
|
||||
ENV PATH=$PATH:/emsdk-portable
|
||||
ENV PATH=$PATH:/emsdk-portable/upstream/emscripten/
|
||||
ENV PATH=$PATH:/emsdk-portable/node/12.9.1_64bit/bin/
|
||||
ENV BINARYEN_ROOT=/emsdk-portable/upstream/
|
||||
ENV EMSDK=/emsdk-portable
|
||||
ENV EM_CONFIG=/emsdk-portable/.emscripten
|
||||
ENV EM_CACHE=/emsdk-portable/upstream/emscripten/cache
|
||||
|
||||
ENV TARGETS=wasm32-unknown-emscripten
|
||||
|
||||
@ -35,7 +41,7 @@ ENV NO_CHANGE_USER=1
|
||||
|
||||
# FIXME: Re-enable these tests once https://github.com/rust-lang/cargo/pull/7476
|
||||
# is picked up by CI
|
||||
ENV SCRIPT python2.7 ../x.py test --target $TARGETS \
|
||||
ENV SCRIPT python3 ../x.py test --target $TARGETS \
|
||||
--exclude src/libcore \
|
||||
--exclude src/liballoc \
|
||||
--exclude src/libproc_macro \
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
libssl-dev \
|
||||
|
||||
@ -6,8 +6,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python2.7-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
libxml2-dev \
|
||||
libncurses-dev \
|
||||
libedit-dev \
|
||||
@ -40,5 +40,5 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--set target.x86_64-unknown-linux-gnu.cxx=clang++
|
||||
|
||||
ENV SCRIPT \
|
||||
python2.7 ../x.py build && \
|
||||
python2.7 ../x.py test src/test/run-make-fulldeps --test-args clang
|
||||
python3 ../x.py build && \
|
||||
python3 ../x.py test src/test/run-make-fulldeps --test-args clang
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -19,7 +19,7 @@ COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu --set rust.ignore-git=false
|
||||
ENV SCRIPT python2.7 ../x.py test distcheck
|
||||
ENV SCRIPT python3 ../x.py test distcheck
|
||||
ENV DIST_SRC 1
|
||||
|
||||
# The purpose of this builder is to test that we can `./x.py test` successfully
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -21,7 +21,7 @@ RUN sh /scripts/sccache.sh
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--build=x86_64-unknown-linux-gnu \
|
||||
--enable-full-bootstrap
|
||||
ENV SCRIPT python2.7 ../x.py build
|
||||
ENV SCRIPT python3 ../x.py build
|
||||
|
||||
# In general this just slows down the build and we're just a smoke test that
|
||||
# a full bootstrap works in general, so there's not much need to take this
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
make \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
gdb \
|
||||
llvm-7-tools \
|
||||
libedit-dev \
|
||||
libssl-dev \
|
||||
pkg-config \
|
||||
zlib1g-dev \
|
||||
xz-utils
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
# using llvm-link-shared due to libffi issues -- see #34486
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--build=x86_64-unknown-linux-gnu \
|
||||
--llvm-root=/usr/lib/llvm-7 \
|
||||
--enable-llvm-link-shared \
|
||||
--set rust.thin-lto-import-instr-limit=10
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test src/tools/tidy && python2.7 ../x.py test
|
||||
|
||||
# The purpose of this container isn't to test with debug assertions and
|
||||
# this is run on all PRs, so let's get speedier builds by disabling these extra
|
||||
# checks.
|
||||
ENV NO_DEBUG_ASSERTIONS=1
|
||||
ENV NO_LLVM_ASSERTIONS=1
|
||||
55
src/ci/docker/x86_64-gnu-llvm-8/Dockerfile
Normal file
55
src/ci/docker/x86_64-gnu-llvm-8/Dockerfile
Normal file
@ -0,0 +1,55 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
g++ \
|
||||
g++-arm-linux-gnueabi \
|
||||
make \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
gdb \
|
||||
llvm-8-tools \
|
||||
libedit-dev \
|
||||
libssl-dev \
|
||||
pkg-config \
|
||||
zlib1g-dev \
|
||||
xz-utils \
|
||||
nodejs
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
# using llvm-link-shared due to libffi issues -- see #34486
|
||||
ENV RUST_CONFIGURE_ARGS \
|
||||
--build=x86_64-unknown-linux-gnu \
|
||||
--llvm-root=/usr/lib/llvm-8 \
|
||||
--enable-llvm-link-shared \
|
||||
--set rust.thin-lto-import-instr-limit=10
|
||||
|
||||
ENV SCRIPT python2.7 ../x.py test --exclude src/tools/tidy && \
|
||||
# Run the `mir-opt` tests again but this time for a 32-bit target.
|
||||
# This enforces that tests using `// EMIT_MIR_FOR_EACH_BIT_WIDTH` have
|
||||
# both 32-bit and 64-bit outputs updated by the PR author, before
|
||||
# the PR is approved and tested for merging.
|
||||
# It will also detect tests lacking `// EMIT_MIR_FOR_EACH_BIT_WIDTH`,
|
||||
# despite having different output on 32-bit vs 64-bit targets.
|
||||
#
|
||||
# HACK(eddyb) `armv5te` is used (not `i686`) to support older LLVM than LLVM 9:
|
||||
# https://github.com/rust-lang/compiler-builtins/pull/311#issuecomment-612270089.
|
||||
# This also requires `--pass=build` because we can't execute the tests
|
||||
# on the `x86_64` host when they're built as `armv5te` binaries.
|
||||
# (we're only interested in the MIR output, so this doesn't matter)
|
||||
python2.7 ../x.py test src/test/mir-opt --pass=build \
|
||||
--target=armv5te-unknown-linux-gnueabi && \
|
||||
# Run tidy at the very end, after all the other tests.
|
||||
python2.7 ../x.py test src/tools/tidy
|
||||
|
||||
# The purpose of this container isn't to test with debug assertions and
|
||||
# this is run on all PRs, so let's get speedier builds by disabling these extra
|
||||
# checks.
|
||||
ENV NO_DEBUG_ASSERTIONS=1
|
||||
ENV NO_LLVM_ASSERTIONS=1
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -21,4 +21,4 @@ RUN sh /scripts/sccache.sh
|
||||
ENV RUST_CONFIGURE_ARGS --build=x86_64-unknown-linux-gnu \
|
||||
--disable-optimize-tests \
|
||||
--set rust.test-compare-mode
|
||||
ENV SCRIPT python2.7 ../x.py test
|
||||
ENV SCRIPT python3 ../x.py test
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
libssl-dev \
|
||||
|
||||
@ -7,7 +7,7 @@ X_PY="$1"
|
||||
# Try to test all the tools and store the build/test success in the TOOLSTATE_FILE
|
||||
|
||||
set +e
|
||||
python2.7 "$X_PY" test --no-fail-fast \
|
||||
python3 "$X_PY" test --no-fail-fast \
|
||||
src/doc/book \
|
||||
src/doc/nomicon \
|
||||
src/doc/reference \
|
||||
@ -22,4 +22,4 @@ python2.7 "$X_PY" test --no-fail-fast \
|
||||
|
||||
set -e
|
||||
|
||||
python2.7 "$X_PY" test check-tools
|
||||
python3 "$X_PY" test check-tools
|
||||
|
||||
@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
file \
|
||||
curl \
|
||||
ca-certificates \
|
||||
python2.7 \
|
||||
python3 \
|
||||
git \
|
||||
cmake \
|
||||
sudo \
|
||||
@ -23,4 +23,4 @@ ENV RUST_CONFIGURE_ARGS \
|
||||
--enable-sanitizers \
|
||||
--enable-profiler \
|
||||
--enable-compiler-docs
|
||||
ENV SCRIPT python2.7 ../x.py test
|
||||
ENV SCRIPT python3 ../x.py test
|
||||
|
||||
16
src/ci/exec-with-shell.py
Executable file
16
src/ci/exec-with-shell.py
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env python
|
||||
# A simple wrapper that forwards the arguments to bash, unless the
|
||||
# CI_OVERRIDE_SHELL environment variable is present: in that case the content
|
||||
# of that environment variable is used as the shell path.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
try:
|
||||
shell = os.environ["CI_OVERRIDE_SHELL"]
|
||||
except KeyError:
|
||||
shell = "bash"
|
||||
|
||||
res = subprocess.call([shell] + sys.argv[1:])
|
||||
sys.exit(res)
|
||||
710
src/ci/github-actions/ci.yml
Normal file
710
src/ci/github-actions/ci.yml
Normal file
@ -0,0 +1,710 @@
|
||||
######################################################
|
||||
# WARNING! Action needed when changing this file #
|
||||
######################################################
|
||||
|
||||
# Due to GitHub Actions limitations, we can't use YAML Anchors directly in the
|
||||
# CI configuration stored on the repository. To work around that this file is
|
||||
# expanded by a tool in the repository, and the expansion is committed as well.
|
||||
#
|
||||
# After you make any change to the file you'll need to run this command:
|
||||
#
|
||||
# ./x.py run src/tools/expand-yaml-anchors
|
||||
#
|
||||
# ...and commit the file it updated in addition to this one. If you forget this
|
||||
# step CI will fail.
|
||||
|
||||
---
|
||||
|
||||
###############################
|
||||
# YAML Anchors Definition #
|
||||
###############################
|
||||
|
||||
# This key contains most of the YAML anchors that will be used later in the
|
||||
# document. YAML anchors allows us to greatly reduce duplication inside the CI
|
||||
# configuration by reusing parts of the configuration.
|
||||
#
|
||||
# YAML anchors work by defining an anchor with `&anchor-name` and reusing its
|
||||
# content in another place with `*anchor-name`. The special `<<` map key merges
|
||||
# the content of the map with the content of the anchor (or list of anchors).
|
||||
#
|
||||
# The expand-yaml-anchors tool will automatically remove this block from the
|
||||
# output YAML file.
|
||||
x--expand-yaml-anchors--remove:
|
||||
|
||||
- &shared-ci-variables
|
||||
CI_JOB_NAME: ${{ matrix.name }}
|
||||
|
||||
- &public-variables
|
||||
SCCACHE_BUCKET: rust-lang-gha-caches
|
||||
TOOLSTATE_REPO: https://github.com/pietroalbini/rust-toolstate
|
||||
|
||||
- &prod-variables
|
||||
SCCACHE_BUCKET: rust-lang-gha-caches
|
||||
DEPLOY_BUCKET: rust-lang-gha
|
||||
TOOLSTATE_REPO: https://github.com/pietroalbini/rust-toolstate
|
||||
TOOLSTATE_ISSUES_API_URL: https://api.github.com/repos/pietroalbini/rust-toolstate/issues
|
||||
TOOLSTATE_PUBLISH: 1
|
||||
# AWS_SECRET_ACCESS_KEYs are stored in GitHub's secrets storage, named
|
||||
# AWS_SECRET_ACCESS_KEY_<keyid>. Including the key id in the name allows to
|
||||
# rotate them in a single branch while keeping the old key in another
|
||||
# branch, which wouldn't be possible if the key was named with the kind
|
||||
# (caches, artifacts...).
|
||||
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZOMUQATD5
|
||||
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZH5AYXDVF
|
||||
|
||||
- &base-job
|
||||
env: {}
|
||||
|
||||
- &job-linux-xl
|
||||
os: ubuntu-latest-xl
|
||||
<<: *base-job
|
||||
|
||||
- &job-macos-xl
|
||||
os: macos-latest # We don't have an XL builder for this
|
||||
<<: *base-job
|
||||
|
||||
- &job-windows-xl
|
||||
os: windows-latest-xl
|
||||
<<: *base-job
|
||||
|
||||
- &step
|
||||
if: success() && !env.SKIP_JOB
|
||||
|
||||
- &step-run
|
||||
<<: *step
|
||||
# While on Linux and macOS builders it just forwards the arguments to the
|
||||
# system bash, this wrapper allows switching from the host's bash.exe to
|
||||
# the one we install along with MSYS2 mid-build on Windows.
|
||||
#
|
||||
# Once the step to install MSYS2 is executed, the CI_OVERRIDE_SHELL
|
||||
# environment variable is set pointing to our MSYS2's bash.exe. From that
|
||||
# moment the host's bash.exe will not be called anymore.
|
||||
#
|
||||
# This is needed because we can't launch our own bash.exe from the host
|
||||
# bash.exe, as that would load two different cygwin1.dll in memory, causing
|
||||
# "cygwin heap mismatch" errors.
|
||||
shell: python src/ci/exec-with-shell.py {0}
|
||||
|
||||
- &base-ci-job
|
||||
timeout-minutes: 600
|
||||
runs-on: "${{ matrix.os }}"
|
||||
env: *shared-ci-variables
|
||||
steps:
|
||||
- name: disable git crlf conversion
|
||||
run: git config --global core.autocrlf false
|
||||
shell: bash
|
||||
|
||||
- name: checkout the source code
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: configure GitHub Actions to kill the build when outdated
|
||||
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
||||
with:
|
||||
github_token: "${{ secrets.github_token }}"
|
||||
if: success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'
|
||||
<<: *step
|
||||
|
||||
- name: add extra environment variables
|
||||
run: src/ci/scripts/setup-environment.sh
|
||||
env:
|
||||
# Since it's not possible to merge `${{ matrix.env }}` with the other
|
||||
# variables in `job.<name>.env`, the variables defined in the matrix
|
||||
# are passed to the `setup-environment.sh` script encoded in JSON,
|
||||
# which then uses log commands to actually set them.
|
||||
EXTRA_VARIABLES: ${{ toJson(matrix.env) }}
|
||||
<<: *step-run
|
||||
|
||||
- name: decide whether to skip this job
|
||||
run: src/ci/scripts/should-skip-this.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: collect CPU statistics
|
||||
run: src/ci/scripts/collect-cpu-stats.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: show the current environment
|
||||
run: src/ci/scripts/dump-environment.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install awscli
|
||||
run: src/ci/scripts/install-awscli.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install sccache
|
||||
run: src/ci/scripts/install-sccache.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install clang
|
||||
run: src/ci/scripts/install-clang.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install WIX
|
||||
run: src/ci/scripts/install-wix.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install InnoSetup
|
||||
run: src/ci/scripts/install-innosetup.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: ensure the build happens on a partition with enough space
|
||||
run: src/ci/scripts/symlink-build-dir.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: disable git crlf conversion
|
||||
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install MSYS2
|
||||
run: src/ci/scripts/install-msys2.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install MSYS2 packages
|
||||
run: src/ci/scripts/install-msys2-packages.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install MinGW
|
||||
run: src/ci/scripts/install-mingw.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: install ninja
|
||||
run: src/ci/scripts/install-ninja.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: enable ipv6 on Docker
|
||||
run: src/ci/scripts/enable-docker-ipv6.sh
|
||||
<<: *step-run
|
||||
|
||||
# Disable automatic line ending conversion (again). On Windows, when we're
|
||||
# installing dependencies, something switches the git configuration directory or
|
||||
# re-enables autocrlf. We've not tracked down the exact cause -- and there may
|
||||
# be multiple -- but this should ensure submodules are checked out with the
|
||||
# appropriate line endings.
|
||||
- name: disable git crlf conversion
|
||||
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: checkout submodules
|
||||
run: src/ci/scripts/checkout-submodules.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: ensure line endings are correct
|
||||
run: src/ci/scripts/verify-line-endings.sh
|
||||
<<: *step-run
|
||||
|
||||
- name: run the build
|
||||
run: src/ci/scripts/run-build-from-ci.sh
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ env.CACHES_AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}
|
||||
TOOLSTATE_REPO_ACCESS_TOKEN: ${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}
|
||||
<<: *step-run
|
||||
|
||||
- name: upload artifacts to S3
|
||||
run: src/ci/scripts/upload-artifacts.sh
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}
|
||||
# Adding a condition on DEPLOY=1 or DEPLOY_ALT=1 is not needed as all deploy
|
||||
# builders *should* have the AWS credentials available. Still, explicitly
|
||||
# adding the condition is helpful as this way CI will not silently skip
|
||||
# deploying artifacts from a dist builder if the variables are misconfigured,
|
||||
# erroring about invalid credentials instead.
|
||||
if: success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')
|
||||
<<: *step-run
|
||||
|
||||
# These snippets are used by the try-success, try-failure, auto-success and auto-failure jobs.
|
||||
# Check out their documentation for more information on why they're needed.
|
||||
|
||||
- &base-outcome-job
|
||||
name: bors build finished
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
- &base-success-job
|
||||
steps:
|
||||
- name: mark the job as a success
|
||||
run: exit 0
|
||||
<<: *base-outcome-job
|
||||
|
||||
- &base-failure-job
|
||||
steps:
|
||||
- name: mark the job as a failure
|
||||
run: exit 1
|
||||
<<: *base-outcome-job
|
||||
|
||||
###########################
|
||||
# Builders definition #
|
||||
###########################
|
||||
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- auto
|
||||
- try
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
pr:
|
||||
<<: *base-ci-job
|
||||
name: PR
|
||||
env:
|
||||
<<: [*shared-ci-variables, *public-variables]
|
||||
if: github.event_name == 'pull_request'
|
||||
strategy:
|
||||
matrix:
|
||||
name:
|
||||
- mingw-check
|
||||
- x86_64-gnu-llvm-8
|
||||
- x86_64-gnu-tools
|
||||
include:
|
||||
- name: mingw-check
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-llvm-8
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-tools
|
||||
env:
|
||||
CI_ONLY_WHEN_SUBMODULES_CHANGED: 1
|
||||
<<: *job-linux-xl
|
||||
|
||||
try:
|
||||
<<: *base-ci-job
|
||||
name: try
|
||||
env:
|
||||
<<: [*shared-ci-variables, *prod-variables]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/try' && github.repository == 'rust-lang-ci/rust'
|
||||
strategy:
|
||||
matrix:
|
||||
name:
|
||||
- dist-x86_64-linux
|
||||
- dist-x86_64-linux-alt
|
||||
include:
|
||||
- name: dist-x86_64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-linux-alt
|
||||
env:
|
||||
IMAGE: dist-x86_64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
auto:
|
||||
<<: *base-ci-job
|
||||
name: auto
|
||||
env:
|
||||
<<: [*shared-ci-variables, *prod-variables]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'
|
||||
strategy:
|
||||
matrix:
|
||||
name:
|
||||
- arm-android
|
||||
- armhf-gnu
|
||||
- dist-aarch64-linux
|
||||
- dist-android
|
||||
- dist-arm-linux
|
||||
- dist-armhf-linux
|
||||
- dist-armv7-linux
|
||||
- dist-i586-gnu-i586-i686-musl
|
||||
- dist-i686-freebsd
|
||||
- dist-i686-linux
|
||||
- dist-i686-mingw
|
||||
- dist-i686-msvc
|
||||
- dist-mips-linux
|
||||
- dist-mips64-linux
|
||||
- dist-mips64el-linux
|
||||
- dist-mipsel-linux
|
||||
- dist-powerpc-linux
|
||||
- dist-powerpc64-linux
|
||||
- dist-powerpc64le-linux
|
||||
- dist-s390x-linux
|
||||
- dist-various-1
|
||||
- dist-various-2
|
||||
- dist-x86_64-apple
|
||||
- dist-x86_64-apple-alt
|
||||
- dist-x86_64-freebsd
|
||||
- dist-x86_64-linux
|
||||
- dist-x86_64-linux-alt
|
||||
- dist-x86_64-mingw
|
||||
- dist-x86_64-msvc
|
||||
- dist-x86_64-msvc-alt
|
||||
- dist-x86_64-musl
|
||||
- dist-x86_64-netbsd
|
||||
- i686-gnu
|
||||
- i686-gnu-nopt
|
||||
- i686-mingw-1
|
||||
- i686-mingw-2
|
||||
- i686-msvc-1
|
||||
- i686-msvc-2
|
||||
- mingw-check
|
||||
- test-various
|
||||
- wasm32
|
||||
- x86_64-apple
|
||||
- x86_64-gnu
|
||||
- x86_64-gnu-aux
|
||||
- x86_64-gnu-debug
|
||||
- x86_64-gnu-distcheck
|
||||
- x86_64-gnu-full-bootstrap
|
||||
- x86_64-gnu-llvm-8
|
||||
- x86_64-gnu-nopt
|
||||
- x86_64-gnu-tools
|
||||
- x86_64-mingw-1
|
||||
- x86_64-mingw-2
|
||||
- x86_64-msvc-1
|
||||
- x86_64-msvc-2
|
||||
- x86_64-msvc-aux
|
||||
- x86_64-msvc-cargo
|
||||
- x86_64-msvc-tools
|
||||
include:
|
||||
#############################
|
||||
# Linux/Docker builders #
|
||||
#############################
|
||||
|
||||
- name: arm-android
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: armhf-gnu
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-aarch64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-android
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-arm-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-armhf-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-armv7-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-i586-gnu-i586-i686-musl
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-i686-freebsd
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-i686-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-mips-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-mips64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-mips64el-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-mipsel-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-powerpc-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-powerpc64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-powerpc64le-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-s390x-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-various-1
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-various-2
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-freebsd
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-linux-alt
|
||||
env:
|
||||
IMAGE: dist-x86_64-linux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-musl
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: dist-x86_64-netbsd
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: i686-gnu
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: i686-gnu-nopt
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: mingw-check
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: test-various
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: wasm32
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-aux
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-debug
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-distcheck
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-full-bootstrap
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-llvm-8
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-nopt
|
||||
<<: *job-linux-xl
|
||||
|
||||
- name: x86_64-gnu-tools
|
||||
env:
|
||||
DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
|
||||
<<: *job-linux-xl
|
||||
|
||||
####################
|
||||
# macOS Builders #
|
||||
####################
|
||||
|
||||
- name: dist-x86_64-apple
|
||||
env:
|
||||
SCRIPT: ./x.py dist
|
||||
RUST_CONFIGURE_ARGS: --target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-macos-xl
|
||||
|
||||
- name: dist-x86_64-apple-alt
|
||||
env:
|
||||
SCRIPT: ./x.py dist
|
||||
RUST_CONFIGURE_ARGS: --enable-extended --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.7
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
<<: *job-macos-xl
|
||||
|
||||
- name: x86_64-apple
|
||||
env:
|
||||
SCRIPT: ./x.py test
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc
|
||||
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
||||
MACOSX_DEPLOYMENT_TARGET: 10.8
|
||||
MACOSX_STD_DEPLOYMENT_TARGET: 10.7
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
<<: *job-macos-xl
|
||||
|
||||
######################
|
||||
# Windows Builders #
|
||||
######################
|
||||
|
||||
- name: x86_64-msvc-1
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: make ci-subset-1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-msvc-2
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: make ci-subset-2
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: i686-msvc-1
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
SCRIPT: make ci-subset-1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: i686-msvc-2
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
SCRIPT: make ci-subset-2
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-msvc-aux
|
||||
env:
|
||||
RUST_CHECK_TARGET: check-aux EXCLUDE_CARGO=1
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-msvc-cargo
|
||||
env:
|
||||
SCRIPT: python x.py test src/tools/cargotest src/tools/cargo
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc
|
||||
VCVARS_BAT: vcvars64.bat
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-msvc-tools
|
||||
env:
|
||||
SCRIPT: src/ci/docker/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json
|
||||
<<: *job-windows-xl
|
||||
|
||||
# 32/64-bit MinGW builds.
|
||||
#
|
||||
# We are using MinGW with posix threads since LLVM does not compile with
|
||||
# the win32 threads version due to missing support for C++'s std::thread.
|
||||
#
|
||||
# Instead of relying on the MinGW version installed on appveryor we download
|
||||
# and install one ourselves so we won't be surprised by changes to appveyor's
|
||||
# build image.
|
||||
#
|
||||
# Finally, note that the downloads below are all in the `rust-lang-ci` S3
|
||||
# bucket, but they cleraly didn't originate there! The downloads originally
|
||||
# came from the mingw-w64 SourceForge download site. Unfortunately
|
||||
# SourceForge is notoriously flaky, so we mirror it on our own infrastructure.
|
||||
|
||||
- name: i686-mingw-1
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-subset-1
|
||||
CUSTOM_MINGW: 1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: i686-mingw-2
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
|
||||
SCRIPT: make ci-mingw-subset-2
|
||||
CUSTOM_MINGW: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-mingw-1
|
||||
env:
|
||||
SCRIPT: make ci-mingw-subset-1
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
CUSTOM_MINGW: 1
|
||||
# FIXME(#59637)
|
||||
NO_DEBUG_ASSERTIONS: 1
|
||||
NO_LLVM_ASSERTIONS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: x86_64-mingw-2
|
||||
env:
|
||||
SCRIPT: make ci-mingw-subset-2
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
|
||||
CUSTOM_MINGW: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-x86_64-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-i686-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
--build=i686-pc-windows-msvc
|
||||
--target=i586-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-i686-mingw
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
CUSTOM_MINGW: 1
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-x86_64-mingw
|
||||
env:
|
||||
SCRIPT: python x.py dist
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler
|
||||
CUSTOM_MINGW: 1
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-xl
|
||||
|
||||
- name: dist-x86_64-msvc-alt
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
SCRIPT: python x.py dist
|
||||
<<: *job-windows-xl
|
||||
|
||||
master:
|
||||
name: master
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
<<: [*prod-variables]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'rust-lang-ci/rust'
|
||||
steps:
|
||||
- name: checkout the source code
|
||||
uses: actions/checkout@v1
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: publish toolstate
|
||||
run: src/ci/publish_toolstate.sh
|
||||
env:
|
||||
TOOLSTATE_REPO_ACCESS_TOKEN: ${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}
|
||||
<<: *step-run
|
||||
|
||||
# These jobs don't actually test anything, but they're used to tell bors the
|
||||
# build completed, as there is no practical way to detect when a workflow is
|
||||
# successful listening to webhooks only.
|
||||
try-success:
|
||||
needs: [try]
|
||||
if: "success() && github.event_name == 'push' && github.ref == 'refs/heads/try' && github.repository == 'rust-lang-ci/rust'"
|
||||
<<: *base-success-job
|
||||
try-failure:
|
||||
needs: [try]
|
||||
if: "!success() && github.event_name == 'push' && github.ref == 'refs/heads/try' && github.repository == 'rust-lang-ci/rust'"
|
||||
<<: *base-failure-job
|
||||
auto-success:
|
||||
needs: [auto]
|
||||
if: "success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
||||
<<: *base-success-job
|
||||
auto-failure:
|
||||
needs: [auto]
|
||||
if: "!success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
||||
<<: *base-failure-job
|
||||
@ -23,7 +23,9 @@ GIT_COMMIT_MSG="$(git log --format=%s -n1 HEAD)"
|
||||
cd rust-toolstate
|
||||
FAILURE=1
|
||||
for RETRY_COUNT in 1 2 3 4 5; do
|
||||
# The purpose is to publish the new "current" toolstate in the toolstate repo.
|
||||
# The purpose of this is to publish the new "current" toolstate in the toolstate repo.
|
||||
# This happens post-landing, on master.
|
||||
# (Publishing the per-commit test results happens pre-landing in src/bootstrap/toolstate.rs).
|
||||
"$(ciCheckoutPath)/src/tools/publish_toolstate.py" "$GIT_COMMIT" \
|
||||
"$GIT_COMMIT_MSG" \
|
||||
"$MESSAGE_FILE" \
|
||||
|
||||
@ -23,6 +23,14 @@ fi
|
||||
ci_dir=`cd $(dirname $0) && pwd`
|
||||
source "$ci_dir/shared.sh"
|
||||
|
||||
if command -v python > /dev/null; then
|
||||
PYTHON="python"
|
||||
elif command -v python3 > /dev/null; then
|
||||
PYTHON="python3"
|
||||
else
|
||||
PYTHON="python2"
|
||||
fi
|
||||
|
||||
if ! isCI || isCiBranch auto || isCiBranch beta; then
|
||||
RUST_CONFIGURE_ARGS="$RUST_CONFIGURE_ARGS --set build.print-step-timings --enable-verbose-tests"
|
||||
fi
|
||||
@ -107,7 +115,7 @@ SCCACHE_IDLE_TIMEOUT=10800 sccache --start-server || true
|
||||
|
||||
if [ "$RUN_CHECK_WITH_PARALLEL_QUERIES" != "" ]; then
|
||||
$SRC/configure --enable-parallel-compiler
|
||||
CARGO_INCREMENTAL=0 python2.7 ../x.py check
|
||||
CARGO_INCREMENTAL=0 $PYTHON ../x.py check
|
||||
rm -f config.toml
|
||||
rm -rf build
|
||||
fi
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user