32 lines
1.4 KiB
Bash
32 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
||
#
|
||
# build.sh — 自研极简 IPv4-only mDNS 应答器 meow_mdns(mipsel-linux-muslsf,静态)
|
||
#
|
||
# 背景: 完整 mDNSResponder / SAResponder 两者均需 IPv6(socket AF_INET6 在内核无 IPv6 时 fatal),
|
||
# 且完整版 mdnsd 是 IPC 服务型守护进程, 自身不公布主机名 A 记录。
|
||
# 故自研本应答器: join 224.0.0.251:5353, 应答 <host>.local A + _ssh._tcp.local PTR/SRV/TXT。
|
||
#
|
||
# 目标架构 : mipsel (MIPS32r2 little-endian), musl, 静态
|
||
# 交叉编译器: ~/Project/R3ProII/.tools/zig-mipsel-cc
|
||
# 产物 : bin/meow_mdns
|
||
#
|
||
# 用法 : ./build.sh # 构建 mipsel 静态(部署版)
|
||
# 宿主单测 gcc -O2 -o meow_mdns meow_mdns.c && MEOW_MDNS_PORT=55353 MEOW_MDNS_HOST=ingenic MEOW_MDNS_ADDR=127.0.0.1 ./meow_mdns -v
|
||
set -euo pipefail
|
||
|
||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
ZIGCC="${ZIGCC:-$HOME/Project/R3ProII/.tools/zig-mipsel-cc}"
|
||
|
||
echo "==> [1/2] 交叉编译 meow_mdns (zig: mipsel-linux-musleabi, -Os -static)"
|
||
"$ZIGCC" -Os -static -o "$DIR/meow_mdns.tmp" "$DIR/meow_mdns.c"
|
||
|
||
echo "==> [2/2] 放置产物 $DIR/bin/meow_mdns"
|
||
mkdir -p "$DIR/bin"
|
||
install -m 755 "$DIR/meow_mdns.tmp" "$DIR/bin/meow_mdns"
|
||
rm -f "$DIR/meow_mdns.tmp"
|
||
|
||
file "$DIR/bin/meow_mdns"
|
||
echo "字节数: $(stat -c %s "$DIR/bin/meow_mdns")"
|
||
echo "MD5 : $(md5sum "$DIR/bin/meow_mdns" | cut -d' ' -f1)"
|
||
echo "构建完成: $DIR/bin/meow_mdns"
|