Free Pascal 打包准则 - Arch Linux 中文维基

跳转到内容

# Free Pascal 打包准则

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

32 位 – 安全 – CLR – CMake – DKMS – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – 交叉编译工具 – KDE – Lisp – Meson – MinGW – 内核模块 – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – Shell – VCS – Web – Wine – 字体

翻译状态：

- 本文（或部分内容）译自 Free Pascal package guidelines，最近一次同步于 2020-05-03，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

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

分类：​

- Arch 打包准则

Free Pascal 打包准则
添加话题