32-bit package guidelines (简体中文)
Arch 软件包准则
32-bit – CLR – CMake – Cross – DKMS – Eclipse – Electron – Font – Free Pascal – GNOME – Go – Haskell – Java – KDE – Kernel – Lisp – Meson – MinGW – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – Web – Wine
可以在其他本地体系结构(例如 x86_64)的计算机上构建和安装旧版 32 位软件。本文介绍了此类软件包的生产和约定。
软件包命名
-
Package decriptions 应将其与本来的说明相区别,即
pkgdesc+=" (32-bit)"
。
变量和参数
lib32
在 PKGBUILD 中指定这些 bash 变量,以告诉编译器输出 32-bit 代码:
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