Free Pascal 打包准则

来自 Arch Linux 中文维基
Arch 打包准则

32 位CLRCMakeCrossDKMSEclipseElectronFontFree PascalGNOMEGoHaskellJavaKDE内核模块LispMesonMinGWNode.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 中。