44 lines
1.8 KiB
Bash
Executable File
44 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# build_audiod.sh — meow_audiod 交叉编译(mipsel 静态)+ 宿主多目标可选。
|
||
#
|
||
# 目标:R3 Pro II / MeowOS(mipsel-linux-muslsf,静态)。audiod 复用 meow_ipc.h(共享协议头,
|
||
# -I../meow_launcherd)。audiod 为 svcd 托管的独立守护;meow_audio 为用户侧 CLI。
|
||
#
|
||
# 用法:
|
||
# ./build_audiod.sh # 交叉编译 → meow_audiod(mipsel 静态)
|
||
# ./build_audiod.sh cli # 交叉编译 meow_audio CLI → meow_audio(mipsel 静态)
|
||
# ./build_audiod.sh host # 宿主编译 meow_audiod_host + meow_audio_host(集成测试)
|
||
set -e
|
||
cd "$(dirname "$0")"
|
||
ROOT="$HOME/Project/R3ProII"
|
||
CC="$ROOT/.tools/zig-mipsel-cc"
|
||
INC="-I$ROOT/patch_v2/meow_launcherd"
|
||
|
||
if [ "$1" = "host" ]; then
|
||
HOST_CC="${CC_HOST:-cc}"
|
||
# -ldl:BT 输出目标用 dlopen 运行时解析 libasound(pcm.bluealsa 是 alsa-lib 插件,非内核节点;
|
||
# 主机/交叉工具链无 asoundlib.h/libasound,故不静态链接)。mipsel 静态 musl 不支持 dlopen,见
|
||
# meow_audiod.c bt 段注释(真机 mipsel 需主会话提供 musl-libasound 或改动态,本任务以源码+宿主为准)。
|
||
"$HOST_CC" $INC -Os -Wall -Wextra meow_audiod.c -o meow_audiod_host -lpthread -ldl
|
||
"$HOST_CC" $INC -Os -Wall -Wextra meow_audio.c -o meow_audio_host -lm
|
||
echo "== host builds =="
|
||
ls -la meow_audiod_host meow_audio_host
|
||
file meow_audiod_host meow_audio_host
|
||
exit 0
|
||
fi
|
||
|
||
if [ "$1" = "cli" ]; then
|
||
"$CC" $INC -Os -Wall -Wextra -static meow_audio.c -o meow_audio -lm
|
||
echo "== meow_audio (mipsel static CLI) =="
|
||
ls -la meow_audio
|
||
md5sum meow_audio
|
||
file meow_audio
|
||
exit 0
|
||
fi
|
||
|
||
"$CC" $INC -Os -Wall -Wextra -static meow_audiod.c -o meow_audiod -lpthread
|
||
echo "== meow_audiod (mipsel static) =="
|
||
ls -la meow_audiod
|
||
md5sum meow_audiod
|
||
file meow_audiod
|