32 位软件包指南

出自 ArchWiki
Arch 软件包指南

32 位CLRCMake交叉编译DKMSEclipse 插件Electron字体Free PascalGNOMEGoHaskellJavaKDE内核模块LispMesonMinGWNode.js非自由软件OCamlPerlPHPPythonRRubyRust - 安全ShellVCSWebWine

传统的 32 位 软件可以在其他原生架构的机器上构建和安装,例如 x86_64。本文解释了此类软件包的制作和约定。

软件包命名

变量和参数

lib32

PKGBUILD 中指定这些 bash 变量,以告知编译器输出 32 位代码

export CFLAGS+=" -m32"
export CXXFLAGS+=" -m32"
export LDFLAGS+=" -m32"
export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'

文件放置

确保 lib32 软件包文件不与原生软件包文件冲突,并包含所有必要的文件,例如特定于架构的头文件。例如,如果软件包使用 GNU Autoconf 构建,请指定以下内容给 configure

--program-suffix="-32" \
--lib{exec,}dir=/usr/lib32 \
--includedir=/usr/include/"$pkgbase"32 \
--build=i686-pc-linux-gnu

如果软件包使用 Meson 构建,请指定以下内容给 arch-meson

--cross-file lib32