Simply symbols files

The grouping in files/headers is not used anymore, and
the function attributes neither. Adapt abicheck scripts
and .def file generation rules accordingly.
This commit is contained in:
Matthias Clasen 2011-05-23 00:21:06 -04:00
parent dec7d41275
commit b5056fbaf9
7 changed files with 352 additions and 1597 deletions

View File

@ -5,9 +5,9 @@ egrep '^#([^i]|if).*[^\]$' "${top_builddir:-..}/glib/glibconfig.h" > glibconfig.
INCLUDES="-include ${top_builddir:-..}/config.h"
INCLUDES="$INCLUDES -include glibconfig.cpp"
cpp -DINCLUDE_VARIABLES -P $INCLUDES -DALL_FILES ${srcdir:-.}/gio.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
cpp -P $INCLUDES ${srcdir:-.}/gio.symbols | sed -e '/^$/d' -e 's/ PRIVATE$//' | sort > expected-abi
rm glibconfig.cpp
nm -D -g --defined-only .libs/libgio-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff -u expected-abi actual-abi #&& rm expected-abi actual-abi

File diff suppressed because it is too large Load Diff

View File

@ -62,7 +62,7 @@ AM_CPPFLAGS = \
-DPCRE_STATIC
glib.def: glib.symbols
$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/glib.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > glib.def
$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/glib.symbols | sed -e '/^$$/d' -e 's/^/ /') > glib.def
if OS_LINUX
if HAVE_GNUC_VISIBILITY

View File

@ -5,7 +5,7 @@ egrep '^#([^i]|if).*[^\]$' "${builddir:-.}/glibconfig.h" > glibconfig.cpp
INCLUDES="-include ${top_builddir:-..}/config.h"
INCLUDES="$INCLUDES -include glibconfig.cpp $GLIB_DEBUG_FLAGS"
cpp -P -DINCLUDE_INTERNAL_SYMBOLS -DINCLUDE_VARIABLES -DG_STDIO_NO_WRAP_ON_UNIX -DALL_FILES $INCLUDES "${srcdir:-.}/glib.symbols" | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
cpp -P -DG_STDIO_NO_WRAP_ON_UNIX $INCLUDES "${srcdir:-.}/glib.symbols" | sed -e '/^$/d' -e 's/ PRIVATE$//' | sort > expected-abi
rm -f glibconfig.cpp
nm -D -g --defined-only .libs/libglib-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ egrep '^#([^i]|if).*[^\]$' "${top_builddir:-..}/glib/glibconfig.h" > glibconfig.
INCLUDES="-include ${top_builddir:-..}/config.h"
INCLUDES="$INCLUDES -include glibconfig.cpp"
cpp -DINCLUDE_VARIABLES -P $INCLUDES -DALL_FILES ${srcdir:-.}/gobject.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
cpp -DINCLUDE_VARIABLES -P $INCLUDES ${srcdir:-.}/gobject.symbols | sed -e '/^$/d' -e 's/ PRIVATE$//' | sort > expected-abi
rm glibconfig.cpp
nm -D -g --defined-only .libs/libgobject-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi

View File

@ -1,19 +1,8 @@
/* This file lists all exported symbols. It is used to generate
* the gobject.def file used to control exports on Windows.
*
* Every symbol must be included in the right
* #ifdef IN_HEADER(sym) #endif and
* #ifdef IN_FILE(sym) #endif sections.
*/
#ifdef ALL_FILES
#define IN_FILE(x) 1
#define IN_HEADER(x) 1
#endif
#if IN_HEADER(__G_BINDING_H__)
#if IN_FILE(__G_BINDING_C__)
g_binding_flags_get_type G_GNUC_CONST
g_binding_get_type G_GNUC_CONST
g_binding_flags_get_type
g_binding_get_type
g_binding_get_flags
g_binding_get_source
g_binding_get_target
@ -22,42 +11,30 @@ g_binding_get_target_property
g_object_bind_property
g_object_bind_property_full
g_object_bind_property_with_closures
#endif
#endif
#if IN_HEADER(__G_BOXED_H__)
#if IN_FILE(__G_BOXED_C__)
g_boxed_copy
g_boxed_free
g_boxed_type_register_static
g_date_get_type G_GNUC_CONST
g_date_time_get_type G_GNUC_CONST
g_gstring_get_type G_GNUC_CONST
g_strv_get_type G_GNUC_CONST
g_hash_table_get_type G_GNUC_CONST
g_array_get_type G_GNUC_CONST
g_byte_array_get_type G_GNUC_CONST
g_error_get_type G_GNUC_CONST
g_ptr_array_get_type G_GNUC_CONST
g_regex_get_type G_GNUC_CONST
g_variant_type_get_gtype G_GNUC_CONST
g_closure_get_type G_GNUC_CONST
g_value_get_type G_GNUC_CONST
g_value_array_get_type G_GNUC_CONST
g_date_get_type
g_date_time_get_type
g_gstring_get_type
g_strv_get_type
g_hash_table_get_type
g_array_get_type
g_byte_array_get_type
g_error_get_type
g_ptr_array_get_type
g_regex_get_type
g_variant_type_get_gtype
g_closure_get_type
g_value_get_type
g_value_array_get_type
g_value_set_boxed
g_value_take_boxed
g_value_dup_boxed
g_value_get_boxed
g_value_set_static_boxed
#ifndef G_DISABLE_DEPRECATED
g_value_set_boxed_take_ownership
g_variant_get_gtype G_GNUC_CONST
#endif
#endif
#endif
#if IN_HEADER(__G_MARSHAL_H__)
#if IN_FILE(__G_SIGNAL_C__)
g_variant_get_gtype
g_cclosure_marshal_BOOLEAN__FLAGS
g_cclosure_marshal_BOOLEAN__BOXED_BOXED
g_cclosure_marshal_STRING__OBJECT_POINTER
@ -80,11 +57,6 @@ g_cclosure_marshal_VOID__UINT_POINTER
g_cclosure_marshal_VOID__ULONG
g_cclosure_marshal_VOID__VARIANT
g_cclosure_marshal_VOID__VOID
#endif
#endif
#if IN_HEADER(__G_CLOSURE_H__)
#if IN_FILE(__G_CLOSURE_C__)
g_cclosure_new
g_cclosure_new_swap
g_closure_add_finalize_notifier
@ -102,11 +74,6 @@ g_closure_sink
g_closure_unref
g_signal_type_cclosure_new
g_cclosure_marshal_generic
#endif
#endif
#if IN_HEADER(__G_ENUMS_H__)
#if IN_FILE(__G_ENUMS_C__)
g_enum_complete_type_info
g_enum_get_value
g_enum_get_value_by_name
@ -121,20 +88,10 @@ g_value_set_enum
g_value_set_flags
g_value_get_enum
g_value_get_flags
#endif
#endif
#if IN_HEADER(__G_SOURCECLOSURE_H__)
#if IN_FILE(__G_SOURCECLOSURE_C__)
g_io_channel_get_type
g_io_condition_get_type
g_source_set_closure
g_source_set_dummy_callback
#endif
#endif
#if IN_HEADER(__G_OBJECT_H__)
#if IN_FILE(__G_OBJECT_C__)
g_cclosure_new_object
g_cclosure_new_object_swap
g_closure_new_object
@ -145,10 +102,10 @@ g_object_class_install_property
g_object_class_install_properties
g_object_class_list_properties
g_object_class_override_property
g_object_connect G_GNUC_NULL_TERMINATED
g_object_disconnect G_GNUC_NULL_TERMINATED
g_object_connect
g_object_disconnect
g_object_freeze_notify
g_object_get G_GNUC_NULL_TERMINATED
g_object_get
g_object_get_data
g_object_get_property
g_object_get_qdata
@ -169,7 +126,7 @@ g_object_ref
g_object_unref
g_object_remove_weak_pointer
g_object_run_dispose
g_object_set G_GNUC_NULL_TERMINATED
g_object_set
g_object_set_data
g_object_set_data_full
g_object_set_property
@ -189,16 +146,9 @@ g_value_set_object
g_value_dup_object
g_value_take_object
g_clear_object
#ifndef G_DISABLE_DEPRECATED
g_value_set_object_take_ownership
g_object_compat_control
#endif
g_signal_connect_object
#endif
#endif
#if IN_HEADER(__G_PARAMSPECS_H__)
#if IN_FILE(__G_PARAMSPECS_C__)
g_param_spec_boolean
g_param_spec_boxed
g_param_spec_char
@ -222,11 +172,6 @@ g_param_spec_ulong
g_param_spec_unichar
g_param_spec_value_array
g_param_spec_variant
#endif
#endif
#if IN_HEADER(__G_PARAM_H__)
#if IN_FILE(__G_PARAM_C__)
g_param_spec_get_blurb
g_param_spec_get_name
g_param_spec_get_nick
@ -256,14 +201,7 @@ g_value_get_param
g_value_set_param
g_value_dup_param
g_value_take_param
#ifndef G_DISABLE_DEPRECATED
g_value_set_param_take_ownership
#endif
#endif
#endif
#if IN_HEADER(__G_VALUETYPES_H__)
#if IN_FILE(__G_VALUETYPES_C__)
g_pointer_type_register_static
g_strdup_value_contents
g_value_set_boolean
@ -276,9 +214,7 @@ g_value_set_long
g_value_set_pointer
g_value_set_static_string
g_value_set_string
#ifndef G_DISABLE_DEPRECATED
g_value_set_string_take_ownership
#endif
g_value_set_uchar
g_value_set_uint
g_value_set_uint64
@ -305,11 +241,6 @@ g_value_get_variant
g_value_dup_variant
g_value_set_variant
g_value_take_variant
#endif
#endif
#if IN_HEADER(__G_SIGNAL_H__)
#if IN_FILE(__G_SIGNAL_C__)
g_signal_accumulator_first_wins
g_signal_accumulator_true_handled
g_signal_add_emission_hook
@ -347,18 +278,13 @@ g_signal_query
g_signal_remove_emission_hook
g_signal_stop_emission
g_signal_stop_emission_by_name
#endif
#endif
#if IN_HEADER(__G_TYPE_H__)
#if IN_FILE(__G_TYPE_C__)
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
g_type_check_instance_cast
g_type_check_instance_is_a
g_type_check_is_value_type
@ -411,24 +337,14 @@ g_type_test_flags
g_type_value_table_peek
g_type_class_get_private
g_type_add_class_private
#endif
#endif
#if IN_HEADER(__G_TYPE_MODULE_H__)
#if IN_FILE(__G_TYPE_MODULE_C__)
g_type_module_add_interface
g_type_module_get_type G_GNUC_CONST
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
#endif
#endif
#if IN_HEADER(__G_VALUE_ARRAY_H__)
#if IN_FILE(__G_VALUE_ARRAY_C__)
g_value_array_append
g_value_array_copy
g_value_array_free
@ -439,21 +355,11 @@ g_value_array_prepend
g_value_array_remove
g_value_array_sort
g_value_array_sort_with_data
#endif
#endif
#if IN_HEADER(__G_TYPE_PLUGIN_H__)
#if IN_FILE(__G_TYPE_PLUGIN_C__)
g_type_plugin_complete_interface_info
g_type_plugin_complete_type_info
g_type_plugin_get_type G_GNUC_CONST
g_type_plugin_get_type
g_type_plugin_unuse
g_type_plugin_use
#endif
#endif
#if IN_HEADER(__G_VALUE_H__)
#if IN_FILE(__G_VALUE_C__)
g_value_copy
g_value_fits_pointer
g_value_init
@ -465,12 +371,7 @@ g_value_type_compatible
g_value_type_transformable
g_value_unset
g_value_set_instance
#endif
#endif
#ifdef INCLUDE_VARIABLES
g_param_spec_types
#endif
#ifdef INCLUDE_INTERNAL_SYMBOLS
g_slist_remove_all PRIVATE
g_unichar_validate PRIVATE