Add ABI control using the same technique that is used in GTK+.
authorMatthias Clasen <mclasen@redhat.com>
Thu, 16 Sep 2004 18:33:02 +0000 (18:33 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 16 Sep 2004 18:33:02 +0000 (18:33 +0000)
2004-09-16  Matthias Clasen  <mclasen@redhat.com>

Add ABI control using the same technique that is used in GTK+.

* gobject.symbols: Master list of symbols.

* gobject.def: Removed. It is now generated from gobject.symbols.

* Makefile.am (gobject.def): Generate from gobject.symbols.
(TESTS): Add abicheck.sh
(EXTRA_DIST): Add abicheck.sh
(export_symbols): Don't export _-prefixed symbols.

* gtype.h:
* gtype.c: Move the declarations of the various _init() functions
to the header, and mark them as G_GNUC_INTERNAL.

gobject/ChangeLog
gobject/Makefile.am
gobject/abicheck.sh [new file with mode: 0755]
gobject/gobject.def [deleted file]
gobject/gobject.symbols [new file with mode: 0644]
gobject/gtype.c
gobject/gtype.h

index 8da5056..357b9e2 100644 (file)
@@ -1,3 +1,20 @@
+2004-09-16  Matthias Clasen  <mclasen@redhat.com>
+
+       Add ABI control using the same technique that is used in GTK+.
+       
+       * gobject.symbols: Master list of symbols.
+
+       * gobject.def: Removed. It is now generated from gobject.symbols.
+
+       * Makefile.am (gobject.def): Generate from gobject.symbols.
+       (TESTS): Add abicheck.sh
+       (EXTRA_DIST): Add abicheck.sh
+       (export_symbols): Don't export _-prefixed symbols.
+
+       * gtype.h: 
+       * gtype.c: Move the declarations of the various _init() functions
+       to the header, and mark them as G_GNUC_INTERNAL.
+
 2004-08-25 Matthias Clasen  <mclasen@redhat.com>
 
        * === Released 2.5.2 ===
index dfb49dc..da2abf3 100644 (file)
@@ -13,6 +13,13 @@ INCLUDES = \
        -DGOBJECT_COMPILATION                   \
        -DG_DISABLE_CONST_RETURNS
 
+gobject.def: gobject.symbols
+       (echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 $(srcdir)/gobject.symbols | sed -e '/^$$/d' -e 's/^/\t/' | sort) > gobject.def
+
+if OS_UNIX
+TESTS = abicheck.sh
+endif
+
 libglib = $(top_builddir)/glib/libglib-2.0.la
 
 # libraries to compile and install
@@ -47,6 +54,8 @@ uninstall-libtool-import-lib:
 else
 install-libtool-import-lib:
 uninstall-libtool-import-lib:
+
+export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
 endif
 
 # libtool stuff: set version and export symbols for resolving
@@ -103,14 +112,15 @@ gobject_c_sources = \
        gvaluetypes.c
 
 # these sources (also mentioned above) are generated.
-BUILT_SOURCES = gmarshal.h gmarshal.c
+BUILT_SOURCES = gmarshal.h gmarshal.c 
 
 # non-header sources (headers should be specified in the above variables)
 # that don't serve as direct make target sources, i.e. they don't have
 # their own .lo rules and don't get publically installed
 gobject_extra_sources = \
        gmarshal.list           \
-       gmarshal.strings
+       gmarshal.strings        \
+       gobject.symbols
 
 
 #
@@ -197,7 +207,8 @@ EXTRA_DIST +=                       \
        gobject.rc.in           \
        glib-genmarshal.1       \
        glib-mkenums.in         \
-       glib-mkenums.1
+       glib-mkenums.1          \
+       abicheck.sh
 
 BUILT_EXTRA_DIST = \
        makefile.msc            \
diff --git a/gobject/abicheck.sh b/gobject/abicheck.sh
new file mode 100755 (executable)
index 0000000..9d49732
--- /dev/null
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+cpp -P -DG_OS_UNIX -DINCLUDE_INTERNAL_SYMBOLS ${srcdir:-.}/gobject.symbols | sed -e '/^$/d' | sort > expected-abi
+nm -D .libs/libgobject-2.0.so | grep " T " | cut -c12- | sort > actual-abi
+diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff --git a/gobject/gobject.def b/gobject/gobject.def
deleted file mode 100644 (file)
index 93fa3ed..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-EXPORTS
-       g_boxed_copy
-       g_boxed_free
-       g_boxed_type_register_static
-       g_cclosure_marshal_BOOLEAN__FLAGS
-       g_cclosure_marshal_STRING__OBJECT_POINTER
-       g_cclosure_marshal_VOID__BOOLEAN
-       g_cclosure_marshal_VOID__BOXED
-       g_cclosure_marshal_VOID__CHAR
-       g_cclosure_marshal_VOID__DOUBLE
-       g_cclosure_marshal_VOID__ENUM
-       g_cclosure_marshal_VOID__FLAGS
-       g_cclosure_marshal_VOID__FLOAT
-       g_cclosure_marshal_VOID__INT
-       g_cclosure_marshal_VOID__LONG
-       g_cclosure_marshal_VOID__OBJECT
-       g_cclosure_marshal_VOID__PARAM
-       g_cclosure_marshal_VOID__POINTER
-       g_cclosure_marshal_VOID__STRING
-       g_cclosure_marshal_VOID__UCHAR
-       g_cclosure_marshal_VOID__UINT
-       g_cclosure_marshal_VOID__UINT_POINTER
-       g_cclosure_marshal_VOID__ULONG
-       g_cclosure_marshal_VOID__VOID
-       g_cclosure_new
-       g_cclosure_new_object
-       g_cclosure_new_object_swap
-       g_cclosure_new_swap
-       g_closure_add_finalize_notifier
-       g_closure_add_invalidate_notifier
-       g_closure_add_marshal_guards
-       g_closure_get_type
-       g_closure_invalidate
-       g_closure_invoke
-       g_closure_new_object
-       g_closure_new_simple
-       g_closure_ref
-       g_closure_remove_finalize_notifier
-       g_closure_remove_invalidate_notifier
-       g_closure_set_marshal
-       g_closure_set_meta_marshal
-       g_closure_sink
-       g_closure_unref
-       g_enum_complete_type_info
-       g_enum_get_value
-       g_enum_get_value_by_name
-       g_enum_get_value_by_nick
-       g_enum_register_static
-       g_flags_complete_type_info
-       g_flags_get_first_value
-       g_flags_get_value_by_name
-       g_flags_get_value_by_nick
-       g_flags_register_static
-       g_gstring_get_type
-       g_io_channel_get_type
-       g_io_condition_get_type
-       g_object_add_weak_pointer
-       g_object_class_find_property
-       g_object_class_install_property
-       g_object_class_list_properties
-       g_object_class_override_property
-       g_object_connect
-       g_object_disconnect
-       g_object_freeze_notify
-       g_object_get
-       g_object_get_data
-       g_object_get_property
-       g_object_get_qdata
-       g_object_get_valist
-       g_object_interface_find_property
-       g_object_interface_install_property
-       g_object_interface_list_properties
-       g_object_new
-       g_object_new_valist
-       g_object_newv
-       g_object_notify
-       g_object_ref
-       g_object_remove_weak_pointer
-       g_object_run_dispose
-       g_object_set
-       g_object_set_data
-       g_object_set_data_full
-       g_object_set_property
-       g_object_set_qdata
-       g_object_set_qdata_full
-       g_object_set_valist
-       g_object_steal_data
-       g_object_steal_qdata
-       g_object_thaw_notify
-       g_object_unref
-       g_object_watch_closure
-       g_object_weak_ref
-       g_object_weak_unref
-       g_param_spec_boolean
-       g_param_spec_boxed
-       g_param_spec_char
-       g_param_spec_double
-       g_param_spec_enum
-       g_param_spec_flags
-       g_param_spec_float
-       g_param_spec_get_blurb
-       g_param_spec_get_name
-       g_param_spec_get_nick
-       g_param_spec_get_qdata
-       g_param_spec_get_redirect_target
-       g_param_spec_int
-       g_param_spec_int64
-       g_param_spec_internal
-       g_param_spec_long
-       g_param_spec_object
-       g_param_spec_override
-       g_param_spec_param
-       g_param_spec_pointer
-       g_param_spec_pool_insert
-       g_param_spec_pool_list
-       g_param_spec_pool_list_owned
-       g_param_spec_pool_lookup
-       g_param_spec_pool_new
-       g_param_spec_pool_remove
-       g_param_spec_ref
-       g_param_spec_set_qdata
-       g_param_spec_set_qdata_full
-       g_param_spec_sink
-       g_param_spec_steal_qdata
-       g_param_spec_string
-       g_param_spec_types
-       g_param_spec_uchar
-       g_param_spec_uint
-       g_param_spec_uint64
-       g_param_spec_ulong
-       g_param_spec_unichar
-       g_param_spec_unref
-       g_param_spec_value_array
-       g_param_type_register_static
-       g_param_value_convert
-       g_param_value_defaults
-       g_param_value_set_default
-       g_param_value_validate
-       g_param_values_cmp
-       g_pointer_type_register_static
-       g_signal_accumulator_true_handled
-       g_signal_add_emission_hook
-       g_signal_chain_from_overridden
-       g_signal_connect_closure
-       g_signal_connect_closure_by_id
-       g_signal_connect_data
-       g_signal_connect_object
-       g_signal_emit
-       g_signal_emit_by_name
-       g_signal_emit_valist
-       g_signal_emitv
-       g_signal_get_invocation_hint
-       g_signal_handler_block
-       g_signal_handler_disconnect
-       g_signal_handler_find
-       g_signal_handler_is_connected
-       g_signal_handler_unblock
-       g_signal_handlers_block_matched
-       g_signal_handlers_destroy
-       g_signal_handlers_disconnect_matched
-       g_signal_handlers_unblock_matched
-       g_signal_has_handler_pending
-       g_signal_list_ids
-       g_signal_lookup
-       g_signal_name
-       g_signal_new
-       g_signal_new_valist
-       g_signal_newv
-       g_signal_override_class_closure
-       g_signal_parse_name
-       g_signal_query
-       g_signal_remove_emission_hook
-       g_signal_stop_emission
-       g_signal_stop_emission_by_name
-       g_signal_type_cclosure_new
-       g_slist_remove_all PRIVATE
-       g_source_set_closure
-       g_strdup_value_contents
-       g_strv_get_type
-       g_type_add_class_cache_func
-       g_type_add_interface_check
-       g_type_add_interface_dynamic
-       g_type_add_interface_static
-       g_type_check_class_cast
-       g_type_check_class_is_a
-       g_type_check_instance
-       g_type_check_instance_cast
-       g_type_check_instance_is_a
-       g_type_check_is_value_type
-       g_type_check_value
-       g_type_check_value_holds
-       g_type_children
-       g_type_class_add_private
-       g_type_class_peek
-       g_type_class_peek_parent
-       g_type_class_peek_static
-       g_type_class_ref
-       g_type_class_unref
-       g_type_class_unref_uncached
-       g_type_create_instance
-       g_type_default_interface_peek
-       g_type_default_interface_ref
-       g_type_default_interface_unref
-       g_type_depth
-       g_type_free_instance
-       g_type_from_name
-       g_type_fundamental
-       g_type_fundamental_next
-       g_type_get_plugin
-       g_type_get_qdata
-       g_type_init
-       g_type_init_with_debug_flags
-       g_type_instance_get_private
-       g_type_interface_add_prerequisite
-       g_type_interface_get_plugin
-       g_type_interface_peek
-       g_type_interface_peek_parent
-       g_type_interface_prerequisites
-       g_type_interfaces
-       g_type_is_a
-       g_type_module_add_interface
-       g_type_module_get_type
-       g_type_module_register_type
-       g_type_module_set_name
-       g_type_module_unuse
-       g_type_module_use
-       g_type_name
-       g_type_name_from_class
-       g_type_name_from_instance
-       g_type_next_base
-       g_type_parent
-       g_type_plugin_complete_interface_info
-       g_type_plugin_complete_type_info
-       g_type_plugin_get_type
-       g_type_plugin_unuse
-       g_type_plugin_use
-       g_type_qname
-       g_type_query
-       g_type_register_dynamic
-       g_type_register_fundamental
-       g_type_register_static
-       g_type_remove_class_cache_func
-       g_type_remove_interface_check
-       g_type_set_qdata
-       g_type_test_flags
-       g_type_value_table_peek
-       g_unichar_validate PRIVATE
-       g_value_array_append
-       g_value_array_copy
-       g_value_array_free
-       g_value_array_get_nth
-       g_value_array_get_type
-       g_value_array_insert
-       g_value_array_new
-       g_value_array_prepend
-       g_value_array_remove
-       g_value_array_sort
-       g_value_array_sort_with_data
-       g_value_copy
-       g_value_dup_boxed
-       g_value_dup_object
-       g_value_dup_param
-       g_value_dup_string
-       g_value_fits_pointer
-       g_value_get_boolean
-       g_value_get_boxed
-       g_value_get_char
-       g_value_get_double
-       g_value_get_enum
-       g_value_get_flags
-       g_value_get_float
-       g_value_get_int
-       g_value_get_int64
-       g_value_get_long
-       g_value_get_object
-       g_value_get_param
-       g_value_get_pointer
-       g_value_get_string
-       g_value_get_type
-       g_value_get_uchar
-       g_value_get_uint
-       g_value_get_uint64
-       g_value_get_ulong
-       g_value_init
-       g_value_peek_pointer
-       g_value_register_transform_func
-       g_value_reset
-       g_value_set_boolean
-       g_value_set_boxed
-       g_value_set_boxed_take_ownership
-       g_value_set_char
-       g_value_set_double
-       g_value_set_enum
-       g_value_set_flags
-       g_value_set_float
-       g_value_set_instance
-       g_value_set_int
-       g_value_set_int64
-       g_value_set_long
-       g_value_set_object
-       g_value_set_object_take_ownership
-       g_value_set_param
-       g_value_set_param_take_ownership
-       g_value_set_pointer
-       g_value_set_static_boxed
-       g_value_set_static_string
-       g_value_set_string
-       g_value_set_string_take_ownership
-       g_value_set_uchar
-       g_value_set_uint
-       g_value_set_uint64
-       g_value_set_ulong
-       g_value_take_boxed
-       g_value_take_object
-       g_value_take_param
-       g_value_take_string
-       g_value_transform
-       g_value_type_compatible
-       g_value_type_transformable
-       g_value_types_init
-       g_value_unset
-
diff --git a/gobject/gobject.symbols b/gobject/gobject.symbols
new file mode 100644 (file)
index 0000000..9a97c2c
--- /dev/null
@@ -0,0 +1,321 @@
+g_boxed_copy
+g_boxed_free
+g_boxed_type_register_static
+g_cclosure_marshal_BOOLEAN__FLAGS
+g_cclosure_marshal_STRING__OBJECT_POINTER
+g_cclosure_marshal_VOID__BOOLEAN
+g_cclosure_marshal_VOID__BOXED
+g_cclosure_marshal_VOID__CHAR
+g_cclosure_marshal_VOID__DOUBLE
+g_cclosure_marshal_VOID__ENUM
+g_cclosure_marshal_VOID__FLAGS
+g_cclosure_marshal_VOID__FLOAT
+g_cclosure_marshal_VOID__INT
+g_cclosure_marshal_VOID__LONG
+g_cclosure_marshal_VOID__OBJECT
+g_cclosure_marshal_VOID__PARAM
+g_cclosure_marshal_VOID__POINTER
+g_cclosure_marshal_VOID__STRING
+g_cclosure_marshal_VOID__UCHAR
+g_cclosure_marshal_VOID__UINT
+g_cclosure_marshal_VOID__UINT_POINTER
+g_cclosure_marshal_VOID__ULONG
+g_cclosure_marshal_VOID__VOID
+g_cclosure_new
+g_cclosure_new_object
+g_cclosure_new_object_swap
+g_cclosure_new_swap
+g_closure_add_finalize_notifier
+g_closure_add_invalidate_notifier
+g_closure_add_marshal_guards
+g_closure_get_type
+g_closure_invalidate
+g_closure_invoke
+g_closure_new_object
+g_closure_new_simple
+g_closure_ref
+g_closure_remove_finalize_notifier
+g_closure_remove_invalidate_notifier
+g_closure_set_marshal
+g_closure_set_meta_marshal
+g_closure_sink
+g_closure_unref
+g_enum_complete_type_info
+g_enum_get_value
+g_enum_get_value_by_name
+g_enum_get_value_by_nick
+g_enum_register_static
+g_flags_complete_type_info
+g_flags_get_first_value
+g_flags_get_value_by_name
+g_flags_get_value_by_nick
+g_flags_register_static
+g_gstring_get_type
+g_io_channel_get_type
+g_io_condition_get_type
+g_object_add_weak_pointer
+g_object_class_find_property
+g_object_class_install_property
+g_object_class_list_properties
+g_object_class_override_property
+g_object_connect
+g_object_disconnect
+g_object_freeze_notify
+g_object_get
+g_object_get_data
+g_object_get_property
+g_object_get_qdata
+g_object_get_valist
+g_object_interface_find_property
+g_object_interface_install_property
+g_object_interface_list_properties
+g_object_new
+g_object_newv
+g_object_new_valist
+g_object_notify
+g_object_ref
+g_object_remove_weak_pointer
+g_object_run_dispose
+g_object_set
+g_object_set_data
+g_object_set_data_full
+g_object_set_property
+g_object_set_qdata
+g_object_set_qdata_full
+g_object_set_valist
+g_object_steal_data
+g_object_steal_qdata
+g_object_thaw_notify
+g_object_unref
+g_object_watch_closure
+g_object_weak_ref
+g_object_weak_unref
+g_param_spec_boolean
+g_param_spec_boxed
+g_param_spec_char
+g_param_spec_double
+g_param_spec_enum
+g_param_spec_flags
+g_param_spec_float
+g_param_spec_get_blurb
+g_param_spec_get_name
+g_param_spec_get_nick
+g_param_spec_get_qdata
+g_param_spec_get_redirect_target
+g_param_spec_int
+g_param_spec_int64
+g_param_spec_internal
+g_param_spec_long
+g_param_spec_object
+g_param_spec_override
+g_param_spec_param
+g_param_spec_pointer
+g_param_spec_pool_insert
+g_param_spec_pool_list
+g_param_spec_pool_list_owned
+g_param_spec_pool_lookup
+g_param_spec_pool_new
+g_param_spec_pool_remove
+g_param_spec_ref
+g_param_spec_set_qdata
+g_param_spec_set_qdata_full
+g_param_spec_sink
+g_param_spec_steal_qdata
+g_param_spec_string
+g_param_spec_uchar
+g_param_spec_uint
+g_param_spec_uint64
+g_param_spec_ulong
+g_param_spec_unichar
+g_param_spec_unref
+g_param_spec_value_array
+g_param_type_register_static
+g_param_value_convert
+g_param_value_defaults
+g_param_values_cmp
+g_param_value_set_default
+g_param_value_validate
+g_pointer_type_register_static
+g_signal_accumulator_true_handled
+g_signal_add_emission_hook
+g_signal_chain_from_overridden
+g_signal_connect_closure
+g_signal_connect_closure_by_id
+g_signal_connect_data
+g_signal_connect_object
+g_signal_emit
+g_signal_emit_by_name
+g_signal_emitv
+g_signal_emit_valist
+g_signal_get_invocation_hint
+g_signal_handler_block
+g_signal_handler_disconnect
+g_signal_handler_find
+g_signal_handler_is_connected
+g_signal_handlers_block_matched
+g_signal_handlers_destroy
+g_signal_handlers_disconnect_matched
+g_signal_handlers_unblock_matched
+g_signal_handler_unblock
+g_signal_has_handler_pending
+g_signal_list_ids
+g_signal_lookup
+g_signal_name
+g_signal_new
+g_signal_newv
+g_signal_new_valist
+g_signal_override_class_closure
+g_signal_parse_name
+g_signal_query
+g_signal_remove_emission_hook
+g_signal_stop_emission
+g_signal_stop_emission_by_name
+g_signal_type_cclosure_new
+g_source_set_closure
+g_strdup_value_contents
+g_strv_get_type
+g_type_add_class_cache_func
+g_type_add_interface_check
+g_type_add_interface_dynamic
+g_type_add_interface_static
+g_type_check_class_cast
+g_type_check_class_is_a
+g_type_check_instance
+g_type_check_instance_cast
+g_type_check_instance_is_a
+g_type_check_is_value_type
+g_type_check_value
+g_type_check_value_holds
+g_type_children
+g_type_class_add_private
+g_type_class_peek
+g_type_class_peek_parent
+g_type_class_peek_static
+g_type_class_ref
+g_type_class_unref
+g_type_class_unref_uncached
+g_type_create_instance
+g_type_default_interface_peek
+g_type_default_interface_ref
+g_type_default_interface_unref
+g_type_depth
+g_type_free_instance
+g_type_from_name
+g_type_fundamental
+g_type_fundamental_next
+g_type_get_plugin
+g_type_get_qdata
+g_type_init
+g_type_init_with_debug_flags
+g_type_instance_get_private
+g_type_interface_add_prerequisite
+g_type_interface_get_plugin
+g_type_interface_peek
+g_type_interface_peek_parent
+g_type_interface_prerequisites
+g_type_interfaces
+g_type_is_a
+g_type_module_add_interface
+g_type_module_get_type
+g_type_module_register_enum
+g_type_module_register_flags
+g_type_module_register_type
+g_type_module_set_name
+g_type_module_unuse
+g_type_module_use
+g_type_name
+g_type_name_from_class
+g_type_name_from_instance
+g_type_next_base
+g_type_parent
+g_type_plugin_complete_interface_info
+g_type_plugin_complete_type_info
+g_type_plugin_get_type
+g_type_plugin_unuse
+g_type_plugin_use
+g_type_qname
+g_type_query
+g_type_register_dynamic
+g_type_register_fundamental
+g_type_register_static
+g_type_remove_class_cache_func
+g_type_remove_interface_check
+g_type_set_qdata
+g_type_test_flags
+g_type_value_table_peek
+g_value_array_append
+g_value_array_copy
+g_value_array_free
+g_value_array_get_nth
+g_value_array_get_type
+g_value_array_insert
+g_value_array_new
+g_value_array_prepend
+g_value_array_remove
+g_value_array_sort
+g_value_array_sort_with_data
+g_value_copy
+g_value_dup_boxed
+g_value_dup_object
+g_value_dup_param
+g_value_dup_string
+g_value_fits_pointer
+g_value_get_boolean
+g_value_get_boxed
+g_value_get_char
+g_value_get_double
+g_value_get_enum
+g_value_get_flags
+g_value_get_float
+g_value_get_int
+g_value_get_int64
+g_value_get_long
+g_value_get_object
+g_value_get_param
+g_value_get_pointer
+g_value_get_string
+g_value_get_type
+g_value_get_uchar
+g_value_get_uint
+g_value_get_uint64
+g_value_get_ulong
+g_value_init
+g_value_peek_pointer
+g_value_register_transform_func
+g_value_reset
+g_value_set_boolean
+g_value_set_boxed
+g_value_set_boxed_take_ownership
+g_value_set_char
+g_value_set_double
+g_value_set_enum
+g_value_set_flags
+g_value_set_float
+g_value_set_instance
+g_value_set_int
+g_value_set_int64
+g_value_set_long
+g_value_set_object
+g_value_set_object_take_ownership
+g_value_set_param
+g_value_set_param_take_ownership
+g_value_set_pointer
+g_value_set_static_boxed
+g_value_set_static_string
+g_value_set_string
+g_value_set_string_take_ownership
+g_value_set_uchar
+g_value_set_uint
+g_value_set_uint64
+g_value_set_ulong
+g_value_take_boxed
+g_value_take_object
+g_value_take_param
+g_value_take_string
+g_value_transform
+g_value_type_compatible
+g_value_type_transformable
+g_value_unset
+#ifdef INCLUDE_VARIABLES
+g_param_spec_types
+#endif
index 3808ed1..9c50a51 100644 (file)
@@ -3374,18 +3374,6 @@ g_type_name_from_class (GTypeClass *g_class)
 }
 
 
-/* --- foreign prototypes --- */
-extern void    g_value_c_init          (void); /* sync with gvalue.c */
-extern void    g_value_types_init      (void); /* sync with gvaluetypes.c */
-extern void    g_enum_types_init       (void); /* sync with genums.c */
-extern void     g_param_type_init       (void);        /* sync with gparam.c */
-extern void     g_boxed_type_init       (void);        /* sync with gboxed.c */
-extern void     g_object_type_init      (void);        /* sync with gobject.c */
-extern void    g_param_spec_types_init (void); /* sync with gparamspecs.c */
-extern void    g_value_transforms_init (void); /* sync with gvaluetransform.c */
-extern void    g_signal_init           (void); /* sync with gsignal.c */
-
-
 /* --- initialization --- */
 void
 g_type_init_with_debug_flags (GTypeDebugFlags debug_flags)
index 6e3b9d6..7fac048 100644 (file)
@@ -427,6 +427,18 @@ G_CONST_RETURN gchar* g_type_name_from_instance    (GTypeInstance  *instance);
 G_CONST_RETURN gchar* g_type_name_from_class   (GTypeClass     *g_class);
 
 
+/* --- internal functions --- */
+void    g_value_c_init          (void) G_GNUC_INTERNAL; /* sync with gvalue.c */
+void    g_value_types_init      (void) G_GNUC_INTERNAL; /* sync with gvaluetypes.c */
+void    g_enum_types_init       (void) G_GNUC_INTERNAL; /* sync with genums.c */
+void    g_param_type_init       (void) G_GNUC_INTERNAL; /* sync with gparam.c */
+void    g_boxed_type_init       (void) G_GNUC_INTERNAL; /* sync with gboxed.c */
+void    g_object_type_init      (void) G_GNUC_INTERNAL; /* sync with gobject.c */
+void    g_param_spec_types_init (void) G_GNUC_INTERNAL; /* sync with gparamspecs.c */
+void    g_value_transforms_init (void) G_GNUC_INTERNAL; /* sync with gvaluetransform.c */
+void    g_signal_init           (void) G_GNUC_INTERNAL; /* sync with gsignal.c */
+
+
 /* --- implementation bits --- */
 #ifndef G_DISABLE_CAST_CHECKS
 #  define _G_TYPE_CIC(ip, gt, ct) \