From: Masao M. <mu...@hi...> - 2004-11-13 10:16:55
|
むとうです。 On Sat, 13 Nov 2004 18:48:28 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です. > > In <200...@hi...> > "Re: [ruby-gnome2-devel-ja] Re: [ruby-gnome2-devel-ja] Ruby/GnomePrintUIとRuby/RSVG" on Sat, 13 Nov 2004 17:46:24 +0900, > Masao Mutoh <mu...@hi...> wrote: > > > > CVSに突っ込んでしまって良いですか? > > > > お願いします。一緒にリリースしちゃいます! > > やりました. ありがとうございます。 > で,一つ問題があって,それが > > In <200...@co...> > "[ruby-gnome2-devel-ja] Ruby/GnomePrintUIとRuby/RSVG" on Fri, 12 Nov 2004 23:47:31 +0900 (JST), > Kouhei Sutou <ko...@co...> wrote: > > > # libgnomeprintui-2.2の方はちょっと小細工していてアレなんですが. > > という風に匂わしていたやつなのですが,現在のlibgnomeprintui > はenumをtypedefしてくれていないので,glib-mkenumsで > enum-types(?なんていうんだろう)を自動生成できないのです. > # いちおう,gnome-printのBTSにパッチ付きで報告しておきました. > # が,リアクションはまだないです. > > もちろん,libgnomeprintui側でもenum-types.hみたいなやつを提 > 供してくれていないので,バインディング作成側としてはちょっと > 困っていたりします. > > とりあえず,extconf.rbでlibgnomeprintui-enum-types.{c,h}を生 > 成しているのですが,元にするヘッダファイルがenumをtypedefし > ていないので,enum-typesを抜き出してもらえません.手元では, > libgnomeprintuiのヘッダファイルを書き換えて,enumをtypedefし > ていたりしますが,それをインストールする人に強制するのは問題 > です. > > > ということで,暫定的に以下のような解決案でよいでしょうか? > > extconf.rbでのlibgnomeprintui-enum-types.{c,h}の自動生成を > やめて,CVSには私の手元にあるlibgnomeprintuiのヘッダファイ > ルをいじったやつから自動生成した > libgnomeprintui-enum-types.{c,hせっかく作られたと言うことですので 須藤さん作の }を追加する. > > ちなみに,私の環境はこんな感じです. > > % pkg-config --modversion libgnomeprintui-2.2 > 2.6.2 > > なので,違うバージョンのlibgnomoeprintuiを使っているところで > は問題がでるかもしれません. > どうしましょう? ruby extconf.rbに失敗したので勘で書きますが(^^;) これって、GEnums/GTypesに対応していない、ってことですよね。 であれば、上記のような実装は他のライブラリとかでも結構あります。 そういう場合はどうしているかというと、単にrb_define_constしてます。 でも、今回のようなケースでは すでに作られたと言うことですので 須藤さん作の libgnomeprintui-enum-types.{c,h}を追加しておいて、 将来的にCライブラリの方でそれがサポートさるまでに have_header("libgnomeprintui-enum-types.h") のようなチェックをして処理を分ければ良いのでは ないでしょうか。 # BTSにあげたということは元ライブラリの方にもまだそのような # 実装のバージョンはないんですよね? それでは。 -- .:% Masao Mutoh<mu...@hi...> |