Skip to content

Commit 40ac5a5

Browse files
committed
Add openssl android build support
1 parent 8460445 commit 40ac5a5

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/bootstrap/native.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,15 @@ pub fn openssl(build: &Build, target: &str) {
274274
configure.arg("no-ssl3");
275275

276276
let os = match target {
277+
"aarch64-linux-android" => "linux-aarch64",
277278
"aarch64-unknown-linux-gnu" => "linux-aarch64",
279+
"arm-linux-androideabi" => "android",
278280
"arm-unknown-linux-gnueabi" => "linux-armv4",
279281
"arm-unknown-linux-gnueabihf" => "linux-armv4",
282+
"armv7-linux-androideabi" => "android-armv7",
280283
"armv7-unknown-linux-gnueabihf" => "linux-armv4",
281284
"i686-apple-darwin" => "darwin-i386-cc",
285+
"i686-linux-android" => "android-x86",
282286
"i686-unknown-freebsd" => "BSD-x86-elf",
283287
"i686-unknown-linux-gnu" => "linux-elf",
284288
"i686-unknown-linux-musl" => "linux-elf",
@@ -302,6 +306,12 @@ pub fn openssl(build: &Build, target: &str) {
302306
for flag in build.cflags(target) {
303307
configure.arg(flag);
304308
}
309+
// There is no specific os target for android aarch64,
310+
// so we use linux-aarch64 and pass some extra cflags
311+
if os == "linux-aarch64" {
312+
configure.arg("-mandroid");
313+
configure.arg("-fomit-frame-pointer");
314+
}
305315
configure.current_dir(&obj);
306316
println!("Configuring openssl for {}", target);
307317
build.run_quiet(&mut configure);

0 commit comments

Comments
 (0)