mirror of
git://f0xx.org/ac/ac-mobile-android
synced 2026-07-29 04:59:30 +03:00
codecs: add native build scripts for libvpx/opus/speex + fix CMake includes
- scripts/build-native-codecs.sh: cross-compile libvpx, opus, speex for Android ABIs (arm64-v8a, armeabi-v7a, x86_64) using NDK clang with -fPIC - scripts/android-ndk.sh: NDK root detection helper - scripts/native-build-cache.sh: ccache detection helper - scripts/init-third-party-submodules.sh: init codec submodules - scripts/ensure-gradle-wrapper.sh: gradle wrapper sanity check - scripts/adb-reconnect.sh: ADB device discovery helpers - ndk/CMakeLists.txt: per-ABI include dirs for opus/ and speex_config_types.h Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -64,7 +64,14 @@ if(LIBOPUS_LIB)
|
||||
message(STATUS "Linking libopus for ${ANDROID_ABI}: ${LIBOPUS_LIB}")
|
||||
target_compile_definitions(androidcast_codecs PRIVATE ANDROIDCAST_HAVE_OPUS=1)
|
||||
target_link_libraries(androidcast_codecs "${LIBOPUS_LIB}")
|
||||
if(EXISTS "${THIRD_PARTY_ROOT}/opus/include")
|
||||
# Per-ABI generated include (contains opus/ subdirectory with opus.h)
|
||||
set(OPUS_ABI_INCLUDE "${NATIVE_LIBS_ROOT}/${ANDROID_ABI}/include")
|
||||
if(EXISTS "${OPUS_ABI_INCLUDE}/opus/opus.h")
|
||||
target_include_directories(androidcast_codecs PRIVATE "${OPUS_ABI_INCLUDE}")
|
||||
elseif(EXISTS "${THIRD_PARTY_ROOT}/opus/include/opus.h")
|
||||
# Source has flat include layout; create virtual opus/ dir via include parent
|
||||
target_include_directories(androidcast_codecs PRIVATE "${THIRD_PARTY_ROOT}/opus")
|
||||
elseif(EXISTS "${THIRD_PARTY_ROOT}/opus/include")
|
||||
target_include_directories(androidcast_codecs PRIVATE "${THIRD_PARTY_ROOT}/opus/include")
|
||||
endif()
|
||||
else()
|
||||
@@ -92,6 +99,11 @@ if(LIBSPEEX_LIB)
|
||||
if(EXISTS "${THIRD_PARTY_ROOT}/speex/include")
|
||||
target_include_directories(androidcast_codecs PRIVATE "${THIRD_PARTY_ROOT}/speex/include")
|
||||
endif()
|
||||
# Per-ABI generated speex_config_types.h
|
||||
set(SPEEX_ABI_INCLUDE "${NATIVE_LIBS_ROOT}/${ANDROID_ABI}/include")
|
||||
if(EXISTS "${SPEEX_ABI_INCLUDE}/speex/speex_config_types.h")
|
||||
target_include_directories(androidcast_codecs PRIVATE "${SPEEX_ABI_INCLUDE}")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "No libspeex.a for ${ANDROID_ABI} — Speex JNI probe off (build with scripts/build-native-codecs.sh ${ANDROID_ABI})")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user