「Free Pascal パッケージガイドライン」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「Category:パッケージ開発 en:Free Pascal package guidelines {{Package Guidelines}} このページでは [http://freepascal.org Free Pascal Compiler (FPC)]...」) |
(他言語へのリンクを追加) |
||
(2人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
[[Category:パッケージ開発]] |
[[Category:パッケージ開発]] |
||
[[en:Free Pascal package guidelines]] |
[[en:Free Pascal package guidelines]] |
||
+ | [[pt:Free Pascal package guidelines]] |
||
+ | [[zh-hans:Free Pascal package guidelines]] |
||
{{Package Guidelines}} |
{{Package Guidelines}} |
||
− | このページでは [http://freepascal.org Free Pascal Compiler (FPC)] でビルドされるソフトウェアの [[PKGBUILD]] を書く方法を説明しています。 |
+ | このページでは [http://freepascal.org Free Pascal Compiler (FPC)] でビルドされるソフトウェアの [[PKGBUILD]] を書く方法を説明しています。{{Pkg|fpc}} パッケージはホスト CPU (i686 または x86_64) を対象にしたコンパイラを提供します。 |
− | ==== Arch Linux ==== |
||
− | * {{Pkg|fpc}} is available in the official Arch community repository and provides a compiler targetting only your host CPU (i686 or x86_64). |
||
− | * {{AUR|fpc-multilib}} 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 {{AUR|ppcross386}} FPC compiler driver package. |
||
− | ==== クロスコンパイラ ==== |
||
− | * {{AUR|fpc-arm-android-rtl}} for ARM-based Android (beta) |
||
− | * {{AUR|fpc-arm-linux-rtl}} for ARM-based Linux |
||
− | * {{AUR|fpc-arm-wince-rtl}} for MS Windows CE |
||
− | * {{AUR|fpc-i386-android-rtl}} for 32-bit Intel based Android (beta) |
||
− | * {{AUR|fpc-i386-freebsd-rtl}} for 32-bit Intel FreeBSD |
||
− | * {{AUR|fpc-i386-win32-rtl}} for 32-bit MS Windows |
||
− | * {{AUR|fpc-powerpc-linux-rtl}} for 32-bit PowerPC-based Linux |
||
− | * {{AUR|fpc-sparc-linux-rtl}} for SPARC-based Linux |
||
− | * {{AUR|fpc-x86_64-win64-rtl}} for 64-bit MS Windows |
||
== Free Pascal == |
== Free Pascal == |
||
=== パッケージの命名規則 === |
=== パッケージの命名規則 === |
||
+ | |||
− | The project name alone is usually sufficient. However, in the case of cross-compiling, the package should be prefixed with {{Ic|fpc32-}} when targetting i686 Linux from multilib and named in the format of {{Ic|fpc-''cpu''-''system''-''pkgname''}} when targetting non-Arch Linux systems. |
||
+ | 通常はプロジェクト名だけで十分です。しかし、クロスコンパイルの場合、multilib から i686 Linux をターゲットにする場合はパッケージの先頭に {{ic|fpc32-}} を付け、Arch 以外の Linux システムをターゲットにする場合は {{ic|fpc-''cpu''-''system''-''pkgname''}} という形式で名前を付ける必要があります。 |
||
=== 便利なスニペット === |
=== 便利なスニペット === |
||
+ | * FPC のバージョンとユニットの CPU と OS を確認するには: |
||
− | * Determine FPC's version and the CPU and OS of the units to output: |
||
_unitdir=`fpc -iSP`-`fpc -iSO` |
_unitdir=`fpc -iSP`-`fpc -iSO` |
||
_fpcver=`fpc -iV` |
_fpcver=`fpc -iV` |
||
=== パッケージング === |
=== パッケージング === |
||
+ | |||
− | Please adhere to the following when making an FPC-based package: |
||
+ | FPC ベースのパッケージを作成する場合、以下の事柄に従ってください: |
||
− | * always add {{Pkg|fpc}} to either {{ic|makedepends}} or {{ic|depends}} |
||
+ | * {{ic|makedepends}} または {{ic|depends}} に常に {{Pkg|fpc}} を追加する |
||
− | * always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) under {{ic|/usr/lib/fpc/''$_fpcver''/units/''$arch''-linux}} |
||
+ | * コンパイル済みのファイル (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) は常に {{ic|/usr/lib/fpc/''$_fpcver''/units/''$arch''-linux}} に保存する |
||
− | * add {{ic|staticlibs}} to {{ic|options}} if installing an import library |
||
+ | * インポートライブラリをインストールする場合は {{ic|staticlibs}} を {{ic|options}} に追加する |
||
+ | |||
==== クロスコンパイル ==== |
==== クロスコンパイル ==== |
||
+ | |||
− | * always add the corresponding cross compiler package mentioned above ({{Ic|fpc-''cpu''-''system''-rtl}} or {{AUR|fpc-multilib}} for multilib) to {{ic|depends}} |
||
+ | * 常に {{ic|depends}} に上記の対応するクロスコンパイラパッケージ ({{ic|fpc-''cpu''-''system''-rtl}}) を追加します。 |
||
− | * always add {{ic|!strip}} to {{ic|options}} for non-Unix-based systems |
||
+ | * 非 Unix ベースのシステムの場合、常に {{ic|!strip}} を {{ic|options}} に追加します。 |
||
− | * always put all compiled units (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) under {{ic|/usr/lib/fpc/''$_fpcver''/units/''$_unitdir''}} (or if multilib, {{ic|/usr/lib/fpc/''$_fpcver''/units/i386-linux}}) |
||
+ | * 全てのコンパイル済みユニット (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) を常に {{ic|/usr/lib/fpc/''$_fpcver''/units/''$_unitdir''}} (マルチリブの場合は {{ic|/usr/lib/fpc/''$_fpcver''/units/i386-linux}}) の下に置いて下さい。 |
||
− | * always use {{ic|any}} ({{ic|x86_64}} if multilib) as the architecture |
||
+ | * 常に {{ic|any}} を使用してください。(multilib の場合は {{ic|x86_64}}) をアーキテクチャとして使用します。 |
||
− | * add {{ic|staticlibs}} to {{ic|options}} if installing an import library |
||
+ | * インポートライブラリをインストールする場合は {{ic|staticlibs}} を {{ic|options}} に追加してください。 |
2023年6月28日 (水) 17:34時点における最新版
パッケージ作成ガイドライン
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 を書く方法を説明しています。fpc パッケージはホスト CPU (i686 または 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 ベースのパッケージを作成する場合、以下の事柄に従ってください:
makedepends
またはdepends
に常に fpc を追加する- コンパイル済みのファイル (*.a, *.compiled, *.o, *.ppu, *.res, *.rst) は常に
/usr/lib/fpc/$_fpcver/units/$arch-linux
に保存する - インポートライブラリをインストールする場合は
staticlibs
をoptions
に追加する
クロスコンパイル
- 常に
depends
に上記の対応するクロスコンパイラパッケージ (fpc-cpu-system-rtl
) を追加します。 - 非 Unix ベースのシステムの場合、常に
!strip
をoptions
に追加します。 - 全てのコンパイル済みユニット (*.a, *.compiled, *.o, *.ppu, *.res, *.rsj) を常に
/usr/lib/fpc/$_fpcver/units/$_unitdir
(マルチリブの場合は/usr/lib/fpc/$_fpcver/units/i386-linux
) の下に置いて下さい。 - 常に
any
を使用してください。(multilib の場合はx86_64
) をアーキテクチャとして使用します。 - インポートライブラリをインストールする場合は
staticlibs
をoptions
に追加してください。