fix: cross-compile bundled Android git libs with Rust
This commit is contained in:
@@ -107,6 +107,7 @@ jobs:
|
|||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
cargo --version
|
cargo --version
|
||||||
rustc --version
|
rustc --version
|
||||||
|
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
|
||||||
|
|
||||||
- name: Compile bundled native Git binaries
|
- name: Compile bundled native Git binaries
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -502,10 +502,11 @@ build_host_git() {
|
|||||||
build_android_git_for_abi() {
|
build_android_git_for_abi() {
|
||||||
local abi="$1"
|
local abi="$1"
|
||||||
local cc="$2"
|
local cc="$2"
|
||||||
|
local rust_target="$3"
|
||||||
local output_dir="$ANDROID_JNI_DIR/$abi"
|
local output_dir="$ANDROID_JNI_DIR/$abi"
|
||||||
local output_binary="$output_dir/libgit.so"
|
local output_binary="$output_dir/libgit.so"
|
||||||
local stamp="$output_dir/.source-fingerprint"
|
local stamp="$output_dir/.source-fingerprint"
|
||||||
local fingerprint="$3:android:$abi:$cc:$ANDROID_API:githug-embedded-main"
|
local fingerprint="$4:android:$abi:$cc:$rust_target:$ANDROID_API:githug-embedded-main"
|
||||||
|
|
||||||
require_path "$ANDROID_TOOLBIN/$cc"
|
require_path "$ANDROID_TOOLBIN/$cc"
|
||||||
|
|
||||||
@@ -530,6 +531,7 @@ build_android_git_for_abi() {
|
|||||||
AR=llvm-ar \
|
AR=llvm-ar \
|
||||||
RANLIB=llvm-ranlib \
|
RANLIB=llvm-ranlib \
|
||||||
STRIP=llvm-strip \
|
STRIP=llvm-strip \
|
||||||
|
RUST_TARGETS="$rust_target" \
|
||||||
"${make_args[@]}" \
|
"${make_args[@]}" \
|
||||||
git
|
git
|
||||||
|
|
||||||
@@ -554,10 +556,10 @@ build_android_git() {
|
|||||||
local fingerprint
|
local fingerprint
|
||||||
fingerprint="$(git_source_fingerprint)"
|
fingerprint="$(git_source_fingerprint)"
|
||||||
|
|
||||||
build_android_git_for_abi "arm64-v8a" "aarch64-linux-android${ANDROID_API}-clang" "$fingerprint"
|
build_android_git_for_abi "arm64-v8a" "aarch64-linux-android${ANDROID_API}-clang" "aarch64-linux-android" "$fingerprint"
|
||||||
build_android_git_for_abi "armeabi-v7a" "armv7a-linux-androideabi${ANDROID_API}-clang" "$fingerprint"
|
build_android_git_for_abi "armeabi-v7a" "armv7a-linux-androideabi${ANDROID_API}-clang" "armv7-linux-androideabi" "$fingerprint"
|
||||||
build_android_git_for_abi "x86" "i686-linux-android${ANDROID_API}-clang" "$fingerprint"
|
build_android_git_for_abi "x86" "i686-linux-android${ANDROID_API}-clang" "i686-linux-android" "$fingerprint"
|
||||||
build_android_git_for_abi "x86_64" "x86_64-linux-android${ANDROID_API}-clang" "$fingerprint"
|
build_android_git_for_abi "x86_64" "x86_64-linux-android${ANDROID_API}-clang" "x86_64-linux-android" "$fingerprint"
|
||||||
}
|
}
|
||||||
|
|
||||||
build_all_git_targets() {
|
build_all_git_targets() {
|
||||||
|
|||||||
Reference in New Issue
Block a user