#!/bin/bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
NDK=/Applications/Unity/Hub/Editor/6000.5.2f1/PlaybackEngines/AndroidPlayer/NDK
TC="$NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin"
build_one() {
 abi="$1"; triple="$2"; arch="$3"; cpu="$4"
 base="$ROOT/work/native/$abi"
 mkdir -p "$base/lame" "$base/ffmpeg" "$base/prefix" "$ROOT/outputs/VideoToMP3/app/src/main/jniLibs/$abi"
 cd "$base/lame"
 CC="$TC/${triple}24-clang" AR="$TC/llvm-ar" RANLIB="$TC/llvm-ranlib" CFLAGS="-O2 -fPIC" "$ROOT/work/native/lame-3.100/configure" --host="$triple" --prefix="$base/prefix" --disable-shared --enable-static --disable-frontend --disable-gtktest --disable-decoder > configure.log 2>&1
 make -j4 > make.log 2>&1
 make install > install.log 2>&1
 cd "$base/ffmpeg"
 "$ROOT/work/native/ffmpeg-8.1.2/configure" --prefix="$base/prefix" --target-os=android --arch="$arch" --cpu="$cpu" --enable-cross-compile --cc="$TC/${triple}24-clang" --cxx="$TC/${triple}24-clang++" --ar="$TC/llvm-ar" --ranlib="$TC/llvm-ranlib" --strip="$TC/llvm-strip" --disable-autodetect --disable-everything --disable-shared --enable-static --disable-doc --disable-debug --disable-network --disable-avdevice --disable-avfilter --enable-avfilter --disable-ffplay --disable-ffprobe --enable-ffmpeg --enable-small --disable-x86asm --enable-libmp3lame --enable-protocol=file,pipe --enable-demuxer=mov,matroska,mp3,wav,aac,ogg,flac,avi,mpegts,image2,png_pipe,jpeg_pipe --enable-muxer=mp3,ipod,adts,wav,null --enable-decoder=aac,aac_fixed,mp3,mp3float,ac3,eac3,opus,vorbis,flac,alac,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,pcm_s16be,pcm_u8,png,mjpeg --enable-parser=aac,aac_latm,mpegaudio,ac3,opus,vorbis,flac,png,mjpeg --enable-encoder=libmp3lame,aac,pcm_s16le --enable-filter=aresample,aformat,atrim,asetpts,afade,volume,concat,anull --enable-swresample --extra-cflags="-O2 -fPIC -I$base/prefix/include" --extra-ldflags="-L$base/prefix/lib -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384 -pie" --extra-libs="-lm" > configure.log 2>&1
 make -j4 > make.log 2>&1
 cp ffmpeg "$ROOT/outputs/VideoToMP3/app/src/main/jniLibs/$abi/libaudioengine.so"
 "$TC/llvm-strip" "$ROOT/outputs/VideoToMP3/app/src/main/jniLibs/$abi/libaudioengine.so"
 echo "$abi completed"
}
build_one arm64-v8a aarch64-linux-android aarch64 armv8-a
build_one x86_64 x86_64-linux-android x86_64 x86-64
build_one armeabi-v7a armv7a-linux-androideabi arm armv7-a
