mirror of
https://github.com/rust-mobile/android-activity.git
synced 2026-07-15 02:58:53 +00:00
db3ea3386f
There was a fix for the definition of the `stat` struct on Android in 1.73, and even though it's unlikely to affect many applications it still seems worthwhile to draw a line under this and ensure that all android-activity based applications will have that fix. Rust 1.73 was released October 2023, which is still well over a year old and very conservative. This updates `generate-bindings.sh` to pass `--rust-target 1.73.0` so we avoid generating bindings that require a more recent compiler. (This doesn't actually regenerate the bindings but does ensure that future updates will be constrained to generate code that is backwards compatible with 1.73.)
53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
# First install bindgen-cli via `cargo install bindgen-cli`
|
|
|
|
if test -z "${ANDROID_NDK_ROOT}"; then
|
|
export ANDROID_NDK_ROOT=${ANDROID_NDK_HOME}
|
|
fi
|
|
SYSROOT="${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/linux-x86_64/sysroot/
|
|
if ! test -d $SYSROOT; then
|
|
SYSROOT="${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/windows-x86_64/sysroot/
|
|
fi
|
|
|
|
while read ARCH && read TARGET ; do
|
|
|
|
# --module-raw-line 'use '
|
|
bindgen game-activity-ffi.h -o src/game_activity/ffi_$ARCH.rs \
|
|
--rust-target '1.73.0' \
|
|
--blocklist-item 'JNI\w+' \
|
|
--blocklist-item 'C?_?JNIEnv' \
|
|
--blocklist-item '_?JavaVM' \
|
|
--blocklist-item '_?j\w+' \
|
|
--blocklist-item 'size_t' \
|
|
--blocklist-item 'pthread_\w*' \
|
|
--blocklist-function 'pthread_\w' \
|
|
--blocklist-item 'ARect' \
|
|
--blocklist-item 'ALooper\w*' \
|
|
--blocklist-function 'ALooper\w*' \
|
|
--blocklist-item 'AAsset\w*' \
|
|
--blocklist-item 'AAssetManager\w*' \
|
|
--blocklist-function 'AAssetManager\w*' \
|
|
--blocklist-item 'ANativeWindow\w*' \
|
|
--blocklist-function 'ANativeWindow\w*' \
|
|
--blocklist-item 'AConfiguration\w*' \
|
|
--blocklist-function 'AConfiguration\w*' \
|
|
--blocklist-function 'android_main' \
|
|
--blocklist-item 'GameActivity_onCreate' \
|
|
--blocklist-function 'GameActivity_onCreate_C' \
|
|
--newtype-enum '\w+_(result|status)_t' \
|
|
-- \
|
|
-Igame-activity-csrc \
|
|
--sysroot="$SYSROOT" --target=$TARGET
|
|
|
|
done << EOF
|
|
arm
|
|
arm-linux-androideabi
|
|
aarch64
|
|
aarch64-linux-android
|
|
i686
|
|
i686-linux-android
|
|
x86_64
|
|
x86_64-linux-android
|
|
EOF
|