Free Pascal package guidelines (简体中文) - ArchWiki

Jump to content

# Free Pascal package guidelines (简体中文)

From ArchWiki
翻译状态：本文是 Free Pascal package guidelines 的翻译。上次翻译日期：2020-05-03。如果英文版本有所更改，则您可以帮助同步翻译。

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

Category:

- Arch package guidelines (简体中文)

Hidden category:

- Pages with dead links