Skip to content

Commit

Permalink
Use Android NDK r27c but compile for API level 21
Browse files Browse the repository at this point in the history
  • Loading branch information
bear101 committed Feb 23, 2025
1 parent 3a3f522 commit e726e5c
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21e
ndk-version: r27c
add-to-path: false

- name: Refresh Ubuntu-repo
Expand Down
10 changes: 6 additions & 4 deletions Library/TeamTalkLib/build/ffmpeg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -470,13 +470,14 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android")
set (FFMPEG_EXPORT export PATH=${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin:$ENV{PATH} && export PKG_CONFIG_PATH=${OPENSSL_DIR}/lib/pkgconfig)

if ("armeabi-v7a" STREQUAL "${ANDROID_ABI}")
set (FFMPEG_CFG --cross-prefix=arm-linux-androideabi- --cc=clang\ --target=armv7a-linux-android${ANDROID_PLATFORM_LEVEL} --arch=arm --disable-neon)
set (FFMPEG_CFG --cc=armv7a-linux-androideabi${ANDROID_PLATFORM_LEVEL}-clang --arch=arm --disable-neon)
elseif ("arm64-v8a" STREQUAL "${ANDROID_ABI}")
set (FFMPEG_CFG --cross-prefix=aarch64-linux-android- --cc=clang\ --target=aarch64-linux-android${ANDROID_PLATFORM_LEVEL} --arch=aarch64)
# neon assembly causes linker errors (disable neon is not enough)
set (FFMPEG_CFG --cross-prefix=llvm- --cc=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang --cxx=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang++ --arch=aarch64 --disable-asm)
elseif ("x86" STREQUAL "${ANDROID_ABI}")
set (FFMPEG_CFG --cross-prefix=i686-linux-android- --cc=clang\ --target=i686-linux-android${ANDROID_PLATFORM_LEVEL} --arch=x86 --disable-asm)
set (FFMPEG_CFG --cross-prefix=llvm- --cc=i686-linux-android${ANDROID_PLATFORM_LEVEL}-clang --cxx=i686-linux-android${ANDROID_PLATFORM_LEVEL}-clang++ --arch=x86 --disable-asm)
elseif ("x86_64" STREQUAL "${ANDROID_ABI}")
set (FFMPEG_CFG --cross-prefix=x86_64-linux-android- --cc=clang\ --target=x86_64-linux-android${ANDROID_PLATFORM_LEVEL} --arch=x86_64 --disable-asm)
set (FFMPEG_CFG --cross-prefix=llvm- --cc=x86_64-linux-android${ANDROID_PLATFORM_LEVEL}-clang --cxx=x86_64-linux-android${ANDROID_PLATFORM_LEVEL}-clang+ --arch=x86_64 --disable-asm)
else()
message(WARNING "Unknown Android architecture")
endif()
Expand All @@ -491,6 +492,7 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android")
CONFIGURE_COMMAND ${FFMPEG_EXPORT} && <SOURCE_DIR>/configure ${FFMPEG_CFG} --prefix=<INSTALL_DIR>
# External libraries:
--disable-indev=v4l2
--disable-vulkan
# Programs/docs
--disable-doc
--disable-programs
Expand Down
32 changes: 19 additions & 13 deletions Library/TeamTalkLib/build/libvpx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -259,24 +259,30 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android")
set (LIBVPX_EXPORT export PATH=${CMAKE_ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin:$ENV{PATH})

if ("armeabi-v7a" STREQUAL "${ANDROID_ABI}")
list (APPEND LIBVPX_EXPORT && export CROSS=arm-linux-androideabi-)
list (APPEND LIBVPX_EXPORT && export CC=clang\ --target=armv7a-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CXX=clang++\ --target=armv7a-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CC=armv7a-linux-androideabi${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export LD=armv7a-linux-androideabi${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export CXX=armv7a-linux-androideabi${ANDROID_PLATFORM_LEVEL}-clang++)
list (APPEND LIBVPX_EXPORT && export AS=armv7a-linux-androideabi${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export STRIP=llvm-strip)
set (LIBVPX_CFG --target=armv7-android-gcc)
elseif ("arm64-v8a" STREQUAL "${ANDROID_ABI}")
list (APPEND LIBVPX_EXPORT && export CROSS=aarch64-linux-android-)
list (APPEND LIBVPX_EXPORT && export CC=clang\ --target=aarch64-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CXX=clang++\ --target=aarch64-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CC=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export LD=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export CXX=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang++)
list (APPEND LIBVPX_EXPORT && export AS=aarch64-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export STRIP=llvm-strip)
set (LIBVPX_CFG --target=arm64-android-gcc)
elseif ("x86" STREQUAL "${ANDROID_ABI}")
list (APPEND LIBVPX_EXPORT && export CROSS=i686-linux-android-)
list (APPEND LIBVPX_EXPORT && export CC=clang\ --target=i686-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CXX=clang++\ --target=i686-linux-android${ANDROID_PLATFORM_LEVEL})
set (LIBVPX_CFG --target=x86-android-gcc)
list (APPEND LIBVPX_EXPORT && export CC=i686-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export LD=i686-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export CXX=i686-linux-android${ANDROID_PLATFORM_LEVEL}-clang++)
list (APPEND LIBVPX_EXPORT && export STRIP=llvm-strip)
set (LIBVPX_CFG --target=x86-android-gcc --as=yasm)
elseif ("x86_64" STREQUAL "${ANDROID_ABI}")
list (APPEND LIBVPX_EXPORT && export CROSS=x86_64-linux-android-)
list (APPEND LIBVPX_EXPORT && export CC=clang\ --target=x86_64-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CXX=clang++\ --target=x86_64-linux-android${ANDROID_PLATFORM_LEVEL})
list (APPEND LIBVPX_EXPORT && export CC=x86_64-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export LD=x86_64-linux-android${ANDROID_PLATFORM_LEVEL}-clang)
list (APPEND LIBVPX_EXPORT && export CXX=x86_64-linux-android${ANDROID_PLATFORM_LEVEL}-clang++)
list (APPEND LIBVPX_EXPORT && export STRIP=llvm-strip)
set (LIBVPX_CFG --target=x86_64-android-gcc)
else()
message(FATAL_ERROR "Unknown Android architecture")
Expand Down

0 comments on commit e726e5c

Please sign in to comment.