# Free Pascal package guidelines (简体中文)

From ArchWiki
Jump to navigation Jump to search
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.
翻译状态：本文是 Free Pascal package guidelines 的翻译。上次翻译日期：2020-05-03。如果英文版本有所更改，则您可以帮助同步翻译。

本页说明如何为使用 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` 中。

Category:

- Arch package guidelines (简体中文)