Gnulib

Gnulib(グニューリブ)は、様々なオペレーティングシステム間でのプログラムの移植性を高め、アプリケーションコードの共有を促進することを目的とした、基礎的な関数群を提供するソースコードライブラリです。

現在、Gnulibは30を超えるパッケージを含んでおり、これらのパッケージは、異なるプラットフォーム間でプログラムを動作させる上で必要な、共通の機能を提供します。特に、UNIX環境で開発されたアプリケーションをWindows環境へ移植する際に、その効果を発揮します。

従来のライブラリは、バイナリ形式のオブジェクトコードとして配布・利用されることが一般的ですが、Gnulibはソースコードライブラリとして提供される点が大きな特徴です。このため、Gnulibを利用するパッケージは、Gnulibのソースコードを組み込んだ状態で配布する必要があります。この組み込み作業を容易にするため、`gnulib-tool`というスクリプトが用意されており、これを用いて各パッケージの状況に合わせてカスタマイズを行うことが可能です。

また、Gnulibは、Autoconfのスクリプト`configure.ac`から`gl_XX`という形で呼び出し設定を行うことができます。これにより、Gnulibの機能をAutoconfを利用したビルドシステムに容易に統合できます。

Gnulibには、従来のソフトウェアのようなバージョン番号という概念が存在しません。そのため、各パッケージのメンテナーは、必要に応じてGnulibのリポジトリから最新のコードを取得し、自身のパッケージに組み込む必要があります。この継続的な更新により、常に最新の機能と修正が利用可能になる一方、メンテナーは最新の状態を維持する責任を負うことになります。

Gnulibは、その設計思想から、柔軟性と移植性を重視する開発者にとって非常に価値のあるツールです。ソースコードライブラリとして提供されるため、個々のニーズに合わせたカスタマイズが可能であり、複数のプラットフォームをターゲットとするソフトウェア開発において、コードの再利用性を大きく向上させることができます。

関連項目

Autotools
Gnulibのホームページ

外部リンク(Gnulibを取り込んだパッケージ)

* the virtualization API

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。