Skip to content

Commit 857930f

Browse files
committed
Improve Android support
1 parent 5799bee commit 857930f

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

aws-lc-sys/builder/cmake_builder.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,13 @@ impl CmakeBuilder {
130130
return cmake_cfg;
131131
}
132132

133+
if let Some(cc) = option_env("CC") {
134+
cmake_cfg.define("CMAKE_C_COMPILER", cc);
135+
}
136+
if let Some(cxx) = option_env("CXX") {
137+
cmake_cfg.define("CMAKE_CXX_COMPILER", cxx);
138+
}
139+
133140
// See issue: https://github.com/aws/aws-lc-rs/issues/453
134141
if target_os() == "windows" {
135142
Self::configure_windows(&mut cmake_cfg);
@@ -148,6 +155,24 @@ impl CmakeBuilder {
148155
}
149156
}
150157

158+
if target_os() == "android" {
159+
cmake_cfg.define("CMAKE_SYSTEM_NAME", "Android");
160+
161+
let target = target();
162+
let proc = target.split('-').find(|_| true).unwrap();
163+
match proc {
164+
"armv7" => {
165+
cmake_cfg.define("CMAKE_SYSTEM_PROCESSOR", "armv7-a");
166+
}
167+
"arm" => {
168+
cmake_cfg.define("CMAKE_SYSTEM_PROCESSOR", "armv6");
169+
}
170+
_ => {
171+
cmake_cfg.define("CMAKE_SYSTEM_PROCESSOR", proc);
172+
}
173+
}
174+
}
175+
151176
if target_vendor() == "apple" && target_os().to_lowercase() == "ios" {
152177
cmake_cfg.define("CMAKE_SYSTEM_NAME", "iOS");
153178
if target().ends_with("-ios-sim") || target_arch() == "x86_64" {
@@ -264,7 +289,9 @@ impl crate::Builder for CmakeBuilder {
264289
}
265290
}
266291
if let Some(cmake_cmd) = find_cmake_command() {
267-
env::set_var("CMAKE", cmake_cmd);
292+
if option_env("CMAKE").is_none() {
293+
env::set_var("CMAKE", cmake_cmd);
294+
}
268295
} else {
269296
eprintln!("Missing dependency: cmake");
270297
missing_dependency = true;

0 commit comments

Comments
 (0)