[Gauche-devel-jp] Re: Fixpoint?

Back to archive index

yasuy****@javao***** yasuy****@javao*****
2004年 6月 23日 (水) 21:57:17 JST


えんどうです。

> はい。誰かがh2stub.scmをgdk-pixbufにあててみたら通った、みたいな
> ことを言ってた覚えがあるので、そんなに難しくないと思います。
> せっかくの機会ですからやってしまいましょうか。

gdk-pixbuf-animation.h
gdk-pixbuf-enum-types.h
gdk-pixbuf-features.h
gdk-pixbuf-io.h
gdk-pixbuf-loader.h
gdk-pixbuf-marshal.h
gdk-pixbuf.h
gdk-pixdata.h

という内容で src/GDKPIXBUFFILES を作り、h2stub.scm に、

(define (parse-gdk-pixbuf)
  (parse-headers #`",(gtk-directory)/gdk-pixbuf"
                 (call-with-input-file "GDKPIXBUFFILES" port->string-list)))

などと定義し、

(define (run-through)

のなかに

  (parse-gdk-pixbuf)

を加えてみました。

 src ディレクトリーで

 $ gosh h2stub.scm

を実行し、./configure ; make してみたところ、


In file included from gauche-gtk.h:285,
                 from gauche-gtk.c:18:
gtk-lib.h:1050: error: 構文解析エラー before "GdkPixbufModulePattern"
gtk-lib.h:1050: 警告: struct や union の最後にセミコロンがありません
gtk-lib.h:1051: 警告: data definition has no type or storage class
gtk-lib.h:1059: error: 構文解析エラー before '*' token
gtk-lib.h:1063: error: 構文解析エラー before "GdkPixbufModule"
gtk-lib.h:1063: 警告: struct や union の最後にセミコロンがありません
gtk-lib.h:1064: 警告: data definition has no type or storage class
gtk-lib.h:1072: error: 構文解析エラー before '*' token
gtk-lib.h:1076: error: field `data' has incomplete type
gtk-lib.h:1102: error: 構文解析エラー before "GdkPixdata"
gtk-lib.h:1102: 警告: struct や union の最後にセミコロンがありません
gtk-lib.h:1103: 警告: data definition has no type or storage class
gtk-lib.h:1111: error: 構文解析エラー before '*' token
make: *** [gauche-gtk.o] エラー 1
yasuyuki @ juliet:~/src/Gauche-gtk-0.4.1_pre1/src$ less gtk-lib.h 
yasuyuki @ juliet:~/src/Gauche-gtk-0.4.1_pre1/src$ cat -n gtk-lib.h | grep 1111
  1111  extern ScmObj Scm_MakeGdkPixdata(GdkPixdata *data);
yasuyuki @ juliet:~/src/Gauche-gtk-0.4.1_pre1/src$ grep GdkPixdata gtk-lib.h
typedef struct ScmGdkPixdataRec {
    GdkPixdata data;
} ScmGdkPixdata;
SCM_CLASS_DECL(Scm_GdkPixdataClass);
#define SCM_CLASS_GDK_PIXDATA     (&Scm_GdkPixdataClass)
#define SCM_GDK_PIXDATA(obj)      (SCM_FALSEP(obj)?NULL:&((ScmGdkPixdata*)(obj))                                                    ->data)
#define SCM_MAKE_GDK_PIXDATA(obj) (Scm_MakeGdkPixdata(obj))
extern ScmObj Scm_MakeGdkPixdata(GdkPixdata *data);
yasuyuki @ juliet:~/src/Gauche-gtk-0.4.1_pre1/src$ less gtk-lib.h 
yasuyuki @ juliet:~/src/Gauche-gtk-0.4.1_pre1/src$ cat -n gtk-lib.h | grep 1111
  1111  extern ScmObj Scm_MakeGdkPixdata(GdkPixdata *data);

というエラーが発生しています。src/gtk-lib.h では以下のようになっていました。

  1046  /* gdk-pixbuf-io.h */
  1047  
  1048  typedef struct ScmGdkPixbufModulePatternRec {
  1049      SCM_HEADER;
  1050      GdkPixbufModulePattern data;
  1051  } ScmGdkPixbufModulePattern;
  1052  
  1053  SCM_CLASS_DECL(Scm_GdkPixbufModulePatternClass);
  1054  #define SCM_CLASS_GDK_PIXBUF_MODULE_PATTERN     (&Scm_GdkPixbufModulePatternClass)
  1055  #define SCM_GDK_PIXBUF_MODULE_PATTERN_P(obj)     SCM_XTYPEP(obj, SCM_CLASS_GDK_PIXBUF_MODULE_PATTERN)
  1056  #define SCM_GDK_PIXBUF_MODULE_PATTERN(obj)      (SCM_FALSEP(obj)?NULL:&((ScmGdkPixbufModulePattern*)(obj))->data)
  1057  #define SCM_MAKE_GDK_PIXBUF_MODULE_PATTERN(obj) (Scm_MakeGdkPixbufModulePattern(obj))
  1058  #define SCM_GDK_PIXBUF_MODULE_PATTERN_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_PIXBUF_MODULE_PATTERN_P(obj))
  1059  extern ScmObj Scm_MakeGdkPixbufModulePattern(GdkPixbufModulePattern *data);
  1060  
  1061  typedef struct ScmGdkPixbufModuleRec {
  1062      SCM_HEADER;
  1063      GdkPixbufModule data;
  1064  } ScmGdkPixbufModule;
  1065  
  1066  SCM_CLASS_DECL(Scm_GdkPixbufModuleClass);
  1067  #define SCM_CLASS_GDK_PIXBUF_MODULE     (&Scm_GdkPixbufModuleClass)
  1068  #define SCM_GDK_PIXBUF_MODULE_P(obj)     SCM_XTYPEP(obj, SCM_CLASS_GDK_PIXBUF_MODULE)
  1069  #define SCM_GDK_PIXBUF_MODULE(obj)      (SCM_FALSEP(obj)?NULL:&((ScmGdkPixbufModule*)(obj))->data)
  1070  #define SCM_MAKE_GDK_PIXBUF_MODULE(obj) (Scm_MakeGdkPixbufModule(obj))
  1071  #define SCM_GDK_PIXBUF_MODULE_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_PIXBUF_MODULE_P(obj))
  1072  extern ScmObj Scm_MakeGdkPixbufModule(GdkPixbufModule *data);
  1073  
  1074  typedef struct ScmGdkPixbufFormatRec {
  1075      SCM_HEADER;
  1076      GdkPixbufFormat data;
  1077  } ScmGdkPixbufFormat;
  1078  
(略)
  1096  /* gdk-pixbuf.h */
  1097  
  1098  /* gdk-pixdata.h */
  1099  
  1100  typedef struct ScmGdkPixdataRec {
  1101      SCM_HEADER;
  1102      GdkPixdata data;
  1103  } ScmGdkPixdata;
  1104  
  1105  SCM_CLASS_DECL(Scm_GdkPixdataClass);
  1106  #define SCM_CLASS_GDK_PIXDATA     (&Scm_GdkPixdataClass)
  1107  #define SCM_GDK_PIXDATA_P(obj)     SCM_XTYPEP(obj, SCM_CLASS_GDK_PIXDATA)
  1108  #define SCM_GDK_PIXDATA(obj)      (SCM_FALSEP(obj)?NULL:&((ScmGdkPixdata*)(obj))->data)
  1109  #define SCM_MAKE_GDK_PIXDATA(obj) (Scm_MakeGdkPixdata(obj))
  1110  #define SCM_GDK_PIXDATA_OR_NULL_P(obj) (SCM_FALSEP(obj)||SCM_GDK_PIXDATA_P(obj))
  1111  extern ScmObj Scm_MakeGdkPixdata(GdkPixdata *data);
  1112  





-- 
ENDO Yasuyuki <yasuy****@javao*****>
http://www.javaopen.org/~yasuyuki/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)





Gauche-devel-jp メーリングリストの案内
Back to archive index