chore(sdk): 公开仓适配 — 剔除构建产物/宿主测试二进制; vendored meow_font.c/meow_ipc.h/meow_font.h/meow_notif.h 使其自包含; build_sdk.sh/build_hello.sh 改 MEOW_CC/MEOW_SYSROOT 可配置; 去除内部路径与 ncm 引用
This commit is contained in:
1 parent
4f66da66ad
commit
86605d01e3
26 files changed
+1938
-32
No files matched your search
+12
-14
@@ -1,31 +1,29 @@
|
||||
#!/bin/bash
|
||||
# build_sdk.sh — 构建 meow_ui.a(mipsel 静态库,含 meow_font.o 内联打包,
|
||||
# 应用只需链 meow_ui.a + libz.a + -lpthread)。
|
||||
# build_sdk.sh — 构建 meow_ui.a(mipsel 静态库,内含 meow_font.o,应用只需链 meow_ui.a + libz.a + -lpthread)。
|
||||
#
|
||||
# 本公开 SDK 仓**自包含**:公共头(meow_ui.h 伞头 + include/ 子头 + meow_ipc.h / meow_font.h /
|
||||
# meow_notif.h)与字体运行时源码(meow_font.c)都在 sdk/ 内,不再依赖主仓 meow_launcherd/。
|
||||
#
|
||||
# 交叉编译器:默认 MeowOS 开发机路径 $HOME/Project/R3ProII/.tools/zig-mipsel-cc;
|
||||
# 可用环境变量 MEOW_CC 覆盖(或用你自己装好的 zig 交叉 cc,--target=mipsel-linux-musleabi soft-float)。
|
||||
set -e
|
||||
ROOT="$HOME/Project/R3ProII"
|
||||
cd "$(dirname "$0")"
|
||||
CC="$ROOT/.tools/zig-mipsel-cc"
|
||||
CC="${MEOW_CC:-$HOME/Project/R3ProII/.tools/zig-mipsel-cc}"
|
||||
AR="${AR:-/usr/bin/ar}" # 系统 GNU ar 即可归档 mipsel ELF 对象(架构无关)
|
||||
|
||||
rm -f meow_ui.a *.o
|
||||
|
||||
# -I../meow_launcherd:meow_notify_ipc.c 复用共享协议头 meow_ipc.h(同一份、杜绝两端漂移)
|
||||
OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_pinyin meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media meow_ui_audio stb_image"
|
||||
CFLAGS="-Os -static -I$ROOT/patch_v2/meow_launcherd"
|
||||
# meow_font.c = 预渲染位图字体运行时(自包含:只含 meow_font.h + 标准头;最小 zlib ABI 自声明,
|
||||
# 链接时用 sysroot 的 libz.a),随 SDK 一并 vendored。
|
||||
OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_pinyin meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media meow_ui_audio stb_image meow_font"
|
||||
CFLAGS="-Os -static -Iinclude -I."
|
||||
for f in $OBJS; do
|
||||
echo "== cc $f =="
|
||||
"$CC" $CFLAGS -c "$f.c" -o "$f.o"
|
||||
done
|
||||
|
||||
# meow_font.o(复用 launcher 字库,打进 meow_ui.a → 应用只链一个库)
|
||||
TMP="$(mktemp -d)"
|
||||
( cd "$TMP" && "$AR" x "$ROOT/patch_v2/meow_launcherd/meow_font.a" && ls *.o )
|
||||
cp "$TMP"/*.o meow_font.o 2>/dev/null || { echo "meow_font extract failed"; rm -rf "$TMP"; exit 1; }
|
||||
rm -rf "$TMP"
|
||||
|
||||
rm -f meow_ui.a
|
||||
for f in $OBJS; do "$AR" rcs meow_ui.a "$f.o"; done
|
||||
"$AR" rcs meow_ui.a meow_font.o
|
||||
echo "== meow_ui.a =="
|
||||
ls -la meow_ui.a
|
||||
"$AR" t meow_ui.a
|
||||
Reference in new issue
Block a user