#3 gtk.def

closed-wont-fix
ruby-gnome (8)
5
2002-07-09
2002-01-02
Anonymous
No

This .def file make Ruby/Gtk to export some of its symbols.
This is necessary to use Ruby/Gtk from other extension
library under Win32.

Discussion

  • Masahiro Sakai

    Masahiro Sakai - 2002-01-02

    Logged In: YES
    user_id=416006

    Sorry, It seems that I failed to attach the file.
    (It said "Fatal error: Call to a member function on a
    non-object in common/tracker/ArtifactFile.class on line 106")

    The following is what I intended to post.
    (ruby-gnome/gtk/src/gtk.def)

    EXPORTS
    Init_gtk
    glist2ary
    ary2glist
    ary2gslist
    gslist2ary
    arg_to_value
    rbgtk_register_class
    rbgtk_lookup_class
    rbgtk_lookup_class_by_gtype
    mRC DATA
    mGtk DATA
    gError DATA
    gObject DATA
    gWidget DATA
    gContainer DATA
    gBin DATA
    gAccelLabel DATA
    gAlignment DATA
    gMisc DATA
    gArrow DATA
    gFrame DATA
    gAspectFrame DATA
    gData DATA
    gAdjustment DATA
    gBox DATA
    gButton DATA
    gTButton DATA
    gCButton DATA
    gRButton DATA
    gBBox DATA
    gCalendar DATA
    gCList DATA
    gCTree DATA
    gCTreeNode DATA
    gWindow DATA
    gDialog DATA
    gFileSel DATA
    gVBox DATA
    gColorSel DATA
    gColorSelDialog DATA
    gCombo DATA
    gImage DATA
    gDrawArea DATA
    gEditable DATA
    gEntry DATA
    gSButton DATA
    gEventBox DATA
    gFixed DATA
    gFontSelection DATA
    gFontSelectionDialog DATA
    gGamma DATA
    gCurve DATA
    gHBBox DATA
    gVBBox DATA
    gHBox DATA
    gPaned DATA
    gHPaned DATA
    gVPaned DATA
    gRuler DATA
    gHRuler DATA
    gVRuler DATA
    gRange DATA
    gScale DATA
    gHScale DATA
    gVScale DATA
    gScrollbar DATA
    gHScrollbar DATA
    gVScrollbar DATA
    gSeparator DATA
    gHSeparator DATA
    gVSeparator DATA
    gInputDialog DATA
    gLabel DATA
    gLayout DATA
    gList DATA
    gItem DATA
    gListItem DATA
    gMenuShell DATA
    gMenu DATA
    gMenuBar DATA
    gMenuItem DATA
    gCMenuItem DATA
    gRMenuItem DATA
    gTMenuItem DATA
    gNotebook DATA
    gNotePage DATA
    gOptionMenu DATA
    gPixmap DATA
    gPreview DATA
    gProgress DATA
    gProgressBar DATA
    gScrolledWin DATA
    gStatusBar DATA
    gTable DATA
    gText DATA
    gTipsQuery DATA
    gToolbar DATA
    gTooltips DATA
    gTree DATA
    gTreeItem DATA
    gViewport DATA
    gHandleBox DATA
    gAccelGroup DATA
    gStyle DATA
    gRcStyle DATA
    gPreviewInfo DATA
    gAllocation DATA
    gRequisition DATA
    gItemFactory DATA
    gIFConst DATA
    mGdk DATA
    mGdkKeyval DATA
    gdkError DATA
    gdkFont DATA
    gdkColor DATA
    gdkColormap DATA
    gdkDrawable DATA
    gdkPixmap DATA
    gdkBitmap DATA
    gdkWindow DATA
    gdkImage DATA
    gdkVisual DATA
    gdkGC DATA
    gdkPoint DATA
    gdkRectangle DATA
    gdkRegion DATA
    gdkGCValues DATA
    gdkSegment DATA
    gdkWindowAttr DATA
    gdkCursor DATA
    gdkCursorConst DATA
    gdkAtom DATA
    gdkColorContext DATA
    gdkEvent DATA
    gtkEventType DATA
    gdkEventAny DATA
    gdkEventExpose DATA
    gdkEventNoExpose DATA
    gdkEventVisibility DATA
    gdkEventMotion DATA
    gdkEventButton DATA
    gdkEventKey DATA
    gdkEventCrossing DATA
    gdkEventFocus DATA
    gdkEventConfigure DATA
    gdkEventProperty DATA
    gdkEventSelection DATA
    gdkEventProximity DATA
    gdkEventClient DATA
    gdkEventOther DATA
    mGdkIM DATA
    gdkIC DATA
    gdkICAttr DATA
    mGdkRgb DATA
    get_value_from_gobject
    get_gobject
    set_gobject
    get_widget
    make_gobject
    make_widget
    get_gtk_type
    make_gobject_auto_type
    make_gstyle
    get_gstyle
    get_grcstyle
    make_ctree_node
    make_notepage
    exec_callback
    make_gtkaccelgrp
    get_gtkaccelgrp
    make_gtkprevinfo
    get_gtkprevinfo
    set_widget
    add_relative
    add_relative_removable
    remove_relative
    make_tobj
    get_tobj
    make_gdkregion
    get_gdkregion
    make_gdkfont
    get_gdkfont
    make_gdkcmap
    get_gdkcmap
    make_gdkcursor
    get_gdkcursor
    make_gdkvisual
    get_gdkvisual
    make_gdkdraw
    make_gdkwindow
    make_gdkpixmap
    make_gdkbitmap
    new_gdkwindow
    new_gdkpixmap
    new_gdkbitmap
    get_gdkdraw
    make_gdkimage
    get_gdkimage
    make_gdkevent
    get_gdkevent
    make_gdkgc
    get_gdkgc
    rbgdk_geometry_make
    rbgdk_geometry_get

     
  • Masahiro Sakai

    Masahiro Sakai - 2002-01-02

    Logged In: YES
    user_id=416006

    Sorry, It seems that I failed to attach the file.
    (It said "Fatal error: Call to a member function on a
    non-object in common/tracker/ArtifactFile.class on line 106")

    The following is what I intended to post.
    (ruby-gnome/gtk/src/gtk.def)

    EXPORTS
    Init_gtk
    glist2ary
    ary2glist
    ary2gslist
    gslist2ary
    arg_to_value
    rbgtk_register_class
    rbgtk_lookup_class
    rbgtk_lookup_class_by_gtype
    mRC DATA
    mGtk DATA
    gError DATA
    gObject DATA
    gWidget DATA
    gContainer DATA
    gBin DATA
    gAccelLabel DATA
    gAlignment DATA
    gMisc DATA
    gArrow DATA
    gFrame DATA
    gAspectFrame DATA
    gData DATA
    gAdjustment DATA
    gBox DATA
    gButton DATA
    gTButton DATA
    gCButton DATA
    gRButton DATA
    gBBox DATA
    gCalendar DATA
    gCList DATA
    gCTree DATA
    gCTreeNode DATA
    gWindow DATA
    gDialog DATA
    gFileSel DATA
    gVBox DATA
    gColorSel DATA
    gColorSelDialog DATA
    gCombo DATA
    gImage DATA
    gDrawArea DATA
    gEditable DATA
    gEntry DATA
    gSButton DATA
    gEventBox DATA
    gFixed DATA
    gFontSelection DATA
    gFontSelectionDialog DATA
    gGamma DATA
    gCurve DATA
    gHBBox DATA
    gVBBox DATA
    gHBox DATA
    gPaned DATA
    gHPaned DATA
    gVPaned DATA
    gRuler DATA
    gHRuler DATA
    gVRuler DATA
    gRange DATA
    gScale DATA
    gHScale DATA
    gVScale DATA
    gScrollbar DATA
    gHScrollbar DATA
    gVScrollbar DATA
    gSeparator DATA
    gHSeparator DATA
    gVSeparator DATA
    gInputDialog DATA
    gLabel DATA
    gLayout DATA
    gList DATA
    gItem DATA
    gListItem DATA
    gMenuShell DATA
    gMenu DATA
    gMenuBar DATA
    gMenuItem DATA
    gCMenuItem DATA
    gRMenuItem DATA
    gTMenuItem DATA
    gNotebook DATA
    gNotePage DATA
    gOptionMenu DATA
    gPixmap DATA
    gPreview DATA
    gProgress DATA
    gProgressBar DATA
    gScrolledWin DATA
    gStatusBar DATA
    gTable DATA
    gText DATA
    gTipsQuery DATA
    gToolbar DATA
    gTooltips DATA
    gTree DATA
    gTreeItem DATA
    gViewport DATA
    gHandleBox DATA
    gAccelGroup DATA
    gStyle DATA
    gRcStyle DATA
    gPreviewInfo DATA
    gAllocation DATA
    gRequisition DATA
    gItemFactory DATA
    gIFConst DATA
    mGdk DATA
    mGdkKeyval DATA
    gdkError DATA
    gdkFont DATA
    gdkColor DATA
    gdkColormap DATA
    gdkDrawable DATA
    gdkPixmap DATA
    gdkBitmap DATA
    gdkWindow DATA
    gdkImage DATA
    gdkVisual DATA
    gdkGC DATA
    gdkPoint DATA
    gdkRectangle DATA
    gdkRegion DATA
    gdkGCValues DATA
    gdkSegment DATA
    gdkWindowAttr DATA
    gdkCursor DATA
    gdkCursorConst DATA
    gdkAtom DATA
    gdkColorContext DATA
    gdkEvent DATA
    gtkEventType DATA
    gdkEventAny DATA
    gdkEventExpose DATA
    gdkEventNoExpose DATA
    gdkEventVisibility DATA
    gdkEventMotion DATA
    gdkEventButton DATA
    gdkEventKey DATA
    gdkEventCrossing DATA
    gdkEventFocus DATA
    gdkEventConfigure DATA
    gdkEventProperty DATA
    gdkEventSelection DATA
    gdkEventProximity DATA
    gdkEventClient DATA
    gdkEventOther DATA
    mGdkIM DATA
    gdkIC DATA
    gdkICAttr DATA
    mGdkRgb DATA
    get_value_from_gobject
    get_gobject
    set_gobject
    get_widget
    make_gobject
    make_widget
    get_gtk_type
    make_gobject_auto_type
    make_gstyle
    get_gstyle
    get_grcstyle
    make_ctree_node
    make_notepage
    exec_callback
    make_gtkaccelgrp
    get_gtkaccelgrp
    make_gtkprevinfo
    get_gtkprevinfo
    set_widget
    add_relative
    add_relative_removable
    remove_relative
    make_tobj
    get_tobj
    make_gdkregion
    get_gdkregion
    make_gdkfont
    get_gdkfont
    make_gdkcmap
    get_gdkcmap
    make_gdkcursor
    get_gdkcursor
    make_gdkvisual
    get_gdkvisual
    make_gdkdraw
    make_gdkwindow
    make_gdkpixmap
    make_gdkbitmap
    new_gdkwindow
    new_gdkpixmap
    new_gdkbitmap
    get_gdkdraw
    make_gdkimage
    get_gdkimage
    make_gdkevent
    get_gdkevent
    make_gdkgc
    get_gdkgc
    rbgdk_geometry_make
    rbgdk_geometry_get

     
  • Neil Conway

    Neil Conway - 2002-01-10

    Logged In: YES
    user_id=11779

    2 questions:

    1) Is there anyway that this can be updated automatically,
    or does it need to be maintained by hand (for example, when
    a new widget is wrapped)?

    2) Should I just add this to CVS and include it in the
    distribution tarballs? Or does it need to be copied
    somewhere on 'make install'?

    Thanks for the patch; once you answer these questions, I'll
    commit it to CVS.

     
  • Neil Conway

    Neil Conway - 2002-01-10
    • assigned_to: nobody --> klamath
     
  • Masahiro Sakai

    Masahiro Sakai - 2002-01-18

    Logged In: YES
    user_id=416006

    > 1) Is there anyway that this can be updated automatically,
    > or does it need to be maintained by hand (for example, when
    > a new widget is wrapped)?

    If you want to generate it automatically,
    win32/mkexports.rb in the ruby distribution may be a help.
    But I think it's rather difficult to generate .def file
    not to export useless symbols (such as Init_gtk__rbgdkkeysyms_aa).

    > 2) Should I just add this to CVS and include it in the
    > distribution tarballs? Or does it need to be copied
    > somewhere on 'make install'?

    When compiling other extension library which depends on Ruby/Gtk,
    a import library for Ruby/Gtk is necessary.
    And the import library can be generated from .def file.
    Thus I think installing .def file or the import library is desirable.

    If your ruby isn't VC++ version,
    You can generate the import library from .def file as follow.
    (I don't know how to do this with VC++)

    require 'rbconfig'
    system("#{Config::CONFIG['DLLTOOL']} --def gtk.def --dllname gtk.#{Config::CONFIG['DLEXT']} --output-lib librbgtk.a")

    > Thanks for the patch; once you answer these questions, I'll
    > commit it to CVS.

    By the way, I forgot to mention in the previous message
    that exported _variables_ should be declared with
    __declspec(dllexport) or __declspec(dllimport).

    For example, Gtk+ 1.3 does this as follow.

    /* Gtk version.
    */
    #ifdef G_PLATFORM_WIN32
    #ifdef GTK_COMPILATION
    #define GTKMAIN_C_VAR __declspec(dllexport)
    #else
    #define GTKMAIN_C_VAR extern __declspec(dllimport)
    #endif
    #else
    #define GTKMAIN_C_VAR extern
    #endif

    GTKMAIN_C_VAR const guint gtk_major_version;
    GTKMAIN_C_VAR const guint gtk_minor_version;
    GTKMAIN_C_VAR const guint gtk_micro_version;
    GTKMAIN_C_VAR const guint gtk_binary_age;
    GTKMAIN_C_VAR const guint gtk_interface_age;

     
  • Masao Mutoh

    Masao Mutoh - 2002-07-09
    • labels: --> ruby-gnome
    • assigned_to: klamath --> mutoh
    • status: open --> closed-wont-fix
     
  • Masao Mutoh

    Masao Mutoh - 2002-07-09

    Logged In: YES
    user_id=495147

    This will be fixed in Ruby-GNOME2.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks