diff options
| author | bors <bors@rust-lang.org> | 2017-05-13 11:35:59 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-05-13 11:35:59 +0000 |
| commit | ef3ec5ece5bdf8950810225a9a3bc3cd1926e3d5 (patch) | |
| tree | 8948bc7cc6fbf6605069fa8e8d9774bc6eac8ab9 /src/bootstrap | |
| parent | 453cad6e658e095c6beacf12c589609dac3f4e52 (diff) | |
| parent | f28e3cdf54b935d6284bd554e17dc8e44f7b4deb (diff) | |
| download | rust-ef3ec5ece5bdf8950810225a9a3bc3cd1926e3d5.tar.gz rust-ef3ec5ece5bdf8950810225a9a3bc3cd1926e3d5.zip | |
Auto merge of #41965 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 15 pull requests - Successful merges: #41820, #41860, #41876, #41896, #41912, #41916, #41918, #41921, #41923, #41934, #41935, #41940, #41942, #41943, #41951 - Failed merges:
Diffstat (limited to 'src/bootstrap')
| -rw-r--r-- | src/bootstrap/config.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/config.toml.example | 3 | ||||
| -rw-r--r-- | src/bootstrap/native.rs | 17 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 34fbc33d981..9c536111811 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -264,7 +264,7 @@ impl Config { let table = match p.parse() { Some(table) => table, None => { - println!("failed to parse TOML configuration:"); + println!("failed to parse TOML configuration '{}':", file.to_str().unwrap()); for err in p.errors.iter() { let (loline, locol) = p.to_linecol(err.lo); let (hiline, hicol) = p.to_linecol(err.hi); diff --git a/src/bootstrap/config.toml.example b/src/bootstrap/config.toml.example index 0309eca0e5d..25da976a555 100644 --- a/src/bootstrap/config.toml.example +++ b/src/bootstrap/config.toml.example @@ -175,6 +175,9 @@ [rust] # Whether or not to optimize the compiler and standard library +# Note: the slowness of the non optimized compiler compiling itself usually +# outweighs the time gains in not doing optimizations, therefore a +# full bootstrap takes much more time with optimize set to false. #optimize = true # Number of codegen units to use for each compiler invocation. A value of 0 diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs index 3d87f701b2a..67edd70a156 100644 --- a/src/bootstrap/native.rs +++ b/src/bootstrap/native.rs @@ -309,11 +309,15 @@ pub fn openssl(build: &Build, target: &str) { configure.arg("no-ssl3"); let os = match target { + "aarch64-linux-android" => "linux-aarch64", "aarch64-unknown-linux-gnu" => "linux-aarch64", + "arm-linux-androideabi" => "android", "arm-unknown-linux-gnueabi" => "linux-armv4", "arm-unknown-linux-gnueabihf" => "linux-armv4", + "armv7-linux-androideabi" => "android-armv7", "armv7-unknown-linux-gnueabihf" => "linux-armv4", "i686-apple-darwin" => "darwin-i386-cc", + "i686-linux-android" => "android-x86", "i686-unknown-freebsd" => "BSD-x86-elf", "i686-unknown-linux-gnu" => "linux-elf", "i686-unknown-linux-musl" => "linux-elf", @@ -326,6 +330,7 @@ pub fn openssl(build: &Build, target: &str) { "powerpc64le-unknown-linux-gnu" => "linux-ppc64le", "s390x-unknown-linux-gnu" => "linux64-s390x", "x86_64-apple-darwin" => "darwin64-x86_64-cc", + "x86_64-linux-android" => "linux-x86_64", "x86_64-unknown-freebsd" => "BSD-x86_64", "x86_64-unknown-linux-gnu" => "linux-x86_64", "x86_64-unknown-linux-musl" => "linux-x86_64", @@ -337,6 +342,18 @@ pub fn openssl(build: &Build, target: &str) { for flag in build.cflags(target) { configure.arg(flag); } + // There is no specific os target for android aarch64 or x86_64, + // so we need to pass some extra cflags + if target == "aarch64-linux-android" || target == "x86_64-linux-android" { + configure.arg("-mandroid"); + configure.arg("-fomit-frame-pointer"); + } + // Make PIE binaries + // Non-PIE linker support was removed in Lollipop + // https://source.android.com/security/enhancements/enhancements50 + if target == "i686-linux-android" { + configure.arg("no-asm"); + } configure.current_dir(&obj); println!("Configuring openssl for {}", target); build.run_quiet(&mut configure); |
