Free Pascal package guidelines (简体中文)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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)[失效链接 2021-11-10 ⓘ] 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
中。