1

アプリケーションを開発/配布するために、Autoconf および Automake ツールを使用しています。

現在、すべてが正常に機能しています。

私のアプリケーションは GSL (GNU Scientific Library) に依存しているため、configure.ac で次のようにして検索します。

PKG_CHECK_MODULES([GSL], [gsl])

ただし、GSL がない場合、プロセスは続行できません。

私の考えは次のとおりです。次のように、gsl-1.15.tar.gz を配布アーカイブに含めます。

  • /
    • サードパーティ/
      • gsl-1.15.tar.gz
    • ソース/
      • ...
    • configure.ac

また、最終ユーザーがインターネット接続またはルート アクセス権を持っていないと仮定すると、GSL が見つからない場合、彼は先に進むことができません。

GSL が見つからない場合、configure.ac に 3rdParty/gsl-1.15.tar.gaz を抽出し、抽出された「include」および「lib」ディレクトリを指すように書き込むことは可能ですか。

出来ますか ?

手伝って頂けますか ?

4

1 に答える 1

0

ほとんどのパッケージは圧縮された tarball であるため、別の tarball として配布する意味がわかりませんgsl。ソースをサブディレクトリに置くだけです。GSL パッケージは、 でAC_CONFIG_SUBDIRSを使用して構成できますconfigure.ac


のデフォルトのアクションは、PKG_CHECK_MODULES見つからない場合に中止することです。これを変更するには:

PKG_CHECK_MODULES([GSL], [gsl >= 1.15], [gsl_pkg_local=;],
                  [gsl_pkg_local="yes"])

if test "x$gsl_pkg_local" != "xyes" ; then
    AC_CONFIG_SUBDIRS([gsl-1.15])
fi

gsl-1.15これは、最上位にディレクトリがあることを前提としています。変数名についても特別なことは何もないgsl_pkg_localので、ニーズに合わせてこれらを変更できます。

于 2013-03-25T15:54:12.587 に答える