Free Pascal package guidelines

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

32 位CLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

本頁說明如何為使用 Free Pascal Compiler (FPC) PKGBUILD。當前存在用於構建 Linux 軟體的兩個選項,以及使用 FPC 交叉編譯器在其他目標上構建軟體的少數選項:

  • fpc 提供了僅針對您的主機 CPU(僅x86_64)的編譯器。

Free Pascal[編輯 | 編輯原始碼]

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

僅項目名稱通常就足夠了。但是,在交叉編譯的情況下,當從 multilib 以 i686 Linux 為目標時,包的前綴應該是 fpc32- ,當以非 Arch Linux 系統為目標時,包的名稱應該是 fpc-cpu-system-pkgname

有用的代碼片段[編輯 | 編輯原始碼]

  • 確定 FPC 的版本以及要輸出的單元的 CPU 和 OS:
_unitdir=`fpc -iSP`-`fpc -iSO`
_fpcver=`fpc -iV`

打包[編輯 | 編輯原始碼]

製作基於 FPC 的軟體包時,請遵守以下規定:

  • 始終將 fpc 添加到 makedependsdepends
  • 始終將所有編譯單元(*.a, *.compiled, *.o, *.ppu, *.res, *.rst) )放在 /usr/lib/fpc/$_fpcver/units/$arch-linux 下面。
  • 如果安裝導入庫,請將 staticlibs 添加到 options 中。

交叉編譯[編輯 | 編輯原始碼]

  • 始終將上述相應的交叉編譯器包(fpc-cpu-system-rtl) )添加到 depends
  • 對於非類 Unix 的系統總是添加 !stripoptions
  • 始終將所有已編譯的單元(*.a, *.compiled, *.o, *.ppu, *.res, *.rst) 放在 /usr/lib/fpc/$_fpcver/units/$_unitdir下(或者如果是 multilib,放在 /usr/lib/fpc/$_fpcver/units/i386-linux
  • 始終使用 any (如果是 multilib,則為 x86_64)作為體系結構
  • 如果安裝導入庫,請將 staticlibs 添加到 options 中。