From: Masao M. <mu...@hi...> - 2004-10-17 15:59:52
|
むとうです。 On Wed, 13 Oct 2004 00:56:17 +0900 Masao Mutoh <mu...@hi...> wrote: > むとうです。 > > On Tue, 12 Oct 2004 23:51:25 +0900 (JST) > > Kouhei Sutou <ko...@co...> wrote: > > あ,このコードはlibgnomeprint 2.8以降を要求するので, > > extconf.rbでライブラリのバージョンをチェックできるとうれしい > > です. > > > > 例えばこんなのがあって > > > > module PKGConfig > > module_function > > def or_newer?(pkg, version) > > STDOUT.print("checking for #{pkg} version (>= #{version})... ") > > STDOUT.flush > > mod_version = `#{@@cmd} --modversion #{pkg}`.chomp > > result = (mod_version.split(".") <=> version.split(".")) >= 0 > > result_message = result ? "yes" : "no" > > STDOUT.print "#{result_message}\n" > > result > > end > > end > > > > こんな風に使えたらどうでしょうか. > > > > PKGConfig.or_newer?("libgnomeprint-2.2", "2.8") or exit 1 > > これいいですね。採用する方向で検討します。 > #名前はちょっと変えるかも...。 これですが、PKGConfig.have_package()のAPIを以下のようにバージョン 情報を入れれるよう変更しました。 PKGConfig.have_package(pkg, major = 0, minor = 0, micro = 0) libgnomeprintの場合、以下のようにすれば良いと思います。 PKGConfig.have_package("libgnomeprint-2.2", 2, 8) もちろん、今までと互換性は残したので現状のextconf.rbを変更する 必要はありません。 ちなみにPKGConfig.check_version?というメソッドも追加しましたが、 こちらを直接使う必要は無いでしょう。 #でも、これ見て、mkmf-gnome2.rbを全体的に書き直したくなって #しまいました...。(^^;) それでは。 -- .:% Masao Mutoh<mu...@hi...> |