Free Pascal パッケージガイドライン
2015年8月10日 (月) 13:30時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:パッケージ開発 en:Free Pascal package guidelines {{Package Guidelines}} このページでは [http://freepascal.org Free Pascal Compiler (FPC)]...」)
パッケージ作成ガイドライン
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
このページでは Free Pascal Compiler (FPC) でビルドされるソフトウェアの PKGBUILD を書く方法を説明しています。現在 Linux のソフトウェアをビルドする方法は2つ存在し、FPC クロスコンパイルを使って他のアーキテクチャ用にソフトウェアをビルドする方法もあります:
Arch Linux
- fpc is available in the official Arch community repository and provides a compiler targetting only your host CPU (i686 or x86_64).
- fpc-multilibAUR is available from the Arch User Repository which provides an x86_64 host compiler targetting both i686 and x86_64 CPU Linuxes. This will also provide the ppcross386AUR FPC compiler driver package.
クロスコンパイラ
- fpc-arm-android-rtlAUR for ARM-based Android (beta)
- fpc-arm-linux-rtlAUR for ARM-based Linux
- fpc-arm-wince-rtlAUR for MS Windows CE
- fpc-i386-android-rtlAUR for 32-bit Intel based Android (beta)
- fpc-i386-freebsd-rtlAUR for 32-bit Intel FreeBSD
- fpc-i386-win32-rtlAUR for 32-bit MS Windows
- fpc-powerpc-linux-rtlAUR for 32-bit PowerPC-based Linux
- fpc-sparc-linux-rtlAUR for SPARC-based Linux
- fpc-x86_64-win64-rtlAUR for 64-bit MS Windows
Free Pascal
パッケージの命名規則
The project name alone is usually sufficient. However, in the case of cross-compiling, the package should be prefixed with fpc32-
when targetting i686 Linux from multilib and named in the format of fpc-cpu-system-pkgname
when targetting non-Arch Linux systems.
便利なスニペット
- Determine FPC's version and the CPU and OS of the units to output:
_unitdir=`fpc -iSP`-`fpc -iSO` _fpcver=`fpc -iV`
パッケージング
Please adhere to the following when making an FPC-based package:
- always add fpc to either
makedepends
ordepends
- always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) under
/usr/lib/fpc/$_fpcver/units/$arch-linux
- add
staticlibs
tooptions
if installing an import library
クロスコンパイル
- always add the corresponding cross compiler package mentioned above (
fpc-cpu-system-rtl
or fpc-multilibAUR for multilib) todepends
- always add
!strip
tooptions
for non-Unix-based systems - always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) under
/usr/lib/fpc/$_fpcver/units/$_unitdir
(or if multilib,/usr/lib/fpc/$_fpcver/units/i386-linux
) - always use
any
(x86_64
if multilib) as the architecture - add
staticlibs
tooptions
if installing an import library