Skip to content

Commit 8599c77

Browse files
committed
fix: attempt to fix building for Android
1 parent 3764fb5 commit 8599c77

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ jobs:
9797
${{ runner.os }}-${{ env.cache-name }}-
9898
- name: Install NDK
9999
run: |
100+
export ANDROID_NDK_HOME= # needed because GitHub Actions sets it by default...
100101
./install-ndk.sh
101102
- name: Build
102103
run: |

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,6 @@ install:
7171
# Install systemd user service
7272
mkdir -p $(DESTDIR)$(PREFIX)/lib/systemd/user
7373
install -m 644 aw-server.service $(DESTDIR)$(PREFIX)/lib/systemd/user/aw-server.service
74+
75+
clean:
76+
cargo clean

aw-server/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ aw-models = { path = "../aw-models" }
3535
aw-transform = { path = "../aw-transform" }
3636
aw-query = { path = "../aw-query" }
3737

38-
[target.'cfg(target_os="linux")'.dependencies]
38+
[target.'cfg(all(target_os="linux", target_arch="x86"))'.dependencies]
3939
jemallocator = "0.3.2"
4040

41-
[target.'cfg(all(target_os="android", target_arch="x86"))'.dependencies]
41+
[target.'cfg(target_os="android")'.dependencies]
4242
jni = { version = "0.18", default-features = false }
4343
libc = "0.2"
4444
android_logger = "0.9"

compile-android.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ for archtargetstr in \
3232
export PATH="$NDK_ARCH_DIR:$ORIG_PATH"
3333
cargo build -p aw-server --target $target --lib $($RELEASE && echo '--release')
3434
else
35-
echo "Couldn't find directory for target $arch"
35+
echo "Couldn't find directory $NDK_ARCH_DIR"
36+
exit 1
3637
fi
3738
done

install-ndk.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ project_path="$(readlink -f "$script_dir/.")"
99

1010
if [ -z "$ANDROID_NDK_HOME" ]; then
1111
echo 'ANDROID_NDK_HOME not set, downloading NDK...';
12-
wget --no-verbose -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip;
12+
wget --no-verbose -O android-ndk.zip https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip;
1313
unzip -q -d NDK android-ndk.zip;
1414
ls NDK;
1515
mv NDK/*/* NDK/;
@@ -24,12 +24,12 @@ for arch in \
2424
'x86_64' \
2525
'i686' \
2626
; do
27-
sudo ln -s -f $NDK_TOOLCHAIN_BIN/$arch-linux-android26-clang $NDK_TOOLCHAIN_BIN/$arch-linux-android-clang
27+
ln -s -f $NDK_TOOLCHAIN_BIN/$arch-linux-android26-clang $NDK_TOOLCHAIN_BIN/$arch-linux-android-clang
2828
done
2929

3030
# This has a slightly different path from the ones above
31-
sudo ln -s -f $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi26-clang $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi-clang
32-
sudo ln -s -f $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi26-clang $NDK_TOOLCHAIN_BIN/arm-linux-androideabi-clang
31+
ln -s -f $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi26-clang $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi-clang
32+
ln -s -f $NDK_TOOLCHAIN_BIN/armv7a-linux-androideabi26-clang $NDK_TOOLCHAIN_BIN/arm-linux-androideabi-clang
3333

3434
# Add to Rust
3535
echo "Setting up Rust toolchains..."
@@ -40,18 +40,18 @@ echo "Creating cargo config..."
4040
mkdir -p $project_path/.cargo
4141
echo "
4242
[target.aarch64-linux-android]
43-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-ar'
43+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar'
4444
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android26-clang'
4545
4646
[target.armv7-linux-androideabi]
4747
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi-ar'
4848
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi-clang'
4949
5050
[target.i686-linux-android]
51-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android26-ar'
51+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android-ar'
5252
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android26-clang'
5353
5454
[target.x86_64-linux-android]
55-
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android26-ar'
55+
ar = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-ar'
5656
linker = '$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android26-clang'
5757
" > $project_path/.cargo/config

0 commit comments

Comments
 (0)