32位軟體包打包準則

出自 Arch Linux 中文维基
Arch 打包準則

32 位CLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

可以在不同架構的計算機(例如 x86_64)上構建和安裝老式 32 位軟體。本文介紹了此類軟體包的打包和約定。

軟體包命名[編輯 | 編輯原始碼]

  • 軟體包描述 應與原生版本的相區別,即 pkgdesc+=" (32-bit)"

變量和參數[編輯 | 編輯原始碼]

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