‘-module’を用いてライブラリがリンクされた後,dlopen可能になります. 残念ながら ライブラリ名が変更されるため,パッケージでdlopenの正しいファ イルを決定する必要があります.
最も率直で柔軟な実装は,インストールされた‘.la’ファイルを探し,以 下の行を検索することで実行時に決定することです.
# The name that we can dlopen
.
dlname='dlname'
dlnameが空の場合,ライブラリはdlopenされません.それ以外では,そ れでライブラリのdlnameを与えます.そのため,ライブラリが /usr/local/lib/libhello.laにインストールされていて, dlnameがlibhello.so.3の場合, /usr/local/lib/libhello.so.3がdlopenされます.
プログラムがこのアプローチを行っている場合,ライブラリが最終的にインス
トールされるディレクトリと同じように,
LD_LIBRARY_PATH
1環境変数でリストアップされているディレクトリで
検索します.この変数(または同等物)を検索することで,インストール前でも,
プログラムがlibtoolを使用してリンクし提供されているdlopenモジュールを
見つけることを保証します.