32ビットパッケージガイドライン

提供: ArchWiki
2023年6月30日 (金) 01:57時点におけるKgx (トーク | 投稿記録)による版 (他言語へのリンクを追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

古い 32ビット のソフトウェアは x86_64 など他のネイティブなアーキテクチャのマシンからビルド・インストールすることができます。この記事ではそのようなパッケージの作成方法・決まりごとについて説明します。

パッケージの命名

  • ネイティブのパッケージの 32ビット版 には lib32- というプリフィックス (前置詞) を付けます。
  • x32 ABI を使用する パッケージ には -x32 というサフィックス (後置詞) を付けます。
  • パッケージの説明でネイティブのソフトウェアと区別できるように 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