Free Pascal 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
本页说明如何为使用 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 添加到
makedepends
或depends
- 始终将所有编译单元(*.a, *.compiled, *.o, *.ppu, *.res, *.rst) )放在
/usr/lib/fpc/$_fpcver/units/$arch-linux
下面。 - 如果安装导入库,请将
staticlibs
添加到options
中。
交叉编译
- 始终将上述相应的交叉编译器包(
fpc-cpu-system-rtl
) )添加到depends
- 对于非类 Unix 的系统总是添加
!strip
到options
- 始终将所有已编译的单元(*.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
中。