Re: UNIX/WIN32 exports in 2.3.5



At 15:40 05.03.04, J. Ali Harlow wrote:
I have been thinking of possible ways to solve the perennial problem of maintaining the win32 export files. Meanwhile, I have written a quick script which compares the functions listed in a win32 .def file with those exported from a unix shared library.

Clearly a number of these are false positives. So far I've ignored any functions exported by unix with a leading underscore and any that are clearly platform specific (eg., *_win32_*, X* etc). I'd be grateful for
any more input on functions listed as missing that should not, in fact,
be exported.

Missing from win32 glib:

g_child_watch_funcs

This is exported through GLIB_VAR (== declspec(dllexport)); if it is really missing from your build there may be something wrong with. I assume glitches in your script though ;-)

g_main_depth

The usual case for recently added functions, will add it with my nect commit.

glib_on_error_halt

if it should be exported on win32 it needs to be marked as GLIB_VAR, but it isn't use on win32 anyway ...


Missing from win32 pango:

As Owen already pointed out : stuff exported, whis is not in the proper namespace is probably exported by mistake. (E.g. the underscored functions should not be exported by policy, but they are on *NIX IIRC caused by some dlltool glitches)

But there are more functions listed as not exported, although they are at least since :

2004-03-03  Hans Breuer  <hans breuer org>

        * pango/pango.def pango/pangoft2.def : more updatd externals



Erroneously including in win32 pangoft2:

pango_ot_ruleset_shape

Your def file is outdated ;)

Missing from win32 gdk_pixbuf:

gdk_pixbuf_marshal_VOID__INT_INT
gdk_pixbuf_marshal_VOID__INT_INT_INT_INT
IIRC generated marshalers are usually not exported

gdk_pixbuf_major_version
gdk_pixbuf_micro_version
gdk_pixbuf_minor_version
gdk_pixbuf_version

would need marking as GDK_PIXBUF_VAR which is not defined yet cause there are no other variables to be exported from gdk-pixbuf (good ;)

gdk_pixbuf_non_anim_new

added


Missing from win32 gdk:

gdk_cursor_new_from_pixbuf

would need a win32 specific implementation first

gdk_display
not sure where it comes from, there is a _gdk_display in gdkprivate-win32.h which probably shouldn't be exported.

gdk_display_get_default_cursor_size
gdk_display_get_default_group
gdk_display_get_maximal_cursor_size
gdk_display_supports_cursor_alpha
gdk_display_supports_cursor_color

would need an implementation first ...


gdk_drawable_copy_to_image

isn't it _gdk_drawable_copy_to_image => not to be exported ?

gdk_event_send_client_message_to_all_recurse
gdk_font_get_display
gdk_net_wm_supports
gdk_pixmap_get_type
gdk_spawn_command_line_on_screen
gdk_spawn_on_screen
gdk_spawn_on_screen_with_pipes
gdk_threads_lock
gdk_threads_set_lock_functions
gdk_threads_unlock
gdk_window_get_group

mostly not yet implemented


gdk_window_impl_x11_get_type

There was a discussion years ago which led to the following change :

2001-10-28  Hans Breuer  <hans breuer org>

        static correct-ness, underscore prefixing of library internal
        functions
        (applied the undisputed and the win32 part. Of the latter
         I'm probably the one who will change it back again, if Owen
         decides that the Gdk*Impl types should not be private to Gdk)


Missing from x11 gdk:

gdk_input_motion_events

Owen, Tor : should this be removed or is it to be kept for ABI compatibility ?

gdk_pixmap_get_type

I doubt this is missing on *NIX

Missing from win32 gtk:

gtk_accel_map_get
gtk_accel_map_get_type
gtk_combo_box_popdown
gtk_combo_box_popup
added with my next commit.


gtk_bindings_activate_event
it's underscore prefixed

gtk_drag_source_get_target_list
gtk_drag_source_set_target_list

Just too new (added late in 2.4 though the comment doesn't mention it yet)

gtk_plug_construct
gtk_plug_construct_for_display
gtk_plug_get_id
gtk_plug_get_type
gtk_plug_new
gtk_plug_new_for_display
gtk_socket_add_id
gtk_socket_get_id
gtk_socket_get_private
gtk_socket_get_type
gtk_socket_new
gtk_socket_steal

There is an almost silently rotting patch to implement these for win32,
but currently they are simply X11 specific ...
http://bugzilla.gnome.org/show_bug.cgi?id=58541


gtk_text_layout_set_keyboard_direction
gtk_toggle_action_new
gtk_tooltips_get_info_from_tip_window
gtk_ui_manager_item_type_get_type
gtk_widget_add_mnemonic_label
gtk_widget_list_mnemonic_labels
gtk_widget_remove_mnemonic_label
gtk_window_activate_key
gtk_window_propagate_key_event
Partly already in cvs, the rest probably added by my next commit.


Thanks for the heads up (but it would have been even more useful if you could wait until anoncvs has synced ;-)

        Hans
-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]