final 0.7 fixes: xcode 15/16 hybrid, auto openssldir for android, include_*! tracking hotpatch, fix /assets/ brick at high opt levels, windows linker file, etc (#4376)
* wip: openssl autodetection * add voltaile read inside of asset fn * support xcode 15 for --device * vendor openssl on android * Smaller width TUI * switch to anyhow for the entire CLI * add backtrace and print double printing of cargo_metadata errors * add some padding to multi-line anyhow error * check semvers * don't open if not interactive * set the tailwind current_dir so it doesn't twitch * get the oboe demo working * copy the c++ library on android * cleanup env vars * add depinfo watcher * fix stale hotpatches and crate count * add musl support * remove outdated autofmt test * update scanner app * add hotdog app and bundle to ci * upload dx on every branch * collapse mobile into desktop * `dx doctor` command * windows command files * no pipe on doctor * fix ci? * fix links * fix ci * use main instead of nightly * bump node * build cli for host * cargo doc * prep dog_app for bundle * package hotdog * no bundle or nightly cli * comment out nightly cli * add quotes to linker files
This commit is contained in:
1 parent
97947b169b
commit
727752a965
78 files changed
+2270
-817
No files matched your search
@@ -170,6 +170,13 @@ impl AndroidTools {
|
||||
))
|
||||
}
|
||||
|
||||
pub(crate) fn sysroot(&self) -> PathBuf {
|
||||
// The sysroot is usually located in the NDK under:
|
||||
// "~/Library/Android/sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/sysroot"
|
||||
// or similar, depending on the platform.
|
||||
self.android_tools_dir().parent().unwrap().join("sysroot")
|
||||
}
|
||||
|
||||
pub(crate) fn sdk(&self) -> PathBuf {
|
||||
// /Users/jonathankelley/Library/Android/sdk/ndk/25.2/... (25.2 is the ndk here)
|
||||
// /Users/jonathankelley/Library/Android/sdk/
|
||||
@@ -187,6 +194,21 @@ impl AndroidTools {
|
||||
24
|
||||
}
|
||||
|
||||
pub(crate) fn clang_folder(&self) -> PathBuf {
|
||||
// The clang folder is usually located in the NDK under:
|
||||
// "~/Library/Android/sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/<version>"
|
||||
// or similar, depending on the platform.
|
||||
self.android_tools_dir()
|
||||
.parent()
|
||||
.unwrap()
|
||||
.join("lib")
|
||||
.join("clang")
|
||||
}
|
||||
|
||||
pub(crate) fn ranlib(&self) -> PathBuf {
|
||||
self.android_tools_dir().join("llvm-ranlib")
|
||||
}
|
||||
|
||||
pub(crate) fn ar_path(&self) -> PathBuf {
|
||||
self.android_tools_dir().join("llvm-ar")
|
||||
}
|
||||
@@ -261,6 +283,24 @@ impl AndroidTools {
|
||||
|
||||
triple
|
||||
}
|
||||
|
||||
pub(crate) fn libcpp_shared(&self, triple: &Triple) -> PathBuf {
|
||||
// The libc++_shared.so is usually located in the sysroot under:
|
||||
// "~/Library/Android/sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/<arch>/libc++_shared.so"
|
||||
// or similar, depending on the platform.
|
||||
self.sysroot()
|
||||
.join("usr")
|
||||
.join("lib")
|
||||
.join(Self::sysroot_target(&triple.to_string()))
|
||||
.join("libc++_shared.so")
|
||||
}
|
||||
|
||||
pub(crate) fn sysroot_target(rust_target: &str) -> &str {
|
||||
(match rust_target {
|
||||
"armv7-linux-androideabi" => "arm-linux-androideabi",
|
||||
_ => rust_target,
|
||||
}) as _
|
||||
}
|
||||
}
|
||||
|
||||
fn var_or_debug(name: &str) -> Option<PathBuf> {
|
||||
|
||||
Reference in new issue
Block a user