BSDでソフトウェアを構築するための好ましい方法は何ですか?

BSDでソフトウェアを構築するための好ましい方法は何ですか?

BSDでソフトウェアを構築する際の好みが何であるか、GNU autotoolsを積極的に使用して奨励しているかどうかを知りたいです。

GNU autoconfに関するセクションが見つかりました。OpenBSD マニュアル:

autoconfは、移植可能なプログラムの作成を支援するために設計されたGNUツールです。これは通常、automake(移植可能なmakefile)とlibtool(移植可能な共有ライブラリ)で使用されます。

これらのツールは正常に動作せず、ソフトウェアをOpenBSDに移植するときに特定の問題を引き起こすことがよくあります。

あまり魅力的ではないようです。 OpenBSDにはautotoolに似たプログラムがありますか?構成スクリプトを直接作成する必要がありますか?たとえば、OpenSSHがあります。はい自動構成を使用します。

FreeBSDには中立セクションがあります。手動しかし、それでも「特別な注意事項」セクションにあります。

さまざまなGNU自動化ツールは、さまざまなオペレーティングシステムとマシンアーキテクチャでソフトウェアを構築するための抽象化メカニズムを提供します。 [...]

答え1

通常、特定のBSDバージョンをターゲットにしている場合は、そのBSD(またはまたはとも呼ばれるmakebmakeを使用してください。これは、構築する特定の種類のターゲットに対して事前定義されたさまざまなルールセットを提供します。bsdmakepmake

たとえば、NetBSDではbsd.prog.mk通常、プログラムを構築するために使用されます。プログラム名とソースファイルを宣言するだけで、正しい設定でコンパイラとリンカが自動的に呼び出されます。これにより、プログラムをbuild.sh(ソースコードからオペレーティングシステム全体を構築するNetBSDプログラム)に統合することができます。これは、ユーザーが直接行う必要なく、DESTDIRやクロスコンパイル設定などの項目を自動的に選択するためです。何もない特別な。ライブラリを構築するための同様のルールファイルもあります。

どこでも使用するときの最大の障害は、携帯性が非常に悪いということです。また、見ることができますこの議論BSD makeの長所と短所について。

答え2

私はOpenBSDがプライマリシステムで私のプログラムの1つを使用している場合、設定スクリプトを無視できることがわかりました。

しかし、繰り返しますが、彼らはおそらくそうではありません。誰が仕事をしたかに依存します。

  • サルク(明らかに設定スクリプトが使用されていますが、一部のパッチは設定チェックを削除します...)

ただし、ポート領域では設定スクリプトが許可されます。ポートマネージャが単にautoconfを使用しなくなったという理由だけでmakefileを構築するのを見たのはかなりです。

答え3

「公式に好ましいBSD」方法があるかどうかはわかりませんが、私が好む方法はcmakeです。設定手順を実行してmakeファイルを生成するため、名前は誤解を招くかもしれませんが、makeまたはgmakeに代わるものではありません。 xcode、qtcreator、Visual Studio、borland、その他多くのプロジェクトファイルだけでなく、unix makefileも作成できます。

Cmakeの構文は明確で理解しやすいです。また、設定オプションを調整するために使用できるcliおよびguiアプリケーションも提供していますが、これは設定コマンドの後にエントリのリストを追加するよりも簡単だと思います。

関連情報