![]() | |
開発元 | GNUプロジェクト[1] |
---|---|
初版 | 1997年7月9日 |
最新版 | |
リポジトリ | |
対応OS | クロスプラットフォーム |
種別 | ライブラリ |
ライセンス | GPLv2 |
公式サイト |
www |
GNU Libtoolは、GNU Build System の一部であるソフトウェア開発ツールであり、ソースコードから共有ライブラリをコンパイルする際の移植性の問題に対処するために作成されたシェルスクリプトで構成されている[3] 。共有ライブラリをコンパイルするコマンドにおけるプラットフォーム間の違いを抽象化し[4]、プラットフォーム間で統一されたコマンドラインインターフェイスを提供するとともに、各プラットフォームのネイティブコマンドを実行する。
オペレーティングシステムによって共有ライブラリの扱い方は異なる。共有ライブラリをまったく使用しないプラットフォームも存在するため、ソフトウェアプログラムの移植性を確保することは困難な場合がある。Cコンパイラはシステムごとに異なり、一部のシステムでは特定のライブラリ関数が欠落していたり、ヘッダファイルの名称が異なる場合もある。
Libtoolは、さまざまなUnix系オペレーティングシステムにおける静的ライブラリと動的ライブラリの作成管理に役立つ。Libtoolはライブラリ作成プロセスを抽象化し、LinuxやSolarisなどの異なるシステム間の違いを隠すことでこれを実現する。
GNU Libtoolは、プラットフォーム固有の依存関係とユーザインタフェースの両方を1つのスクリプトにカプセル化することで、新しいシステムでコンピュータプログラムをコンパイルするプロセスを簡素化するよう設計されている[5]。プログラムを新しいシステムに移植する際、Libtoolは移植者が共有ライブラリの低水準のドキュメントを参照することなく、configureスクリプト(または同等のもの)を実行するだけで済むように設計されている[5]。
Libtoolは、GNUビルドシステムの他の2つの移植性ツールであるAutoconfおよびAutomakeによって使用される。また、直接使用することも可能である[6] 。
GNU Libtoolがリリースされて以来、他の自由ソフトウェアプロジェクトは、異なるソフトウェアライセンスの下でより手軽な代替品を開発してきた[7]。slibtoolはそのような実装の一つである[8]。