summaryrefslogtreecommitdiff
path: root/glib
diff options
context:
space:
mode:
Diffstat (limited to 'glib')
-rw-r--r--glib/Makefile.am21
-rwxr-xr-xglib/abicheck.sh5
-rw-r--r--glib/garray.c1
-rw-r--r--glib/gasyncqueue.c1
-rw-r--r--glib/gatomic.c1
-rw-r--r--glib/gbacktrace.c1
-rw-r--r--glib/gcache.c1
-rw-r--r--glib/gcompletion.c1
-rw-r--r--glib/gconvert.c1
-rw-r--r--glib/gdataset.c2
-rw-r--r--glib/gdate.c1
-rw-r--r--glib/gdir.c1
-rw-r--r--glib/gerror.c1
-rw-r--r--glib/gfileutils.c1
-rw-r--r--glib/ghash.c1
-rw-r--r--glib/ghook.c1
-rw-r--r--glib/giochannel.c1
-rw-r--r--glib/giounix.c1
-rw-r--r--glib/giowin32.c1
-rw-r--r--glib/glib.def836
-rw-r--r--glib/glib.symbols849
-rw-r--r--glib/glist.c1
-rw-r--r--glib/gmain.c1
-rw-r--r--glib/gmarkup.c1
-rw-r--r--glib/gmem.c1
-rw-r--r--glib/gmessages.c1
-rw-r--r--glib/gnode.c1
-rw-r--r--glib/goption.c1
-rw-r--r--glib/gpattern.c1
-rw-r--r--glib/gprimes.c1
-rw-r--r--glib/gprintf.c1
-rw-r--r--glib/gqsort.c1
-rw-r--r--glib/gqueue.c1
-rw-r--r--glib/grand.c1
-rw-r--r--glib/grel.c1
-rw-r--r--glib/gscanner.c1
-rw-r--r--glib/gshell.c1
-rw-r--r--glib/gslist.c1
-rw-r--r--glib/gspawn-win32.c1
-rw-r--r--glib/gspawn.c1
-rw-r--r--glib/gstrfuncs.c1
-rw-r--r--glib/gstring.c1
-rw-r--r--glib/gthread.c1
-rw-r--r--glib/gthreadpool.c1
-rw-r--r--glib/gtimer.c1
-rw-r--r--glib/gtree.c1
-rw-r--r--glib/gunibreak.c1
-rw-r--r--glib/gunicollate.c1
-rw-r--r--glib/gunidecomp.c1
-rw-r--r--glib/guniprop.c1
-rw-r--r--glib/gutf8.c1
-rw-r--r--glib/gutils.c1
-rw-r--r--glib/gwin32.c1
-rwxr-xr-xglib/makegalias.pl105
54 files changed, 1027 insertions, 839 deletions
diff --git a/glib/Makefile.am b/glib/Makefile.am
index 827a1f3ab..536464883 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -13,16 +13,31 @@ DIST_SUBDIRS = libcharset gnulib
INCLUDES = -I$(top_srcdir) -DG_LOG_DOMAIN=\"GLib\" \
$(GLIB_DEBUG_FLAGS) -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION
+glib.def: glib.symbols
+ (echo -e EXPORTS; cpp -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 $(srcdir)/glib.symbols | sed -e '/^$$/d' -e 's/^/\t/') > glib.def
+
+galias.h: glib.symbols
+ ./makegalias.pl < $(srcdir)/glib.symbols > galias.h
+
+if OS_UNIX
+TESTS = abicheck.sh
+endif
+
+BUILT_SOURCES = galias.h
+
EXTRA_DIST = \
makefile.msc.in \
glib.rc.in \
gen-unicode-tables.pl \
- glib.def
+ makegalias.pl \
+ glib.symbols
# These may be in the builddir too
BUILT_EXTRA_DIST = \
makefile.msc \
- glib.rc
+ glib.rc \
+ glib.def \
+ galias.h
lib_LTLIBRARIES = libglib-2.0.la
@@ -184,6 +199,8 @@ uninstall-libtool-import-lib:
else
install-libtool-import-lib:
uninstall-libtool-import-lib:
+
+export_symbols = $(LIBTOOL_EXPORT_OPTIONS)
endif
libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @G_LIB_WIN32_RESOURCE@ @ICONV_LIBS@ @G_LIBS_EXTRA@
diff --git a/glib/abicheck.sh b/glib/abicheck.sh
new file mode 100755
index 000000000..77c721c89
--- /dev/null
+++ b/glib/abicheck.sh
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+cpp -P -DG_OS_UNIX -DINCLUDE_INTERNAL_SYMBOLS ${srcdir:-.}/glib.symbols | sed -e '/^$/d' | sort > expected-abi
+nm -D .libs/libglib-2.0.so | grep " T " | cut -c12- | sort > actual-abi
+diff -u expected-abi actual-abi && rm expected-abi actual-abi
diff --git a/glib/garray.c b/glib/garray.c
index 8869236c6..70a836a23 100644
--- a/glib/garray.c
+++ b/glib/garray.c
@@ -32,6 +32,7 @@
#include <string.h>
#include <stdlib.h>
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gasyncqueue.c b/glib/gasyncqueue.c
index 9e9f9a681..75baaa39f 100644
--- a/glib/gasyncqueue.c
+++ b/glib/gasyncqueue.c
@@ -26,6 +26,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gatomic.c b/glib/gatomic.c
index d9bb2d779..2cb93782d 100644
--- a/glib/gatomic.c
+++ b/glib/gatomic.c
@@ -22,6 +22,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
#include "gthreadinit.h"
diff --git a/glib/gbacktrace.c b/glib/gbacktrace.c
index e4b3fdba3..004a6aa9c 100644
--- a/glib/gbacktrace.c
+++ b/glib/gbacktrace.c
@@ -35,6 +35,7 @@
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
+#include "galias.h"
#include "glib.h"
#include "gprintfint.h"
diff --git a/glib/gcache.c b/glib/gcache.c
index a462b0275..6d506d80c 100644
--- a/glib/gcache.c
+++ b/glib/gcache.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gcompletion.c b/glib/gcompletion.c
index e8fc0ca78..5bd8007ec 100644
--- a/glib/gcompletion.c
+++ b/glib/gcompletion.c
@@ -32,6 +32,7 @@
#include <string.h>
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gconvert.c b/glib/gconvert.c
index dd811e562..c7d888096 100644
--- a/glib/gconvert.c
+++ b/glib/gconvert.c
@@ -28,6 +28,7 @@
#include <string.h>
#include <stdlib.h>
+#include "galias.h"
#include "glib.h"
#include "gprintfint.h"
#include "gthreadinit.h"
diff --git a/glib/gdataset.c b/glib/gdataset.c
index fc0a92b42..9aed3a6dc 100644
--- a/glib/gdataset.c
+++ b/glib/gdataset.c
@@ -34,7 +34,7 @@
#include "config.h"
#include <string.h>
-
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gdate.c b/glib/gdate.c
index 8e12a8dd2..8d2bb2447 100644
--- a/glib/gdate.c
+++ b/glib/gdate.c
@@ -35,6 +35,7 @@
/* #define DEBUG_MSG(args) g_message args ; */
#endif
+#include "galias.h"
#include "glib.h"
#include <time.h>
diff --git a/glib/gdir.c b/glib/gdir.c
index c9e011ef2..ba5199506 100644
--- a/glib/gdir.c
+++ b/glib/gdir.c
@@ -31,6 +31,7 @@
#include <dirent.h>
#endif
+#include "galias.h"
#include "glib.h"
#include "gdir.h"
diff --git a/glib/gerror.c b/glib/gerror.c
index 9a0729f25..412e5a44c 100644
--- a/glib/gerror.c
+++ b/glib/gerror.c
@@ -26,6 +26,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gfileutils.c b/glib/gfileutils.c
index 061b3214e..cfe1a09cd 100644
--- a/glib/gfileutils.c
+++ b/glib/gfileutils.c
@@ -20,6 +20,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
#include <sys/stat.h>
diff --git a/glib/ghash.c b/glib/ghash.c
index 829a24c2c..a979329cc 100644
--- a/glib/ghash.c
+++ b/glib/ghash.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/ghook.c b/glib/ghook.c
index b1545a0e2..70d3e36bd 100644
--- a/glib/ghook.c
+++ b/glib/ghook.c
@@ -33,6 +33,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/giochannel.c b/glib/giochannel.c
index 48b6b66eb..8a3c2da6a 100644
--- a/glib/giochannel.c
+++ b/glib/giochannel.c
@@ -42,6 +42,7 @@
#undef G_DISABLE_DEPRECATED
+#include "galias.h"
#include "glib.h"
#include "giochannel.h"
diff --git a/glib/giounix.c b/glib/giounix.c
index ecd32ecd3..44e029412 100644
--- a/glib/giounix.c
+++ b/glib/giounix.c
@@ -43,6 +43,7 @@
#include <string.h>
#include <fcntl.h>
+#include "galias.h"
#include "glib.h"
/*
diff --git a/glib/giowin32.c b/glib/giowin32.c
index 8d435538e..8fcb82709 100644
--- a/glib/giowin32.c
+++ b/glib/giowin32.c
@@ -34,6 +34,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
#include <stdlib.h>
diff --git a/glib/glib.def b/glib/glib.def
deleted file mode 100644
index 6c9abced1..000000000
--- a/glib/glib.def
+++ /dev/null
@@ -1,836 +0,0 @@
-EXPORTS
- g_allocator_free
- g_allocator_new
- g_array_append_vals
- g_array_free
- g_array_insert_vals
- g_array_new
- g_array_prepend_vals
- g_array_remove_index
- g_array_remove_index_fast
- g_array_remove_range
- g_array_set_size
- g_array_sized_new
- g_array_sort
- g_array_sort_with_data
- g_ascii_digit_value
- g_ascii_dtostr
- g_ascii_formatd
- g_ascii_strcasecmp
- g_ascii_strdown
- g_ascii_strncasecmp
- g_ascii_strtod
- g_ascii_strtoull
- g_ascii_strup
- g_ascii_table
- g_ascii_tolower
- g_ascii_toupper
- g_ascii_xdigit_value
- g_async_queue_length
- g_async_queue_length_unlocked
- g_async_queue_lock
- g_async_queue_new
- g_async_queue_pop
- g_async_queue_pop_unlocked
- g_async_queue_push
- g_async_queue_push_unlocked
- g_async_queue_ref
- g_async_queue_ref_unlocked
- g_async_queue_timed_pop
- g_async_queue_timed_pop_unlocked
- g_async_queue_try_pop
- g_async_queue_try_pop_unlocked
- g_async_queue_unlock
- g_async_queue_unref
- g_async_queue_unref_and_unlock
- g_atexit
- g_atomic_int_add
- g_atomic_int_compare_and_exchange
- g_atomic_int_exchange_and_add
-; g_atomic_int_get
- g_atomic_pointer_compare_and_exchange
-; g_atomic_pointer_get
- g_basename
- g_bit_nth_lsf
- g_bit_nth_msf
- g_bit_storage
- g_blow_chunks
- g_build_filename
- g_build_path
- g_byte_array_append
- g_byte_array_free
- g_byte_array_new
- g_byte_array_prepend
- g_byte_array_remove_index
- g_byte_array_remove_index_fast
- g_byte_array_remove_range
- g_byte_array_set_size
- g_byte_array_sized_new
- g_byte_array_sort
- g_byte_array_sort_with_data
- g_cache_destroy
- g_cache_insert
- g_cache_key_foreach
- g_cache_new
- g_cache_remove
- g_cache_value_foreach
- g_child_watch_add
- g_child_watch_add_full
- g_child_watch_source_new
- g_clear_error
- g_completion_add_items
- g_completion_clear_items
- g_completion_complete
- g_completion_complete_utf8
- g_completion_free
- g_completion_new
- g_completion_remove_items
- g_completion_set_compare
- g_convert
- g_convert_error_quark
- g_convert_with_fallback
- g_convert_with_iconv
- g_datalist_clear
- g_datalist_foreach
- g_datalist_id_get_data
- g_datalist_id_remove_no_notify
- g_datalist_id_set_data_full
- g_datalist_init
- g_dataset_destroy
- g_dataset_foreach
- g_dataset_id_get_data
- g_dataset_id_remove_no_notify
- g_dataset_id_set_data_full
- g_date_add_days
- g_date_add_months
- g_date_add_years
- g_date_clamp
- g_date_clear
- g_date_compare
- g_date_days_between
- g_date_free
- g_date_get_day
- g_date_get_day_of_year
- g_date_get_days_in_month
- g_date_get_iso8601_week_of_year
- g_date_get_julian
- g_date_get_monday_week_of_year
- g_date_get_monday_weeks_in_year
- g_date_get_month
- g_date_get_sunday_week_of_year
- g_date_get_sunday_weeks_in_year
- g_date_get_weekday
- g_date_get_year
- g_date_is_first_of_month
- g_date_is_last_of_month
- g_date_is_leap_year
- g_date_new
- g_date_new_dmy
- g_date_new_julian
- g_date_order
- g_date_set_day
- g_date_set_dmy
- g_date_set_julian
- g_date_set_month
- g_date_set_parse
- g_date_set_time
- g_date_set_year
- g_date_strftime
- g_date_subtract_days
- g_date_subtract_months
- g_date_subtract_years
- g_date_to_struct_tm
- g_date_valid
- g_date_valid_day
- g_date_valid_dmy
- g_date_valid_julian
- g_date_valid_month
- g_date_valid_weekday
- g_date_valid_year
- g_dir_close
- g_dir_open
- g_dir_read_name
- g_dir_rewind
- g_direct_equal
- g_direct_hash
- g_error_copy
- g_error_free
- g_error_matches
- g_error_new
- g_error_new_literal
- g_file_error_from_errno
- g_file_error_quark
- g_file_get_contents
- g_file_open_tmp
- g_file_read_link
- g_file_test
- g_filename_from_uri
- g_filename_from_utf8
- g_filename_to_uri
- g_filename_to_utf8
- g_find_program_in_path
- g_fprintf
- g_free
- g_get_application_name
- g_get_charset
- g_get_codeset
- g_get_current_dir
- g_get_current_time
- g_get_home_dir
- g_get_language_names
- g_get_prgname
- g_get_real_name
- g_get_system_config_dirs
- g_get_system_data_dirs
- g_get_tmp_dir
- g_get_user_cache_dir
- g_get_user_config_dir
- g_get_user_data_dir
- g_get_user_name
- g_getenv
- g_hash_table_destroy
- g_hash_table_find
- g_hash_table_foreach
- g_hash_table_foreach_remove
- g_hash_table_foreach_steal
- g_hash_table_insert
- g_hash_table_lookup
- g_hash_table_lookup_extended
- g_hash_table_new
- g_hash_table_new_full
- g_hash_table_remove
- g_hash_table_replace
- g_hash_table_size
- g_hash_table_steal
- g_hook_alloc
- g_hook_compare_ids
- g_hook_destroy
- g_hook_destroy_link
- g_hook_find
- g_hook_find_data
- g_hook_find_func
- g_hook_find_func_data
- g_hook_first_valid
- g_hook_free
- g_hook_get
- g_hook_insert_before
- g_hook_insert_sorted
- g_hook_list_clear
- g_hook_list_init
- g_hook_list_invoke
- g_hook_list_invoke_check
- g_hook_list_marshal
- g_hook_list_marshal_check
- g_hook_next_valid
- g_hook_prepend
- g_hook_ref
- g_hook_unref
- g_iconv
- g_iconv_close
- g_iconv_open
- g_idle_add
- g_idle_add_full
- g_idle_funcs
- g_idle_remove_by_data
- g_idle_source_new
- g_int_equal
- g_int_hash
- g_io_add_watch
- g_io_add_watch_full
- g_io_channel_close
- g_io_channel_error_from_errno
- g_io_channel_error_quark
- g_io_channel_flush
- g_io_channel_get_buffer_condition
- g_io_channel_get_buffer_size
- g_io_channel_get_buffered
- g_io_channel_get_close_on_unref
- g_io_channel_get_encoding
- g_io_channel_get_flags
- g_io_channel_get_line_term
- g_io_channel_init
- g_io_channel_new_file
- g_io_channel_read
- g_io_channel_read_chars
- g_io_channel_read_line
- g_io_channel_read_line_string
- g_io_channel_read_to_end
- g_io_channel_read_unichar
- g_io_channel_ref
- g_io_channel_seek
- g_io_channel_seek_position
- g_io_channel_set_buffer_size
- g_io_channel_set_buffered
- g_io_channel_set_close_on_unref
- g_io_channel_set_encoding
- g_io_channel_set_flags
- g_io_channel_set_line_term
- g_io_channel_shutdown
- g_io_channel_unix_get_fd
- g_io_channel_unix_new
- g_io_channel_unref
- g_io_channel_win32_get_fd
- g_io_channel_win32_make_pollfd
- g_io_channel_win32_new_fd
- g_io_channel_win32_new_messages
- g_io_channel_win32_new_socket
- g_io_channel_win32_new_stream_socket
- g_io_channel_win32_poll
- g_io_channel_win32_set_debug
- g_io_channel_write
- g_io_channel_write_chars
- g_io_channel_write_unichar
- g_io_create_watch
- g_io_watch_funcs
- g_list_alloc
- g_list_append
- g_list_concat
- g_list_copy
- g_list_delete_link
- g_list_find
- g_list_find_custom
- g_list_first
- g_list_foreach
- g_list_free
- g_list_free_1
- g_list_index
- g_list_insert
- g_list_insert_before
- g_list_insert_sorted
- g_list_last
- g_list_length
- g_list_nth
- g_list_nth_data
- g_list_nth_prev
- g_list_pop_allocator
- g_list_position
- g_list_prepend
- g_list_push_allocator
- g_list_remove
- g_list_remove_all
- g_list_remove_link
- g_list_reverse
- g_list_sort
- g_list_sort_with_data
- g_locale_from_utf8
- g_locale_to_utf8
- g_log
- g_log_default_handler
- g_log_remove_handler
- g_log_set_always_fatal
- g_log_set_default_handler
- g_log_set_fatal_mask
- g_log_set_handler
- g_logv
- g_main_context_acquire
- g_main_context_add_poll
- g_main_context_check
- g_main_context_default
- g_main_context_dispatch
- g_main_context_find_source_by_funcs_user_data
- g_main_context_find_source_by_id
- g_main_context_find_source_by_user_data
- g_main_context_get_poll_func
- g_main_context_iteration
- g_main_context_new
- g_main_context_pending
- g_main_context_prepare
- g_main_context_query
- g_main_context_ref
- g_main_context_release
- g_main_context_remove_poll
- g_main_context_set_poll_func
- g_main_context_unref
- g_main_context_wait
- g_main_context_wakeup
- g_main_depth
- g_main_loop_get_context
- g_main_loop_is_running
- g_main_loop_new
- g_main_loop_quit
- g_main_loop_ref
- g_main_loop_run
- g_main_loop_unref
- g_malloc
- g_malloc0
- g_markup_error_quark
- g_markup_escape_text
- g_markup_parse_context_end_parse
- g_markup_parse_context_free
- g_markup_parse_context_get_element
- g_markup_parse_context_get_position
- g_markup_parse_context_new
- g_markup_parse_context_parse
- g_markup_printf_escaped
- g_markup_vprintf_escaped
- g_mem_chunk_alloc
- g_mem_chunk_alloc0
- g_mem_chunk_clean
- g_mem_chunk_destroy
- g_mem_chunk_free
- g_mem_chunk_info
- g_mem_chunk_new
- g_mem_chunk_print
- g_mem_chunk_reset
- g_mem_is_system_malloc
- g_mem_profile
- g_mem_set_vtable
- g_memdup
- g_mkstemp
- g_node_child_index
- g_node_child_position
- g_node_children_foreach
- g_node_copy
- g_node_copy_deep
- g_node_depth
- g_node_destroy
- g_node_find
- g_node_find_child
- g_node_first_sibling
- g_node_get_root
- g_node_insert
- g_node_insert_after
- g_node_insert_before
- g_node_is_ancestor
- g_node_last_child
- g_node_last_sibling
- g_node_max_height
- g_node_n_children
- g_node_n_nodes
- g_node_new
- g_node_nth_child
- g_node_pop_allocator
- g_node_prepend
- g_node_push_allocator
- g_node_reverse_children
- g_node_traverse
- g_node_unlink
- g_nullify_pointer
- g_on_error_query
- g_on_error_stack_trace
- g_once_impl
- g_option_context_add_group
- g_option_context_add_main_entries
- g_option_context_error_quark
- g_option_context_free
- g_option_context_get_help_enabled
- g_option_context_get_ignore_unknown_options
- g_option_context_get_main_group
- g_option_context_new
- g_option_context_parse
- g_option_context_set_help_enabled
- g_option_context_set_ignore_unknown_options
- g_option_context_set_main_group
- g_option_group_add_entries
- g_option_group_free
- g_option_group_new
- g_option_group_set_error_hook
- g_option_group_set_parse_hooks
- g_option_group_set_translate_func
- g_option_group_set_translation_domain
- g_parse_debug_string
- g_path_get_basename
- g_path_get_dirname
- g_path_is_absolute
- g_path_skip_root
- g_pattern_match
- g_pattern_match_simple
- g_pattern_match_string
- g_pattern_spec_equal
- g_pattern_spec_free
- g_pattern_spec_new
- g_print
- g_printerr
- g_printf
- g_printf_string_upper_bound
- g_propagate_error
- g_ptr_array_add
- g_ptr_array_foreach
- g_ptr_array_free
- g_ptr_array_new
- g_ptr_array_remove
- g_ptr_array_remove_fast
- g_ptr_array_remove_index
- g_ptr_array_remove_index_fast
- g_ptr_array_remove_range
- g_ptr_array_set_size
- g_ptr_array_sized_new
- g_ptr_array_sort
- g_ptr_array_sort_with_data
- g_qsort_with_data
- g_quark_from_static_string
- g_quark_from_string
- g_quark_to_string
- g_quark_try_string
- g_queue_copy
- g_queue_delete_link
- g_queue_find
- g_queue_find_custom
- g_queue_foreach
- g_queue_free
- g_queue_get_length
- g_queue_index
- g_queue_insert_after
- g_queue_insert_before
- g_queue_insert_sorted
- g_queue_is_empty
- g_queue_link_index
- g_queue_new
- g_queue_peek_head
- g_queue_peek_head_link
- g_queue_peek_nth
- g_queue_peek_nth_link
- g_queue_peek_tail
- g_queue_peek_tail_link
- g_queue_pop_head
- g_queue_pop_head_link
- g_queue_pop_nth
- g_queue_pop_nth_link
- g_queue_pop_tail
- g_queue_pop_tail_link
- g_queue_push_head
- g_queue_push_head_link
- g_queue_push_nth
- g_queue_push_nth_link
- g_queue_push_tail
- g_queue_push_tail_link
- g_queue_remove
- g_queue_remove_all
- g_queue_reverse
- g_queue_sort
- g_queue_unlink
- g_rand_copy
- g_rand_double
- g_rand_double_range
- g_rand_free
- g_rand_int
- g_rand_int_range
- g_rand_new
- g_rand_new_with_seed
- g_rand_new_with_seed_array
- g_rand_set_seed
- g_rand_set_seed_array
- g_random_double
- g_random_double_range
- g_random_int
- g_random_int_range
- g_random_set_seed
- g_realloc
- g_relation_count
- g_relation_delete
- g_relation_destroy
- g_relation_exists
- g_relation_index
- g_relation_insert
- g_relation_new
- g_relation_print
- g_relation_select
- g_scanner_cur_line
- g_scanner_cur_position
- g_scanner_cur_token
- g_scanner_cur_value
- g_scanner_destroy
- g_scanner_eof
- g_scanner_error
- g_scanner_get_next_token
- g_scanner_input_file
- g_scanner_input_text
- g_scanner_lookup_symbol
- g_scanner_new
- g_scanner_peek_next_token
- g_scanner_scope_add_symbol
- g_scanner_scope_foreach_symbol
- g_scanner_scope_lookup_symbol
- g_scanner_scope_remove_symbol
- g_scanner_set_scope
- g_scanner_sync_file_offset
- g_scanner_unexp_token
- g_scanner_warn
- g_set_application_name
- g_set_error
- g_set_prgname
- g_set_print_handler
- g_set_printerr_handler
- g_setenv
- g_shell_error_quark
- g_shell_parse_argv
- g_shell_quote
- g_shell_unquote
- g_slist_alloc
- g_slist_append
- g_slist_concat
- g_slist_copy
- g_slist_delete_link
- g_slist_find
- g_slist_find_custom
- g_slist_foreach
- g_slist_free
- g_slist_free_1
- g_slist_index
- g_slist_insert
- g_slist_insert_before
- g_slist_insert_sorted
- g_slist_last
- g_slist_length
- g_slist_nth
- g_slist_nth_data
- g_slist_pop_allocator
- g_slist_position
- g_slist_prepend
- g_slist_push_allocator
- g_slist_remove
- g_slist_remove_all
- g_slist_remove_link
- g_slist_reverse
- g_slist_sort
- g_slist_sort_with_data
- g_snprintf
- g_source_add_poll
- g_source_attach
- g_source_destroy
- g_source_get_can_recurse
- g_source_get_context
- g_source_get_current_time
- g_source_get_id
- g_source_get_priority
- g_source_new
- g_source_ref
- g_source_remove
- g_source_remove_by_funcs_user_data
- g_source_remove_by_user_data
- g_source_remove_poll
- g_source_set_callback
- g_source_set_callback_indirect
- g_source_set_can_recurse
- g_source_set_priority
- g_source_unref
- g_spaced_primes_closest
- g_spawn_async
- g_spawn_async_with_pipes
- g_spawn_close_pid
- g_spawn_command_line_async
- g_spawn_command_line_sync
- g_spawn_error_quark
- g_spawn_sync
- g_sprintf
- g_static_mutex_free
- g_static_mutex_get_mutex_impl
- g_static_mutex_init
- g_static_private_free
- g_static_private_get
- g_static_private_init
- g_static_private_set
- g_static_rec_mutex_free
- g_static_rec_mutex_init
- g_static_rec_mutex_lock
- g_static_rec_mutex_lock_full
- g_static_rec_mutex_trylock
- g_static_rec_mutex_unlock
- g_static_rec_mutex_unlock_full
- g_static_rw_lock_free
- g_static_rw_lock_init
- g_static_rw_lock_reader_lock
- g_static_rw_lock_reader_trylock
- g_static_rw_lock_reader_unlock
- g_static_rw_lock_writer_lock
- g_static_rw_lock_writer_trylock
- g_static_rw_lock_writer_unlock
- g_stpcpy
- g_str_equal
- g_str_has_prefix
- g_str_has_suffix
- g_str_hash
- g_strcanon
- g_strcasecmp
- g_strchomp
- g_strchug
- g_strcompress
- g_strconcat
- g_strdelimit
- g_strdown
- g_strdup
- g_strdup_printf
- g_strdup_vprintf
- g_strdupv
- g_strerror
- g_strescape
- g_strfreev
- g_string_append
- g_string_append_c
- g_string_append_len
- g_string_append_printf
- g_string_append_unichar
- g_string_ascii_down
- g_string_ascii_up
- g_string_assign
- g_string_chunk_free
- g_string_chunk_insert
- g_string_chunk_insert_const
- g_string_chunk_insert_len
- g_string_chunk_new
- g_string_down
- g_string_equal
- g_string_erase
- g_string_free
- g_string_hash
- g_string_insert
- g_string_insert_c
- g_string_insert_len
- g_string_insert_unichar
- g_string_new
- g_string_new_len
- g_string_prepend
- g_string_prepend_c
- g_string_prepend_len
- g_string_prepend_unichar
- g_string_printf
- g_string_set_size
- g_string_sized_new
- g_string_truncate
- g_string_up
- g_strip_context
- g_strjoin
- g_strjoinv
- g_strlcat
- g_strlcpy
- g_strncasecmp
- g_strndup
- g_strnfill
- g_strreverse
- g_strrstr
- g_strrstr_len
- g_strsignal
- g_strsplit
- g_strsplit_set
- g_strstr_len
- g_strtod
- g_strup
- g_thread_create_full
- g_thread_error_quark
- g_thread_exit
- g_thread_functions_for_glib_use
- g_thread_init_glib
- g_thread_join
- g_thread_pool_free
- g_thread_pool_get_max_threads
- g_thread_pool_get_max_unused_threads
- g_thread_pool_get_num_threads
- g_thread_pool_get_num_unused_threads
- g_thread_pool_new
- g_thread_pool_push
- g_thread_pool_set_max_threads
- g_thread_pool_set_max_unused_threads
- g_thread_pool_stop_unused_threads
- g_thread_pool_unprocessed
- g_thread_self
- g_thread_set_priority
- g_thread_use_default_impl
- g_threads_got_initialized
- g_time_val_add
- g_timeout_add
- g_timeout_add_full
- g_timeout_funcs
- g_timeout_source_new
- g_timer_continue
- g_timer_destroy
- g_timer_elapsed
- g_timer_new
- g_timer_reset
- g_timer_start
- g_timer_stop
- g_trash_stack_height
- g_trash_stack_peek
- g_trash_stack_pop
- g_trash_stack_push
- g_tree_destroy
- g_tree_foreach
- g_tree_height
- g_tree_insert
- g_tree_lookup
- g_tree_lookup_extended
- g_tree_new
- g_tree_new_full
- g_tree_new_with_data
- g_tree_nnodes
- g_tree_remove
- g_tree_replace
- g_tree_search
- g_tree_steal
- g_tree_traverse
- g_try_malloc
- g_try_realloc
- g_tuples_destroy
- g_tuples_index
- g_ucs4_to_utf16
- g_ucs4_to_utf8
- g_unichar_break_type
- g_unichar_digit_value
- g_unichar_get_mirror_char
- g_unichar_isalnum
- g_unichar_isalpha
- g_unichar_iscntrl
- g_unichar_isdefined
- g_unichar_isdigit
- g_unichar_isgraph
- g_unichar_islower
- g_unichar_isprint
- g_unichar_ispunct
- g_unichar_isspace
- g_unichar_istitle
- g_unichar_isupper
- g_unichar_iswide
- g_unichar_isxdigit
- g_unichar_to_utf8
- g_unichar_tolower
- g_unichar_totitle
- g_unichar_toupper
- g_unichar_type
- g_unichar_validate
- g_unichar_xdigit_value
- g_unicode_canonical_decomposition
- g_unicode_canonical_ordering
- g_unsetenv
- g_usleep
- g_utf16_to_ucs4
- g_utf16_to_utf8
- g_utf8_casefold
- g_utf8_collate
- g_utf8_collate_key
- g_utf8_find_next_char
- g_utf8_find_prev_char
- g_utf8_get_char
- g_utf8_get_char_validated
- g_utf8_normalize
- g_utf8_offset_to_pointer
- g_utf8_pointer_to_offset
- g_utf8_prev_char
- g_utf8_skip
- g_utf8_strchr
- g_utf8_strdown
- g_utf8_strlen
- g_utf8_strncpy
- g_utf8_strrchr
- g_utf8_strreverse
- g_utf8_strup
- g_utf8_to_ucs4
- g_utf8_to_ucs4_fast
- g_utf8_to_utf16
- g_utf8_validate
- g_vasprintf
- g_vfprintf
- g_vprintf
- g_vsnprintf
- g_vsprintf
- g_win32_error_message
- g_win32_ftruncate
- g_win32_get_package_installation_directory
- g_win32_get_package_installation_subdirectory
- g_win32_get_windows_version
- g_win32_getlocale
- glib_binary_age
- glib_check_version
- glib_interface_age
- glib_major_version
- glib_mem_profiler_table
- glib_micro_version
- glib_minor_version
diff --git a/glib/glib.symbols b/glib/glib.symbols
new file mode 100644
index 000000000..216c817a7
--- /dev/null
+++ b/glib/glib.symbols
@@ -0,0 +1,849 @@
+g_allocator_free
+g_allocator_new
+g_array_append_vals
+g_array_free
+g_array_insert_vals
+g_array_new
+g_array_prepend_vals
+g_array_remove_index
+g_array_remove_index_fast
+g_array_remove_range
+g_array_set_size
+g_array_sized_new
+g_array_sort
+g_array_sort_with_data
+g_ascii_digit_value
+g_ascii_dtostr
+g_ascii_formatd
+g_ascii_strcasecmp
+g_ascii_strdown
+g_ascii_strncasecmp
+g_ascii_strtod
+g_ascii_strtoull
+g_ascii_strup
+g_ascii_tolower
+g_ascii_toupper
+g_ascii_xdigit_value
+g_async_queue_length
+g_async_queue_length_unlocked
+g_async_queue_lock
+g_async_queue_new
+g_async_queue_pop
+g_async_queue_pop_unlocked
+g_async_queue_push
+g_async_queue_push_unlocked
+g_async_queue_ref
+g_async_queue_ref_unlocked
+g_async_queue_timed_pop
+g_async_queue_timed_pop_unlocked
+g_async_queue_try_pop
+g_async_queue_try_pop_unlocked
+g_async_queue_unlock
+g_async_queue_unref
+g_async_queue_unref_and_unlock
+g_atexit
+g_atomic_int_add
+g_atomic_int_compare_and_exchange
+g_atomic_int_exchange_and_add
+g_atomic_pointer_compare_and_exchange
+#ifdef G_ATOMIC_OP_MEMORY_BARRIER_NEEDED
+g_atomic_int_get
+g_atomic_pointer_get
+#endif
+g_basename
+g_blow_chunks
+g_build_filename
+g_build_path
+g_byte_array_append
+g_byte_array_free
+g_byte_array_new
+g_byte_array_prepend
+g_byte_array_remove_index
+g_byte_array_remove_index_fast
+g_byte_array_remove_range
+g_byte_array_set_size
+g_byte_array_sized_new
+g_byte_array_sort
+g_byte_array_sort_with_data
+g_cache_destroy
+g_cache_insert
+g_cache_key_foreach
+g_cache_new
+g_cache_remove
+g_cache_value_foreach
+g_child_watch_add
+g_child_watch_add_full
+g_child_watch_source_new
+g_clear_error
+g_completion_add_items
+g_completion_clear_items
+g_completion_complete
+g_completion_complete_utf8
+g_completion_free
+g_completion_new
+g_completion_remove_items
+g_completion_set_compare
+g_convert
+g_convert_error_quark
+g_convert_with_fallback
+g_convert_with_iconv
+g_datalist_clear
+g_datalist_foreach
+g_datalist_id_get_data
+g_datalist_id_remove_no_notify
+g_datalist_id_set_data_full
+g_datalist_init
+g_dataset_destroy
+g_dataset_foreach
+g_dataset_id_get_data
+g_dataset_id_remove_no_notify
+g_dataset_id_set_data_full
+g_date_add_days
+g_date_add_months
+g_date_add_years
+g_date_clamp
+g_date_clear
+g_date_compare
+g_date_days_between
+g_date_free
+g_date_get_day
+g_date_get_day_of_year
+g_date_get_days_in_month
+g_date_get_iso8601_week_of_year
+g_date_get_julian
+g_date_get_monday_week_of_year
+g_date_get_monday_weeks_in_year
+g_date_get_month
+g_date_get_sunday_week_of_year
+g_date_get_sunday_weeks_in_year
+g_date_get_weekday
+g_date_get_year
+g_date_is_first_of_month
+g_date_is_last_of_month
+g_date_is_leap_year
+g_date_new
+g_date_new_dmy
+g_date_new_julian
+g_date_order
+g_date_set_day
+g_date_set_dmy
+g_date_set_julian
+g_date_set_month
+g_date_set_parse
+g_date_set_time
+g_date_set_year
+g_date_strftime
+g_date_subtract_days
+g_date_subtract_months
+g_date_subtract_years
+g_date_to_struct_tm
+g_date_valid
+g_date_valid_day
+g_date_valid_dmy
+g_date_valid_julian
+g_date_valid_month
+g_date_valid_weekday
+g_date_valid_year
+g_dir_close
+g_direct_equal
+g_direct_hash
+g_dir_open
+g_dir_read_name
+g_dir_rewind
+g_error_copy
+g_error_free
+g_error_matches
+g_error_new
+g_error_new_literal
+g_file_error_from_errno
+g_file_error_quark
+g_file_get_contents
+g_filename_from_uri
+g_filename_from_utf8
+g_filename_to_uri
+g_filename_to_utf8
+g_file_open_tmp
+g_file_read_link
+g_file_test
+g_find_program_in_path
+g_fprintf
+g_free
+g_get_application_name
+g_get_charset
+g_get_current_dir
+g_get_current_time
+g_getenv
+g_get_home_dir
+g_get_language_names
+g_get_prgname
+g_get_real_name
+g_get_system_config_dirs
+g_get_system_data_dirs
+g_get_tmp_dir
+g_get_user_cache_dir
+g_get_user_config_dir
+g_get_user_data_dir
+g_get_user_name
+g_hash_table_destroy
+g_hash_table_find
+g_hash_table_foreach
+g_hash_table_foreach_remove
+g_hash_table_foreach_steal
+g_hash_table_insert
+g_hash_table_lookup
+g_hash_table_lookup_extended
+g_hash_table_new
+g_hash_table_new_full
+g_hash_table_remove
+g_hash_table_replace
+g_hash_table_size
+g_hash_table_steal
+g_hook_alloc
+g_hook_compare_ids
+g_hook_destroy
+g_hook_destroy_link
+g_hook_find
+g_hook_find_data
+g_hook_find_func
+g_hook_find_func_data
+g_hook_first_valid
+g_hook_free
+g_hook_get
+g_hook_insert_before
+g_hook_insert_sorted
+g_hook_list_clear
+g_hook_list_init
+g_hook_list_invoke
+g_hook_list_invoke_check
+g_hook_list_marshal
+g_hook_list_marshal_check
+g_hook_next_valid
+g_hook_prepend
+g_hook_ref
+g_hook_unref
+g_iconv
+g_iconv_close
+g_iconv_open
+g_idle_add
+g_idle_add_full
+g_idle_remove_by_data
+g_idle_source_new
+g_int_equal
+g_int_hash
+g_io_add_watch
+g_io_add_watch_full
+g_io_channel_close
+g_io_channel_error_from_errno
+g_io_channel_error_quark
+g_io_channel_flush
+g_io_channel_get_buffer_condition
+g_io_channel_get_buffered
+g_io_channel_get_buffer_size
+g_io_channel_get_close_on_unref
+g_io_channel_get_encoding
+g_io_channel_get_flags
+g_io_channel_get_line_term
+g_io_channel_init
+g_io_channel_new_file
+g_io_channel_read
+g_io_channel_read_chars
+g_io_channel_read_line
+g_io_channel_read_line_string
+g_io_channel_read_to_end
+g_io_channel_read_unichar
+g_io_channel_ref
+g_io_channel_seek
+g_io_channel_seek_position
+g_io_channel_set_buffered
+g_io_channel_set_buffer_size
+g_io_channel_set_close_on_unref
+g_io_channel_set_encoding
+g_io_channel_set_flags
+g_io_channel_set_line_term
+g_io_channel_shutdown
+g_io_channel_unix_get_fd
+g_io_channel_unix_new
+g_io_channel_unref
+#ifdef G_OS_WIN32
+g_io_channel_win32_get_fd
+g_io_channel_win32_make_pollfd
+g_io_channel_win32_new_fd
+g_io_channel_win32_new_messages
+g_io_channel_win32_new_socket
+g_io_channel_win32_new_stream_socket
+g_io_channel_win32_poll
+g_io_channel_win32_set_debug
+#endif
+g_io_channel_write
+g_io_channel_write_chars
+g_io_channel_write_unichar
+g_io_create_watch
+glib_check_version
+g_list_alloc
+g_list_append
+g_list_concat
+g_list_copy
+g_list_delete_link
+g_list_find
+g_list_find_custom
+g_list_first
+g_list_foreach
+g_list_free
+g_list_free_1
+g_list_index
+g_list_insert
+g_list_insert_before
+g_list_insert_sorted
+g_list_last
+g_list_length
+g_list_nth
+g_list_nth_data
+g_list_nth_prev
+g_list_pop_allocator
+g_list_position
+g_list_prepend
+g_list_push_allocator
+g_list_remove
+g_list_remove_all
+g_list_remove_link
+g_list_reverse
+g_list_sort
+g_list_sort_with_data
+g_locale_from_utf8
+g_locale_to_utf8
+g_log
+g_log_default_handler
+g_log_remove_handler
+g_log_set_always_fatal
+g_log_set_default_handler
+g_log_set_fatal_mask
+g_log_set_handler
+g_logv
+g_main_context_acquire
+g_main_context_add_poll
+g_main_context_check
+g_main_context_default
+g_main_context_dispatch
+g_main_context_find_source_by_funcs_user_data
+g_main_context_find_source_by_id
+g_main_context_find_source_by_user_data
+g_main_context_get_poll_func
+g_main_context_iteration
+g_main_context_new
+g_main_context_pending
+g_main_context_prepare
+g_main_context_query
+g_main_context_ref
+g_main_context_release
+g_main_context_remove_poll
+g_main_context_set_poll_func
+g_main_context_unref
+g_main_context_wait
+g_main_context_wakeup
+g_main_depth
+g_main_loop_get_context
+g_main_loop_is_running
+g_main_loop_new
+g_main_loop_quit
+g_main_loop_ref
+g_main_loop_run
+g_main_loop_unref
+g_malloc
+g_malloc0
+g_markup_error_quark
+g_markup_escape_text
+g_markup_parse_context_end_parse
+g_markup_parse_context_free
+g_markup_parse_context_get_element
+g_markup_parse_context_get_position
+g_markup_parse_context_new
+g_markup_parse_context_parse
+g_markup_printf_escaped
+g_markup_vprintf_escaped
+g_mem_chunk_alloc
+g_mem_chunk_alloc0
+g_mem_chunk_clean
+g_mem_chunk_destroy
+g_mem_chunk_free
+g_mem_chunk_info
+g_mem_chunk_new
+g_mem_chunk_print
+g_mem_chunk_reset
+g_memdup
+g_mem_is_system_malloc
+g_mem_profile
+g_mem_set_vtable
+g_mkstemp
+g_node_child_index
+g_node_child_position
+g_node_children_foreach
+g_node_copy
+g_node_copy_deep
+g_node_depth
+g_node_destroy
+g_node_find
+g_node_find_child
+g_node_first_sibling
+g_node_get_root
+g_node_insert
+g_node_insert_after
+g_node_insert_before
+g_node_is_ancestor
+g_node_last_child
+g_node_last_sibling
+g_node_max_height
+g_node_n_children
+g_node_new
+g_node_n_nodes
+g_node_nth_child
+g_node_pop_allocator
+g_node_prepend
+g_node_push_allocator
+g_node_reverse_children
+g_node_traverse
+g_node_unlink
+g_nullify_pointer
+g_once_impl
+g_on_error_query
+g_on_error_stack_trace
+g_option_context_add_group
+g_option_context_add_main_entries
+g_option_context_error_quark
+g_option_context_free
+g_option_context_get_help_enabled
+g_option_context_get_ignore_unknown_options
+g_option_context_get_main_group
+g_option_context_new
+g_option_context_parse
+g_option_context_set_help_enabled
+g_option_context_set_ignore_unknown_options
+g_option_context_set_main_group
+g_option_group_add_entries
+g_option_group_free
+g_option_group_new
+g_option_group_set_error_hook
+g_option_group_set_parse_hooks
+g_option_group_set_translate_func
+g_option_group_set_translation_domain
+g_parse_debug_string
+g_path_get_basename
+g_path_get_dirname
+g_path_is_absolute
+g_path_skip_root
+g_pattern_match
+g_pattern_match_simple
+g_pattern_match_string
+g_pattern_spec_equal
+g_pattern_spec_free
+g_pattern_spec_new
+g_print
+g_printerr
+g_printf
+g_printf_string_upper_bound
+g_propagate_error
+g_ptr_array_add
+g_ptr_array_foreach
+g_ptr_array_free
+g_ptr_array_new
+g_ptr_array_remove
+g_ptr_array_remove_fast
+g_ptr_array_remove_index
+g_ptr_array_remove_index_fast
+g_ptr_array_remove_range
+g_ptr_array_set_size
+g_ptr_array_sized_new
+g_ptr_array_sort
+g_ptr_array_sort_with_data
+g_qsort_with_data
+g_quark_from_static_string
+g_quark_from_string
+g_quark_to_string
+g_quark_try_string
+g_queue_copy
+g_queue_delete_link
+g_queue_find
+g_queue_find_custom
+g_queue_foreach
+g_queue_free
+g_queue_get_length
+g_queue_index
+g_queue_insert_after
+g_queue_insert_before
+g_queue_insert_sorted
+g_queue_is_empty
+g_queue_link_index
+g_queue_new
+g_queue_peek_head
+g_queue_peek_head_link
+g_queue_peek_nth
+g_queue_peek_nth_link
+g_queue_peek_tail
+g_queue_peek_tail_link
+g_queue_pop_head
+g_queue_pop_head_link
+g_queue_pop_nth
+g_queue_pop_nth_link
+g_queue_pop_tail
+g_queue_pop_tail_link
+g_queue_push_head
+g_queue_push_head_link
+g_queue_push_nth
+g_queue_push_nth_link
+g_queue_push_tail
+g_queue_push_tail_link
+g_queue_remove
+g_queue_remove_all
+g_queue_reverse
+g_queue_sort
+g_queue_unlink
+g_rand_copy
+g_rand_double
+g_rand_double_range
+g_rand_free
+g_rand_int
+g_rand_int_range
+g_rand_new
+g_rand_new_with_seed
+g_rand_new_with_seed_array
+g_random_double
+g_random_double_range
+g_random_int
+g_random_int_range
+g_random_set_seed
+g_rand_set_seed
+g_rand_set_seed_array
+g_realloc
+g_relation_count
+g_relation_delete
+g_relation_destroy
+g_relation_exists
+g_relation_index
+g_relation_insert
+g_relation_new
+g_relation_print
+g_relation_select
+g_return_if_fail_warning
+g_scanner_cur_line
+g_scanner_cur_position
+g_scanner_cur_token
+g_scanner_cur_value
+g_scanner_destroy
+g_scanner_eof
+g_scanner_error
+g_scanner_get_next_token
+g_scanner_input_file
+g_scanner_input_text
+g_scanner_lookup_symbol
+g_scanner_new
+g_scanner_peek_next_token
+g_scanner_scope_add_symbol
+g_scanner_scope_foreach_symbol
+g_scanner_scope_lookup_symbol
+g_scanner_scope_remove_symbol
+g_scanner_set_scope
+g_scanner_sync_file_offset
+g_scanner_unexp_token
+g_scanner_warn
+g_set_application_name
+g_setenv
+g_set_error
+g_set_prgname
+g_set_printerr_handler
+g_set_print_handler
+g_shell_error_quark
+g_shell_parse_argv
+g_shell_quote
+g_shell_unquote
+g_slist_alloc
+g_slist_append
+g_slist_concat
+g_slist_copy
+g_slist_delete_link
+g_slist_find
+g_slist_find_custom
+g_slist_foreach
+g_slist_free
+g_slist_free_1
+g_slist_index
+g_slist_insert
+g_slist_insert_before
+g_slist_insert_sorted
+g_slist_last
+g_slist_length
+g_slist_nth
+g_slist_nth_data
+g_slist_pop_allocator
+g_slist_position
+g_slist_prepend
+g_slist_push_allocator
+g_slist_remove
+g_slist_remove_all
+g_slist_remove_link
+g_slist_reverse
+g_slist_sort
+g_slist_sort_with_data
+g_snprintf
+g_source_add_poll
+g_source_attach
+g_source_destroy
+g_source_get_can_recurse
+g_source_get_context
+g_source_get_current_time
+g_source_get_id
+g_source_get_priority
+g_source_new
+g_source_ref
+g_source_remove
+g_source_remove_by_funcs_user_data
+g_source_remove_by_user_data
+g_source_remove_poll
+g_source_set_callback
+g_source_set_callback_indirect
+g_source_set_can_recurse
+g_source_set_priority
+g_source_unref
+g_spaced_primes_closest
+g_spawn_async
+g_spawn_async_with_pipes
+g_spawn_close_pid
+g_spawn_command_line_async
+g_spawn_command_line_sync
+g_spawn_error_quark
+g_spawn_sync
+g_sprintf
+g_static_mutex_free
+g_static_mutex_get_mutex_impl
+g_static_mutex_init
+g_static_private_free
+g_static_private_get
+g_static_private_init
+g_static_private_set
+g_static_rec_mutex_free
+g_static_rec_mutex_init
+g_static_rec_mutex_lock
+g_static_rec_mutex_lock_full
+g_static_rec_mutex_trylock
+g_static_rec_mutex_unlock
+g_static_rec_mutex_unlock_full
+g_static_rw_lock_free
+g_static_rw_lock_init
+g_static_rw_lock_reader_lock
+g_static_rw_lock_reader_trylock
+g_static_rw_lock_reader_unlock
+g_static_rw_lock_writer_lock
+g_static_rw_lock_writer_trylock
+g_static_rw_lock_writer_unlock
+g_stpcpy
+g_strcanon
+g_strcasecmp
+g_strchomp
+g_strchug
+g_strcompress
+g_strconcat
+g_strdelimit
+g_strdown
+g_strdup
+g_strdup_printf
+g_strdupv
+g_strdup_vprintf
+g_str_equal
+g_strerror
+g_strescape
+g_strfreev
+g_str_hash
+g_str_has_prefix
+g_str_has_suffix
+g_string_append
+g_string_append_len
+g_string_append_printf
+g_string_append_unichar
+g_string_ascii_down
+g_string_ascii_up
+g_string_assign
+g_string_chunk_free
+g_string_chunk_insert
+g_string_chunk_insert_const
+g_string_chunk_insert_len
+g_string_chunk_new
+g_string_down
+g_string_equal
+g_string_erase
+g_string_free
+g_string_hash
+g_string_insert
+g_string_insert_c
+g_string_insert_len
+g_string_insert_unichar
+g_string_new
+g_string_new_len
+g_string_prepend
+g_string_prepend_c
+g_string_prepend_len
+g_string_prepend_unichar
+g_string_printf
+g_string_set_size
+g_string_sized_new
+g_string_truncate
+g_string_up
+g_strip_context
+g_strjoin
+g_strjoinv
+g_strlcat
+g_strlcpy
+g_strncasecmp
+g_strndup
+g_strnfill
+g_strreverse
+g_strrstr
+g_strrstr_len
+g_strsignal
+g_strsplit
+g_strsplit_set
+g_strstr_len
+g_strtod
+g_strup
+g_strv_length
+g_thread_create_full
+g_thread_error_quark
+g_thread_exit
+g_thread_join
+g_thread_pool_free
+g_thread_pool_get_max_threads
+g_thread_pool_get_max_unused_threads
+g_thread_pool_get_num_threads
+g_thread_pool_get_num_unused_threads
+g_thread_pool_new
+g_thread_pool_push
+g_thread_pool_set_max_threads
+g_thread_pool_set_max_unused_threads
+g_thread_pool_stop_unused_threads
+g_thread_pool_unprocessed
+g_thread_self
+g_thread_set_priority
+g_timeout_add
+g_timeout_add_full
+g_timeout_source_new
+g_timer_continue
+g_timer_destroy
+g_timer_elapsed
+g_timer_new
+g_timer_reset
+g_timer_start
+g_timer_stop
+g_time_val_add
+g_tree_destroy
+g_tree_foreach
+g_tree_height
+g_tree_insert
+g_tree_lookup
+g_tree_lookup_extended
+g_tree_new
+g_tree_new_full
+g_tree_new_with_data
+g_tree_nnodes
+g_tree_remove
+g_tree_replace
+g_tree_search
+g_tree_steal
+g_tree_traverse
+g_try_malloc
+g_try_realloc
+g_tuples_destroy
+g_tuples_index
+g_ucs4_to_utf16
+g_ucs4_to_utf8
+g_unichar_break_type
+g_unichar_digit_value
+g_unichar_get_mirror_char
+g_unichar_isalnum
+g_unichar_isalpha
+g_unichar_iscntrl
+g_unichar_isdefined
+g_unichar_isdigit
+g_unichar_isgraph
+g_unichar_islower
+g_unichar_isprint
+g_unichar_ispunct
+g_unichar_isspace
+g_unichar_istitle
+g_unichar_isupper
+g_unichar_iswide
+g_unichar_isxdigit
+g_unichar_tolower
+g_unichar_totitle
+g_unichar_toupper
+g_unichar_to_utf8
+g_unichar_type
+g_unichar_validate
+g_unichar_xdigit_value
+g_unicode_canonical_decomposition
+g_unicode_canonical_ordering
+g_unsetenv
+g_usleep
+g_utf16_to_ucs4
+g_utf16_to_utf8
+g_utf8_casefold
+g_utf8_collate
+g_utf8_collate_key
+g_utf8_find_next_char
+g_utf8_find_prev_char
+g_utf8_get_char
+g_utf8_get_char_validated
+g_utf8_normalize
+g_utf8_offset_to_pointer
+g_utf8_pointer_to_offset
+g_utf8_prev_char
+g_utf8_strchr
+g_utf8_strdown
+g_utf8_strlen
+g_utf8_strncpy
+g_utf8_strrchr
+g_utf8_strreverse
+g_utf8_strup
+g_utf8_to_ucs4
+g_utf8_to_ucs4_fast
+g_utf8_to_utf16
+g_utf8_validate
+g_vasprintf
+g_vfprintf
+g_vprintf
+g_vsnprintf
+g_vsprintf
+#ifdef G_OS_WIN32
+g_win32_error_message
+g_win32_ftruncate
+g_win32_get_package_installation_directory
+g_win32_get_package_installation_subdirectory
+g_win32_get_windows_version
+g_win32_getlocale
+#endif
+#ifdef INCLUDE_VARIABLES
+g_ascii_table
+g_utf8_skip
+g_idle_funcs
+g_timeout_funcs
+g_io_watch_funcs
+g_child_watch_funcs
+g_thread_functions_for_glib_use
+g_thread_use_default_impl
+g_threads_got_initialized
+glib_binary_age
+glib_interface_age
+glib_major_version
+glib_mem_profiler_table
+glib_micro_version
+glib_minor_version
+#endif
+#ifdef INCLUDE_INTERNAL_SYMBOLS
+/* internal or inline symbols */
+g_get_codeset
+g_string_append_c
+g_thread_init_glib
+g_trash_stack_height
+g_trash_stack_peek
+g_trash_stack_pop
+g_trash_stack_push
+g_bit_nth_lsf
+g_bit_nth_msf
+g_bit_storage
+#endif
diff --git a/glib/glist.c b/glib/glist.c
index 842167bc3..2a4f74d74 100644
--- a/glib/glist.c
+++ b/glib/glist.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gmain.c b/glib/gmain.c
index e33067f62..55fb9a734 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -36,6 +36,7 @@
/* uncomment the next line to get poll() debugging info */
/* #define G_MAIN_POLL_DEBUG */
+#include "galias.h"
#include "glib.h"
#include "gthreadinit.h"
#include <signal.h>
diff --git a/glib/gmarkup.c b/glib/gmarkup.c
index 9503a53e6..31411a90d 100644
--- a/glib/gmarkup.c
+++ b/glib/gmarkup.c
@@ -26,6 +26,7 @@
#include <stdlib.h>
#include <errno.h>
+#include "galias.h"
#include "glib.h"
#include "glibintl.h"
diff --git a/glib/gmem.c b/glib/gmem.c
index d9304857e..d114927aa 100644
--- a/glib/gmem.c
+++ b/glib/gmem.c
@@ -34,6 +34,7 @@
#include <string.h>
#include <signal.h>
+#include "galias.h"
#include "glib.h"
#include "gthreadinit.h"
diff --git a/glib/gmessages.c b/glib/gmessages.c
index 8e33e080a..0aac03666 100644
--- a/glib/gmessages.c
+++ b/glib/gmessages.c
@@ -41,6 +41,7 @@
#include <locale.h>
#include <errno.h>
+#include "galias.h"
#include "glib.h"
#include "gdebug.h"
#include "gprintfint.h"
diff --git a/glib/gnode.c b/glib/gnode.c
index b5bce67fc..90dde6fef 100644
--- a/glib/gnode.c
+++ b/glib/gnode.c
@@ -33,6 +33,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
#ifndef DISABLE_MEM_POOLS
diff --git a/glib/goption.c b/glib/goption.c
index 507a84a24..ea9ce086c 100644
--- a/glib/goption.c
+++ b/glib/goption.c
@@ -21,6 +21,7 @@
#include "goption.h"
+#include "galias.h"
#include "glib.h"
#include "gi18n.h"
diff --git a/glib/gpattern.c b/glib/gpattern.c
index 68bafe81d..b619501d8 100644
--- a/glib/gpattern.c
+++ b/glib/gpattern.c
@@ -21,6 +21,7 @@
#include <string.h>
+#include "galias.h"
#include "gpattern.h"
#include "gmacros.h"
diff --git a/glib/gprimes.c b/glib/gprimes.c
index 439c1c89e..013ace3a5 100644
--- a/glib/gprimes.c
+++ b/glib/gprimes.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gprintf.c b/glib/gprintf.c
index 522a7f66c..a6a1e22ca 100644
--- a/glib/gprintf.c
+++ b/glib/gprintf.c
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include "galias.h"
#include "glib.h"
#include "gprintf.h"
#include "gprintfint.h"
diff --git a/glib/gqsort.c b/glib/gqsort.c
index b44785be6..ac45e8b59 100644
--- a/glib/gqsort.c
+++ b/glib/gqsort.c
@@ -36,6 +36,7 @@
#include <string.h>
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gqueue.c b/glib/gqueue.c
index b81167022..0d57b4877 100644
--- a/glib/gqueue.c
+++ b/glib/gqueue.c
@@ -26,6 +26,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/grand.c b/glib/grand.c
index d2a00f59a..7650836e7 100644
--- a/glib/grand.c
+++ b/glib/grand.c
@@ -47,6 +47,7 @@
#include <unistd.h>
#endif
+#include "galias.h"
#include "glib.h"
#include "gthreadinit.h"
diff --git a/glib/grel.c b/glib/grel.c
index d45deb641..54fab40ef 100644
--- a/glib/grel.c
+++ b/glib/grel.c
@@ -32,6 +32,7 @@
#include <stdarg.h>
#include <string.h>
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gscanner.c b/glib/gscanner.c
index d9c730982..c54b3ac66 100644
--- a/glib/gscanner.c
+++ b/glib/gscanner.c
@@ -42,6 +42,7 @@
#include <unistd.h>
#endif
+#include "galias.h"
#include "glib.h"
#include "gprintfint.h"
diff --git a/glib/gshell.c b/glib/gshell.c
index 849e015dc..679ebf2c6 100644
--- a/glib/gshell.c
+++ b/glib/gshell.c
@@ -24,6 +24,7 @@
#include <string.h>
+#include "galias.h"
#include "glib.h"
#ifdef _
diff --git a/glib/gslist.c b/glib/gslist.c
index 4cac78fbc..2fca5e075 100644
--- a/glib/gslist.c
+++ b/glib/gslist.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gspawn-win32.c b/glib/gspawn-win32.c
index 3c2a944c4..70eaaa8ef 100644
--- a/glib/gspawn-win32.c
+++ b/glib/gspawn-win32.c
@@ -44,6 +44,7 @@
#include <config.h>
+#include "galias.h"
#include "glib.h"
#include "gprintfint.h"
diff --git a/glib/gspawn.c b/glib/gspawn.c
index 2fd31b8ba..b683cdf2f 100644
--- a/glib/gspawn.c
+++ b/glib/gspawn.c
@@ -35,6 +35,7 @@
#include <sys/select.h>
#endif /* HAVE_SYS_SELECT_H */
+#include "galias.h"
#include "glib.h"
#include "glibintl.h"
diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c
index f551145bc..d3d4c488d 100644
--- a/glib/gstrfuncs.c
+++ b/glib/gstrfuncs.c
@@ -43,6 +43,7 @@
#include <signal.h>
#endif
+#include "galias.h"
#include "glib.h"
#include "gprintf.h"
#include "gprintfint.h"
diff --git a/glib/gstring.c b/glib/gstring.c
index 6a4a9db67..9b6aaffa5 100644
--- a/glib/gstring.c
+++ b/glib/gstring.c
@@ -39,6 +39,7 @@
#include <string.h>
#include <ctype.h>
+#include "galias.h"
#include "glib.h"
#include "gprintf.h"
diff --git a/glib/gthread.c b/glib/gthread.c
index 5d507448e..9505b1593 100644
--- a/glib/gthread.c
+++ b/glib/gthread.c
@@ -40,6 +40,7 @@
#include <string.h>
+#include "galias.h"
#include "glib.h"
#include "gthreadinit.h"
diff --git a/glib/gthreadpool.c b/glib/gthreadpool.c
index 39cdd0f16..101e5e30a 100644
--- a/glib/gthreadpool.c
+++ b/glib/gthreadpool.c
@@ -26,6 +26,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gtimer.c b/glib/gtimer.c
index b2f516bc4..6a05198c1 100644
--- a/glib/gtimer.c
+++ b/glib/gtimer.c
@@ -29,6 +29,7 @@
*/
#include "config.h"
+#include "galias.h"
#include "glibconfig.h"
#ifdef HAVE_UNISTD_H
diff --git a/glib/gtree.c b/glib/gtree.c
index 6d4f1083c..bbdc7d55d 100644
--- a/glib/gtree.c
+++ b/glib/gtree.c
@@ -30,6 +30,7 @@
#include "config.h"
+#include "galias.h"
#include "glib.h"
diff --git a/glib/gunibreak.c b/glib/gunibreak.c
index 2087d1ed2..1d4c20e97 100644
--- a/glib/gunibreak.c
+++ b/glib/gunibreak.c
@@ -22,6 +22,7 @@
#include <stdlib.h>
+#include "galias.h"
#include "glib.h"
#include "gunibreak.h"
diff --git a/glib/gunicollate.c b/glib/gunicollate.c
index ff7ad3d68..22e802562 100644
--- a/glib/gunicollate.c
+++ b/glib/gunicollate.c
@@ -26,6 +26,7 @@
#include <wchar.h>
#endif
+#include "galias.h"
#include "glib.h"
#include "gunicodeprivate.h"
diff --git a/glib/gunidecomp.c b/glib/gunidecomp.c
index 8c32b1062..d4cf0ec37 100644
--- a/glib/gunidecomp.c
+++ b/glib/gunidecomp.c
@@ -23,6 +23,7 @@
#include <stdlib.h>
+#include "galias.h"
#include "glib.h"
#include "gunidecomp.h"
#include "gunicomp.h"
diff --git a/glib/guniprop.c b/glib/guniprop.c
index bd5fc4e8f..1c3fb9f50 100644
--- a/glib/guniprop.c
+++ b/glib/guniprop.c
@@ -25,6 +25,7 @@
#include <string.h>
#include <locale.h>
+#include "galias.h"
#include "glib.h"
#include "gunichartables.h"
#include "gunicodeprivate.h"
diff --git a/glib/gutf8.c b/glib/gutf8.c
index 88627a21e..b958a45fe 100644
--- a/glib/gutf8.c
+++ b/glib/gutf8.c
@@ -27,6 +27,7 @@
#endif
#include <string.h>
+#include "galias.h"
#include "glib.h"
#ifdef G_PLATFORM_WIN32
diff --git a/glib/gutils.c b/glib/gutils.c
index fe7d44a6a..83a753c25 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -53,6 +53,7 @@
*/
#define G_IMPLEMENT_INLINES 1
#define __G_UTILS_C__
+#include "galias.h"
#include "glib.h"
#include "gprintfint.h"
diff --git a/glib/gwin32.c b/glib/gwin32.c
index 14509e469..05d49b32d 100644
--- a/glib/gwin32.c
+++ b/glib/gwin32.c
@@ -31,6 +31,7 @@
#include "config.h"
+#include "galias.h"
#include "glibconfig.h"
#include <stdlib.h>
diff --git a/glib/makegalias.pl b/glib/makegalias.pl
new file mode 100755
index 000000000..d3d1a456b
--- /dev/null
+++ b/glib/makegalias.pl
@@ -0,0 +1,105 @@
+#!/usr/bin/perl -w
+
+print <<EOF;
+/* Generated by makegalias.pl */
+
+#ifndef DISABLE_VISIBILITY
+
+#include "glibconfig.h"
+
+#ifdef G_HAVE_GNUC_VISIBILITY
+
+#ifdef G_DISABLE_DEPRECATED
+#define WAS_NO_G_DEPR
+#endif
+#undef G_DISABLE_DEPRECATED
+
+#include "glib.h"
+
+#include "gprintf.h"
+#ifdef G_OS_WIN32
+#include "gwin32.h"
+#endif
+
+EOF
+
+my $in_comment = 0;
+my $in_skipped_section = 0;
+
+while (<>) {
+
+ # ignore empty lines
+ next if /^\s*$/;
+
+ # skip comments
+ if ($_ =~ /^\s*\/\*/)
+ {
+ $in_comment = 1;
+ }
+
+ if ($in_comment)
+ {
+ if ($_ =~ /\*\/\s$/)
+ {
+ $in_comment = 0;
+ }
+
+ next;
+ }
+
+ # handle ifdefs
+ if ($_ =~ /^\#endif/)
+ {
+ if (!$in_skipped_section)
+ {
+ print $_;
+ }
+
+ $in_skipped_section = 0;
+
+ next;
+ }
+
+ if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS)/)
+ {
+ $in_skipped_section = 1;
+ }
+
+ if ($in_skipped_section)
+ {
+ next;
+ }
+
+ if ($_ =~ /^\#ifdef\s+G/)
+ {
+ print $_;
+
+ next;
+ }
+
+
+ my $str = $_;
+ chomp($str);
+ my $alias = "IA__".$str;
+
+ print <<EOF
+extern __typeof ($str) $alias __attribute((visibility("hidden")));
+extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
+\#define $str $alias
+
+EOF
+}
+
+print <<EOF;
+
+#ifdef WAS_NO_G_DEPR
+#define G_DISABLE_DEPRECATED
+#undef WAS_NO_G_DEPR
+#endif
+
+#endif /* G_HAVE_GNUC_VISIBILITY */
+
+#endif /* DISABLE_VISIBILITY */
+EOF
+
+