master
cysamurai 2 months ago
parent 71af0f7597
commit 47d10b86aa

@ -31,6 +31,35 @@ OUTPUT_ROOT="$REPO_ROOT/dist/linux-deb"
# aarch64 交叉编译时 pkg-config 查找路径(与下方 export 一致)
ARM64_PKGCONFIG_DIR="/usr/lib/aarch64-linux-gnu/pkgconfig"
X64_PKGCONFIG_DIR="/usr/lib/x86_64-linux-gnu/pkgconfig"
check_x64_pkgconfig() {
local missing=()
local f
for f in glib-2.0.pc gdk-3.0.pc webkit2gtk-4.1.pc; do
if [[ ! -f "$X64_PKGCONFIG_DIR/$f" ]]; then
missing+=( "$f" )
fi
done
if (( ${#missing[@]} == 0 )); then
return 0
fi
cat >&2 <<EOF
错误: amd64 缺少 pkg-config 文件(在 $X64_PKGCONFIG_DIR:
${missing[*]}
请先安装本机 amd64 的开发包:
sudo apt install -y --no-install-recommends \\
libglib2.0-dev libgtk-3-dev \\
libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev \\
libayatana-appindicator3-dev librsvg2-dev libssl-dev
安装后自检:
ls $X64_PKGCONFIG_DIR/glib-2.0.pc $X64_PKGCONFIG_DIR/gdk-3.0.pc $X64_PKGCONFIG_DIR/webkit2gtk-4.1.pc
EOF
exit 1
}
check_arm64_pkgconfig() {
# 缺任一则 cargo 会在不同阶段失败gdk-3.0.pc 由 libgtk-3-dev:arm64 提供
@ -116,8 +145,12 @@ build_project() {
echo ""
echo "######## $project_dir: amd64 ########"
unset PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_ALLOW_CROSS 2>/dev/null || true
check_x64_pkgconfig
export PKG_CONFIG_PATH="$X64_PKGCONFIG_DIR"
export PKG_CONFIG_LIBDIR="$X64_PKGCONFIG_DIR:/usr/share/pkgconfig"
build_one_target "$project_dir" "build:deb:x64"
collect_debs "$project_dir" "amd64" "x86_64-unknown-linux-gnu"
unset PKG_CONFIG_PATH PKG_CONFIG_LIBDIR
echo ""
echo "######## $project_dir: arm64 (cross) ########"

Loading…
Cancel
Save