- build: android
os: ubuntu-22.04
arch: aarch64-linux-android32
+ - build: android-recovery
+ os: ubuntu-22.04
+ arch: aarch64-linux-android32
- build: windows-cygwin-64
os: windows-latest
arch: x86_64
set_ci_target_os
case "${CI_TARGET_BUILD}/${CI_TARGET_OS}" in
- android/*)
+ android*/*)
export UNAME=Android
if [ -z "${CI_TARGET_ARCH}" ]; then
echo "Error: CI_TARGET_ARCH has not been set"
fi
NDK=$PWD/android-ndk-r24/toolchains/llvm/prebuilt/linux-x86_64/bin
export PATH="${NDK}:${PATH}"
- export LIBS="-landroid"
+ if [ "${CI_TARGET_BUILD}" = "android" ]; then
+ export LIBS="-landroid"
+ fi
CC=${NDK}/${CI_TARGET_ARCH}-clang
if [ ! -e "${CC}" ]; then
echo "Error: could not find ${CC}"
set -eu
main() {
- [ "${CI_TARGET_BUILD}" = android ] && return 0
+ case "${CI_TARGET_BUILD}" in
+ android*)
+ return 0;;
+ esac
echo "Running long running tests..."
export PYTHONUNBUFFERED="TRUE"
}
main() {
- if [ "${CI_TARGET_BUILD}" = "android" ]; then
- echo "Installing Android NDK..."
- wget --quiet https://dl.google.com/android/repository/android-ndk-r24-linux.zip
- unzip -q android-ndk-r24-linux.zip
- return 0
- fi
+ case "${CI_TARGET_BUILD}" in
+ android*)
+ echo "Installing Android NDK..."
+ wget --quiet https://dl.google.com/android/repository/android-ndk-r24-linux.zip
+ unzip -q android-ndk-r24-linux.zip
+ return 0
+ ;;
+ esac
set_ci_target_os
set -eu
main() {
- [ "${CI_TARGET_BUILD}" = "android" ] && return 0
+ case "${CI_TARGET_BUILD}" in
+ android*)
+ return 0;;
+ esac
echo "Running smoke tests..."
make test
fi
print_config "sync_file_range" "$sync_file_range"
+##########################################
+# ASharedMemory_create() probe
+if test "$ASharedMemory_create" != "yes" ; then
+ ASharedMemory_create="no"
+fi
+cat > $TMPC << EOF
+#include <android/sharedmem.h>
+int main(int argc, char **argv)
+{
+ return ASharedMemory_create("", 0);
+}
+EOF
+if compile_prog "" "" "ASharedMemory_create"; then
+ ASharedMemory_create="yes"
+fi
+print_config "ASharedMemory_create" "$ASharedMemory_create"
+
##########################################
# ext4 move extent probe
if test "$ext4_me" != "yes" ; then
if test "$sync_file_range" = "yes" ; then
output_sym "CONFIG_SYNC_FILE_RANGE"
fi
+if test "$ASharedMemory_create" = "yes" ; then
+ output_sym "CONFIG_ASHAREDMEMORY_CREATE"
+fi
if test "$sfaa" = "yes" ; then
output_sym "CONFIG_SFAA"
fi
#include <linux/ashmem.h>
#include <linux/shm.h>
#include <android/api-level.h>
-#if __ANDROID_API__ >= __ANDROID_API_O__
+#ifdef CONFIG_ASHAREDMEMORY_CREATE
#include <android/sharedmem.h>
#else
#define ASHMEM_DEVICE "/dev/ashmem"
return ret;
}
-#if __ANDROID_API__ >= __ANDROID_API_O__
+#ifdef CONFIG_ASHAREDMEMORY_CREATE
static inline int shmget(key_t __key, size_t __size, int __shmflg)
{
char keybuf[11];