summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/glib-2.0/files/configure-libtool.patch11
-rw-r--r--meta/packages/glib-2.0/files/glib-mkenums-nowarn.patch8
-rw-r--r--meta/packages/glib-2.0/files/gtk-doc.patch59
-rw-r--r--meta/packages/glib-2.0/files/visibility.patch6123
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.12.6.bb6
-rw-r--r--meta/packages/glib-2.0/glib.inc40
6 files changed, 6247 insertions, 0 deletions
diff --git a/meta/packages/glib-2.0/files/configure-libtool.patch b/meta/packages/glib-2.0/files/configure-libtool.patch
new file mode 100644
index 0000000000..bbbf5df985
--- /dev/null
+++ b/meta/packages/glib-2.0/files/configure-libtool.patch
@@ -0,0 +1,11 @@
1--- glib-2.8.4/configure.in.orig 2006-06-05 13:34:08.000000000 +0100
2+++ glib-2.8.4/configure.in 2006-06-05 13:34:36.000000000 +0100
3@@ -1106,7 +1106,7 @@
4 dnl No use for this on Win32
5 G_MODULE_LDFLAGS=
6 else
7- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
8+ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
9 fi
10 dnl G_MODULE_IMPL= don't reset, so cmd-line can override
11 G_MODULE_NEED_USCORE=0
diff --git a/meta/packages/glib-2.0/files/glib-mkenums-nowarn.patch b/meta/packages/glib-2.0/files/glib-mkenums-nowarn.patch
new file mode 100644
index 0000000000..1ab6e379c2
--- /dev/null
+++ b/meta/packages/glib-2.0/files/glib-mkenums-nowarn.patch
@@ -0,0 +1,8 @@
1--- glib-2.6.5/gobject/glib-mkenums.in.orig 2006-06-15 21:28:23.436946024 -0600
2+++ glib-2.6.5/gobject/glib-mkenums.in 2006-06-15 21:28:35.417124760 -0600
3@@ -1,4 +1,4 @@
4-#!@PERL_PATH@ -w
5+#!@PERL_PATH@
6
7 # glib-mkenums.pl
8 # Information about the current enumeration
diff --git a/meta/packages/glib-2.0/files/gtk-doc.patch b/meta/packages/glib-2.0/files/gtk-doc.patch
new file mode 100644
index 0000000000..4b9c234e21
--- /dev/null
+++ b/meta/packages/glib-2.0/files/gtk-doc.patch
@@ -0,0 +1,59 @@
1--- glib/acinclude.m4 2004-05-08 11:14:46.000000000 +0100
2+++ glib/acinclude.m4 2004-05-08 11:14:55.000000000 +0100
3@@ -446,3 +446,56 @@
4 ])
5
6
7+dnl -*- mode: autoconf -*-
8+
9+# serial 1
10+
11+dnl Usage:
12+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
13+AC_DEFUN([GTK_DOC_CHECK],
14+[
15+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
16+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
17+ dnl for overriding the documentation installation directory
18+ AC_ARG_WITH(html-dir,
19+ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
20+ [with_html_dir='${datadir}/gtk-doc/html'])
21+ HTML_DIR="$with_html_dir"
22+ AC_SUBST(HTML_DIR)
23+
24+ dnl enable/disable documentation building
25+ AC_ARG_ENABLE(gtk-doc,
26+ AC_HELP_STRING([--enable-gtk-doc],
27+ [use gtk-doc to build documentation [default=no]]),,
28+ enable_gtk_doc=no)
29+
30+ have_gtk_doc=no
31+ if test -z "$PKG_CONFIG"; then
32+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
33+ fi
34+ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
35+ have_gtk_doc=yes
36+ fi
37+
38+ dnl do we want to do a version check?
39+ifelse([$1],[],,
40+ [gtk_doc_min_version=$1
41+ if test "$have_gtk_doc" = yes; then
42+ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
43+ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
44+ AC_MSG_RESULT(yes)
45+ else
46+ AC_MSG_RESULT(no)
47+ have_gtk_doc=no
48+ fi
49+ fi
50+])
51+ if test x$enable_gtk_doc = xyes; then
52+ if test "$have_gtk_doc" != yes; then
53+ enable_gtk_doc=no
54+ fi
55+ fi
56+
57+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
58+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
59+])
diff --git a/meta/packages/glib-2.0/files/visibility.patch b/meta/packages/glib-2.0/files/visibility.patch
new file mode 100644
index 0000000000..7cea8b037b
--- /dev/null
+++ b/meta/packages/glib-2.0/files/visibility.patch
@@ -0,0 +1,6123 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- glib-2.4.6/glib/garray.h~visibility.patch
7+++ glib-2.4.6/glib/garray.h
8@@ -63,102 +63,102 @@
9 #define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &(v), 1)
10 #define g_array_index(a,t,i) (((t*) (a)->data) [(i)])
11
12-GArray* g_array_new (gboolean zero_terminated,
13+GLIB_FUNC GArray* g_array_new (gboolean zero_terminated,
14 gboolean clear_,
15- guint element_size);
16-GArray* g_array_sized_new (gboolean zero_terminated,
17+ guint element_size);;
18+GLIB_FUNC GArray* g_array_sized_new (gboolean zero_terminated,
19 gboolean clear_,
20 guint element_size,
21- guint reserved_size);
22-gchar* g_array_free (GArray *array,
23- gboolean free_segment);
24-GArray* g_array_append_vals (GArray *array,
25+ guint reserved_size);;
26+GLIB_FUNC gchar* g_array_free (GArray *array,
27+ gboolean free_segment);;
28+GLIB_FUNC GArray* g_array_append_vals (GArray *array,
29 gconstpointer data,
30- guint len);
31-GArray* g_array_prepend_vals (GArray *array,
32+ guint len);;
33+GLIB_FUNC GArray* g_array_prepend_vals (GArray *array,
34 gconstpointer data,
35- guint len);
36-GArray* g_array_insert_vals (GArray *array,
37+ guint len);;
38+GLIB_FUNC GArray* g_array_insert_vals (GArray *array,
39 guint index_,
40 gconstpointer data,
41- guint len);
42-GArray* g_array_set_size (GArray *array,
43- guint length);
44-GArray* g_array_remove_index (GArray *array,
45- guint index_);
46-GArray* g_array_remove_index_fast (GArray *array,
47- guint index_);
48-GArray* g_array_remove_range (GArray *array,
49+ guint len);;
50+GLIB_FUNC GArray* g_array_set_size (GArray *array,
51+ guint length);;
52+GLIB_FUNC GArray* g_array_remove_index (GArray *array,
53+ guint index_);;
54+GLIB_FUNC GArray* g_array_remove_index_fast (GArray *array,
55+ guint index_);;
56+GLIB_FUNC GArray* g_array_remove_range (GArray *array,
57 guint index_,
58- guint length);
59-void g_array_sort (GArray *array,
60- GCompareFunc compare_func);
61-void g_array_sort_with_data (GArray *array,
62+ guint length);;
63+GLIB_FUNC void g_array_sort (GArray *array,
64+ GCompareFunc compare_func);;
65+GLIB_FUNC void g_array_sort_with_data (GArray *array,
66 GCompareDataFunc compare_func,
67- gpointer user_data);
68+ gpointer user_data);;
69
70 /* Resizable pointer array. This interface is much less complicated
71 * than the above. Add appends a pointer. Remove fills any cleared
72 * spot and shortens the array. remove_fast will again distort order.
73 */
74 #define g_ptr_array_index(array,index_) ((array)->pdata)[index_]
75-GPtrArray* g_ptr_array_new (void);
76-GPtrArray* g_ptr_array_sized_new (guint reserved_size);
77-gpointer* g_ptr_array_free (GPtrArray *array,
78- gboolean free_seg);
79-void g_ptr_array_set_size (GPtrArray *array,
80- gint length);
81-gpointer g_ptr_array_remove_index (GPtrArray *array,
82- guint index_);
83-gpointer g_ptr_array_remove_index_fast (GPtrArray *array,
84- guint index_);
85-gboolean g_ptr_array_remove (GPtrArray *array,
86- gpointer data);
87-gboolean g_ptr_array_remove_fast (GPtrArray *array,
88- gpointer data);
89-void g_ptr_array_remove_range (GPtrArray *array,
90+GLIB_FUNC GPtrArray* g_ptr_array_new (void);
91+GLIB_FUNC GPtrArray* g_ptr_array_sized_new (guint reserved_size);
92+GLIB_FUNC gpointer* g_ptr_array_free (GPtrArray *array,
93+ gboolean free_seg);;
94+GLIB_FUNC void g_ptr_array_set_size (GPtrArray *array,
95+ gint length);;
96+GLIB_FUNC gpointer g_ptr_array_remove_index (GPtrArray *array,
97+ guint index_);;
98+GLIB_FUNC gpointer g_ptr_array_remove_index_fast (GPtrArray *array,
99+ guint index_);;
100+GLIB_FUNC gboolean g_ptr_array_remove (GPtrArray *array,
101+ gpointer data);;
102+GLIB_FUNC gboolean g_ptr_array_remove_fast (GPtrArray *array,
103+ gpointer data);;
104+GLIB_FUNC void g_ptr_array_remove_range (GPtrArray *array,
105 guint index_,
106- guint length);
107-void g_ptr_array_add (GPtrArray *array,
108- gpointer data);
109-void g_ptr_array_sort (GPtrArray *array,
110- GCompareFunc compare_func);
111-void g_ptr_array_sort_with_data (GPtrArray *array,
112+ guint length);;
113+GLIB_FUNC void g_ptr_array_add (GPtrArray *array,
114+ gpointer data);;
115+GLIB_FUNC void g_ptr_array_sort (GPtrArray *array,
116+ GCompareFunc compare_func);;
117+GLIB_FUNC void g_ptr_array_sort_with_data (GPtrArray *array,
118 GCompareDataFunc compare_func,
119- gpointer user_data);
120-void g_ptr_array_foreach (GPtrArray *array,
121+ gpointer user_data);;
122+GLIB_FUNC void g_ptr_array_foreach (GPtrArray *array,
123 GFunc func,
124- gpointer user_data);
125+ gpointer user_data);;
126
127
128 /* Byte arrays, an array of guint8. Implemented as a GArray,
129 * but type-safe.
130 */
131
132-GByteArray* g_byte_array_new (void);
133-GByteArray* g_byte_array_sized_new (guint reserved_size);
134-guint8* g_byte_array_free (GByteArray *array,
135- gboolean free_segment);
136-GByteArray* g_byte_array_append (GByteArray *array,
137+GLIB_FUNC GByteArray* g_byte_array_new (void);
138+GLIB_FUNC GByteArray* g_byte_array_sized_new (guint reserved_size);
139+GLIB_FUNC guint8* g_byte_array_free (GByteArray *array,
140+ gboolean free_segment);;
141+GLIB_FUNC GByteArray* g_byte_array_append (GByteArray *array,
142 const guint8 *data,
143- guint len);
144-GByteArray* g_byte_array_prepend (GByteArray *array,
145+ guint len);;
146+GLIB_FUNC GByteArray* g_byte_array_prepend (GByteArray *array,
147 const guint8 *data,
148- guint len);
149-GByteArray* g_byte_array_set_size (GByteArray *array,
150- guint length);
151-GByteArray* g_byte_array_remove_index (GByteArray *array,
152- guint index_);
153-GByteArray* g_byte_array_remove_index_fast (GByteArray *array,
154- guint index_);
155-GByteArray* g_byte_array_remove_range (GByteArray *array,
156+ guint len);;
157+GLIB_FUNC GByteArray* g_byte_array_set_size (GByteArray *array,
158+ guint length);;
159+GLIB_FUNC GByteArray* g_byte_array_remove_index (GByteArray *array,
160+ guint index_);;
161+GLIB_FUNC GByteArray* g_byte_array_remove_index_fast (GByteArray *array,
162+ guint index_);;
163+GLIB_FUNC GByteArray* g_byte_array_remove_range (GByteArray *array,
164 guint index_,
165- guint length);
166-void g_byte_array_sort (GByteArray *array,
167- GCompareFunc compare_func);
168-void g_byte_array_sort_with_data (GByteArray *array,
169+ guint length);;
170+GLIB_FUNC void g_byte_array_sort (GByteArray *array,
171+ GCompareFunc compare_func);;
172+GLIB_FUNC void g_byte_array_sort_with_data (GByteArray *array,
173 GCompareDataFunc compare_func,
174- gpointer user_data);
175+ gpointer user_data);;
176
177
178 G_END_DECLS
179--- glib-2.4.6/glib/gasyncqueue.h~visibility.patch
180+++ glib-2.4.6/glib/gasyncqueue.h
181@@ -37,45 +37,45 @@
182 */
183
184 /* Get a new GAsyncQueue with the ref_count 1 */
185-GAsyncQueue* g_async_queue_new (void);
186+GLIB_FUNC GAsyncQueue* g_async_queue_new (void);
187
188 /* Lock and unlock a GAsyncQueue. All functions lock the queue for
189 * themselves, but in certain cirumstances you want to hold the lock longer,
190 * thus you lock the queue, call the *_unlocked functions and unlock it again.
191 */
192-void g_async_queue_lock (GAsyncQueue *queue);
193-void g_async_queue_unlock (GAsyncQueue *queue);
194+GLIB_FUNC void g_async_queue_lock (GAsyncQueue *queue);
195+GLIB_FUNC void g_async_queue_unlock (GAsyncQueue *queue);
196
197 /* Ref and unref the GAsyncQueue. */
198-void g_async_queue_ref (GAsyncQueue *queue);
199-void g_async_queue_unref (GAsyncQueue *queue);
200+GLIB_FUNC void g_async_queue_ref (GAsyncQueue *queue);
201+GLIB_FUNC void g_async_queue_unref (GAsyncQueue *queue);
202 #ifndef G_DISABLE_DEPRECATED
203 /* You don't have to hold the lock for calling *_ref and *_unref anymore. */
204-void g_async_queue_ref_unlocked (GAsyncQueue *queue);
205-void g_async_queue_unref_and_unlock (GAsyncQueue *queue);
206+GLIB_FUNC void g_async_queue_ref_unlocked (GAsyncQueue *queue);
207+GLIB_FUNC void g_async_queue_unref_and_unlock (GAsyncQueue *queue);
208 #endif /* !G_DISABLE_DEPRECATED */
209
210 /* Push data into the async queue. Must not be NULL. */
211-void g_async_queue_push (GAsyncQueue *queue,
212- gpointer data);
213-void g_async_queue_push_unlocked (GAsyncQueue *queue,
214- gpointer data);
215+GLIB_FUNC void g_async_queue_push (GAsyncQueue *queue,
216+ gpointer data);;
217+GLIB_FUNC void g_async_queue_push_unlocked (GAsyncQueue *queue,
218+ gpointer data);;
219
220 /* Pop data from the async queue. When no data is there, the thread is blocked
221 * until data arrives. */
222-gpointer g_async_queue_pop (GAsyncQueue *queue);
223-gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);
224+GLIB_FUNC gpointer g_async_queue_pop (GAsyncQueue *queue);
225+GLIB_FUNC gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);
226
227 /* Try to pop data. NULL is returned in case of empty queue. */
228-gpointer g_async_queue_try_pop (GAsyncQueue *queue);
229-gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);
230+GLIB_FUNC gpointer g_async_queue_try_pop (GAsyncQueue *queue);
231+GLIB_FUNC gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);
232
233 /* Wait for data until at maximum until end_time is reached. NULL is returned
234 * in case of empty queue. */
235-gpointer g_async_queue_timed_pop (GAsyncQueue *queue,
236- GTimeVal *end_time);
237-gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue,
238- GTimeVal *end_time);
239+GLIB_FUNC gpointer g_async_queue_timed_pop (GAsyncQueue *queue,
240+ GTimeVal *end_time);;
241+GLIB_FUNC gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue,
242+ GTimeVal *end_time);;
243
244 /* Return the length of the queue. Negative values mean that threads
245 * are waiting, positve values mean that there are entries in the
246@@ -83,8 +83,8 @@
247 * the number of waiting threads, g_async_queue_length == 0 could also
248 * mean 'n' entries in the queue and 'n' thread waiting. Such can
249 * happen due to locking of the queue or due to scheduling. */
250-gint g_async_queue_length (GAsyncQueue *queue);
251-gint g_async_queue_length_unlocked (GAsyncQueue *queue);
252+GLIB_FUNC gint g_async_queue_length (GAsyncQueue *queue);
253+GLIB_FUNC gint g_async_queue_length_unlocked (GAsyncQueue *queue);
254
255 G_END_DECLS
256
257--- glib-2.4.6/glib/gatomic.h~visibility.patch
258+++ glib-2.4.6/glib/gatomic.h
259@@ -34,20 +34,20 @@
260
261 G_BEGIN_DECLS
262
263-gint g_atomic_int_exchange_and_add (gint *atomic,
264- gint val);
265-void g_atomic_int_add (gint *atomic,
266- gint val);
267-gboolean g_atomic_int_compare_and_exchange (gint *atomic,
268+GLIB_FUNC gint g_atomic_int_exchange_and_add (gint *atomic,
269+ gint val);;
270+GLIB_FUNC void g_atomic_int_add (gint *atomic,
271+ gint val);;
272+GLIB_FUNC gboolean g_atomic_int_compare_and_exchange (gint *atomic,
273 gint oldval,
274- gint newval);
275-gboolean g_atomic_pointer_compare_and_exchange (gpointer *atomic,
276+ gint newval);;
277+GLIB_FUNC gboolean g_atomic_pointer_compare_and_exchange (gpointer *atomic,
278 gpointer oldval,
279- gpointer newval);
280+ gpointer newval);;
281
282 #ifdef G_ATOMIC_OP_MEMORY_BARRIER_NEEDED
283-gint g_atomic_int_get (gint *atomic);
284-gpointer g_atomic_pointer_get (gpointer *atomic);
285+GLIB_FUNC gint g_atomic_int_get (gint *atomic);
286+GLIB_FUNC gpointer g_atomic_pointer_get (gpointer *atomic);
287 #else /* !G_ATOMIC_OP_MEMORY_BARRIER_NEEDED */
288 # define g_atomic_int_get(atomic) (*(atomic))
289 # define g_atomic_pointer_get(atomic) (*(atomic))
290--- glib-2.4.6/glib/gbacktrace.h~visibility.patch
291+++ glib-2.4.6/glib/gbacktrace.h
292@@ -40,8 +40,8 @@
293 * The prg_name arg is required by gdb to find the executable, if it is
294 * passed as NULL, g_on_error_query() will try g_get_prgname().
295 */
296-void g_on_error_query (const gchar *prg_name);
297-void g_on_error_stack_trace (const gchar *prg_name);
298+GLIB_FUNC void g_on_error_query (const gchar *prg_name);
299+GLIB_FUNC void g_on_error_stack_trace (const gchar *prg_name);
300
301 /* Hacker macro to place breakpoints for selected machines.
302 * Actual use is strongly discouraged of course ;)
303--- glib-2.4.6/glib/gcache.h~visibility.patch
304+++ glib-2.4.6/glib/gcache.h
305@@ -39,24 +39,24 @@
306
307 /* Caches
308 */
309-GCache* g_cache_new (GCacheNewFunc value_new_func,
310+GLIB_FUNC GCache* g_cache_new (GCacheNewFunc value_new_func,
311 GCacheDestroyFunc value_destroy_func,
312 GCacheDupFunc key_dup_func,
313 GCacheDestroyFunc key_destroy_func,
314 GHashFunc hash_key_func,
315 GHashFunc hash_value_func,
316- GEqualFunc key_equal_func);
317-void g_cache_destroy (GCache *cache);
318-gpointer g_cache_insert (GCache *cache,
319- gpointer key);
320-void g_cache_remove (GCache *cache,
321- gconstpointer value);
322-void g_cache_key_foreach (GCache *cache,
323+ GEqualFunc key_equal_func);;
324+GLIB_FUNC void g_cache_destroy (GCache *cache);
325+GLIB_FUNC gpointer g_cache_insert (GCache *cache,
326+ gpointer key);;
327+GLIB_FUNC void g_cache_remove (GCache *cache,
328+ gconstpointer value);;
329+GLIB_FUNC void g_cache_key_foreach (GCache *cache,
330 GHFunc func,
331- gpointer user_data);
332-void g_cache_value_foreach (GCache *cache,
333+ gpointer user_data);;
334+GLIB_FUNC void g_cache_value_foreach (GCache *cache,
335 GHFunc func,
336- gpointer user_data);
337+ gpointer user_data);;
338
339 G_END_DECLS
340
341--- glib-2.4.6/glib/gcompletion.h~visibility.patch
342+++ glib-2.4.6/glib/gcompletion.h
343@@ -52,21 +52,21 @@
344 GCompletionStrncmpFunc strncmp_func;
345 };
346
347-GCompletion* g_completion_new (GCompletionFunc func);
348-void g_completion_add_items (GCompletion* cmp,
349- GList* items);
350-void g_completion_remove_items (GCompletion* cmp,
351- GList* items);
352-void g_completion_clear_items (GCompletion* cmp);
353-GList* g_completion_complete (GCompletion* cmp,
354+GLIB_FUNC GCompletion* g_completion_new (GCompletionFunc func);
355+GLIB_FUNC void g_completion_add_items (GCompletion* cmp,
356+ GList* items);;
357+GLIB_FUNC void g_completion_remove_items (GCompletion* cmp,
358+ GList* items);;
359+GLIB_FUNC void g_completion_clear_items (GCompletion* cmp);
360+GLIB_FUNC GList* g_completion_complete (GCompletion* cmp,
361 const gchar* prefix,
362- gchar** new_prefix);
363-GList* g_completion_complete_utf8 (GCompletion *cmp,
364+ gchar** new_prefix);;
365+GLIB_FUNC GList* g_completion_complete_utf8 (GCompletion *cmp,
366 const gchar* prefix,
367- gchar** new_prefix);
368-void g_completion_set_compare (GCompletion *cmp,
369- GCompletionStrncmpFunc strncmp_func);
370-void g_completion_free (GCompletion* cmp);
371+ gchar** new_prefix);;
372+GLIB_FUNC void g_completion_set_compare (GCompletion *cmp,
373+ GCompletionStrncmpFunc strncmp_func);;
374+GLIB_FUNC void g_completion_free (GCompletion* cmp);
375
376 G_END_DECLS
377
378--- glib-2.4.6/glib/gconvert.h~visibility.patch
379+++ glib-2.4.6/glib/gconvert.h
380@@ -43,79 +43,79 @@
381 } GConvertError;
382
383 #define G_CONVERT_ERROR g_convert_error_quark()
384-GQuark g_convert_error_quark (void);
385+GLIB_FUNC GQuark g_convert_error_quark (void);
386
387 /* Thin wrappers around iconv
388 */
389 typedef struct _GIConv *GIConv;
390
391-GIConv g_iconv_open (const gchar *to_codeset,
392- const gchar *from_codeset);
393-size_t g_iconv (GIConv converter,
394+GLIB_FUNC GIConv g_iconv_open (const gchar *to_codeset,
395+ const gchar *from_codeset);;
396+GLIB_FUNC size_t g_iconv (GIConv converter,
397 gchar **inbuf,
398 gsize *inbytes_left,
399 gchar **outbuf,
400- gsize *outbytes_left);
401-gint g_iconv_close (GIConv converter);
402+ gsize *outbytes_left);;
403+GLIB_FUNC gint g_iconv_close (GIConv converter);
404
405
406-gchar* g_convert (const gchar *str,
407+GLIB_FUNC gchar* g_convert (const gchar *str,
408 gssize len,
409 const gchar *to_codeset,
410 const gchar *from_codeset,
411 gsize *bytes_read,
412 gsize *bytes_written,
413- GError **error);
414-gchar* g_convert_with_iconv (const gchar *str,
415+ GError **error);;
416+GLIB_FUNC gchar* g_convert_with_iconv (const gchar *str,
417 gssize len,
418 GIConv converter,
419 gsize *bytes_read,
420 gsize *bytes_written,
421- GError **error);
422-gchar* g_convert_with_fallback (const gchar *str,
423+ GError **error);;
424+GLIB_FUNC gchar* g_convert_with_fallback (const gchar *str,
425 gssize len,
426 const gchar *to_codeset,
427 const gchar *from_codeset,
428 gchar *fallback,
429 gsize *bytes_read,
430 gsize *bytes_written,
431- GError **error);
432+ GError **error);;
433
434
435 /* Convert between libc's idea of strings and UTF-8.
436 */
437-gchar* g_locale_to_utf8 (const gchar *opsysstring,
438+GLIB_FUNC gchar* g_locale_to_utf8 (const gchar *opsysstring,
439 gssize len,
440 gsize *bytes_read,
441 gsize *bytes_written,
442- GError **error);
443-gchar* g_locale_from_utf8 (const gchar *utf8string,
444+ GError **error);;
445+GLIB_FUNC gchar* g_locale_from_utf8 (const gchar *utf8string,
446 gssize len,
447 gsize *bytes_read,
448 gsize *bytes_written,
449- GError **error);
450+ GError **error);;
451
452 /* Convert between the operating system (or C runtime)
453 * representation of file names and UTF-8.
454 */
455-gchar* g_filename_to_utf8 (const gchar *opsysstring,
456+GLIB_FUNC gchar* g_filename_to_utf8 (const gchar *opsysstring,
457 gssize len,
458 gsize *bytes_read,
459 gsize *bytes_written,
460- GError **error);
461-gchar* g_filename_from_utf8 (const gchar *utf8string,
462+ GError **error);;
463+GLIB_FUNC gchar* g_filename_from_utf8 (const gchar *utf8string,
464 gssize len,
465 gsize *bytes_read,
466 gsize *bytes_written,
467- GError **error);
468+ GError **error);;
469
470-gchar *g_filename_from_uri (const gchar *uri,
471+GLIB_FUNC gchar *g_filename_from_uri (const gchar *uri,
472 gchar **hostname,
473- GError **error);
474+ GError **error);;
475
476-gchar *g_filename_to_uri (const gchar *filename,
477+GLIB_FUNC gchar *g_filename_to_uri (const gchar *filename,
478 const gchar *hostname,
479- GError **error);
480+ GError **error);;
481
482
483 G_END_DECLS
484--- glib-2.4.6/glib/gdataset.h~visibility.patch
485+++ glib-2.4.6/glib/gdataset.h
486@@ -39,19 +39,19 @@
487
488 /* Keyed Data List
489 */
490-void g_datalist_init (GData **datalist);
491-void g_datalist_clear (GData **datalist);
492-gpointer g_datalist_id_get_data (GData **datalist,
493- GQuark key_id);
494-void g_datalist_id_set_data_full (GData **datalist,
495+GLIB_FUNC void g_datalist_init (GData **datalist);
496+GLIB_FUNC void g_datalist_clear (GData **datalist);
497+GLIB_FUNC gpointer g_datalist_id_get_data (GData **datalist,
498+ GQuark key_id);;
499+GLIB_FUNC void g_datalist_id_set_data_full (GData **datalist,
500 GQuark key_id,
501 gpointer data,
502- GDestroyNotify destroy_func);
503-gpointer g_datalist_id_remove_no_notify (GData **datalist,
504- GQuark key_id);
505-void g_datalist_foreach (GData **datalist,
506+ GDestroyNotify destroy_func);;
507+GLIB_FUNC gpointer g_datalist_id_remove_no_notify (GData **datalist,
508+ GQuark key_id);;
509+GLIB_FUNC void g_datalist_foreach (GData **datalist,
510 GDataForeachFunc func,
511- gpointer user_data);
512+ gpointer user_data);;
513 #define g_datalist_id_set_data(dl, q, d) \
514 g_datalist_id_set_data_full ((dl), (q), (d), NULL)
515 #define g_datalist_id_remove_data(dl, q) \
516@@ -70,18 +70,18 @@
517
518 /* Location Associated Keyed Data
519 */
520-void g_dataset_destroy (gconstpointer dataset_location);
521-gpointer g_dataset_id_get_data (gconstpointer dataset_location,
522- GQuark key_id);
523-void g_dataset_id_set_data_full (gconstpointer dataset_location,
524+GLIB_FUNC void g_dataset_destroy (gconstpointer dataset_location);
525+GLIB_FUNC gpointer g_dataset_id_get_data (gconstpointer dataset_location,
526+ GQuark key_id);;
527+GLIB_FUNC void g_dataset_id_set_data_full (gconstpointer dataset_location,
528 GQuark key_id,
529 gpointer data,
530- GDestroyNotify destroy_func);
531-gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
532- GQuark key_id);
533-void g_dataset_foreach (gconstpointer dataset_location,
534+ GDestroyNotify destroy_func);;
535+GLIB_FUNC gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
536+ GQuark key_id);;
537+GLIB_FUNC void g_dataset_foreach (gconstpointer dataset_location,
538 GDataForeachFunc func,
539- gpointer user_data);
540+ gpointer user_data);;
541 #define g_dataset_id_set_data(l, k, d) \
542 g_dataset_id_set_data_full ((l), (k), (d), NULL)
543 #define g_dataset_id_remove_data(l, k) \
544--- glib-2.4.6/glib/gdate.h~visibility.patch
545+++ glib-2.4.6/glib/gdate.h
546@@ -114,121 +114,121 @@
547 * to get a usable object. You can also allocate a GDate statically,
548 * then call g_date_clear() to initialize.
549 */
550-GDate* g_date_new (void);
551-GDate* g_date_new_dmy (GDateDay day,
552+GLIB_FUNC GDate* g_date_new (void);
553+GLIB_FUNC GDate* g_date_new_dmy (GDateDay day,
554 GDateMonth month,
555- GDateYear year);
556-GDate* g_date_new_julian (guint32 julian_day);
557-void g_date_free (GDate *date);
558+ GDateYear year);;
559+GLIB_FUNC GDate* g_date_new_julian (guint32 julian_day);
560+GLIB_FUNC void g_date_free (GDate *date);
561
562 /* check g_date_valid() after doing an operation that might fail, like
563 * _parse. Almost all g_date operations are undefined on invalid
564 * dates (the exceptions are the mutators, since you need those to
565 * return to validity).
566 */
567-gboolean g_date_valid (const GDate *date);
568-gboolean g_date_valid_day (GDateDay day) G_GNUC_CONST;
569-gboolean g_date_valid_month (GDateMonth month) G_GNUC_CONST;
570-gboolean g_date_valid_year (GDateYear year) G_GNUC_CONST;
571-gboolean g_date_valid_weekday (GDateWeekday weekday) G_GNUC_CONST;
572-gboolean g_date_valid_julian (guint32 julian_date) G_GNUC_CONST;
573-gboolean g_date_valid_dmy (GDateDay day,
574+GLIB_FUNC gboolean g_date_valid (const GDate *date);
575+GLIB_FUNC gboolean g_date_valid_day (GDateDay day) G_GNUC_CONST;;
576+GLIB_FUNC gboolean g_date_valid_month (GDateMonth month) G_GNUC_CONST;;
577+GLIB_FUNC gboolean g_date_valid_year (GDateYear year) G_GNUC_CONST;;
578+GLIB_FUNC gboolean g_date_valid_weekday (GDateWeekday weekday) G_GNUC_CONST;;
579+GLIB_FUNC gboolean g_date_valid_julian (guint32 julian_date) G_GNUC_CONST;;
580+GLIB_FUNC gboolean g_date_valid_dmy (GDateDay day,
581 GDateMonth month,
582- GDateYear year) G_GNUC_CONST;
583+ GDateYear year) G_GNUC_CONST;;
584
585-GDateWeekday g_date_get_weekday (const GDate *date);
586-GDateMonth g_date_get_month (const GDate *date);
587-GDateYear g_date_get_year (const GDate *date);
588-GDateDay g_date_get_day (const GDate *date);
589-guint32 g_date_get_julian (const GDate *date);
590-guint g_date_get_day_of_year (const GDate *date);
591+GLIB_FUNC GDateWeekday g_date_get_weekday (const GDate *date);
592+GLIB_FUNC GDateMonth g_date_get_month (const GDate *date);
593+GLIB_FUNC GDateYear g_date_get_year (const GDate *date);
594+GLIB_FUNC GDateDay g_date_get_day (const GDate *date);
595+GLIB_FUNC guint32 g_date_get_julian (const GDate *date);
596+GLIB_FUNC guint g_date_get_day_of_year (const GDate *date);
597 /* First monday/sunday is the start of week 1; if we haven't reached
598 * that day, return 0. These are not ISO weeks of the year; that
599 * routine needs to be added.
600 * these functions return the number of weeks, starting on the
601 * corrsponding day
602 */
603-guint g_date_get_monday_week_of_year (const GDate *date);
604-guint g_date_get_sunday_week_of_year (const GDate *date);
605+GLIB_FUNC guint g_date_get_monday_week_of_year (const GDate *date);
606+GLIB_FUNC guint g_date_get_sunday_week_of_year (const GDate *date);
607
608 /* If you create a static date struct you need to clear it to get it
609 * in a sane state before use. You can clear a whole array at
610 * once with the ndates argument.
611 */
612-void g_date_clear (GDate *date,
613- guint n_dates);
614+GLIB_FUNC void g_date_clear (GDate *date,
615+ guint n_dates);;
616
617 /* The parse routine is meant for dates typed in by a user, so it
618 * permits many formats but tries to catch common typos. If your data
619 * needs to be strictly validated, it is not an appropriate function.
620 */
621-void g_date_set_parse (GDate *date,
622- const gchar *str);
623-void g_date_set_time (GDate *date,
624- GTime time_);
625-void g_date_set_month (GDate *date,
626- GDateMonth month);
627-void g_date_set_day (GDate *date,
628- GDateDay day);
629-void g_date_set_year (GDate *date,
630- GDateYear year);
631-void g_date_set_dmy (GDate *date,
632+GLIB_FUNC void g_date_set_parse (GDate *date,
633+ const gchar *str);;
634+GLIB_FUNC void g_date_set_time (GDate *date,
635+ GTime time_);;
636+GLIB_FUNC void g_date_set_month (GDate *date,
637+ GDateMonth month);;
638+GLIB_FUNC void g_date_set_day (GDate *date,
639+ GDateDay day);;
640+GLIB_FUNC void g_date_set_year (GDate *date,
641+ GDateYear year);;
642+GLIB_FUNC void g_date_set_dmy (GDate *date,
643 GDateDay day,
644 GDateMonth month,
645- GDateYear y);
646-void g_date_set_julian (GDate *date,
647- guint32 julian_date);
648-gboolean g_date_is_first_of_month (const GDate *date);
649-gboolean g_date_is_last_of_month (const GDate *date);
650+ GDateYear y);;
651+GLIB_FUNC void g_date_set_julian (GDate *date,
652+ guint32 julian_date);;
653+GLIB_FUNC gboolean g_date_is_first_of_month (const GDate *date);
654+GLIB_FUNC gboolean g_date_is_last_of_month (const GDate *date);
655
656 /* To go forward by some number of weeks just go forward weeks*7 days */
657-void g_date_add_days (GDate *date,
658- guint n_days);
659-void g_date_subtract_days (GDate *date,
660- guint n_days);
661+GLIB_FUNC void g_date_add_days (GDate *date,
662+ guint n_days);;
663+GLIB_FUNC void g_date_subtract_days (GDate *date,
664+ guint n_days);;
665
666 /* If you add/sub months while day > 28, the day might change */
667-void g_date_add_months (GDate *date,
668- guint n_months);
669-void g_date_subtract_months (GDate *date,
670- guint n_months);
671+GLIB_FUNC void g_date_add_months (GDate *date,
672+ guint n_months);;
673+GLIB_FUNC void g_date_subtract_months (GDate *date,
674+ guint n_months);;
675
676 /* If it's feb 29, changing years can move you to the 28th */
677-void g_date_add_years (GDate *date,
678- guint n_years);
679-void g_date_subtract_years (GDate *date,
680- guint n_years);
681-gboolean g_date_is_leap_year (GDateYear year) G_GNUC_CONST;
682-guint8 g_date_get_days_in_month (GDateMonth month,
683- GDateYear year) G_GNUC_CONST;
684-guint8 g_date_get_monday_weeks_in_year (GDateYear year) G_GNUC_CONST;
685-guint8 g_date_get_sunday_weeks_in_year (GDateYear year) G_GNUC_CONST;
686+GLIB_FUNC void g_date_add_years (GDate *date,
687+ guint n_years);;
688+GLIB_FUNC void g_date_subtract_years (GDate *date,
689+ guint n_years);;
690+GLIB_FUNC gboolean g_date_is_leap_year (GDateYear year) G_GNUC_CONST;;
691+GLIB_FUNC guint8 g_date_get_days_in_month (GDateMonth month,
692+ GDateYear year) G_GNUC_CONST;;
693+GLIB_FUNC guint8 g_date_get_monday_weeks_in_year (GDateYear year) G_GNUC_CONST;;
694+GLIB_FUNC guint8 g_date_get_sunday_weeks_in_year (GDateYear year) G_GNUC_CONST;;
695
696 /* Returns the number of days between the two dates. If date2 comes
697 before date1, a negative value is return. */
698-gint g_date_days_between (const GDate *date1,
699- const GDate *date2);
700+GLIB_FUNC gint g_date_days_between (const GDate *date1,
701+ const GDate *date2);;
702
703 /* qsort-friendly (with a cast...) */
704-gint g_date_compare (const GDate *lhs,
705- const GDate *rhs);
706-void g_date_to_struct_tm (const GDate *date,
707- struct tm *tm);
708+GLIB_FUNC gint g_date_compare (const GDate *lhs,
709+ const GDate *rhs);;
710+GLIB_FUNC void g_date_to_struct_tm (const GDate *date,
711+ struct tm *tm);;
712
713-void g_date_clamp (GDate *date,
714+GLIB_FUNC void g_date_clamp (GDate *date,
715 const GDate *min_date,
716- const GDate *max_date);
717+ const GDate *max_date);;
718
719 /* Swap date1 and date2's values if date1 > date2. */
720-void g_date_order (GDate *date1, GDate *date2);
721+GLIB_FUNC void g_date_order (GDate *date1, GDate *date2);
722
723 /* Just like strftime() except you can only use date-related formats.
724 * Using a time format is undefined.
725 */
726-gsize g_date_strftime (gchar *s,
727+GLIB_FUNC gsize g_date_strftime (gchar *s,
728 gsize slen,
729 const gchar *format,
730- const GDate *date);
731+ const GDate *date);;
732
733 #ifndef G_DISABLE_DEPRECATED
734
735--- glib-2.4.6/glib/gdir.h~visibility.patch
736+++ glib-2.4.6/glib/gdir.h
737@@ -29,12 +29,12 @@
738
739 typedef struct _GDir GDir;
740
741-GDir * g_dir_open (const gchar *path,
742+GLIB_FUNC GDir * g_dir_open (const gchar *path,
743 guint flags,
744- GError **error);
745-G_CONST_RETURN gchar *g_dir_read_name (GDir *dir);
746-void g_dir_rewind (GDir *dir);
747-void g_dir_close (GDir *dir);
748+ GError **error);;
749+GLIB_FUNC G_CONST_RETURN gchar *g_dir_read_name (GDir *dir);
750+GLIB_FUNC void g_dir_rewind (GDir *dir);
751+GLIB_FUNC void g_dir_close (GDir *dir);
752
753 G_END_DECLS
754
755--- glib-2.4.6/glib/gerror.h~visibility.patch
756+++ glib-2.4.6/glib/gerror.h
757@@ -34,38 +34,38 @@
758 gchar *message;
759 };
760
761-GError* g_error_new (GQuark domain,
762+GLIB_FUNC GError* g_error_new (GQuark domain,
763 gint code,
764 const gchar *format,
765- ...) G_GNUC_PRINTF (3, 4);
766+ ...) G_GNUC_PRINTF (3, 4);;
767
768-GError* g_error_new_literal (GQuark domain,
769+GLIB_FUNC GError* g_error_new_literal (GQuark domain,
770 gint code,
771- const gchar *message);
772+ const gchar *message);;
773
774-void g_error_free (GError *error);
775-GError* g_error_copy (const GError *error);
776+GLIB_FUNC void g_error_free (GError *error);
777+GLIB_FUNC GError* g_error_copy (const GError *error);
778
779-gboolean g_error_matches (const GError *error,
780+GLIB_FUNC gboolean g_error_matches (const GError *error,
781 GQuark domain,
782- gint code);
783+ gint code);;
784
785 /* if (err) *err = g_error_new(domain, code, format, ...), also has
786 * some sanity checks.
787 */
788-void g_set_error (GError **err,
789+GLIB_FUNC void g_set_error (GError **err,
790 GQuark domain,
791 gint code,
792 const gchar *format,
793- ...) G_GNUC_PRINTF (4, 5);
794+ ...) G_GNUC_PRINTF (4, 5);;
795
796 /* if (dest) *dest = src; also has some sanity checks.
797 */
798-void g_propagate_error (GError **dest,
799- GError *src);
800+GLIB_FUNC void g_propagate_error (GError **dest,
801+ GError *src);;
802
803 /* if (err && *err) { g_error_free(*err); *err = NULL; } */
804-void g_clear_error (GError **err);
805+GLIB_FUNC void g_clear_error (GError **err);
806
807
808 G_END_DECLS
809--- glib-2.4.6/glib/gfileutils.h~visibility.patch
810+++ glib-2.4.6/glib/gfileutils.h
811@@ -68,32 +68,32 @@
812 G_FILE_TEST_EXISTS = 1 << 4
813 } GFileTest;
814
815-GQuark g_file_error_quark (void);
816+GLIB_FUNC GQuark g_file_error_quark (void);
817 /* So other code can generate a GFileError */
818-GFileError g_file_error_from_errno (gint err_no);
819+GLIB_FUNC GFileError g_file_error_from_errno (gint err_no);
820
821-gboolean g_file_test (const gchar *filename,
822- GFileTest test);
823-gboolean g_file_get_contents (const gchar *filename,
824+GLIB_FUNC gboolean g_file_test (const gchar *filename,
825+ GFileTest test);;
826+GLIB_FUNC gboolean g_file_get_contents (const gchar *filename,
827 gchar **contents,
828 gsize *length,
829- GError **error);
830-gchar *g_file_read_link (const gchar *filename,
831- GError **error);
832+ GError **error);;
833+GLIB_FUNC gchar *g_file_read_link (const gchar *filename,
834+ GError **error);;
835
836 /* Wrapper / workalike for mkstemp() */
837-gint g_mkstemp (gchar *tmpl);
838+GLIB_FUNC gint g_mkstemp (gchar *tmpl);
839
840 /* Wrapper for g_mkstemp */
841-gint g_file_open_tmp (const gchar *tmpl,
842+GLIB_FUNC gint g_file_open_tmp (const gchar *tmpl,
843 gchar **name_used,
844- GError **error);
845+ GError **error);;
846
847-gchar *g_build_path (const gchar *separator,
848+GLIB_FUNC gchar *g_build_path (const gchar *separator,
849 const gchar *first_element,
850- ...);
851-gchar *g_build_filename (const gchar *first_element,
852- ...);
853+ ...);;
854+GLIB_FUNC gchar *g_build_filename (const gchar *first_element,
855+ ...);;
856
857 G_END_DECLS
858
859--- glib-2.4.6/glib/ghash.h~visibility.patch
860+++ glib-2.4.6/glib/ghash.h
861@@ -39,42 +39,42 @@
862
863 /* Hash tables
864 */
865-GHashTable* g_hash_table_new (GHashFunc hash_func,
866- GEqualFunc key_equal_func);
867-GHashTable* g_hash_table_new_full (GHashFunc hash_func,
868+GLIB_FUNC GHashTable* g_hash_table_new (GHashFunc hash_func,
869+ GEqualFunc key_equal_func);;
870+GLIB_FUNC GHashTable* g_hash_table_new_full (GHashFunc hash_func,
871 GEqualFunc key_equal_func,
872 GDestroyNotify key_destroy_func,
873- GDestroyNotify value_destroy_func);
874-void g_hash_table_destroy (GHashTable *hash_table);
875-void g_hash_table_insert (GHashTable *hash_table,
876+ GDestroyNotify value_destroy_func);;
877+GLIB_FUNC void g_hash_table_destroy (GHashTable *hash_table);
878+GLIB_FUNC void g_hash_table_insert (GHashTable *hash_table,
879 gpointer key,
880- gpointer value);
881-void g_hash_table_replace (GHashTable *hash_table,
882+ gpointer value);;
883+GLIB_FUNC void g_hash_table_replace (GHashTable *hash_table,
884 gpointer key,
885- gpointer value);
886-gboolean g_hash_table_remove (GHashTable *hash_table,
887- gconstpointer key);
888-gboolean g_hash_table_steal (GHashTable *hash_table,
889- gconstpointer key);
890-gpointer g_hash_table_lookup (GHashTable *hash_table,
891- gconstpointer key);
892-gboolean g_hash_table_lookup_extended (GHashTable *hash_table,
893+ gpointer value);;
894+GLIB_FUNC gboolean g_hash_table_remove (GHashTable *hash_table,
895+ gconstpointer key);;
896+GLIB_FUNC gboolean g_hash_table_steal (GHashTable *hash_table,
897+ gconstpointer key);;
898+GLIB_FUNC gpointer g_hash_table_lookup (GHashTable *hash_table,
899+ gconstpointer key);;
900+GLIB_FUNC gboolean g_hash_table_lookup_extended (GHashTable *hash_table,
901 gconstpointer lookup_key,
902 gpointer *orig_key,
903- gpointer *value);
904-void g_hash_table_foreach (GHashTable *hash_table,
905+ gpointer *value);;
906+GLIB_FUNC void g_hash_table_foreach (GHashTable *hash_table,
907 GHFunc func,
908- gpointer user_data);
909-gpointer g_hash_table_find (GHashTable *hash_table,
910+ gpointer user_data);;
911+GLIB_FUNC gpointer g_hash_table_find (GHashTable *hash_table,
912 GHRFunc predicate,
913- gpointer user_data);
914-guint g_hash_table_foreach_remove (GHashTable *hash_table,
915+ gpointer user_data);;
916+GLIB_FUNC guint g_hash_table_foreach_remove (GHashTable *hash_table,
917 GHRFunc func,
918- gpointer user_data);
919-guint g_hash_table_foreach_steal (GHashTable *hash_table,
920+ gpointer user_data);;
921+GLIB_FUNC guint g_hash_table_foreach_steal (GHashTable *hash_table,
922 GHRFunc func,
923- gpointer user_data);
924-guint g_hash_table_size (GHashTable *hash_table);
925+ gpointer user_data);;
926+GLIB_FUNC guint g_hash_table_size (GHashTable *hash_table);
927
928 #ifndef G_DISABLE_DEPRECATED
929
930@@ -87,13 +87,13 @@
931
932 /* Hash Functions
933 */
934-gboolean g_str_equal (gconstpointer v,
935- gconstpointer v2);
936-guint g_str_hash (gconstpointer v);
937+GLIB_FUNC gboolean g_str_equal (gconstpointer v,
938+ gconstpointer v2);;
939+GLIB_FUNC guint g_str_hash (gconstpointer v);
940
941-gboolean g_int_equal (gconstpointer v,
942- gconstpointer v2);
943-guint g_int_hash (gconstpointer v);
944+GLIB_FUNC gboolean g_int_equal (gconstpointer v,
945+ gconstpointer v2);;
946+GLIB_FUNC guint g_int_hash (gconstpointer v);
947
948 /* This "hash" function will just return the key's address as an
949 * unsigned integer. Useful for hashing on plain addresses or
950@@ -101,8 +101,8 @@
951 * Passing NULL into g_hash_table_new() as GHashFunc has the
952 * same effect as passing g_direct_hash().
953 */
954-guint g_direct_hash (gconstpointer v) G_GNUC_CONST;
955-gboolean g_direct_equal (gconstpointer v,
956+GLIB_FUNC guint g_direct_hash (gconstpointer v) G_GNUC_CONST;
957+GLIB_FUNC gboolean g_direct_equal (gconstpointer v,
958 gconstpointer v2) G_GNUC_CONST;
959
960 G_END_DECLS
961--- glib-2.4.6/glib/ghook.h~visibility.patch
962+++ glib-2.4.6/glib/ghook.h
963@@ -99,78 +99,78 @@
964
965 /* --- prototypes --- */
966 /* callback maintenance functions */
967-void g_hook_list_init (GHookList *hook_list,
968- guint hook_size);
969-void g_hook_list_clear (GHookList *hook_list);
970-GHook* g_hook_alloc (GHookList *hook_list);
971-void g_hook_free (GHookList *hook_list,
972- GHook *hook);
973-void g_hook_ref (GHookList *hook_list,
974- GHook *hook);
975-void g_hook_unref (GHookList *hook_list,
976- GHook *hook);
977-gboolean g_hook_destroy (GHookList *hook_list,
978- gulong hook_id);
979-void g_hook_destroy_link (GHookList *hook_list,
980- GHook *hook);
981-void g_hook_prepend (GHookList *hook_list,
982- GHook *hook);
983-void g_hook_insert_before (GHookList *hook_list,
984+GLIB_FUNC void g_hook_list_init (GHookList *hook_list,
985+ guint hook_size);;
986+GLIB_FUNC void g_hook_list_clear (GHookList *hook_list);
987+GLIB_FUNC GHook* g_hook_alloc (GHookList *hook_list);
988+GLIB_FUNC void g_hook_free (GHookList *hook_list,
989+ GHook *hook);;
990+GLIB_FUNC void g_hook_ref (GHookList *hook_list,
991+ GHook *hook);;
992+GLIB_FUNC void g_hook_unref (GHookList *hook_list,
993+ GHook *hook);;
994+GLIB_FUNC gboolean g_hook_destroy (GHookList *hook_list,
995+ gulong hook_id);;
996+GLIB_FUNC void g_hook_destroy_link (GHookList *hook_list,
997+ GHook *hook);;
998+GLIB_FUNC void g_hook_prepend (GHookList *hook_list,
999+ GHook *hook);;
1000+GLIB_FUNC void g_hook_insert_before (GHookList *hook_list,
1001 GHook *sibling,
1002- GHook *hook);
1003-void g_hook_insert_sorted (GHookList *hook_list,
1004+ GHook *hook);;
1005+GLIB_FUNC void g_hook_insert_sorted (GHookList *hook_list,
1006 GHook *hook,
1007- GHookCompareFunc func);
1008-GHook* g_hook_get (GHookList *hook_list,
1009- gulong hook_id);
1010-GHook* g_hook_find (GHookList *hook_list,
1011+ GHookCompareFunc func);;
1012+GLIB_FUNC GHook* g_hook_get (GHookList *hook_list,
1013+ gulong hook_id);;
1014+GLIB_FUNC GHook* g_hook_find (GHookList *hook_list,
1015 gboolean need_valids,
1016 GHookFindFunc func,
1017- gpointer data);
1018-GHook* g_hook_find_data (GHookList *hook_list,
1019+ gpointer data);;
1020+GLIB_FUNC GHook* g_hook_find_data (GHookList *hook_list,
1021 gboolean need_valids,
1022- gpointer data);
1023-GHook* g_hook_find_func (GHookList *hook_list,
1024+ gpointer data);;
1025+GLIB_FUNC GHook* g_hook_find_func (GHookList *hook_list,
1026 gboolean need_valids,
1027- gpointer func);
1028-GHook* g_hook_find_func_data (GHookList *hook_list,
1029+ gpointer func);;
1030+GLIB_FUNC GHook* g_hook_find_func_data (GHookList *hook_list,
1031 gboolean need_valids,
1032 gpointer func,
1033- gpointer data);
1034+ gpointer data);;
1035 /* return the first valid hook, and increment its reference count */
1036-GHook* g_hook_first_valid (GHookList *hook_list,
1037- gboolean may_be_in_call);
1038+GLIB_FUNC GHook* g_hook_first_valid (GHookList *hook_list,
1039+ gboolean may_be_in_call);;
1040 /* return the next valid hook with incremented reference count, and
1041 * decrement the reference count of the original hook
1042 */
1043-GHook* g_hook_next_valid (GHookList *hook_list,
1044+GLIB_FUNC GHook* g_hook_next_valid (GHookList *hook_list,
1045 GHook *hook,
1046- gboolean may_be_in_call);
1047+ gboolean may_be_in_call);;
1048 /* GHookCompareFunc implementation to insert hooks sorted by their id */
1049-gint g_hook_compare_ids (GHook *new_hook,
1050- GHook *sibling);
1051+GLIB_FUNC gint g_hook_compare_ids (GHook *new_hook,
1052+ GHook *sibling);;
1053 /* convenience macros */
1054 #define g_hook_append( hook_list, hook ) \
1055 g_hook_insert_before ((hook_list), NULL, (hook))
1056 /* invoke all valid hooks with the (*GHookFunc) signature.
1057 */
1058-void g_hook_list_invoke (GHookList *hook_list,
1059- gboolean may_recurse);
1060+GLIB_FUNC void g_hook_list_invoke (GHookList *hook_list,
1061+ gboolean may_recurse);;
1062 /* invoke all valid hooks with the (*GHookCheckFunc) signature,
1063 * and destroy the hook if FALSE is returned.
1064 */
1065-void g_hook_list_invoke_check (GHookList *hook_list,
1066- gboolean may_recurse);
1067+GLIB_FUNC void g_hook_list_invoke_check (GHookList *hook_list,
1068+ gboolean may_recurse);;
1069 /* invoke a marshaller on all valid hooks.
1070 */
1071-void g_hook_list_marshal (GHookList *hook_list,
1072+GLIB_FUNC void g_hook_list_marshal (GHookList *hook_list,
1073 gboolean may_recurse,
1074 GHookMarshaller marshaller,
1075- gpointer marshal_data);
1076-void g_hook_list_marshal_check (GHookList *hook_list,
1077+ gpointer marshal_data);;
1078+GLIB_FUNC void g_hook_list_marshal_check (GHookList *hook_list,
1079 gboolean may_recurse,
1080 GHookCheckMarshaller marshaller,
1081- gpointer marshal_data);
1082+ gpointer marshal_data);;
1083
1084 G_END_DECLS
1085
1086--- glib-2.4.6/glib/giochannel.h~visibility.patch
1087+++ glib-2.4.6/glib/giochannel.h
1088@@ -162,112 +162,112 @@
1089 GIOFlags (*io_get_flags) (GIOChannel *channel);
1090 };
1091
1092-void g_io_channel_init (GIOChannel *channel);
1093-void g_io_channel_ref (GIOChannel *channel);
1094-void g_io_channel_unref (GIOChannel *channel);
1095+GLIB_FUNC void g_io_channel_init (GIOChannel *channel);
1096+GLIB_FUNC void g_io_channel_ref (GIOChannel *channel);
1097+GLIB_FUNC void g_io_channel_unref (GIOChannel *channel);
1098
1099 #ifndef G_DISABLE_DEPRECATED
1100-GIOError g_io_channel_read (GIOChannel *channel,
1101+GLIB_FUNC GIOError g_io_channel_read (GIOChannel *channel,
1102 gchar *buf,
1103 gsize count,
1104- gsize *bytes_read);
1105-GIOError g_io_channel_write (GIOChannel *channel,
1106+ gsize *bytes_read);;
1107+GLIB_FUNC GIOError g_io_channel_write (GIOChannel *channel,
1108 const gchar *buf,
1109 gsize count,
1110- gsize *bytes_written);
1111-GIOError g_io_channel_seek (GIOChannel *channel,
1112+ gsize *bytes_written);;
1113+GLIB_FUNC GIOError g_io_channel_seek (GIOChannel *channel,
1114 gint64 offset,
1115- GSeekType type);
1116-void g_io_channel_close (GIOChannel *channel);
1117+ GSeekType type);;
1118+GLIB_FUNC void g_io_channel_close (GIOChannel *channel);
1119 #endif /* G_DISABLE_DEPRECATED */
1120
1121-GIOStatus g_io_channel_shutdown (GIOChannel *channel,
1122+GLIB_FUNC GIOStatus g_io_channel_shutdown (GIOChannel *channel,
1123 gboolean flush,
1124- GError **err);
1125-guint g_io_add_watch_full (GIOChannel *channel,
1126+ GError **err);;
1127+GLIB_FUNC guint g_io_add_watch_full (GIOChannel *channel,
1128 gint priority,
1129 GIOCondition condition,
1130 GIOFunc func,
1131 gpointer user_data,
1132- GDestroyNotify notify);
1133-GSource * g_io_create_watch (GIOChannel *channel,
1134- GIOCondition condition);
1135-guint g_io_add_watch (GIOChannel *channel,
1136+ GDestroyNotify notify);;
1137+GLIB_FUNC GSource * g_io_create_watch (GIOChannel *channel,
1138+ GIOCondition condition);;
1139+GLIB_FUNC guint g_io_add_watch (GIOChannel *channel,
1140 GIOCondition condition,
1141 GIOFunc func,
1142- gpointer user_data);
1143+ gpointer user_data);;
1144
1145 /* character encoding conversion involved functions.
1146 */
1147
1148-void g_io_channel_set_buffer_size (GIOChannel *channel,
1149- gsize size);
1150-gsize g_io_channel_get_buffer_size (GIOChannel *channel);
1151-GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);
1152-GIOStatus g_io_channel_set_flags (GIOChannel *channel,
1153+GLIB_FUNC void g_io_channel_set_buffer_size (GIOChannel *channel,
1154+ gsize size);;
1155+GLIB_FUNC gsize g_io_channel_get_buffer_size (GIOChannel *channel);
1156+GLIB_FUNC GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);
1157+GLIB_FUNC GIOStatus g_io_channel_set_flags (GIOChannel *channel,
1158 GIOFlags flags,
1159- GError **error);
1160-GIOFlags g_io_channel_get_flags (GIOChannel *channel);
1161-void g_io_channel_set_line_term (GIOChannel *channel,
1162+ GError **error);;
1163+GLIB_FUNC GIOFlags g_io_channel_get_flags (GIOChannel *channel);
1164+GLIB_FUNC void g_io_channel_set_line_term (GIOChannel *channel,
1165 const gchar *line_term,
1166- gint length);
1167-G_CONST_RETURN gchar* g_io_channel_get_line_term (GIOChannel *channel,
1168- gint *length);
1169-void g_io_channel_set_buffered (GIOChannel *channel,
1170- gboolean buffered);
1171-gboolean g_io_channel_get_buffered (GIOChannel *channel);
1172-GIOStatus g_io_channel_set_encoding (GIOChannel *channel,
1173+ gint length);;
1174+GLIB_FUNC G_CONST_RETURN gchar* g_io_channel_get_line_term (GIOChannel *channel,
1175+ gint *length);;
1176+GLIB_FUNC void g_io_channel_set_buffered (GIOChannel *channel,
1177+ gboolean buffered);;
1178+GLIB_FUNC gboolean g_io_channel_get_buffered (GIOChannel *channel);
1179+GLIB_FUNC GIOStatus g_io_channel_set_encoding (GIOChannel *channel,
1180 const gchar *encoding,
1181- GError **error);
1182-G_CONST_RETURN gchar* g_io_channel_get_encoding (GIOChannel *channel);
1183-void g_io_channel_set_close_on_unref (GIOChannel *channel,
1184- gboolean do_close);
1185-gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);
1186+ GError **error);;
1187+GLIB_FUNC G_CONST_RETURN gchar* g_io_channel_get_encoding (GIOChannel *channel);
1188+GLIB_FUNC void g_io_channel_set_close_on_unref (GIOChannel *channel,
1189+ gboolean do_close);;
1190+GLIB_FUNC gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);
1191
1192
1193-GIOStatus g_io_channel_flush (GIOChannel *channel,
1194- GError **error);
1195-GIOStatus g_io_channel_read_line (GIOChannel *channel,
1196+GLIB_FUNC GIOStatus g_io_channel_flush (GIOChannel *channel,
1197+ GError **error);;
1198+GLIB_FUNC GIOStatus g_io_channel_read_line (GIOChannel *channel,
1199 gchar **str_return,
1200 gsize *length,
1201 gsize *terminator_pos,
1202- GError **error);
1203-GIOStatus g_io_channel_read_line_string (GIOChannel *channel,
1204+ GError **error);;
1205+GLIB_FUNC GIOStatus g_io_channel_read_line_string (GIOChannel *channel,
1206 GString *buffer,
1207 gsize *terminator_pos,
1208- GError **error);
1209-GIOStatus g_io_channel_read_to_end (GIOChannel *channel,
1210+ GError **error);;
1211+GLIB_FUNC GIOStatus g_io_channel_read_to_end (GIOChannel *channel,
1212 gchar **str_return,
1213 gsize *length,
1214- GError **error);
1215-GIOStatus g_io_channel_read_chars (GIOChannel *channel,
1216+ GError **error);;
1217+GLIB_FUNC GIOStatus g_io_channel_read_chars (GIOChannel *channel,
1218 gchar *buf,
1219 gsize count,
1220 gsize *bytes_read,
1221- GError **error);
1222-GIOStatus g_io_channel_read_unichar (GIOChannel *channel,
1223+ GError **error);;
1224+GLIB_FUNC GIOStatus g_io_channel_read_unichar (GIOChannel *channel,
1225 gunichar *thechar,
1226- GError **error);
1227-GIOStatus g_io_channel_write_chars (GIOChannel *channel,
1228+ GError **error);;
1229+GLIB_FUNC GIOStatus g_io_channel_write_chars (GIOChannel *channel,
1230 const gchar *buf,
1231 gssize count,
1232 gsize *bytes_written,
1233- GError **error);
1234-GIOStatus g_io_channel_write_unichar (GIOChannel *channel,
1235+ GError **error);;
1236+GLIB_FUNC GIOStatus g_io_channel_write_unichar (GIOChannel *channel,
1237 gunichar thechar,
1238- GError **error);
1239-GIOStatus g_io_channel_seek_position (GIOChannel *channel,
1240+ GError **error);;
1241+GLIB_FUNC GIOStatus g_io_channel_seek_position (GIOChannel *channel,
1242 gint64 offset,
1243 GSeekType type,
1244- GError **error);
1245-GIOChannel* g_io_channel_new_file (const gchar *filename,
1246+ GError **error);;
1247+GLIB_FUNC GIOChannel* g_io_channel_new_file (const gchar *filename,
1248 const gchar *mode,
1249- GError **error);
1250+ GError **error);;
1251
1252 /* Error handling */
1253
1254-GQuark g_io_channel_error_quark (void);
1255-GIOChannelError g_io_channel_error_from_errno (gint en);
1256+GLIB_FUNC GQuark g_io_channel_error_quark (void);
1257+GLIB_FUNC GIOChannelError g_io_channel_error_from_errno (gint en);
1258
1259 /* On Unix, IO channels created with this function for any file
1260 * descriptor or socket.
1261@@ -287,8 +287,8 @@
1262 * corresponding concept is file HANDLE. There isn't as of yet a way to
1263 * get GIOChannels for Win32 file HANDLEs.
1264 */
1265-GIOChannel* g_io_channel_unix_new (int fd);
1266-gint g_io_channel_unix_get_fd (GIOChannel *channel);
1267+GLIB_FUNC GIOChannel* g_io_channel_unix_new (int fd);
1268+GLIB_FUNC gint g_io_channel_unix_get_fd (GIOChannel *channel);
1269
1270
1271 /* Hook for GClosure / GSource integration. Don't touch */
1272@@ -308,19 +308,19 @@
1273 * from the underlying file descriptor. For SOCKETs, it is possible to call
1274 * recv().
1275 */
1276-void g_io_channel_win32_make_pollfd (GIOChannel *channel,
1277+GLIB_FUNC void g_io_channel_win32_make_pollfd (GIOChannel *channel,
1278 GIOCondition condition,
1279- GPollFD *fd);
1280+ GPollFD *fd);;
1281
1282 /* This can be used to wait a until at least one of the channels is readable.
1283 * On Unix you would do a select() on the file descriptors of the channels.
1284 */
1285-gint g_io_channel_win32_poll (GPollFD *fds,
1286+GLIB_FUNC gint g_io_channel_win32_poll (GPollFD *fds,
1287 gint n_fds,
1288- gint timeout_);
1289+ gint timeout_);;
1290
1291 /* Create an IO channel for Windows messages for window handle hwnd. */
1292-GIOChannel *g_io_channel_win32_new_messages (guint hwnd);
1293+GLIB_FUNC GIOChannel *g_io_channel_win32_new_messages (guint hwnd);;
1294
1295 /* Create an IO channel for C runtime (emulated Unix-like) file
1296 * descriptors. After calling g_io_add_watch() on a IO channel
1297@@ -331,17 +331,17 @@
1298 * the file descriptor should be done by this internal GLib
1299 * thread. Your code should call only g_io_channel_read().
1300 */
1301-GIOChannel* g_io_channel_win32_new_fd (gint fd);
1302+GLIB_FUNC GIOChannel* g_io_channel_win32_new_fd (gint fd);
1303
1304 /* Get the C runtime file descriptor of a channel. */
1305-gint g_io_channel_win32_get_fd (GIOChannel *channel);
1306+GLIB_FUNC gint g_io_channel_win32_get_fd (GIOChannel *channel);
1307
1308 /* Create an IO channel for a winsock socket. The parameter should be
1309 * a SOCKET. Contrary to IO channels for file descriptors (on *Win32),
1310 * you can use normal recv() or recvfrom() on sockets even if GLib
1311 * is polling them.
1312 */
1313-GIOChannel *g_io_channel_win32_new_socket (gint socket);
1314+GLIB_FUNC GIOChannel *g_io_channel_win32_new_socket (gint socket);;
1315
1316 #endif
1317
1318--- glib-2.4.6/glib/glib.def~visibility.patch
1319+++ glib-2.4.6/glib/glib.def
1320@@ -1,4 +1,3 @@
1321-EXPORTS
1322 g_allocator_free
1323 g_allocator_new
1324 g_array_append_vals
1325@@ -47,9 +46,7 @@
1326 g_atomic_int_add
1327 g_atomic_int_compare_and_exchange
1328 g_atomic_int_exchange_and_add
1329-; g_atomic_int_get
1330 g_atomic_pointer_compare_and_exchange
1331-; g_atomic_pointer_get
1332 g_basename
1333 g_bit_nth_lsf
1334 g_bit_nth_msf
1335--- glib-2.4.6/glib/glist.h~visibility.patch
1336+++ glib-2.4.6/glib/glist.h
1337@@ -42,62 +42,62 @@
1338
1339 /* Doubly linked lists
1340 */
1341-void g_list_push_allocator (GAllocator *allocator);
1342-void g_list_pop_allocator (void);
1343-GList* g_list_alloc (void);
1344-void g_list_free (GList *list);
1345-void g_list_free_1 (GList *list);
1346-GList* g_list_append (GList *list,
1347- gpointer data);
1348-GList* g_list_prepend (GList *list,
1349- gpointer data);
1350-GList* g_list_insert (GList *list,
1351+GLIB_FUNC void g_list_push_allocator (GAllocator *allocator);
1352+GLIB_FUNC void g_list_pop_allocator (void);
1353+GLIB_FUNC GList* g_list_alloc (void);
1354+GLIB_FUNC void g_list_free (GList *list);
1355+GLIB_FUNC void g_list_free_1 (GList *list);
1356+GLIB_FUNC GList* g_list_append (GList *list,
1357+ gpointer data);;
1358+GLIB_FUNC GList* g_list_prepend (GList *list,
1359+ gpointer data);;
1360+GLIB_FUNC GList* g_list_insert (GList *list,
1361 gpointer data,
1362- gint position);
1363-GList* g_list_insert_sorted (GList *list,
1364+ gint position);;
1365+GLIB_FUNC GList* g_list_insert_sorted (GList *list,
1366 gpointer data,
1367- GCompareFunc func);
1368-GList* g_list_insert_before (GList *list,
1369+ GCompareFunc func);;
1370+GLIB_FUNC GList* g_list_insert_before (GList *list,
1371 GList *sibling,
1372- gpointer data);
1373-GList* g_list_concat (GList *list1,
1374- GList *list2);
1375-GList* g_list_remove (GList *list,
1376- gconstpointer data);
1377-GList* g_list_remove_all (GList *list,
1378- gconstpointer data);
1379-GList* g_list_remove_link (GList *list,
1380- GList *llink);
1381-GList* g_list_delete_link (GList *list,
1382- GList *link_);
1383-GList* g_list_reverse (GList *list);
1384-GList* g_list_copy (GList *list);
1385-GList* g_list_nth (GList *list,
1386- guint n);
1387-GList* g_list_nth_prev (GList *list,
1388- guint n);
1389-GList* g_list_find (GList *list,
1390- gconstpointer data);
1391-GList* g_list_find_custom (GList *list,
1392+ gpointer data);;
1393+GLIB_FUNC GList* g_list_concat (GList *list1,
1394+ GList *list2);;
1395+GLIB_FUNC GList* g_list_remove (GList *list,
1396+ gconstpointer data);;
1397+GLIB_FUNC GList* g_list_remove_all (GList *list,
1398+ gconstpointer data);;
1399+GLIB_FUNC GList* g_list_remove_link (GList *list,
1400+ GList *llink);;
1401+GLIB_FUNC GList* g_list_delete_link (GList *list,
1402+ GList *link_);;
1403+GLIB_FUNC GList* g_list_reverse (GList *list);
1404+GLIB_FUNC GList* g_list_copy (GList *list);
1405+GLIB_FUNC GList* g_list_nth (GList *list,
1406+ guint n);;
1407+GLIB_FUNC GList* g_list_nth_prev (GList *list,
1408+ guint n);;
1409+GLIB_FUNC GList* g_list_find (GList *list,
1410+ gconstpointer data);;
1411+GLIB_FUNC GList* g_list_find_custom (GList *list,
1412 gconstpointer data,
1413- GCompareFunc func);
1414-gint g_list_position (GList *list,
1415- GList *llink);
1416-gint g_list_index (GList *list,
1417- gconstpointer data);
1418-GList* g_list_last (GList *list);
1419-GList* g_list_first (GList *list);
1420-guint g_list_length (GList *list);
1421-void g_list_foreach (GList *list,
1422+ GCompareFunc func);;
1423+GLIB_FUNC gint g_list_position (GList *list,
1424+ GList *llink);;
1425+GLIB_FUNC gint g_list_index (GList *list,
1426+ gconstpointer data);;
1427+GLIB_FUNC GList* g_list_last (GList *list);
1428+GLIB_FUNC GList* g_list_first (GList *list);
1429+GLIB_FUNC guint g_list_length (GList *list);
1430+GLIB_FUNC void g_list_foreach (GList *list,
1431 GFunc func,
1432- gpointer user_data);
1433-GList* g_list_sort (GList *list,
1434- GCompareFunc compare_func);
1435-GList* g_list_sort_with_data (GList *list,
1436+ gpointer user_data);;
1437+GLIB_FUNC GList* g_list_sort (GList *list,
1438+ GCompareFunc compare_func);;
1439+GLIB_FUNC GList* g_list_sort_with_data (GList *list,
1440 GCompareDataFunc compare_func,
1441- gpointer user_data);
1442-gpointer g_list_nth_data (GList *list,
1443- guint n);
1444+ gpointer user_data);;
1445+GLIB_FUNC gpointer g_list_nth_data (GList *list,
1446+ guint n);;
1447
1448 #define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL)
1449 #define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL)
1450--- glib-2.4.6/glib/gmain.h~visibility.patch
1451+++ glib-2.4.6/glib/gmain.h
1452@@ -135,111 +135,111 @@
1453
1454 /* GMainContext: */
1455
1456-GMainContext *g_main_context_new (void);
1457-void g_main_context_ref (GMainContext *context);
1458-void g_main_context_unref (GMainContext *context);
1459-GMainContext *g_main_context_default (void);
1460+GLIB_FUNC GMainContext *g_main_context_new (void);;
1461+GLIB_FUNC void g_main_context_ref (GMainContext *context);
1462+GLIB_FUNC void g_main_context_unref (GMainContext *context);
1463+GLIB_FUNC GMainContext *g_main_context_default (void);;
1464
1465-gboolean g_main_context_iteration (GMainContext *context,
1466- gboolean may_block);
1467-gboolean g_main_context_pending (GMainContext *context);
1468+GLIB_FUNC gboolean g_main_context_iteration (GMainContext *context,
1469+ gboolean may_block);;
1470+GLIB_FUNC gboolean g_main_context_pending (GMainContext *context);
1471
1472 /* For implementation of legacy interfaces
1473 */
1474-GSource *g_main_context_find_source_by_id (GMainContext *context,
1475- guint source_id);
1476-GSource *g_main_context_find_source_by_user_data (GMainContext *context,
1477- gpointer user_data);
1478-GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context,
1479+GLIB_FUNC GSource *g_main_context_find_source_by_id (GMainContext *context,
1480+ guint source_id);;
1481+GLIB_FUNC GSource *g_main_context_find_source_by_user_data (GMainContext *context,
1482+ gpointer user_data);;
1483+GLIB_FUNC GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context,
1484 GSourceFuncs *funcs,
1485- gpointer user_data);
1486+ gpointer user_data);;
1487
1488 /* Low level functions for implementing custom main loops.
1489 */
1490-void g_main_context_wakeup (GMainContext *context);
1491-gboolean g_main_context_acquire (GMainContext *context);
1492-void g_main_context_release (GMainContext *context);
1493-gboolean g_main_context_wait (GMainContext *context,
1494+GLIB_FUNC void g_main_context_wakeup (GMainContext *context);
1495+GLIB_FUNC gboolean g_main_context_acquire (GMainContext *context);
1496+GLIB_FUNC void g_main_context_release (GMainContext *context);
1497+GLIB_FUNC gboolean g_main_context_wait (GMainContext *context,
1498 GCond *cond,
1499- GMutex *mutex);
1500+ GMutex *mutex);;
1501
1502-gboolean g_main_context_prepare (GMainContext *context,
1503- gint *priority);
1504-gint g_main_context_query (GMainContext *context,
1505+GLIB_FUNC gboolean g_main_context_prepare (GMainContext *context,
1506+ gint *priority);;
1507+GLIB_FUNC gint g_main_context_query (GMainContext *context,
1508 gint max_priority,
1509 gint *timeout_,
1510 GPollFD *fds,
1511- gint n_fds);
1512-gint g_main_context_check (GMainContext *context,
1513+ gint n_fds);;
1514+GLIB_FUNC gint g_main_context_check (GMainContext *context,
1515 gint max_priority,
1516 GPollFD *fds,
1517- gint n_fds);
1518-void g_main_context_dispatch (GMainContext *context);
1519+ gint n_fds);;
1520+GLIB_FUNC void g_main_context_dispatch (GMainContext *context);
1521
1522-void g_main_context_set_poll_func (GMainContext *context,
1523- GPollFunc func);
1524-GPollFunc g_main_context_get_poll_func (GMainContext *context);
1525+GLIB_FUNC void g_main_context_set_poll_func (GMainContext *context,
1526+ GPollFunc func);;
1527+GLIB_FUNC GPollFunc g_main_context_get_poll_func (GMainContext *context);
1528
1529 /* Low level functions for use by source implementations
1530 */
1531-void g_main_context_add_poll (GMainContext *context,
1532+GLIB_FUNC void g_main_context_add_poll (GMainContext *context,
1533 GPollFD *fd,
1534- gint priority);
1535-void g_main_context_remove_poll (GMainContext *context,
1536- GPollFD *fd);
1537+ gint priority);;
1538+GLIB_FUNC void g_main_context_remove_poll (GMainContext *context,
1539+ GPollFD *fd);;
1540
1541-int g_main_depth (void);
1542+GLIB_FUNC int g_main_depth (void);
1543
1544 /* GMainLoop: */
1545
1546-GMainLoop *g_main_loop_new (GMainContext *context,
1547- gboolean is_running);
1548-void g_main_loop_run (GMainLoop *loop);
1549-void g_main_loop_quit (GMainLoop *loop);
1550-GMainLoop *g_main_loop_ref (GMainLoop *loop);
1551-void g_main_loop_unref (GMainLoop *loop);
1552-gboolean g_main_loop_is_running (GMainLoop *loop);
1553-GMainContext *g_main_loop_get_context (GMainLoop *loop);
1554+GLIB_FUNC GMainLoop *g_main_loop_new (GMainContext *context,
1555+ gboolean is_running);;
1556+GLIB_FUNC void g_main_loop_run (GMainLoop *loop);
1557+GLIB_FUNC void g_main_loop_quit (GMainLoop *loop);
1558+GLIB_FUNC GMainLoop *g_main_loop_ref (GMainLoop *loop);;
1559+GLIB_FUNC void g_main_loop_unref (GMainLoop *loop);
1560+GLIB_FUNC gboolean g_main_loop_is_running (GMainLoop *loop);
1561+GLIB_FUNC GMainContext *g_main_loop_get_context (GMainLoop *loop);;
1562
1563 /* GSource: */
1564
1565-GSource *g_source_new (GSourceFuncs *source_funcs,
1566- guint struct_size);
1567-GSource *g_source_ref (GSource *source);
1568-void g_source_unref (GSource *source);
1569+GLIB_FUNC GSource *g_source_new (GSourceFuncs *source_funcs,
1570+ guint struct_size);;
1571+GLIB_FUNC GSource *g_source_ref (GSource *source);;
1572+GLIB_FUNC void g_source_unref (GSource *source);
1573
1574-guint g_source_attach (GSource *source,
1575- GMainContext *context);
1576-void g_source_destroy (GSource *source);
1577+GLIB_FUNC guint g_source_attach (GSource *source,
1578+ GMainContext *context);;
1579+GLIB_FUNC void g_source_destroy (GSource *source);
1580
1581-void g_source_set_priority (GSource *source,
1582- gint priority);
1583-gint g_source_get_priority (GSource *source);
1584-void g_source_set_can_recurse (GSource *source,
1585- gboolean can_recurse);
1586-gboolean g_source_get_can_recurse (GSource *source);
1587-guint g_source_get_id (GSource *source);
1588+GLIB_FUNC void g_source_set_priority (GSource *source,
1589+ gint priority);;
1590+GLIB_FUNC gint g_source_get_priority (GSource *source);
1591+GLIB_FUNC void g_source_set_can_recurse (GSource *source,
1592+ gboolean can_recurse);;
1593+GLIB_FUNC gboolean g_source_get_can_recurse (GSource *source);
1594+GLIB_FUNC guint g_source_get_id (GSource *source);
1595
1596-GMainContext *g_source_get_context (GSource *source);
1597+GLIB_FUNC GMainContext *g_source_get_context (GSource *source);;
1598
1599-void g_source_set_callback (GSource *source,
1600+GLIB_FUNC void g_source_set_callback (GSource *source,
1601 GSourceFunc func,
1602 gpointer data,
1603- GDestroyNotify notify);
1604+ GDestroyNotify notify);;
1605
1606
1607 /* Used to implement g_source_connect_closure and internally*/
1608-void g_source_set_callback_indirect (GSource *source,
1609+GLIB_FUNC void g_source_set_callback_indirect (GSource *source,
1610 gpointer callback_data,
1611- GSourceCallbackFuncs *callback_funcs);
1612+ GSourceCallbackFuncs *callback_funcs);;
1613
1614-void g_source_add_poll (GSource *source,
1615- GPollFD *fd);
1616-void g_source_remove_poll (GSource *source,
1617- GPollFD *fd);
1618+GLIB_FUNC void g_source_add_poll (GSource *source,
1619+ GPollFD *fd);;
1620+GLIB_FUNC void g_source_remove_poll (GSource *source,
1621+ GPollFD *fd);;
1622
1623-void g_source_get_current_time (GSource *source,
1624- GTimeVal *timeval);
1625+GLIB_FUNC void g_source_get_current_time (GSource *source,
1626+ GTimeVal *timeval);;
1627
1628 /* void g_source_connect_closure (GSource *source,
1629 GClosure *closure);
1630@@ -247,13 +247,13 @@
1631
1632 /* Specific source types
1633 */
1634-GSource *g_idle_source_new (void);
1635-GSource *g_child_watch_source_new (GPid pid);
1636-GSource *g_timeout_source_new (guint interval);
1637+GLIB_FUNC GSource *g_idle_source_new (void);;
1638+GLIB_FUNC GSource *g_child_watch_source_new (GPid pid);;
1639+GLIB_FUNC GSource *g_timeout_source_new (guint interval);;
1640
1641 /* Miscellaneous functions
1642 */
1643-void g_get_current_time (GTimeVal *result);
1644+GLIB_FUNC void g_get_current_time (GTimeVal *result);
1645
1646 /* ============== Compat main loop stuff ================== */
1647
1648@@ -278,35 +278,35 @@
1649 #endif /* G_DISABLE_DEPRECATED */
1650
1651 /* Source manipulation by ID */
1652-gboolean g_source_remove (guint tag);
1653-gboolean g_source_remove_by_user_data (gpointer user_data);
1654-gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
1655- gpointer user_data);
1656+GLIB_FUNC gboolean g_source_remove (guint tag);
1657+GLIB_FUNC gboolean g_source_remove_by_user_data (gpointer user_data);
1658+GLIB_FUNC gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
1659+ gpointer user_data);;
1660
1661 /* Idles, child watchers and timeouts */
1662-guint g_timeout_add_full (gint priority,
1663+GLIB_FUNC guint g_timeout_add_full (gint priority,
1664 guint interval,
1665 GSourceFunc function,
1666 gpointer data,
1667- GDestroyNotify notify);
1668-guint g_timeout_add (guint interval,
1669+ GDestroyNotify notify);;
1670+GLIB_FUNC guint g_timeout_add (guint interval,
1671 GSourceFunc function,
1672- gpointer data);
1673-guint g_child_watch_add_full (gint priority,
1674+ gpointer data);;
1675+GLIB_FUNC guint g_child_watch_add_full (gint priority,
1676 GPid pid,
1677 GChildWatchFunc function,
1678 gpointer data,
1679- GDestroyNotify notify);
1680-guint g_child_watch_add (GPid pid,
1681+ GDestroyNotify notify);;
1682+GLIB_FUNC guint g_child_watch_add (GPid pid,
1683 GChildWatchFunc function,
1684- gpointer data);
1685-guint g_idle_add (GSourceFunc function,
1686- gpointer data);
1687-guint g_idle_add_full (gint priority,
1688+ gpointer data);;
1689+GLIB_FUNC guint g_idle_add (GSourceFunc function,
1690+ gpointer data);;
1691+GLIB_FUNC guint g_idle_add_full (gint priority,
1692 GSourceFunc function,
1693 gpointer data,
1694- GDestroyNotify notify);
1695-gboolean g_idle_remove_by_data (gpointer data);
1696+ GDestroyNotify notify);;
1697+GLIB_FUNC gboolean g_idle_remove_by_data (gpointer data);
1698
1699 /* Hook for GClosure / GSource integration. Don't touch */
1700 GLIB_VAR GSourceFuncs g_timeout_funcs;
1701--- glib-2.4.6/glib/gmarkup.h~visibility.patch
1702+++ glib-2.4.6/glib/gmarkup.h
1703@@ -42,7 +42,7 @@
1704
1705 #define G_MARKUP_ERROR g_markup_error_quark ()
1706
1707-GQuark g_markup_error_quark (void);
1708+GLIB_FUNC GQuark g_markup_error_quark (void);
1709
1710 typedef enum
1711 {
1712@@ -97,33 +97,33 @@
1713 gpointer user_data);
1714 };
1715
1716-GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser,
1717+GLIB_FUNC GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser,
1718 GMarkupParseFlags flags,
1719 gpointer user_data,
1720- GDestroyNotify user_data_dnotify);
1721-void g_markup_parse_context_free (GMarkupParseContext *context);
1722-gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
1723+ GDestroyNotify user_data_dnotify);;
1724+GLIB_FUNC void g_markup_parse_context_free (GMarkupParseContext *context);
1725+GLIB_FUNC gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
1726 const gchar *text,
1727 gssize text_len,
1728- GError **error);
1729+ GError **error);;
1730
1731-gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
1732- GError **error);
1733-G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseContext *context);
1734+GLIB_FUNC gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
1735+ GError **error);;
1736+GLIB_FUNC G_CONST_RETURN gchar *g_markup_parse_context_get_element (GMarkupParseContext *context);
1737
1738 /* For user-constructed error messages, has no precise semantics */
1739-void g_markup_parse_context_get_position (GMarkupParseContext *context,
1740+GLIB_FUNC void g_markup_parse_context_get_position (GMarkupParseContext *context,
1741 gint *line_number,
1742- gint *char_number);
1743+ gint *char_number);;
1744
1745 /* useful when saving */
1746-gchar* g_markup_escape_text (const gchar *text,
1747- gssize length);
1748+GLIB_FUNC gchar* g_markup_escape_text (const gchar *text,
1749+ gssize length);;
1750
1751-gchar *g_markup_printf_escaped (const char *format,
1752- ...) G_GNUC_PRINTF (1, 2);
1753-gchar *g_markup_vprintf_escaped (const char *format,
1754- va_list args);
1755+GLIB_FUNC gchar *g_markup_printf_escaped (const char *format,
1756+ ...) G_GNUC_PRINTF (1, 2);;
1757+GLIB_FUNC gchar *g_markup_vprintf_escaped (const char *format,
1758+ va_list args);;
1759
1760 G_END_DECLS
1761
1762--- glib-2.4.6/glib/gmem.h~visibility.patch
1763+++ glib-2.4.6/glib/gmem.h
1764@@ -45,14 +45,14 @@
1765
1766 /* Memory allocation functions
1767 */
1768-gpointer g_malloc (gulong n_bytes);
1769-gpointer g_malloc0 (gulong n_bytes);
1770-gpointer g_realloc (gpointer mem,
1771- gulong n_bytes);
1772-void g_free (gpointer mem);
1773-gpointer g_try_malloc (gulong n_bytes);
1774-gpointer g_try_realloc (gpointer mem,
1775- gulong n_bytes);
1776+GLIB_FUNC gpointer g_malloc (gulong n_bytes);
1777+GLIB_FUNC gpointer g_malloc0 (gulong n_bytes);
1778+GLIB_FUNC gpointer g_realloc (gpointer mem,
1779+ gulong n_bytes);;
1780+GLIB_FUNC void g_free (gpointer mem);
1781+GLIB_FUNC gpointer g_try_malloc (gulong n_bytes);
1782+GLIB_FUNC gpointer g_try_realloc (gpointer mem,
1783+ gulong n_bytes);;
1784
1785
1786 /* Convenience memory allocators
1787@@ -82,13 +82,13 @@
1788 gpointer (*try_realloc) (gpointer mem,
1789 gsize n_bytes);
1790 };
1791-void g_mem_set_vtable (GMemVTable *vtable);
1792-gboolean g_mem_is_system_malloc (void);
1793+GLIB_FUNC void g_mem_set_vtable (GMemVTable *vtable);
1794+GLIB_FUNC gboolean g_mem_is_system_malloc (void);
1795
1796 /* Memory profiler and checker, has to be enabled via g_mem_set_vtable()
1797 */
1798 GLIB_VAR GMemVTable *glib_mem_profiler_table;
1799-void g_mem_profile (void);
1800+GLIB_FUNC void g_mem_profile (void);
1801
1802
1803 /* Memchunk convenience functions
1804@@ -132,19 +132,19 @@
1805 #define G_ALLOC_ONLY 1
1806 #define G_ALLOC_AND_FREE 2
1807
1808-GMemChunk* g_mem_chunk_new (const gchar *name,
1809+GLIB_FUNC GMemChunk* g_mem_chunk_new (const gchar *name,
1810 gint atom_size,
1811 gulong area_size,
1812- gint type);
1813-void g_mem_chunk_destroy (GMemChunk *mem_chunk);
1814-gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);
1815-gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);
1816-void g_mem_chunk_free (GMemChunk *mem_chunk,
1817- gpointer mem);
1818-void g_mem_chunk_clean (GMemChunk *mem_chunk);
1819-void g_mem_chunk_reset (GMemChunk *mem_chunk);
1820-void g_mem_chunk_print (GMemChunk *mem_chunk);
1821-void g_mem_chunk_info (void);
1822+ gint type);;
1823+GLIB_FUNC void g_mem_chunk_destroy (GMemChunk *mem_chunk);
1824+GLIB_FUNC gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);
1825+GLIB_FUNC gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);
1826+GLIB_FUNC void g_mem_chunk_free (GMemChunk *mem_chunk,
1827+ gpointer mem);;
1828+GLIB_FUNC void g_mem_chunk_clean (GMemChunk *mem_chunk);
1829+GLIB_FUNC void g_mem_chunk_reset (GMemChunk *mem_chunk);
1830+GLIB_FUNC void g_mem_chunk_print (GMemChunk *mem_chunk);
1831+GLIB_FUNC void g_mem_chunk_info (void);
1832
1833 /* Ah yes...we have a "g_blow_chunks" function.
1834 * "g_blow_chunks" simply compresses all the chunks. This operation
1835@@ -154,14 +154,14 @@
1836 * much better name than "g_mem_chunk_clean_all" or something
1837 * similar.
1838 */
1839-void g_blow_chunks (void);
1840+GLIB_FUNC void g_blow_chunks (void);
1841
1842
1843 /* Generic allocators
1844 */
1845-GAllocator* g_allocator_new (const gchar *name,
1846- guint n_preallocs);
1847-void g_allocator_free (GAllocator *allocator);
1848+GLIB_FUNC GAllocator* g_allocator_new (const gchar *name,
1849+ guint n_preallocs);;
1850+GLIB_FUNC void g_allocator_free (GAllocator *allocator);
1851
1852 /* internal */
1853 #define G_ALLOCATOR_LIST (1)
1854--- glib-2.4.6/glib/gmessages.h~visibility.patch
1855+++ glib-2.4.6/glib/gmessages.h
1856@@ -41,8 +41,8 @@
1857
1858 /* calculate a string size, guaranteed to fit format + args.
1859 */
1860-gsize g_printf_string_upper_bound (const gchar* format,
1861- va_list args);
1862+GLIB_FUNC gsize g_printf_string_upper_bound (const gchar* format,
1863+ va_list args);;
1864
1865 /* Log level shift offset for user defined
1866 * log levels (0-7 are used by GLib).
1867@@ -78,27 +78,27 @@
1868
1869 /* Logging mechanism
1870 */
1871-guint g_log_set_handler (const gchar *log_domain,
1872+GLIB_FUNC guint g_log_set_handler (const gchar *log_domain,
1873 GLogLevelFlags log_levels,
1874 GLogFunc log_func,
1875- gpointer user_data);
1876-void g_log_remove_handler (const gchar *log_domain,
1877- guint handler_id);
1878-void g_log_default_handler (const gchar *log_domain,
1879+ gpointer user_data);;
1880+GLIB_FUNC void g_log_remove_handler (const gchar *log_domain,
1881+ guint handler_id);;
1882+GLIB_FUNC void g_log_default_handler (const gchar *log_domain,
1883 GLogLevelFlags log_level,
1884 const gchar *message,
1885- gpointer unused_data);
1886-void g_log (const gchar *log_domain,
1887+ gpointer unused_data);;
1888+GLIB_FUNC void g_log (const gchar *log_domain,
1889 GLogLevelFlags log_level,
1890 const gchar *format,
1891- ...) G_GNUC_PRINTF (3, 4);
1892-void g_logv (const gchar *log_domain,
1893+ ...) G_GNUC_PRINTF (3, 4);;
1894+GLIB_FUNC void g_logv (const gchar *log_domain,
1895 GLogLevelFlags log_level,
1896 const gchar *format,
1897- va_list args);
1898-GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
1899- GLogLevelFlags fatal_mask);
1900-GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
1901+ va_list args);;
1902+GLIB_FUNC GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
1903+ GLogLevelFlags fatal_mask);;
1904+GLIB_FUNC GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
1905
1906 /* internal */
1907 void _g_log_fallback_handler (const gchar *log_domain,
1908@@ -176,12 +176,12 @@
1909 #endif /* !__GNUC__ */
1910
1911 typedef void (*GPrintFunc) (const gchar *string);
1912-void g_print (const gchar *format,
1913- ...) G_GNUC_PRINTF (1, 2);
1914-GPrintFunc g_set_print_handler (GPrintFunc func);
1915-void g_printerr (const gchar *format,
1916- ...) G_GNUC_PRINTF (1, 2);
1917-GPrintFunc g_set_printerr_handler (GPrintFunc func);
1918+GLIB_FUNC void g_print (const gchar *format,
1919+ ...) G_GNUC_PRINTF (1, 2);;
1920+GLIB_FUNC GPrintFunc g_set_print_handler (GPrintFunc func);
1921+GLIB_FUNC void g_printerr (const gchar *format,
1922+ ...) G_GNUC_PRINTF (1, 2);;
1923+GLIB_FUNC GPrintFunc g_set_printerr_handler (GPrintFunc func);
1924
1925
1926 /* Provide macros for error handling. The "assert" macros will
1927--- glib-2.4.6/glib/gnode.h~visibility.patch
1928+++ glib-2.4.6/glib/gnode.h
1929@@ -74,36 +74,36 @@
1930 ((GNode*) (node))->next == NULL)
1931 #define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL)
1932
1933-void g_node_push_allocator (GAllocator *allocator);
1934-void g_node_pop_allocator (void);
1935-GNode* g_node_new (gpointer data);
1936-void g_node_destroy (GNode *root);
1937-void g_node_unlink (GNode *node);
1938-GNode* g_node_copy_deep (GNode *node,
1939+GLIB_FUNC void g_node_push_allocator (GAllocator *allocator);
1940+GLIB_FUNC void g_node_pop_allocator (void);
1941+GLIB_FUNC GNode* g_node_new (gpointer data);
1942+GLIB_FUNC void g_node_destroy (GNode *root);
1943+GLIB_FUNC void g_node_unlink (GNode *node);
1944+GLIB_FUNC GNode* g_node_copy_deep (GNode *node,
1945 GCopyFunc copy_func,
1946- gpointer data);
1947-GNode* g_node_copy (GNode *node);
1948-GNode* g_node_insert (GNode *parent,
1949+ gpointer data);;
1950+GLIB_FUNC GNode* g_node_copy (GNode *node);
1951+GLIB_FUNC GNode* g_node_insert (GNode *parent,
1952 gint position,
1953- GNode *node);
1954-GNode* g_node_insert_before (GNode *parent,
1955+ GNode *node);;
1956+GLIB_FUNC GNode* g_node_insert_before (GNode *parent,
1957 GNode *sibling,
1958- GNode *node);
1959-GNode* g_node_insert_after (GNode *parent,
1960+ GNode *node);;
1961+GLIB_FUNC GNode* g_node_insert_after (GNode *parent,
1962 GNode *sibling,
1963- GNode *node);
1964-GNode* g_node_prepend (GNode *parent,
1965- GNode *node);
1966-guint g_node_n_nodes (GNode *root,
1967- GTraverseFlags flags);
1968-GNode* g_node_get_root (GNode *node);
1969-gboolean g_node_is_ancestor (GNode *node,
1970- GNode *descendant);
1971-guint g_node_depth (GNode *node);
1972-GNode* g_node_find (GNode *root,
1973+ GNode *node);;
1974+GLIB_FUNC GNode* g_node_prepend (GNode *parent,
1975+ GNode *node);;
1976+GLIB_FUNC guint g_node_n_nodes (GNode *root,
1977+ GTraverseFlags flags);;
1978+GLIB_FUNC GNode* g_node_get_root (GNode *node);
1979+GLIB_FUNC gboolean g_node_is_ancestor (GNode *node,
1980+ GNode *descendant);;
1981+GLIB_FUNC guint g_node_depth (GNode *node);
1982+GLIB_FUNC GNode* g_node_find (GNode *root,
1983 GTraverseType order,
1984 GTraverseFlags flags,
1985- gpointer data);
1986+ gpointer data);;
1987
1988 /* convenience macros */
1989 #define g_node_append(parent, node) \
1990@@ -122,39 +122,39 @@
1991 * this function is just a high level interface to
1992 * low level traversal functions, optimized for speed.
1993 */
1994-void g_node_traverse (GNode *root,
1995+GLIB_FUNC void g_node_traverse (GNode *root,
1996 GTraverseType order,
1997 GTraverseFlags flags,
1998 gint max_depth,
1999 GNodeTraverseFunc func,
2000- gpointer data);
2001+ gpointer data);;
2002
2003 /* return the maximum tree height starting with `node', this is an expensive
2004 * operation, since we need to visit all nodes. this could be shortened by
2005 * adding `guint height' to struct _GNode, but then again, this is not very
2006 * often needed, and would make g_node_insert() more time consuming.
2007 */
2008-guint g_node_max_height (GNode *root);
2009+GLIB_FUNC guint g_node_max_height (GNode *root);
2010
2011-void g_node_children_foreach (GNode *node,
2012+GLIB_FUNC void g_node_children_foreach (GNode *node,
2013 GTraverseFlags flags,
2014 GNodeForeachFunc func,
2015- gpointer data);
2016-void g_node_reverse_children (GNode *node);
2017-guint g_node_n_children (GNode *node);
2018-GNode* g_node_nth_child (GNode *node,
2019- guint n);
2020-GNode* g_node_last_child (GNode *node);
2021-GNode* g_node_find_child (GNode *node,
2022+ gpointer data);;
2023+GLIB_FUNC void g_node_reverse_children (GNode *node);
2024+GLIB_FUNC guint g_node_n_children (GNode *node);
2025+GLIB_FUNC GNode* g_node_nth_child (GNode *node,
2026+ guint n);;
2027+GLIB_FUNC GNode* g_node_last_child (GNode *node);
2028+GLIB_FUNC GNode* g_node_find_child (GNode *node,
2029 GTraverseFlags flags,
2030- gpointer data);
2031-gint g_node_child_position (GNode *node,
2032- GNode *child);
2033-gint g_node_child_index (GNode *node,
2034- gpointer data);
2035+ gpointer data);;
2036+GLIB_FUNC gint g_node_child_position (GNode *node,
2037+ GNode *child);;
2038+GLIB_FUNC gint g_node_child_index (GNode *node,
2039+ gpointer data);;
2040
2041-GNode* g_node_first_sibling (GNode *node);
2042-GNode* g_node_last_sibling (GNode *node);
2043+GLIB_FUNC GNode* g_node_first_sibling (GNode *node);
2044+GLIB_FUNC GNode* g_node_last_sibling (GNode *node);
2045
2046 #define g_node_prev_sibling(node) ((node) ? \
2047 ((GNode*) (node))->prev : NULL)
2048--- glib-2.4.6/glib/gpattern.h~visibility.patch
2049+++ glib-2.4.6/glib/gpattern.h
2050@@ -26,18 +26,18 @@
2051
2052 typedef struct _GPatternSpec GPatternSpec;
2053
2054-GPatternSpec* g_pattern_spec_new (const gchar *pattern);
2055-void g_pattern_spec_free (GPatternSpec *pspec);
2056-gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
2057- GPatternSpec *pspec2);
2058-gboolean g_pattern_match (GPatternSpec *pspec,
2059+GLIB_FUNC GPatternSpec* g_pattern_spec_new (const gchar *pattern);
2060+GLIB_FUNC void g_pattern_spec_free (GPatternSpec *pspec);
2061+GLIB_FUNC gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
2062+ GPatternSpec *pspec2);;
2063+GLIB_FUNC gboolean g_pattern_match (GPatternSpec *pspec,
2064 guint string_length,
2065 const gchar *string,
2066- const gchar *string_reversed);
2067-gboolean g_pattern_match_string (GPatternSpec *pspec,
2068- const gchar *string);
2069-gboolean g_pattern_match_simple (const gchar *pattern,
2070- const gchar *string);
2071+ const gchar *string_reversed);;
2072+GLIB_FUNC gboolean g_pattern_match_string (GPatternSpec *pspec,
2073+ const gchar *string);;
2074+GLIB_FUNC gboolean g_pattern_match_simple (const gchar *pattern,
2075+ const gchar *string);;
2076
2077 G_END_DECLS
2078
2079--- glib-2.4.6/glib/gprimes.h~visibility.patch
2080+++ glib-2.4.6/glib/gprimes.h
2081@@ -40,7 +40,7 @@
2082 * next largest prime, or the highest it knows about which is about
2083 * MAXINT/4.
2084 */
2085-guint g_spaced_primes_closest (guint num) G_GNUC_CONST;
2086+GLIB_FUNC guint g_spaced_primes_closest (guint num) G_GNUC_CONST;;
2087
2088 G_END_DECLS
2089
2090--- glib-2.4.6/glib/gprintf.h~visibility.patch
2091+++ glib-2.4.6/glib/gprintf.h
2092@@ -25,34 +25,34 @@
2093
2094 G_BEGIN_DECLS
2095
2096-gint g_printf (gchar const *format,
2097- ...) G_GNUC_PRINTF (1, 2);
2098-gint g_fprintf (FILE *file,
2099+GLIB_FUNC gint g_printf (gchar const *format,
2100+ ...) G_GNUC_PRINTF (1, 2);;
2101+GLIB_FUNC gint g_fprintf (FILE *file,
2102 gchar const *format,
2103- ...) G_GNUC_PRINTF (2, 3);
2104-gint g_sprintf (gchar *string,
2105+ ...) G_GNUC_PRINTF (2, 3);;
2106+GLIB_FUNC gint g_sprintf (gchar *string,
2107 gchar const *format,
2108- ...) G_GNUC_PRINTF (2, 3);
2109-gint g_snprintf (gchar *string,
2110+ ...) G_GNUC_PRINTF (2, 3);;
2111+GLIB_FUNC gint g_snprintf (gchar *string,
2112 gulong n,
2113 gchar const *format,
2114- ...) G_GNUC_PRINTF (3, 4);
2115+ ...) G_GNUC_PRINTF (3, 4);;
2116
2117-gint g_vprintf (gchar const *format,
2118- va_list args);
2119-gint g_vfprintf (FILE *file,
2120+GLIB_FUNC gint g_vprintf (gchar const *format,
2121+ va_list args);;
2122+GLIB_FUNC gint g_vfprintf (FILE *file,
2123 gchar const *format,
2124- va_list args);
2125-gint g_vsprintf (gchar *string,
2126+ va_list args);;
2127+GLIB_FUNC gint g_vsprintf (gchar *string,
2128 gchar const *format,
2129- va_list args);
2130-gint g_vsnprintf (gchar *string,
2131+ va_list args);;
2132+GLIB_FUNC gint g_vsnprintf (gchar *string,
2133 gulong n,
2134 gchar const *format,
2135- va_list args);
2136-gint g_vasprintf (gchar **string,
2137+ va_list args);;
2138+GLIB_FUNC gint g_vasprintf (gchar **string,
2139 gchar const *format,
2140- va_list args);
2141+ va_list args);;
2142
2143 G_END_DECLS
2144
2145--- glib-2.4.6/glib/gqsort.h~visibility.patch
2146+++ glib-2.4.6/glib/gqsort.h
2147@@ -32,11 +32,11 @@
2148
2149 G_BEGIN_DECLS
2150
2151-void g_qsort_with_data (gconstpointer pbase,
2152+GLIB_FUNC void g_qsort_with_data (gconstpointer pbase,
2153 gint total_elems,
2154 gsize size,
2155 GCompareDataFunc compare_func,
2156- gpointer user_data);
2157+ gpointer user_data);;
2158
2159 G_END_DECLS
2160
2161--- glib-2.4.6/glib/gquark.h~visibility.patch
2162+++ glib-2.4.6/glib/gquark.h
2163@@ -35,10 +35,10 @@
2164
2165 /* Quarks (string<->id association)
2166 */
2167-GQuark g_quark_try_string (const gchar *string);
2168-GQuark g_quark_from_static_string (const gchar *string);
2169-GQuark g_quark_from_string (const gchar *string);
2170-G_CONST_RETURN gchar* g_quark_to_string (GQuark quark) G_GNUC_CONST;
2171+GLIB_FUNC GQuark g_quark_try_string (const gchar *string);
2172+GLIB_FUNC GQuark g_quark_from_static_string (const gchar *string);
2173+GLIB_FUNC GQuark g_quark_from_string (const gchar *string);
2174+GLIB_FUNC G_CONST_RETURN gchar* g_quark_to_string (GQuark quark) G_GNUC_CONST;
2175
2176 G_END_DECLS
2177
2178--- glib-2.4.6/glib/gqueue.h~visibility.patch
2179+++ glib-2.4.6/glib/gqueue.h
2180@@ -42,77 +42,77 @@
2181
2182 /* Queues
2183 */
2184-GQueue* g_queue_new (void);
2185-void g_queue_free (GQueue *queue);
2186-gboolean g_queue_is_empty (GQueue *queue);
2187-guint g_queue_get_length (GQueue *queue);
2188-void g_queue_reverse (GQueue *queue);
2189-GQueue * g_queue_copy (GQueue *queue);
2190-void g_queue_foreach (GQueue *queue,
2191+GLIB_FUNC GQueue* g_queue_new (void);
2192+GLIB_FUNC void g_queue_free (GQueue *queue);
2193+GLIB_FUNC gboolean g_queue_is_empty (GQueue *queue);
2194+GLIB_FUNC guint g_queue_get_length (GQueue *queue);
2195+GLIB_FUNC void g_queue_reverse (GQueue *queue);
2196+GLIB_FUNC GQueue * g_queue_copy (GQueue *queue);
2197+GLIB_FUNC void g_queue_foreach (GQueue *queue,
2198 GFunc func,
2199- gpointer user_data);
2200-GList * g_queue_find (GQueue *queue,
2201- gconstpointer data);
2202-GList * g_queue_find_custom (GQueue *queue,
2203+ gpointer user_data);;
2204+GLIB_FUNC GList * g_queue_find (GQueue *queue,
2205+ gconstpointer data);;
2206+GLIB_FUNC GList * g_queue_find_custom (GQueue *queue,
2207 gconstpointer data,
2208- GCompareFunc func);
2209-void g_queue_sort (GQueue *queue,
2210+ GCompareFunc func);;
2211+GLIB_FUNC void g_queue_sort (GQueue *queue,
2212 GCompareDataFunc compare_func,
2213- gpointer user_data);
2214+ gpointer user_data);;
2215
2216-void g_queue_push_head (GQueue *queue,
2217- gpointer data);
2218-void g_queue_push_tail (GQueue *queue,
2219- gpointer data);
2220-void g_queue_push_nth (GQueue *queue,
2221+GLIB_FUNC void g_queue_push_head (GQueue *queue,
2222+ gpointer data);;
2223+GLIB_FUNC void g_queue_push_tail (GQueue *queue,
2224+ gpointer data);;
2225+GLIB_FUNC void g_queue_push_nth (GQueue *queue,
2226 gpointer data,
2227- gint n);
2228-gpointer g_queue_pop_head (GQueue *queue);
2229-gpointer g_queue_pop_tail (GQueue *queue);
2230-gpointer g_queue_pop_nth (GQueue *queue,
2231- guint n);
2232-gpointer g_queue_peek_head (GQueue *queue);
2233-gpointer g_queue_peek_tail (GQueue *queue);
2234-gpointer g_queue_peek_nth (GQueue *queue,
2235- guint n);
2236-gint g_queue_index (GQueue *queue,
2237- gconstpointer data);
2238-void g_queue_remove (GQueue *queue,
2239- gconstpointer data);
2240-void g_queue_remove_all (GQueue *queue,
2241- gconstpointer data);
2242-void g_queue_insert_before (GQueue *queue,
2243+ gint n);;
2244+GLIB_FUNC gpointer g_queue_pop_head (GQueue *queue);
2245+GLIB_FUNC gpointer g_queue_pop_tail (GQueue *queue);
2246+GLIB_FUNC gpointer g_queue_pop_nth (GQueue *queue,
2247+ guint n);;
2248+GLIB_FUNC gpointer g_queue_peek_head (GQueue *queue);
2249+GLIB_FUNC gpointer g_queue_peek_tail (GQueue *queue);
2250+GLIB_FUNC gpointer g_queue_peek_nth (GQueue *queue,
2251+ guint n);;
2252+GLIB_FUNC gint g_queue_index (GQueue *queue,
2253+ gconstpointer data);;
2254+GLIB_FUNC void g_queue_remove (GQueue *queue,
2255+ gconstpointer data);;
2256+GLIB_FUNC void g_queue_remove_all (GQueue *queue,
2257+ gconstpointer data);;
2258+GLIB_FUNC void g_queue_insert_before (GQueue *queue,
2259 GList *sibling,
2260- gpointer data);
2261-void g_queue_insert_after (GQueue *queue,
2262+ gpointer data);;
2263+GLIB_FUNC void g_queue_insert_after (GQueue *queue,
2264 GList *sibling,
2265- gpointer data);
2266-void g_queue_insert_sorted (GQueue *queue,
2267+ gpointer data);;
2268+GLIB_FUNC void g_queue_insert_sorted (GQueue *queue,
2269 gpointer data,
2270 GCompareDataFunc func,
2271- gpointer user_data);
2272+ gpointer user_data);;
2273
2274-void g_queue_push_head_link (GQueue *queue,
2275- GList *link_);
2276-void g_queue_push_tail_link (GQueue *queue,
2277- GList *link_);
2278-void g_queue_push_nth_link (GQueue *queue,
2279+GLIB_FUNC void g_queue_push_head_link (GQueue *queue,
2280+ GList *link_);;
2281+GLIB_FUNC void g_queue_push_tail_link (GQueue *queue,
2282+ GList *link_);;
2283+GLIB_FUNC void g_queue_push_nth_link (GQueue *queue,
2284 gint n,
2285- GList *link_);
2286-GList* g_queue_pop_head_link (GQueue *queue);
2287-GList* g_queue_pop_tail_link (GQueue *queue);
2288-GList* g_queue_pop_nth_link (GQueue *queue,
2289- guint n);
2290-GList* g_queue_peek_head_link (GQueue *queue);
2291-GList* g_queue_peek_tail_link (GQueue *queue);
2292-GList* g_queue_peek_nth_link (GQueue *queue,
2293- guint n);
2294-gint g_queue_link_index (GQueue *queue,
2295- GList *link_);
2296-void g_queue_unlink (GQueue *queue,
2297- GList *link_);
2298-void g_queue_delete_link (GQueue *queue,
2299- GList *link_);
2300+ GList *link_);;
2301+GLIB_FUNC GList* g_queue_pop_head_link (GQueue *queue);
2302+GLIB_FUNC GList* g_queue_pop_tail_link (GQueue *queue);
2303+GLIB_FUNC GList* g_queue_pop_nth_link (GQueue *queue,
2304+ guint n);;
2305+GLIB_FUNC GList* g_queue_peek_head_link (GQueue *queue);
2306+GLIB_FUNC GList* g_queue_peek_tail_link (GQueue *queue);
2307+GLIB_FUNC GList* g_queue_peek_nth_link (GQueue *queue,
2308+ guint n);;
2309+GLIB_FUNC gint g_queue_link_index (GQueue *queue,
2310+ GList *link_);;
2311+GLIB_FUNC void g_queue_unlink (GQueue *queue,
2312+ GList *link_);;
2313+GLIB_FUNC void g_queue_delete_link (GQueue *queue,
2314+ GList *link_);;
2315
2316 G_END_DECLS
2317
2318--- glib-2.4.6/glib/grand.h~visibility.patch
2319+++ glib-2.4.6/glib/grand.h
2320@@ -42,38 +42,38 @@
2321 * double_range -> [begin..end)
2322 */
2323
2324-GRand* g_rand_new_with_seed (guint32 seed);
2325-GRand* g_rand_new_with_seed_array (const guint32 *seed,
2326- guint seed_length);
2327-GRand* g_rand_new (void);
2328-void g_rand_free (GRand *rand_);
2329-GRand* g_rand_copy (GRand *rand_);
2330-void g_rand_set_seed (GRand *rand_,
2331- guint32 seed);
2332-void g_rand_set_seed_array (GRand *rand_,
2333+GLIB_FUNC GRand* g_rand_new_with_seed (guint32 seed);
2334+GLIB_FUNC GRand* g_rand_new_with_seed_array (const guint32 *seed,
2335+ guint seed_length);;
2336+GLIB_FUNC GRand* g_rand_new (void);
2337+GLIB_FUNC void g_rand_free (GRand *rand_);
2338+GLIB_FUNC GRand* g_rand_copy (GRand *rand_);
2339+GLIB_FUNC void g_rand_set_seed (GRand *rand_,
2340+ guint32 seed);;
2341+GLIB_FUNC void g_rand_set_seed_array (GRand *rand_,
2342 const guint32 *seed,
2343- guint seed_length);
2344+ guint seed_length);;
2345
2346 #define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0)
2347
2348-guint32 g_rand_int (GRand *rand_);
2349-gint32 g_rand_int_range (GRand *rand_,
2350+GLIB_FUNC guint32 g_rand_int (GRand *rand_);
2351+GLIB_FUNC gint32 g_rand_int_range (GRand *rand_,
2352 gint32 begin,
2353- gint32 end);
2354-gdouble g_rand_double (GRand *rand_);
2355-gdouble g_rand_double_range (GRand *rand_,
2356+ gint32 end);;
2357+GLIB_FUNC gdouble g_rand_double (GRand *rand_);
2358+GLIB_FUNC gdouble g_rand_double_range (GRand *rand_,
2359 gdouble begin,
2360- gdouble end);
2361-void g_random_set_seed (guint32 seed);
2362+ gdouble end);;
2363+GLIB_FUNC void g_random_set_seed (guint32 seed);
2364
2365 #define g_random_boolean() ((g_random_int () & (1 << 15)) != 0)
2366
2367-guint32 g_random_int (void);
2368-gint32 g_random_int_range (gint32 begin,
2369- gint32 end);
2370-gdouble g_random_double (void);
2371-gdouble g_random_double_range (gdouble begin,
2372- gdouble end);
2373+GLIB_FUNC guint32 g_random_int (void);
2374+GLIB_FUNC gint32 g_random_int_range (gint32 begin,
2375+ gint32 end);;
2376+GLIB_FUNC gdouble g_random_double (void);
2377+GLIB_FUNC gdouble g_random_double_range (gdouble begin,
2378+ gdouble end);;
2379
2380
2381 G_END_DECLS
2382--- glib-2.4.6/glib/grel.h~visibility.patch
2383+++ glib-2.4.6/glib/grel.h
2384@@ -62,31 +62,31 @@
2385 * g_relation_count() counts ...
2386 */
2387
2388-GRelation* g_relation_new (gint fields);
2389-void g_relation_destroy (GRelation *relation);
2390-void g_relation_index (GRelation *relation,
2391+GLIB_FUNC GRelation* g_relation_new (gint fields);
2392+GLIB_FUNC void g_relation_destroy (GRelation *relation);
2393+GLIB_FUNC void g_relation_index (GRelation *relation,
2394 gint field,
2395 GHashFunc hash_func,
2396- GEqualFunc key_equal_func);
2397-void g_relation_insert (GRelation *relation,
2398- ...);
2399-gint g_relation_delete (GRelation *relation,
2400+ GEqualFunc key_equal_func);;
2401+GLIB_FUNC void g_relation_insert (GRelation *relation,
2402+ ...);;
2403+GLIB_FUNC gint g_relation_delete (GRelation *relation,
2404 gconstpointer key,
2405- gint field);
2406-GTuples* g_relation_select (GRelation *relation,
2407+ gint field);;
2408+GLIB_FUNC GTuples* g_relation_select (GRelation *relation,
2409 gconstpointer key,
2410- gint field);
2411-gint g_relation_count (GRelation *relation,
2412+ gint field);;
2413+GLIB_FUNC gint g_relation_count (GRelation *relation,
2414 gconstpointer key,
2415- gint field);
2416-gboolean g_relation_exists (GRelation *relation,
2417- ...);
2418-void g_relation_print (GRelation *relation);
2419+ gint field);;
2420+GLIB_FUNC gboolean g_relation_exists (GRelation *relation,
2421+ ...);;
2422+GLIB_FUNC void g_relation_print (GRelation *relation);
2423
2424-void g_tuples_destroy (GTuples *tuples);
2425-gpointer g_tuples_index (GTuples *tuples,
2426+GLIB_FUNC void g_tuples_destroy (GTuples *tuples);
2427+GLIB_FUNC gpointer g_tuples_index (GTuples *tuples,
2428 gint index_,
2429- gint field);
2430+ gint field);;
2431
2432 G_END_DECLS
2433
2434--- glib-2.4.6/glib/gscanner.h~visibility.patch
2435+++ glib-2.4.6/glib/gscanner.h
2436@@ -201,52 +201,52 @@
2437 GScannerMsgFunc msg_handler;
2438 };
2439
2440-GScanner* g_scanner_new (const GScannerConfig *config_templ);
2441-void g_scanner_destroy (GScanner *scanner);
2442-void g_scanner_input_file (GScanner *scanner,
2443- gint input_fd);
2444-void g_scanner_sync_file_offset (GScanner *scanner);
2445-void g_scanner_input_text (GScanner *scanner,
2446+GLIB_FUNC GScanner* g_scanner_new (const GScannerConfig *config_templ);
2447+GLIB_FUNC void g_scanner_destroy (GScanner *scanner);
2448+GLIB_FUNC void g_scanner_input_file (GScanner *scanner,
2449+ gint input_fd);;
2450+GLIB_FUNC void g_scanner_sync_file_offset (GScanner *scanner);
2451+GLIB_FUNC void g_scanner_input_text (GScanner *scanner,
2452 const gchar *text,
2453- guint text_len);
2454-GTokenType g_scanner_get_next_token (GScanner *scanner);
2455-GTokenType g_scanner_peek_next_token (GScanner *scanner);
2456-GTokenType g_scanner_cur_token (GScanner *scanner);
2457-GTokenValue g_scanner_cur_value (GScanner *scanner);
2458-guint g_scanner_cur_line (GScanner *scanner);
2459-guint g_scanner_cur_position (GScanner *scanner);
2460-gboolean g_scanner_eof (GScanner *scanner);
2461-guint g_scanner_set_scope (GScanner *scanner,
2462- guint scope_id);
2463-void g_scanner_scope_add_symbol (GScanner *scanner,
2464+ guint text_len);;
2465+GLIB_FUNC GTokenType g_scanner_get_next_token (GScanner *scanner);
2466+GLIB_FUNC GTokenType g_scanner_peek_next_token (GScanner *scanner);
2467+GLIB_FUNC GTokenType g_scanner_cur_token (GScanner *scanner);
2468+GLIB_FUNC GTokenValue g_scanner_cur_value (GScanner *scanner);
2469+GLIB_FUNC guint g_scanner_cur_line (GScanner *scanner);
2470+GLIB_FUNC guint g_scanner_cur_position (GScanner *scanner);
2471+GLIB_FUNC gboolean g_scanner_eof (GScanner *scanner);
2472+GLIB_FUNC guint g_scanner_set_scope (GScanner *scanner,
2473+ guint scope_id);;
2474+GLIB_FUNC void g_scanner_scope_add_symbol (GScanner *scanner,
2475 guint scope_id,
2476 const gchar *symbol,
2477- gpointer value);
2478-void g_scanner_scope_remove_symbol (GScanner *scanner,
2479+ gpointer value);;
2480+GLIB_FUNC void g_scanner_scope_remove_symbol (GScanner *scanner,
2481 guint scope_id,
2482- const gchar *symbol);
2483-gpointer g_scanner_scope_lookup_symbol (GScanner *scanner,
2484+ const gchar *symbol);;
2485+GLIB_FUNC gpointer g_scanner_scope_lookup_symbol (GScanner *scanner,
2486 guint scope_id,
2487- const gchar *symbol);
2488-void g_scanner_scope_foreach_symbol (GScanner *scanner,
2489+ const gchar *symbol);;
2490+GLIB_FUNC void g_scanner_scope_foreach_symbol (GScanner *scanner,
2491 guint scope_id,
2492 GHFunc func,
2493- gpointer user_data);
2494-gpointer g_scanner_lookup_symbol (GScanner *scanner,
2495- const gchar *symbol);
2496-void g_scanner_unexp_token (GScanner *scanner,
2497+ gpointer user_data);;
2498+GLIB_FUNC gpointer g_scanner_lookup_symbol (GScanner *scanner,
2499+ const gchar *symbol);;
2500+GLIB_FUNC void g_scanner_unexp_token (GScanner *scanner,
2501 GTokenType expected_token,
2502 const gchar *identifier_spec,
2503 const gchar *symbol_spec,
2504 const gchar *symbol_name,
2505 const gchar *message,
2506- gint is_error);
2507-void g_scanner_error (GScanner *scanner,
2508+ gint is_error);;
2509+GLIB_FUNC void g_scanner_error (GScanner *scanner,
2510 const gchar *format,
2511- ...) G_GNUC_PRINTF (2,3);
2512-void g_scanner_warn (GScanner *scanner,
2513+ ...) G_GNUC_PRINTF (2,3);;
2514+GLIB_FUNC void g_scanner_warn (GScanner *scanner,
2515 const gchar *format,
2516- ...) G_GNUC_PRINTF (2,3);
2517+ ...) G_GNUC_PRINTF (2,3);;
2518
2519 #ifndef G_DISABLE_DEPRECATED
2520
2521--- glib-2.4.6/glib/gshell.h~visibility.patch
2522+++ glib-2.4.6/glib/gshell.h
2523@@ -36,15 +36,15 @@
2524 G_SHELL_ERROR_FAILED
2525 } GShellError;
2526
2527-GQuark g_shell_error_quark (void);
2528+GLIB_FUNC GQuark g_shell_error_quark (void);
2529
2530-gchar* g_shell_quote (const gchar *unquoted_string);
2531-gchar* g_shell_unquote (const gchar *quoted_string,
2532- GError **error);
2533-gboolean g_shell_parse_argv (const gchar *command_line,
2534+GLIB_FUNC gchar* g_shell_quote (const gchar *unquoted_string);
2535+GLIB_FUNC gchar* g_shell_unquote (const gchar *quoted_string,
2536+ GError **error);;
2537+GLIB_FUNC gboolean g_shell_parse_argv (const gchar *command_line,
2538 gint *argcp,
2539 gchar ***argvp,
2540- GError **error);
2541+ GError **error);;
2542
2543 G_END_DECLS
2544
2545--- glib-2.4.6/glib/gslist.h~visibility.patch
2546+++ glib-2.4.6/glib/gslist.h
2547@@ -41,59 +41,59 @@
2548
2549 /* Singly linked lists
2550 */
2551-void g_slist_push_allocator (GAllocator *allocator);
2552-void g_slist_pop_allocator (void);
2553-GSList* g_slist_alloc (void);
2554-void g_slist_free (GSList *list);
2555-void g_slist_free_1 (GSList *list);
2556-GSList* g_slist_append (GSList *list,
2557- gpointer data);
2558-GSList* g_slist_prepend (GSList *list,
2559- gpointer data);
2560-GSList* g_slist_insert (GSList *list,
2561+GLIB_FUNC void g_slist_push_allocator (GAllocator *allocator);
2562+GLIB_FUNC void g_slist_pop_allocator (void);
2563+GLIB_FUNC GSList* g_slist_alloc (void);
2564+GLIB_FUNC void g_slist_free (GSList *list);
2565+GLIB_FUNC void g_slist_free_1 (GSList *list);
2566+GLIB_FUNC GSList* g_slist_append (GSList *list,
2567+ gpointer data);;
2568+GLIB_FUNC GSList* g_slist_prepend (GSList *list,
2569+ gpointer data);;
2570+GLIB_FUNC GSList* g_slist_insert (GSList *list,
2571 gpointer data,
2572- gint position);
2573-GSList* g_slist_insert_sorted (GSList *list,
2574+ gint position);;
2575+GLIB_FUNC GSList* g_slist_insert_sorted (GSList *list,
2576 gpointer data,
2577- GCompareFunc func);
2578-GSList* g_slist_insert_before (GSList *slist,
2579+ GCompareFunc func);;
2580+GLIB_FUNC GSList* g_slist_insert_before (GSList *slist,
2581 GSList *sibling,
2582- gpointer data);
2583-GSList* g_slist_concat (GSList *list1,
2584- GSList *list2);
2585-GSList* g_slist_remove (GSList *list,
2586- gconstpointer data);
2587-GSList* g_slist_remove_all (GSList *list,
2588- gconstpointer data);
2589-GSList* g_slist_remove_link (GSList *list,
2590- GSList *link_);
2591-GSList* g_slist_delete_link (GSList *list,
2592- GSList *link_);
2593-GSList* g_slist_reverse (GSList *list);
2594-GSList* g_slist_copy (GSList *list);
2595-GSList* g_slist_nth (GSList *list,
2596- guint n);
2597-GSList* g_slist_find (GSList *list,
2598- gconstpointer data);
2599-GSList* g_slist_find_custom (GSList *list,
2600+ gpointer data);;
2601+GLIB_FUNC GSList* g_slist_concat (GSList *list1,
2602+ GSList *list2);;
2603+GLIB_FUNC GSList* g_slist_remove (GSList *list,
2604+ gconstpointer data);;
2605+GLIB_FUNC GSList* g_slist_remove_all (GSList *list,
2606+ gconstpointer data);;
2607+GLIB_FUNC GSList* g_slist_remove_link (GSList *list,
2608+ GSList *link_);;
2609+GLIB_FUNC GSList* g_slist_delete_link (GSList *list,
2610+ GSList *link_);;
2611+GLIB_FUNC GSList* g_slist_reverse (GSList *list);
2612+GLIB_FUNC GSList* g_slist_copy (GSList *list);
2613+GLIB_FUNC GSList* g_slist_nth (GSList *list,
2614+ guint n);;
2615+GLIB_FUNC GSList* g_slist_find (GSList *list,
2616+ gconstpointer data);;
2617+GLIB_FUNC GSList* g_slist_find_custom (GSList *list,
2618 gconstpointer data,
2619- GCompareFunc func);
2620-gint g_slist_position (GSList *list,
2621- GSList *llink);
2622-gint g_slist_index (GSList *list,
2623- gconstpointer data);
2624-GSList* g_slist_last (GSList *list);
2625-guint g_slist_length (GSList *list);
2626-void g_slist_foreach (GSList *list,
2627+ GCompareFunc func);;
2628+GLIB_FUNC gint g_slist_position (GSList *list,
2629+ GSList *llink);;
2630+GLIB_FUNC gint g_slist_index (GSList *list,
2631+ gconstpointer data);;
2632+GLIB_FUNC GSList* g_slist_last (GSList *list);
2633+GLIB_FUNC guint g_slist_length (GSList *list);
2634+GLIB_FUNC void g_slist_foreach (GSList *list,
2635 GFunc func,
2636- gpointer user_data);
2637-GSList* g_slist_sort (GSList *list,
2638- GCompareFunc compare_func);
2639-GSList* g_slist_sort_with_data (GSList *list,
2640+ gpointer user_data);;
2641+GLIB_FUNC GSList* g_slist_sort (GSList *list,
2642+ GCompareFunc compare_func);;
2643+GLIB_FUNC GSList* g_slist_sort_with_data (GSList *list,
2644 GCompareDataFunc compare_func,
2645- gpointer user_data);
2646-gpointer g_slist_nth_data (GSList *list,
2647- guint n);
2648+ gpointer user_data);;
2649+GLIB_FUNC gpointer g_slist_nth_data (GSList *list,
2650+ guint n);;
2651 #define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL)
2652
2653 G_END_DECLS
2654--- glib-2.4.6/glib/gspawn.h~visibility.patch
2655+++ glib-2.4.6/glib/gspawn.h
2656@@ -69,22 +69,22 @@
2657 G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6
2658 } GSpawnFlags;
2659
2660-GQuark g_spawn_error_quark (void);
2661+GLIB_FUNC GQuark g_spawn_error_quark (void);
2662
2663-gboolean g_spawn_async (const gchar *working_directory,
2664+GLIB_FUNC gboolean g_spawn_async (const gchar *working_directory,
2665 gchar **argv,
2666 gchar **envp,
2667 GSpawnFlags flags,
2668 GSpawnChildSetupFunc child_setup,
2669 gpointer user_data,
2670 GPid *child_pid,
2671- GError **error);
2672+ GError **error);;
2673
2674
2675 /* Opens pipes for non-NULL standard_output, standard_input, standard_error,
2676 * and returns the parent's end of the pipes.
2677 */
2678-gboolean g_spawn_async_with_pipes (const gchar *working_directory,
2679+GLIB_FUNC gboolean g_spawn_async_with_pipes (const gchar *working_directory,
2680 gchar **argv,
2681 gchar **envp,
2682 GSpawnFlags flags,
2683@@ -94,14 +94,14 @@
2684 gint *standard_input,
2685 gint *standard_output,
2686 gint *standard_error,
2687- GError **error);
2688+ GError **error);;
2689
2690
2691 /* If standard_output or standard_error are non-NULL, the full
2692 * standard output or error of the command will be placed there.
2693 */
2694
2695-gboolean g_spawn_sync (const gchar *working_directory,
2696+GLIB_FUNC gboolean g_spawn_sync (const gchar *working_directory,
2697 gchar **argv,
2698 gchar **envp,
2699 GSpawnFlags flags,
2700@@ -110,17 +110,17 @@
2701 gchar **standard_output,
2702 gchar **standard_error,
2703 gint *exit_status,
2704- GError **error);
2705+ GError **error);;
2706
2707-gboolean g_spawn_command_line_sync (const gchar *command_line,
2708+GLIB_FUNC gboolean g_spawn_command_line_sync (const gchar *command_line,
2709 gchar **standard_output,
2710 gchar **standard_error,
2711 gint *exit_status,
2712- GError **error);
2713-gboolean g_spawn_command_line_async (const gchar *command_line,
2714- GError **error);
2715+ GError **error);;
2716+GLIB_FUNC gboolean g_spawn_command_line_async (const gchar *command_line,
2717+ GError **error);;
2718
2719-void g_spawn_close_pid (GPid pid);
2720+GLIB_FUNC void g_spawn_close_pid (GPid pid);
2721
2722
2723 G_END_DECLS
2724--- glib-2.4.6/glib/gstrfuncs.h~visibility.patch
2725+++ glib-2.4.6/glib/gstrfuncs.h
2726@@ -82,82 +82,82 @@
2727 #define g_ascii_isxdigit(c) \
2728 ((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0)
2729
2730-gchar g_ascii_tolower (gchar c) G_GNUC_CONST;
2731-gchar g_ascii_toupper (gchar c) G_GNUC_CONST;
2732+GLIB_FUNC gchar g_ascii_tolower (gchar c) G_GNUC_CONST;;
2733+GLIB_FUNC gchar g_ascii_toupper (gchar c) G_GNUC_CONST;;
2734
2735-gint g_ascii_digit_value (gchar c) G_GNUC_CONST;
2736-gint g_ascii_xdigit_value (gchar c) G_GNUC_CONST;
2737+GLIB_FUNC gint g_ascii_digit_value (gchar c) G_GNUC_CONST;;
2738+GLIB_FUNC gint g_ascii_xdigit_value (gchar c) G_GNUC_CONST;;
2739
2740 /* String utility functions that modify a string argument or
2741 * return a constant string that must not be freed.
2742 */
2743 #define G_STR_DELIMITERS "_-|> <."
2744-gchar* g_strdelimit (gchar *string,
2745+GLIB_FUNC gchar* g_strdelimit (gchar *string,
2746 const gchar *delimiters,
2747- gchar new_delimiter);
2748-gchar* g_strcanon (gchar *string,
2749+ gchar new_delimiter);;
2750+GLIB_FUNC gchar* g_strcanon (gchar *string,
2751 const gchar *valid_chars,
2752- gchar substitutor);
2753-G_CONST_RETURN gchar* g_strerror (gint errnum) G_GNUC_CONST;
2754-G_CONST_RETURN gchar* g_strsignal (gint signum) G_GNUC_CONST;
2755-gchar* g_strreverse (gchar *string);
2756-gsize g_strlcpy (gchar *dest,
2757+ gchar substitutor);;
2758+GLIB_FUNC G_CONST_RETURN gchar* g_strerror (gint errnum) G_GNUC_CONST;
2759+GLIB_FUNC G_CONST_RETURN gchar* g_strsignal (gint signum) G_GNUC_CONST;
2760+GLIB_FUNC gchar* g_strreverse (gchar *string);
2761+GLIB_FUNC gsize g_strlcpy (gchar *dest,
2762 const gchar *src,
2763- gsize dest_size);
2764-gsize g_strlcat (gchar *dest,
2765+ gsize dest_size);;
2766+GLIB_FUNC gsize g_strlcat (gchar *dest,
2767 const gchar *src,
2768- gsize dest_size);
2769-gchar * g_strstr_len (const gchar *haystack,
2770+ gsize dest_size);;
2771+GLIB_FUNC gchar * g_strstr_len (const gchar *haystack,
2772 gssize haystack_len,
2773- const gchar *needle);
2774-gchar * g_strrstr (const gchar *haystack,
2775- const gchar *needle);
2776-gchar * g_strrstr_len (const gchar *haystack,
2777+ const gchar *needle);;
2778+GLIB_FUNC gchar * g_strrstr (const gchar *haystack,
2779+ const gchar *needle);;
2780+GLIB_FUNC gchar * g_strrstr_len (const gchar *haystack,
2781 gssize haystack_len,
2782- const gchar *needle);
2783+ const gchar *needle);;
2784
2785-gboolean g_str_has_suffix (const gchar *str,
2786- const gchar *suffix);
2787-gboolean g_str_has_prefix (const gchar *str,
2788- const gchar *prefix);
2789+GLIB_FUNC gboolean g_str_has_suffix (const gchar *str,
2790+ const gchar *suffix);;
2791+GLIB_FUNC gboolean g_str_has_prefix (const gchar *str,
2792+ const gchar *prefix);;
2793
2794 /* String to/from double conversion functions */
2795
2796-gdouble g_strtod (const gchar *nptr,
2797- gchar **endptr);
2798-gdouble g_ascii_strtod (const gchar *nptr,
2799- gchar **endptr);
2800-guint64 g_ascii_strtoull (const gchar *nptr,
2801+GLIB_FUNC gdouble g_strtod (const gchar *nptr,
2802+ gchar **endptr);;
2803+GLIB_FUNC gdouble g_ascii_strtod (const gchar *nptr,
2804+ gchar **endptr);;
2805+GLIB_FUNC guint64 g_ascii_strtoull (const gchar *nptr,
2806 gchar **endptr,
2807- guint base);
2808+ guint base);;
2809 /* 29 bytes should enough for all possible values that
2810 * g_ascii_dtostr can produce.
2811 * Then add 10 for good measure */
2812 #define G_ASCII_DTOSTR_BUF_SIZE (29 + 10)
2813-gchar * g_ascii_dtostr (gchar *buffer,
2814+GLIB_FUNC gchar * g_ascii_dtostr (gchar *buffer,
2815 gint buf_len,
2816- gdouble d);
2817-gchar * g_ascii_formatd (gchar *buffer,
2818+ gdouble d);;
2819+GLIB_FUNC gchar * g_ascii_formatd (gchar *buffer,
2820 gint buf_len,
2821 const gchar *format,
2822- gdouble d);
2823+ gdouble d);;
2824
2825 /* removes leading spaces */
2826-gchar* g_strchug (gchar *string);
2827+GLIB_FUNC gchar* g_strchug (gchar *string);
2828 /* removes trailing spaces */
2829-gchar* g_strchomp (gchar *string);
2830+GLIB_FUNC gchar* g_strchomp (gchar *string);
2831 /* removes leading & trailing spaces */
2832 #define g_strstrip( string ) g_strchomp (g_strchug (string))
2833
2834-gint g_ascii_strcasecmp (const gchar *s1,
2835- const gchar *s2);
2836-gint g_ascii_strncasecmp (const gchar *s1,
2837+GLIB_FUNC gint g_ascii_strcasecmp (const gchar *s1,
2838+ const gchar *s2);;
2839+GLIB_FUNC gint g_ascii_strncasecmp (const gchar *s1,
2840 const gchar *s2,
2841- gsize n);
2842-gchar* g_ascii_strdown (const gchar *str,
2843- gssize len);
2844-gchar* g_ascii_strup (const gchar *str,
2845- gssize len);
2846+ gsize n);;
2847+GLIB_FUNC gchar* g_ascii_strdown (const gchar *str,
2848+ gssize len);;
2849+GLIB_FUNC gchar* g_ascii_strup (const gchar *str,
2850+ gssize len);;
2851
2852 #ifndef G_DISABLE_DEPRECATED
2853
2854@@ -166,37 +166,37 @@
2855 * toupper, which is almost never the right thing.
2856 */
2857
2858-gint g_strcasecmp (const gchar *s1,
2859- const gchar *s2);
2860-gint g_strncasecmp (const gchar *s1,
2861+GLIB_FUNC gint g_strcasecmp (const gchar *s1,
2862+ const gchar *s2);;
2863+GLIB_FUNC gint g_strncasecmp (const gchar *s1,
2864 const gchar *s2,
2865- guint n);
2866-gchar* g_strdown (gchar *string);
2867-gchar* g_strup (gchar *string);
2868+ guint n);;
2869+GLIB_FUNC gchar* g_strdown (gchar *string);
2870+GLIB_FUNC gchar* g_strup (gchar *string);
2871
2872 #endif /* G_DISABLE_DEPRECATED */
2873
2874 /* String utility functions that return a newly allocated string which
2875 * ought to be freed with g_free from the caller at some point.
2876 */
2877-gchar* g_strdup (const gchar *str);
2878-gchar* g_strdup_printf (const gchar *format,
2879- ...) G_GNUC_PRINTF (1, 2);
2880-gchar* g_strdup_vprintf (const gchar *format,
2881- va_list args);
2882-gchar* g_strndup (const gchar *str,
2883- gsize n);
2884-gchar* g_strnfill (gsize length,
2885- gchar fill_char);
2886-gchar* g_strconcat (const gchar *string1,
2887- ...); /* NULL terminated */
2888-gchar* g_strjoin (const gchar *separator,
2889- ...); /* NULL terminated */
2890+GLIB_FUNC gchar* g_strdup (const gchar *str);
2891+GLIB_FUNC gchar* g_strdup_printf (const gchar *format,
2892+ ...) G_GNUC_PRINTF (1, 2);;
2893+GLIB_FUNC gchar* g_strdup_vprintf (const gchar *format,
2894+ va_list args);;
2895+GLIB_FUNC gchar* g_strndup (const gchar *str,
2896+ gsize n);;
2897+GLIB_FUNC gchar* g_strnfill (gsize length,
2898+ gchar fill_char);;
2899+GLIB_FUNC gchar* g_strconcat (const gchar *string1,
2900+ ...);; /* NULL terminated */
2901+GLIB_FUNC gchar* g_strjoin (const gchar *separator,
2902+ ...);; /* NULL terminated */
2903 /* Make a copy of a string interpreting C string -style escape
2904 * sequences. Inverse of g_strescape. The recognized sequences are \b
2905 * \f \n \r \t \\ \" and the octal format.
2906 */
2907-gchar* g_strcompress (const gchar *source);
2908+GLIB_FUNC gchar* g_strcompress (const gchar *source);
2909
2910 /* Copy a string escaping nonprintable characters like in C strings.
2911 * Inverse of g_strcompress. The exceptions parameter, if non-NULL, points
2912@@ -206,11 +206,11 @@
2913 * Luckily this function wasn't used much, using NULL as second parameter
2914 * provides mostly identical semantics.
2915 */
2916-gchar* g_strescape (const gchar *source,
2917- const gchar *exceptions);
2918+GLIB_FUNC gchar* g_strescape (const gchar *source,
2919+ const gchar *exceptions);;
2920
2921-gpointer g_memdup (gconstpointer mem,
2922- guint byte_size);
2923+GLIB_FUNC gpointer g_memdup (gconstpointer mem,
2924+ guint byte_size);;
2925
2926 /* NULL terminated string arrays.
2927 * g_strsplit(), g_strsplit_set() split up string into max_tokens tokens
2928@@ -220,21 +220,21 @@
2929 * g_strfreev() frees the array itself and all of its strings.
2930 * g_strdupv() copies a NULL-terminated array of strings
2931 */
2932-gchar** g_strsplit (const gchar *string,
2933+GLIB_FUNC gchar** g_strsplit (const gchar *string,
2934 const gchar *delimiter,
2935- gint max_tokens);
2936-gchar ** g_strsplit_set (const gchar *string,
2937+ gint max_tokens);;
2938+GLIB_FUNC gchar ** g_strsplit_set (const gchar *string,
2939 const gchar *delimiters,
2940- gint max_tokens);
2941-gchar* g_strjoinv (const gchar *separator,
2942- gchar **str_array);
2943-void g_strfreev (gchar **str_array);
2944-gchar** g_strdupv (gchar **str_array);
2945+ gint max_tokens);;
2946+GLIB_FUNC gchar* g_strjoinv (const gchar *separator,
2947+ gchar **str_array);;
2948+GLIB_FUNC void g_strfreev (gchar **str_array);
2949+GLIB_FUNC gchar** g_strdupv (gchar **str_array);
2950
2951-gchar* g_stpcpy (gchar *dest,
2952- const char *src);
2953+GLIB_FUNC gchar* g_stpcpy (gchar *dest,
2954+ const char *src);;
2955
2956-G_CONST_RETURN gchar *g_strip_context (const gchar *msgid,
2957+GLIB_FUNC G_CONST_RETURN gchar *g_strip_context (const gchar *msgid,
2958 const gchar *msgval);
2959
2960 G_END_DECLS
2961--- glib-2.4.6/glib/gstring.h~visibility.patch
2962+++ glib-2.4.6/glib/gstring.h
2963@@ -45,76 +45,76 @@
2964
2965 /* String Chunks
2966 */
2967-GStringChunk* g_string_chunk_new (gsize size);
2968-void g_string_chunk_free (GStringChunk *chunk);
2969-gchar* g_string_chunk_insert (GStringChunk *chunk,
2970- const gchar *string);
2971-gchar* g_string_chunk_insert_len (GStringChunk *chunk,
2972+GLIB_FUNC GStringChunk* g_string_chunk_new (gsize size);
2973+GLIB_FUNC void g_string_chunk_free (GStringChunk *chunk);
2974+GLIB_FUNC gchar* g_string_chunk_insert (GStringChunk *chunk,
2975+ const gchar *string);;
2976+GLIB_FUNC gchar* g_string_chunk_insert_len (GStringChunk *chunk,
2977 const gchar *string,
2978- gssize len);
2979-gchar* g_string_chunk_insert_const (GStringChunk *chunk,
2980- const gchar *string);
2981+ gssize len);;
2982+GLIB_FUNC gchar* g_string_chunk_insert_const (GStringChunk *chunk,
2983+ const gchar *string);;
2984
2985
2986 /* Strings
2987 */
2988-GString* g_string_new (const gchar *init);
2989-GString* g_string_new_len (const gchar *init,
2990- gssize len);
2991-GString* g_string_sized_new (gsize dfl_size);
2992-gchar* g_string_free (GString *string,
2993- gboolean free_segment);
2994-gboolean g_string_equal (const GString *v,
2995- const GString *v2);
2996-guint g_string_hash (const GString *str);
2997-GString* g_string_assign (GString *string,
2998- const gchar *rval);
2999-GString* g_string_truncate (GString *string,
3000- gsize len);
3001-GString* g_string_set_size (GString *string,
3002- gsize len);
3003-GString* g_string_insert_len (GString *string,
3004+GLIB_FUNC GString* g_string_new (const gchar *init);
3005+GLIB_FUNC GString* g_string_new_len (const gchar *init,
3006+ gssize len);;
3007+GLIB_FUNC GString* g_string_sized_new (gsize dfl_size);
3008+GLIB_FUNC gchar* g_string_free (GString *string,
3009+ gboolean free_segment);;
3010+GLIB_FUNC gboolean g_string_equal (const GString *v,
3011+ const GString *v2);;
3012+GLIB_FUNC guint g_string_hash (const GString *str);
3013+GLIB_FUNC GString* g_string_assign (GString *string,
3014+ const gchar *rval);;
3015+GLIB_FUNC GString* g_string_truncate (GString *string,
3016+ gsize len);;
3017+GLIB_FUNC GString* g_string_set_size (GString *string,
3018+ gsize len);;
3019+GLIB_FUNC GString* g_string_insert_len (GString *string,
3020 gssize pos,
3021 const gchar *val,
3022- gssize len);
3023-GString* g_string_append (GString *string,
3024- const gchar *val);
3025-GString* g_string_append_len (GString *string,
3026+ gssize len);;
3027+GLIB_FUNC GString* g_string_append (GString *string,
3028+ const gchar *val);;
3029+GLIB_FUNC GString* g_string_append_len (GString *string,
3030 const gchar *val,
3031- gssize len);
3032-GString* g_string_append_c (GString *string,
3033- gchar c);
3034-GString* g_string_append_unichar (GString *string,
3035- gunichar wc);
3036-GString* g_string_prepend (GString *string,
3037- const gchar *val);
3038-GString* g_string_prepend_c (GString *string,
3039- gchar c);
3040-GString* g_string_prepend_unichar (GString *string,
3041- gunichar wc);
3042-GString* g_string_prepend_len (GString *string,
3043+ gssize len);;
3044+GLIB_FUNC GString* g_string_append_c (GString *string,
3045+ gchar c);;
3046+GLIB_FUNC GString* g_string_append_unichar (GString *string,
3047+ gunichar wc);;
3048+GLIB_FUNC GString* g_string_prepend (GString *string,
3049+ const gchar *val);;
3050+GLIB_FUNC GString* g_string_prepend_c (GString *string,
3051+ gchar c);;
3052+GLIB_FUNC GString* g_string_prepend_unichar (GString *string,
3053+ gunichar wc);;
3054+GLIB_FUNC GString* g_string_prepend_len (GString *string,
3055 const gchar *val,
3056- gssize len);
3057-GString* g_string_insert (GString *string,
3058+ gssize len);;
3059+GLIB_FUNC GString* g_string_insert (GString *string,
3060 gssize pos,
3061- const gchar *val);
3062-GString* g_string_insert_c (GString *string,
3063+ const gchar *val);;
3064+GLIB_FUNC GString* g_string_insert_c (GString *string,
3065 gssize pos,
3066- gchar c);
3067-GString* g_string_insert_unichar (GString *string,
3068+ gchar c);;
3069+GLIB_FUNC GString* g_string_insert_unichar (GString *string,
3070 gssize pos,
3071- gunichar wc);
3072-GString* g_string_erase (GString *string,
3073+ gunichar wc);;
3074+GLIB_FUNC GString* g_string_erase (GString *string,
3075 gssize pos,
3076- gssize len);
3077-GString* g_string_ascii_down (GString *string);
3078-GString* g_string_ascii_up (GString *string);
3079-void g_string_printf (GString *string,
3080+ gssize len);;
3081+GLIB_FUNC GString* g_string_ascii_down (GString *string);
3082+GLIB_FUNC GString* g_string_ascii_up (GString *string);
3083+GLIB_FUNC void g_string_printf (GString *string,
3084 const gchar *format,
3085- ...) G_GNUC_PRINTF (2, 3);
3086-void g_string_append_printf (GString *string,
3087+ ...) G_GNUC_PRINTF (2, 3);;
3088+GLIB_FUNC void g_string_append_printf (GString *string,
3089 const gchar *format,
3090- ...) G_GNUC_PRINTF (2, 3);
3091+ ...) G_GNUC_PRINTF (2, 3);;
3092
3093 /* -- optimize g_strig_append_c --- */
3094 #ifdef G_CAN_INLINE
3095@@ -127,8 +127,8 @@
3096 gstring->str[gstring->len++] = c;
3097 gstring->str[gstring->len] = 0;
3098 }
3099- else
3100- g_string_insert_c (gstring, -1, c);
3101+else
3102+ g_string_insert_c (gstring, -1, c);;;;
3103 return gstring;
3104 }
3105 #define g_string_append_c(gstr,c) g_string_append_c_inline (gstr, c)
3106@@ -142,8 +142,8 @@
3107 * toupper, which is almost never the right thing.
3108 */
3109
3110-GString* g_string_down (GString *string);
3111-GString* g_string_up (GString *string);
3112+GLIB_FUNC GString* g_string_down (GString *string);
3113+GLIB_FUNC GString* g_string_up (GString *string);
3114
3115 /* These aliases are included for compatibility. */
3116 #define g_string_sprintf g_string_printf
3117--- glib-2.4.6/glib/gthread.h~visibility.patch
3118+++ glib-2.4.6/glib/gthread.h
3119@@ -36,7 +36,7 @@
3120 /* GLib Thread support
3121 */
3122
3123-extern GQuark g_thread_error_quark (void);
3124+GLIB_FUNC extern GQuark g_thread_error_quark (void);
3125 #define G_THREAD_ERROR g_thread_error_quark ()
3126
3127 typedef enum
3128@@ -116,7 +116,7 @@
3129 * only be called once, and must not be called directly or indirectly
3130 * from another glib-function, e.g. as a callback.
3131 */
3132-void g_thread_init (GThreadFunctions *vtable);
3133+GLIB_FUNC void g_thread_init (GThreadFunctions *vtable);
3134
3135 /* Errorcheck mutexes. If you define G_ERRORCHECK_MUTEXES, then all
3136 * mutexes will check for re-locking and re-unlocking */
3137@@ -125,7 +125,7 @@
3138 * NULL. Do not call directly. Use #define G_ERRORCHECK_MUTEXES
3139 * instead.
3140 */
3141-void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable);
3142+GLIB_FUNC void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable);
3143
3144 /* A random number to recognize debug calls to g_mutex_... */
3145 #define G_MUTEX_DEBUG_MAGIC 0xf8e18ad7
3146@@ -135,7 +135,7 @@
3147 #endif
3148
3149 /* internal function for fallback static mutex implementation */
3150-GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
3151+GLIB_FUNC GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
3152
3153 #define g_static_mutex_get_mutex_impl_shortcut(mutex) \
3154 (g_atomic_pointer_get ((gpointer*)mutex) ? *(mutex) : \
3155@@ -205,19 +205,19 @@
3156 (g_thread_create_full (func, data, 0, joinable, FALSE, \
3157 G_THREAD_PRIORITY_NORMAL, error))
3158
3159-GThread* g_thread_create_full (GThreadFunc func,
3160+GLIB_FUNC GThread* g_thread_create_full (GThreadFunc func,
3161 gpointer data,
3162 gulong stack_size,
3163 gboolean joinable,
3164 gboolean bound,
3165 GThreadPriority priority,
3166- GError **error);
3167-GThread* g_thread_self (void);
3168-void g_thread_exit (gpointer retval);
3169-gpointer g_thread_join (GThread *thread);
3170+ GError **error);;
3171+GLIB_FUNC GThread* g_thread_self (void);
3172+GLIB_FUNC void g_thread_exit (gpointer retval);
3173+GLIB_FUNC gpointer g_thread_join (GThread *thread);
3174
3175-void g_thread_set_priority (GThread *thread,
3176- GThreadPriority priority);
3177+GLIB_FUNC void g_thread_set_priority (GThread *thread,
3178+ GThreadPriority priority);;
3179
3180 /* GStaticMutexes can be statically initialized with the value
3181 * G_STATIC_MUTEX_INIT, and then they can directly be used, that is
3182@@ -230,8 +230,8 @@
3183 g_mutex_trylock (g_static_mutex_get_mutex (mutex))
3184 #define g_static_mutex_unlock(mutex) \
3185 g_mutex_unlock (g_static_mutex_get_mutex (mutex))
3186-void g_static_mutex_init (GStaticMutex *mutex);
3187-void g_static_mutex_free (GStaticMutex *mutex);
3188+GLIB_FUNC void g_static_mutex_init (GStaticMutex *mutex);
3189+GLIB_FUNC void g_static_mutex_free (GStaticMutex *mutex);
3190
3191 struct _GStaticPrivate
3192 {
3193@@ -239,12 +239,12 @@
3194 guint index;
3195 };
3196 #define G_STATIC_PRIVATE_INIT { 0 }
3197-void g_static_private_init (GStaticPrivate *private_key);
3198-gpointer g_static_private_get (GStaticPrivate *private_key);
3199-void g_static_private_set (GStaticPrivate *private_key,
3200+GLIB_FUNC void g_static_private_init (GStaticPrivate *private_key);
3201+GLIB_FUNC gpointer g_static_private_get (GStaticPrivate *private_key);
3202+GLIB_FUNC void g_static_private_set (GStaticPrivate *private_key,
3203 gpointer data,
3204- GDestroyNotify notify);
3205-void g_static_private_free (GStaticPrivate *private_key);
3206+ GDestroyNotify notify);;
3207+GLIB_FUNC void g_static_private_free (GStaticPrivate *private_key);
3208
3209 typedef struct _GStaticRecMutex GStaticRecMutex;
3210 struct _GStaticRecMutex
3211@@ -256,14 +256,14 @@
3212 };
3213
3214 #define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT }
3215-void g_static_rec_mutex_init (GStaticRecMutex *mutex);
3216-void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
3217-gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
3218-void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
3219-void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
3220- guint depth);
3221-guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
3222-void g_static_rec_mutex_free (GStaticRecMutex *mutex);
3223+GLIB_FUNC void g_static_rec_mutex_init (GStaticRecMutex *mutex);
3224+GLIB_FUNC void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
3225+GLIB_FUNC gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
3226+GLIB_FUNC void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
3227+GLIB_FUNC void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
3228+ guint depth);;
3229+GLIB_FUNC guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
3230+GLIB_FUNC void g_static_rec_mutex_free (GStaticRecMutex *mutex);
3231
3232 typedef struct _GStaticRWLock GStaticRWLock;
3233 struct _GStaticRWLock
3234@@ -280,14 +280,14 @@
3235
3236 #define G_STATIC_RW_LOCK_INIT { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 }
3237
3238-void g_static_rw_lock_init (GStaticRWLock* lock);
3239-void g_static_rw_lock_reader_lock (GStaticRWLock* lock);
3240-gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock);
3241-void g_static_rw_lock_reader_unlock (GStaticRWLock* lock);
3242-void g_static_rw_lock_writer_lock (GStaticRWLock* lock);
3243-gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock);
3244-void g_static_rw_lock_writer_unlock (GStaticRWLock* lock);
3245-void g_static_rw_lock_free (GStaticRWLock* lock);
3246+GLIB_FUNC void g_static_rw_lock_init (GStaticRWLock* lock);
3247+GLIB_FUNC void g_static_rw_lock_reader_lock (GStaticRWLock* lock);
3248+GLIB_FUNC gboolean g_static_rw_lock_reader_trylock (GStaticRWLock* lock);
3249+GLIB_FUNC void g_static_rw_lock_reader_unlock (GStaticRWLock* lock);
3250+GLIB_FUNC void g_static_rw_lock_writer_lock (GStaticRWLock* lock);
3251+GLIB_FUNC gboolean g_static_rw_lock_writer_trylock (GStaticRWLock* lock);
3252+GLIB_FUNC void g_static_rw_lock_writer_unlock (GStaticRWLock* lock);
3253+GLIB_FUNC void g_static_rw_lock_free (GStaticRWLock* lock);
3254
3255 typedef enum
3256 {
3257@@ -305,7 +305,7 @@
3258
3259 #define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL }
3260
3261-gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);
3262+GLIB_FUNC gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg);
3263
3264 #ifdef G_ATOMIC_OP_MEMORY_BARRIER_NEEDED
3265 # define g_once(once, func, arg) g_once_impl ((once), (func), (arg))
3266--- glib-2.4.6/glib/gthreadinit.h~visibility.patch
3267+++ glib-2.4.6/glib/gthreadinit.h
3268@@ -24,7 +24,7 @@
3269 G_BEGIN_DECLS
3270
3271 /* Is called from gthread/gthread-impl.c */
3272-void g_thread_init_glib (void);
3273+GLIB_FUNC void g_thread_init_glib (void);
3274
3275 /* Are called from glib/gthread.c. May not contain g_private_new calls */
3276 void _g_mem_thread_init (void);
3277--- glib-2.4.6/glib/gthreadpool.h~visibility.patch
3278+++ glib-2.4.6/glib/gthreadpool.h
3279@@ -50,51 +50,51 @@
3280 * means, that the threads shouldn't be shared and that they will be
3281 * prestarted (otherwise they are started as needed) user_data is the
3282 * 2nd argument to the func */
3283-GThreadPool* g_thread_pool_new (GFunc func,
3284+GLIB_FUNC GThreadPool* g_thread_pool_new (GFunc func,
3285 gpointer user_data,
3286 gint max_threads,
3287 gboolean exclusive,
3288- GError **error);
3289+ GError **error);;
3290
3291 /* Push new data into the thread pool. This task is assigned to a thread later
3292 * (when the maximal number of threads is reached for that pool) or now
3293 * (otherwise). If necessary a new thread will be started. The function
3294 * returns immediatly */
3295-void g_thread_pool_push (GThreadPool *pool,
3296+GLIB_FUNC void g_thread_pool_push (GThreadPool *pool,
3297 gpointer data,
3298- GError **error);
3299+ GError **error);;
3300
3301 /* Set the number of threads, which can run concurrently for that pool, -1
3302 * means no limit. 0 means has the effect, that the pool won't process
3303 * requests until the limit is set higher again */
3304-void g_thread_pool_set_max_threads (GThreadPool *pool,
3305+GLIB_FUNC void g_thread_pool_set_max_threads (GThreadPool *pool,
3306 gint max_threads,
3307- GError **error);
3308-gint g_thread_pool_get_max_threads (GThreadPool *pool);
3309+ GError **error);;
3310+GLIB_FUNC gint g_thread_pool_get_max_threads (GThreadPool *pool);
3311
3312 /* Get the number of threads assigned to that pool. This number doesn't
3313 * necessarily represent the number of working threads in that pool */
3314-guint g_thread_pool_get_num_threads (GThreadPool *pool);
3315+GLIB_FUNC guint g_thread_pool_get_num_threads (GThreadPool *pool);
3316
3317 /* Get the number of unprocessed items in the pool */
3318-guint g_thread_pool_unprocessed (GThreadPool *pool);
3319+GLIB_FUNC guint g_thread_pool_unprocessed (GThreadPool *pool);
3320
3321 /* Free the pool, immediate means, that all unprocessed items in the queue
3322 * wont be processed, wait means, that the function doesn't return immediatly,
3323 * but after all threads in the pool are ready processing items. immediate
3324 * does however not mean, that threads are killed. */
3325-void g_thread_pool_free (GThreadPool *pool,
3326+GLIB_FUNC void g_thread_pool_free (GThreadPool *pool,
3327 gboolean immediate,
3328- gboolean wait);
3329+ gboolean wait);;
3330
3331 /* Set the maximal number of unused threads before threads will be stopped by
3332 * GLib, -1 means no limit */
3333-void g_thread_pool_set_max_unused_threads (gint max_threads);
3334-gint g_thread_pool_get_max_unused_threads (void);
3335-guint g_thread_pool_get_num_unused_threads (void);
3336+GLIB_FUNC void g_thread_pool_set_max_unused_threads (gint max_threads);
3337+GLIB_FUNC gint g_thread_pool_get_max_unused_threads (void);
3338+GLIB_FUNC guint g_thread_pool_get_num_unused_threads (void);
3339
3340 /* Stop all currently unused threads, but leave the limit untouched */
3341-void g_thread_pool_stop_unused_threads (void);
3342+GLIB_FUNC void g_thread_pool_stop_unused_threads (void);
3343
3344 G_END_DECLS
3345
3346--- glib-2.4.6/glib/gtimer.h~visibility.patch
3347+++ glib-2.4.6/glib/gtimer.h
3348@@ -39,19 +39,19 @@
3349
3350 #define G_USEC_PER_SEC 1000000
3351
3352-GTimer* g_timer_new (void);
3353-void g_timer_destroy (GTimer *timer);
3354-void g_timer_start (GTimer *timer);
3355-void g_timer_stop (GTimer *timer);
3356-void g_timer_reset (GTimer *timer);
3357-void g_timer_continue (GTimer *timer);
3358-gdouble g_timer_elapsed (GTimer *timer,
3359- gulong *microseconds);
3360+GLIB_FUNC GTimer* g_timer_new (void);
3361+GLIB_FUNC void g_timer_destroy (GTimer *timer);
3362+GLIB_FUNC void g_timer_start (GTimer *timer);
3363+GLIB_FUNC void g_timer_stop (GTimer *timer);
3364+GLIB_FUNC void g_timer_reset (GTimer *timer);
3365+GLIB_FUNC void g_timer_continue (GTimer *timer);
3366+GLIB_FUNC gdouble g_timer_elapsed (GTimer *timer,
3367+ gulong *microseconds);;
3368
3369-void g_usleep (gulong microseconds);
3370+GLIB_FUNC void g_usleep (gulong microseconds);
3371
3372-void g_time_val_add (GTimeVal *time_,
3373- glong microseconds);
3374+GLIB_FUNC void g_time_val_add (GTimeVal *time_,
3375+ glong microseconds);;
3376
3377 G_END_DECLS
3378
3379--- glib-2.4.6/glib/gtree.h~visibility.patch
3380+++ glib-2.4.6/glib/gtree.h
3381@@ -39,46 +39,46 @@
3382
3383 /* Balanced binary trees
3384 */
3385-GTree* g_tree_new (GCompareFunc key_compare_func);
3386-GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func,
3387- gpointer key_compare_data);
3388-GTree* g_tree_new_full (GCompareDataFunc key_compare_func,
3389+GLIB_FUNC GTree* g_tree_new (GCompareFunc key_compare_func);
3390+GLIB_FUNC GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func,
3391+ gpointer key_compare_data);;
3392+GLIB_FUNC GTree* g_tree_new_full (GCompareDataFunc key_compare_func,
3393 gpointer key_compare_data,
3394 GDestroyNotify key_destroy_func,
3395- GDestroyNotify value_destroy_func);
3396-void g_tree_destroy (GTree *tree);
3397-void g_tree_insert (GTree *tree,
3398+ GDestroyNotify value_destroy_func);;
3399+GLIB_FUNC void g_tree_destroy (GTree *tree);
3400+GLIB_FUNC void g_tree_insert (GTree *tree,
3401 gpointer key,
3402- gpointer value);
3403-void g_tree_replace (GTree *tree,
3404+ gpointer value);;
3405+GLIB_FUNC void g_tree_replace (GTree *tree,
3406 gpointer key,
3407- gpointer value);
3408-void g_tree_remove (GTree *tree,
3409- gconstpointer key);
3410-void g_tree_steal (GTree *tree,
3411- gconstpointer key);
3412-gpointer g_tree_lookup (GTree *tree,
3413- gconstpointer key);
3414-gboolean g_tree_lookup_extended (GTree *tree,
3415+ gpointer value);;
3416+GLIB_FUNC void g_tree_remove (GTree *tree,
3417+ gconstpointer key);;
3418+GLIB_FUNC void g_tree_steal (GTree *tree,
3419+ gconstpointer key);;
3420+GLIB_FUNC gpointer g_tree_lookup (GTree *tree,
3421+ gconstpointer key);;
3422+GLIB_FUNC gboolean g_tree_lookup_extended (GTree *tree,
3423 gconstpointer lookup_key,
3424 gpointer *orig_key,
3425- gpointer *value);
3426-void g_tree_foreach (GTree *tree,
3427+ gpointer *value);;
3428+GLIB_FUNC void g_tree_foreach (GTree *tree,
3429 GTraverseFunc func,
3430- gpointer user_data);
3431+ gpointer user_data);;
3432
3433 #ifndef G_DISABLE_DEPRECATED
3434-void g_tree_traverse (GTree *tree,
3435+GLIB_FUNC void g_tree_traverse (GTree *tree,
3436 GTraverseFunc traverse_func,
3437 GTraverseType traverse_type,
3438- gpointer user_data);
3439+ gpointer user_data);;
3440 #endif /* G_DISABLE_DEPRECATED */
3441
3442-gpointer g_tree_search (GTree *tree,
3443+GLIB_FUNC gpointer g_tree_search (GTree *tree,
3444 GCompareFunc search_func,
3445- gconstpointer user_data);
3446-gint g_tree_height (GTree *tree);
3447-gint g_tree_nnodes (GTree *tree);
3448+ gconstpointer user_data);;
3449+GLIB_FUNC gint g_tree_height (GTree *tree);
3450+GLIB_FUNC gint g_tree_nnodes (GTree *tree);
3451
3452
3453
3454--- glib-2.4.6/glib/gtypes.h~visibility.patch
3455+++ glib-2.4.6/glib/gtypes.h
3456@@ -411,9 +411,42 @@
3457 # endif /* !GLIB_COMPILATION */
3458 # endif /* !GLIB_STATIC_COMPILATION */
3459 # else /* !G_PLATFORM_WIN32 */
3460-# define GLIB_VAR extern
3461+# ifdef GLIB_STATIC_COMPILATION
3462+# define GLIB_VAR extern
3463+# else /* !GLIB_STATIC_COMPILATION */
3464+# ifdef GLIB_COMPILATION
3465+# ifdef GCC_HASCLASSVISIBILITY
3466+# define GLIB_VAR __attribute__ ((visibility("default")))
3467+# endif /* !GCC_HASCLASSVISIBILITY */
3468+# endif /* !GLIB_COMPILATION */
3469+# endif /* !GLIB_STATIC_COMPILATION */
3470+# ifndef GLIB_VAR
3471+# define GLIB_VAR extern
3472+# endif /* !GLIB_VAR */
3473 # endif /* !G_PLATFORM_WIN32 */
3474 #endif /* GLIB_VAR */
3475+#ifndef GLIB_FUNC
3476+# ifdef G_PLATFORM_WIN32
3477+# ifndef GLIB_STATIC_COMPILATION
3478+# ifdef GLIB_COMPILATION
3479+# define GLIB_FUNC __declspec(dllexport)
3480+# else /* !GLIB_COMPILATION */
3481+# define GLIB_FUNC __declspec(dllimport)
3482+# endif /* !GLIB_COMPILATION */
3483+# endif /* !GLIB_STATIC_COMPILATION */
3484+# else /* !G_PLATFORM_WIN32 */
3485+# ifndef GLIB_STATIC_COMPILATION
3486+# ifdef GLIB_COMPILATION
3487+# ifdef GCC_HASCLASSVISIBILITY
3488+# define GLIB_FUNC __attribute__ ((visibility("default")))
3489+# endif /* !GCC_HASCLASSVISIBILITY */
3490+# endif /* !GLIB_COMPILATION */
3491+# endif /* !GLIB_STATIC_COMPILATION */
3492+# ifndef GLIB_FUNC
3493+# define GLIB_FUNC
3494+# endif /* !GLIB_FUNC */
3495+# endif /* !G_PLATFORM_WIN32 */
3496+#endif /* GLIB_FUNC */
3497
3498 #endif /* __G_TYPES_H__ */
3499
3500--- glib-2.4.6/glib/gunicode.h~visibility.patch
3501+++ glib-2.4.6/glib/gunicode.h
3502@@ -111,55 +111,55 @@
3503 * in case the locale's charset will be changed later using setlocale()
3504 * or in some other way.
3505 */
3506-gboolean g_get_charset (G_CONST_RETURN char **charset);
3507+GLIB_FUNC gboolean g_get_charset (G_CONST_RETURN char **charset);
3508
3509 /* These are all analogs of the <ctype.h> functions.
3510 */
3511-gboolean g_unichar_isalnum (gunichar c) G_GNUC_CONST;
3512-gboolean g_unichar_isalpha (gunichar c) G_GNUC_CONST;
3513-gboolean g_unichar_iscntrl (gunichar c) G_GNUC_CONST;
3514-gboolean g_unichar_isdigit (gunichar c) G_GNUC_CONST;
3515-gboolean g_unichar_isgraph (gunichar c) G_GNUC_CONST;
3516-gboolean g_unichar_islower (gunichar c) G_GNUC_CONST;
3517-gboolean g_unichar_isprint (gunichar c) G_GNUC_CONST;
3518-gboolean g_unichar_ispunct (gunichar c) G_GNUC_CONST;
3519-gboolean g_unichar_isspace (gunichar c) G_GNUC_CONST;
3520-gboolean g_unichar_isupper (gunichar c) G_GNUC_CONST;
3521-gboolean g_unichar_isxdigit (gunichar c) G_GNUC_CONST;
3522-gboolean g_unichar_istitle (gunichar c) G_GNUC_CONST;
3523-gboolean g_unichar_isdefined (gunichar c) G_GNUC_CONST;
3524-gboolean g_unichar_iswide (gunichar c) G_GNUC_CONST;
3525+GLIB_FUNC gboolean g_unichar_isalnum (gunichar c) G_GNUC_CONST;;
3526+GLIB_FUNC gboolean g_unichar_isalpha (gunichar c) G_GNUC_CONST;;
3527+GLIB_FUNC gboolean g_unichar_iscntrl (gunichar c) G_GNUC_CONST;;
3528+GLIB_FUNC gboolean g_unichar_isdigit (gunichar c) G_GNUC_CONST;;
3529+GLIB_FUNC gboolean g_unichar_isgraph (gunichar c) G_GNUC_CONST;;
3530+GLIB_FUNC gboolean g_unichar_islower (gunichar c) G_GNUC_CONST;;
3531+GLIB_FUNC gboolean g_unichar_isprint (gunichar c) G_GNUC_CONST;;
3532+GLIB_FUNC gboolean g_unichar_ispunct (gunichar c) G_GNUC_CONST;;
3533+GLIB_FUNC gboolean g_unichar_isspace (gunichar c) G_GNUC_CONST;;
3534+GLIB_FUNC gboolean g_unichar_isupper (gunichar c) G_GNUC_CONST;;
3535+GLIB_FUNC gboolean g_unichar_isxdigit (gunichar c) G_GNUC_CONST;;
3536+GLIB_FUNC gboolean g_unichar_istitle (gunichar c) G_GNUC_CONST;;
3537+GLIB_FUNC gboolean g_unichar_isdefined (gunichar c) G_GNUC_CONST;;
3538+GLIB_FUNC gboolean g_unichar_iswide (gunichar c) G_GNUC_CONST;;
3539
3540 /* More <ctype.h> functions. These convert between the three cases.
3541 * See the Unicode book to understand title case. */
3542-gunichar g_unichar_toupper (gunichar c) G_GNUC_CONST;
3543-gunichar g_unichar_tolower (gunichar c) G_GNUC_CONST;
3544-gunichar g_unichar_totitle (gunichar c) G_GNUC_CONST;
3545+GLIB_FUNC gunichar g_unichar_toupper (gunichar c) G_GNUC_CONST;;
3546+GLIB_FUNC gunichar g_unichar_tolower (gunichar c) G_GNUC_CONST;;
3547+GLIB_FUNC gunichar g_unichar_totitle (gunichar c) G_GNUC_CONST;;
3548
3549 /* If C is a digit (according to `g_unichar_isdigit'), then return its
3550 numeric value. Otherwise return -1. */
3551-gint g_unichar_digit_value (gunichar c) G_GNUC_CONST;
3552+GLIB_FUNC gint g_unichar_digit_value (gunichar c) G_GNUC_CONST;;
3553
3554-gint g_unichar_xdigit_value (gunichar c) G_GNUC_CONST;
3555+GLIB_FUNC gint g_unichar_xdigit_value (gunichar c) G_GNUC_CONST;;
3556
3557 /* Return the Unicode character type of a given character. */
3558-GUnicodeType g_unichar_type (gunichar c) G_GNUC_CONST;
3559+GLIB_FUNC GUnicodeType g_unichar_type (gunichar c) G_GNUC_CONST;;
3560
3561 /* Return the line break property for a given character */
3562-GUnicodeBreakType g_unichar_break_type (gunichar c) G_GNUC_CONST;
3563+GLIB_FUNC GUnicodeBreakType g_unichar_break_type (gunichar c) G_GNUC_CONST;;
3564
3565
3566 /* Compute canonical ordering of a string in-place. This rearranges
3567 decomposed characters in the string according to their combining
3568 classes. See the Unicode manual for more information. */
3569-void g_unicode_canonical_ordering (gunichar *string,
3570- gsize len);
3571+GLIB_FUNC void g_unicode_canonical_ordering (gunichar *string,
3572+ gsize len);;
3573
3574 /* Compute canonical decomposition of a character. Returns g_malloc()d
3575 string of Unicode characters. RESULT_LEN is set to the resulting
3576 length of the string. */
3577-gunichar *g_unicode_canonical_decomposition (gunichar ch,
3578- gsize *result_len);
3579+GLIB_FUNC gunichar *g_unicode_canonical_decomposition (gunichar ch,
3580+ gsize *result_len);;
3581
3582 /* Array of skip-bytes-per-initial character.
3583 */
3584@@ -167,97 +167,97 @@
3585
3586 #define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)])
3587
3588-gunichar g_utf8_get_char (const gchar *p);
3589-gunichar g_utf8_get_char_validated (const gchar *p,
3590- gssize max_len);
3591+GLIB_FUNC gunichar g_utf8_get_char (const gchar *p);
3592+GLIB_FUNC gunichar g_utf8_get_char_validated (const gchar *p,
3593+ gssize max_len);;
3594
3595-gchar* g_utf8_offset_to_pointer (const gchar *str,
3596- glong offset);
3597-glong g_utf8_pointer_to_offset (const gchar *str,
3598- const gchar *pos);
3599-gchar* g_utf8_prev_char (const gchar *p);
3600-gchar* g_utf8_find_next_char (const gchar *p,
3601- const gchar *end);
3602-gchar* g_utf8_find_prev_char (const gchar *str,
3603- const gchar *p);
3604+GLIB_FUNC gchar* g_utf8_offset_to_pointer (const gchar *str,
3605+ glong offset);;
3606+GLIB_FUNC glong g_utf8_pointer_to_offset (const gchar *str,
3607+ const gchar *pos);;
3608+GLIB_FUNC gchar* g_utf8_prev_char (const gchar *p);
3609+GLIB_FUNC gchar* g_utf8_find_next_char (const gchar *p,
3610+ const gchar *end);;
3611+GLIB_FUNC gchar* g_utf8_find_prev_char (const gchar *str,
3612+ const gchar *p);;
3613
3614-glong g_utf8_strlen (const gchar *p,
3615- gssize max);
3616+GLIB_FUNC glong g_utf8_strlen (const gchar *p,
3617+ gssize max);;
3618
3619 /* Copies n characters from src to dest */
3620-gchar* g_utf8_strncpy (gchar *dest,
3621+GLIB_FUNC gchar* g_utf8_strncpy (gchar *dest,
3622 const gchar *src,
3623- gsize n);
3624+ gsize n);;
3625
3626 /* Find the UTF-8 character corresponding to ch, in string p. These
3627 functions are equivalants to strchr and strrchr */
3628-gchar* g_utf8_strchr (const gchar *p,
3629+GLIB_FUNC gchar* g_utf8_strchr (const gchar *p,
3630 gssize len,
3631- gunichar c);
3632-gchar* g_utf8_strrchr (const gchar *p,
3633+ gunichar c);;
3634+GLIB_FUNC gchar* g_utf8_strrchr (const gchar *p,
3635 gssize len,
3636- gunichar c);
3637-gchar* g_utf8_strreverse (const gchar *str,
3638- gssize len);
3639+ gunichar c);;
3640+GLIB_FUNC gchar* g_utf8_strreverse (const gchar *str,
3641+ gssize len);;
3642
3643-gunichar2 *g_utf8_to_utf16 (const gchar *str,
3644+GLIB_FUNC gunichar2 *g_utf8_to_utf16 (const gchar *str,
3645 glong len,
3646 glong *items_read,
3647 glong *items_written,
3648- GError **error);
3649-gunichar * g_utf8_to_ucs4 (const gchar *str,
3650+ GError **error);;
3651+GLIB_FUNC gunichar * g_utf8_to_ucs4 (const gchar *str,
3652 glong len,
3653 glong *items_read,
3654 glong *items_written,
3655- GError **error);
3656-gunichar * g_utf8_to_ucs4_fast (const gchar *str,
3657+ GError **error);;
3658+GLIB_FUNC gunichar * g_utf8_to_ucs4_fast (const gchar *str,
3659 glong len,
3660- glong *items_written);
3661-gunichar * g_utf16_to_ucs4 (const gunichar2 *str,
3662+ glong *items_written);;
3663+GLIB_FUNC gunichar * g_utf16_to_ucs4 (const gunichar2 *str,
3664 glong len,
3665 glong *items_read,
3666 glong *items_written,
3667- GError **error);
3668-gchar* g_utf16_to_utf8 (const gunichar2 *str,
3669+ GError **error);;
3670+GLIB_FUNC gchar* g_utf16_to_utf8 (const gunichar2 *str,
3671 glong len,
3672 glong *items_read,
3673 glong *items_written,
3674- GError **error);
3675-gunichar2 *g_ucs4_to_utf16 (const gunichar *str,
3676+ GError **error);;
3677+GLIB_FUNC gunichar2 *g_ucs4_to_utf16 (const gunichar *str,
3678 glong len,
3679 glong *items_read,
3680 glong *items_written,
3681- GError **error);
3682-gchar* g_ucs4_to_utf8 (const gunichar *str,
3683+ GError **error);;
3684+GLIB_FUNC gchar* g_ucs4_to_utf8 (const gunichar *str,
3685 glong len,
3686 glong *items_read,
3687 glong *items_written,
3688- GError **error);
3689+ GError **error);;
3690
3691 /* Convert a single character into UTF-8. outbuf must have at
3692 * least 6 bytes of space. Returns the number of bytes in the
3693 * result.
3694 */
3695-gint g_unichar_to_utf8 (gunichar c,
3696- gchar *outbuf);
3697+GLIB_FUNC gint g_unichar_to_utf8 (gunichar c,
3698+ gchar *outbuf);;
3699
3700 /* Validate a UTF8 string, return TRUE if valid, put pointer to
3701 * first invalid char in **end
3702 */
3703
3704-gboolean g_utf8_validate (const gchar *str,
3705+GLIB_FUNC gboolean g_utf8_validate (const gchar *str,
3706 gssize max_len,
3707- const gchar **end);
3708+ const gchar **end);;
3709
3710 /* Validate a Unicode character */
3711-gboolean g_unichar_validate (gunichar ch);
3712+GLIB_FUNC gboolean g_unichar_validate (gunichar ch);
3713
3714-gchar *g_utf8_strup (const gchar *str,
3715- gssize len);
3716-gchar *g_utf8_strdown (const gchar *str,
3717- gssize len);
3718-gchar *g_utf8_casefold (const gchar *str,
3719- gssize len);
3720+GLIB_FUNC gchar *g_utf8_strup (const gchar *str,
3721+ gssize len);;
3722+GLIB_FUNC gchar *g_utf8_strdown (const gchar *str,
3723+ gssize len);;
3724+GLIB_FUNC gchar *g_utf8_casefold (const gchar *str,
3725+ gssize len);;
3726
3727 typedef enum {
3728 G_NORMALIZE_DEFAULT,
3729@@ -270,17 +270,17 @@
3730 G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE
3731 } GNormalizeMode;
3732
3733-gchar *g_utf8_normalize (const gchar *str,
3734+GLIB_FUNC gchar *g_utf8_normalize (const gchar *str,
3735 gssize len,
3736- GNormalizeMode mode);
3737+ GNormalizeMode mode);;
3738
3739-gint g_utf8_collate (const gchar *str1,
3740- const gchar *str2);
3741-gchar *g_utf8_collate_key (const gchar *str,
3742- gssize len);
3743+GLIB_FUNC gint g_utf8_collate (const gchar *str1,
3744+ const gchar *str2);;
3745+GLIB_FUNC gchar *g_utf8_collate_key (const gchar *str,
3746+ gssize len);;
3747
3748-gboolean g_unichar_get_mirror_char (gunichar ch,
3749- gunichar *mirrored_ch);
3750+GLIB_FUNC gboolean g_unichar_get_mirror_char (gunichar ch,
3751+ gunichar *mirrored_ch);;
3752
3753 G_END_DECLS
3754
3755--- glib-2.4.6/glib/gutils.h~visibility.patch
3756+++ glib-2.4.6/glib/gutils.h
3757@@ -113,14 +113,14 @@
3758
3759 /* Retrive static string info
3760 */
3761-G_CONST_RETURN gchar* g_get_user_name (void);
3762-G_CONST_RETURN gchar* g_get_real_name (void);
3763-G_CONST_RETURN gchar* g_get_home_dir (void);
3764-G_CONST_RETURN gchar* g_get_tmp_dir (void);
3765-gchar* g_get_prgname (void);
3766-void g_set_prgname (const gchar *prgname);
3767-G_CONST_RETURN gchar* g_get_application_name (void);
3768-void g_set_application_name (const gchar *application_name);
3769+GLIB_FUNC G_CONST_RETURN gchar* g_get_user_name (void);
3770+GLIB_FUNC G_CONST_RETURN gchar* g_get_real_name (void);
3771+GLIB_FUNC G_CONST_RETURN gchar* g_get_home_dir (void);
3772+GLIB_FUNC G_CONST_RETURN gchar* g_get_tmp_dir (void);
3773+GLIB_FUNC gchar* g_get_prgname (void);
3774+GLIB_FUNC void g_set_prgname (const gchar *prgname);
3775+GLIB_FUNC G_CONST_RETURN gchar* g_get_application_name (void);
3776+GLIB_FUNC void g_set_application_name (const gchar *application_name);
3777
3778
3779 typedef struct _GDebugKey GDebugKey;
3780@@ -132,24 +132,24 @@
3781
3782 /* Miscellaneous utility functions
3783 */
3784-guint g_parse_debug_string (const gchar *string,
3785+GLIB_FUNC guint g_parse_debug_string (const gchar *string,
3786 const GDebugKey *keys,
3787- guint nkeys);
3788+ guint nkeys);;
3789
3790-gint g_snprintf (gchar *string,
3791+GLIB_FUNC gint g_snprintf (gchar *string,
3792 gulong n,
3793 gchar const *format,
3794- ...) G_GNUC_PRINTF (3, 4);
3795-gint g_vsnprintf (gchar *string,
3796+ ...) G_GNUC_PRINTF (3, 4);;
3797+GLIB_FUNC gint g_vsnprintf (gchar *string,
3798 gulong n,
3799 gchar const *format,
3800- va_list args);
3801+ va_list args);;
3802
3803 /* Check if a file name is an absolute path */
3804-gboolean g_path_is_absolute (const gchar *file_name);
3805+GLIB_FUNC gboolean g_path_is_absolute (const gchar *file_name);
3806
3807 /* In case of absolute paths, skip the root part */
3808-G_CONST_RETURN gchar* g_path_skip_root (const gchar *file_name);
3809+GLIB_FUNC G_CONST_RETURN gchar* g_path_skip_root (const gchar *file_name);
3810
3811 #ifndef G_DISABLE_DEPRECATED
3812
3813@@ -157,27 +157,27 @@
3814 * major release of GLib. Use g_path_get_dirname/g_path_get_basename
3815 * instead. Whatch out! The string returned by g_path_get_basename
3816 * must be g_freed, while the string returned by g_basename must not.*/
3817-G_CONST_RETURN gchar* g_basename (const gchar *file_name);
3818+GLIB_FUNC G_CONST_RETURN gchar* g_basename (const gchar *file_name);
3819 #define g_dirname g_path_get_dirname
3820
3821 #endif /* G_DISABLE_DEPRECATED */
3822
3823 /* The returned strings are newly allocated with g_malloc() */
3824-gchar* g_get_current_dir (void);
3825-gchar* g_path_get_basename (const gchar *file_name);
3826-gchar* g_path_get_dirname (const gchar *file_name);
3827+GLIB_FUNC gchar* g_get_current_dir (void);
3828+GLIB_FUNC gchar* g_path_get_basename (const gchar *file_name);
3829+GLIB_FUNC gchar* g_path_get_dirname (const gchar *file_name);
3830
3831
3832 /* Set the pointer at the specified location to NULL */
3833-void g_nullify_pointer (gpointer *nullify_location);
3834+GLIB_FUNC void g_nullify_pointer (gpointer *nullify_location);
3835
3836 /* return the environment string for the variable. The returned memory
3837 * must not be freed. */
3838-G_CONST_RETURN gchar* g_getenv (const gchar *variable);
3839-gboolean g_setenv (const gchar *variable,
3840+GLIB_FUNC G_CONST_RETURN gchar* g_getenv (const gchar *variable);
3841+GLIB_FUNC gboolean g_setenv (const gchar *variable,
3842 const gchar *value,
3843- gboolean overwrite);
3844-void g_unsetenv (const gchar *variable);
3845+ gboolean overwrite);;
3846+GLIB_FUNC void g_unsetenv (const gchar *variable);
3847
3848
3849 /* we try to provide a usefull equivalent for ATEXIT if it is
3850@@ -195,18 +195,18 @@
3851 * (if there is any in the implementation) and doesn't encounter
3852 * missing include files.
3853 */
3854-void g_atexit (GVoidFunc func);
3855+GLIB_FUNC void g_atexit (GVoidFunc func);
3856
3857 /* Look for an executable in PATH, following execvp() rules */
3858-gchar* g_find_program_in_path (const gchar *program);
3859+GLIB_FUNC gchar* g_find_program_in_path (const gchar *program);
3860
3861 /* Bit tests
3862 */
3863-G_INLINE_FUNC gint g_bit_nth_lsf (gulong mask,
3864- gint nth_bit);
3865-G_INLINE_FUNC gint g_bit_nth_msf (gulong mask,
3866- gint nth_bit);
3867-G_INLINE_FUNC guint g_bit_storage (gulong number);
3868+GLIB_FUNC G_INLINE_FUNC gint g_bit_nth_lsf (gulong mask,
3869+ gint nth_bit);;
3870+GLIB_FUNC G_INLINE_FUNC gint g_bit_nth_msf (gulong mask,
3871+ gint nth_bit);;
3872+GLIB_FUNC G_INLINE_FUNC guint g_bit_storage (gulong number);
3873
3874 /* Trash Stacks
3875 * elements need to be >= sizeof (gpointer)
3876@@ -217,11 +217,11 @@
3877 GTrashStack *next;
3878 };
3879
3880-G_INLINE_FUNC void g_trash_stack_push (GTrashStack **stack_p,
3881- gpointer data_p);
3882-G_INLINE_FUNC gpointer g_trash_stack_pop (GTrashStack **stack_p);
3883-G_INLINE_FUNC gpointer g_trash_stack_peek (GTrashStack **stack_p);
3884-G_INLINE_FUNC guint g_trash_stack_height (GTrashStack **stack_p);
3885+GLIB_FUNC G_INLINE_FUNC void g_trash_stack_push (GTrashStack **stack_p,
3886+ gpointer data_p);;
3887+GLIB_FUNC G_INLINE_FUNC gpointer g_trash_stack_pop (GTrashStack **stack_p);
3888+GLIB_FUNC G_INLINE_FUNC gpointer g_trash_stack_peek (GTrashStack **stack_p);
3889+GLIB_FUNC G_INLINE_FUNC guint g_trash_stack_height (GTrashStack **stack_p);
3890
3891 /* inline function implementations
3892 */
3893--- glib-2.4.6/glib/gwin32.h~visibility.patch
3894+++ glib-2.4.6/glib/gwin32.h
3895@@ -68,8 +68,8 @@
3896 */
3897 # define ftruncate(fd, size) g_win32_ftruncate (fd, size)
3898
3899-gint g_win32_ftruncate (gint f,
3900- guint size);
3901+GLIB_FUNC gint g_win32_ftruncate (gint f,
3902+ guint size);;
3903 #endif /* G_OS_WIN32 */
3904
3905 /* The MS setlocale uses locale names of the form "English_United
3906@@ -78,20 +78,20 @@
3907 * returns it as a string of the above form for use in forming file
3908 * names etc. The returned string should be deallocated with g_free().
3909 */
3910-gchar* g_win32_getlocale (void);
3911+GLIB_FUNC gchar* g_win32_getlocale (void);
3912
3913 /* Translate a Win32 error code (as returned by GetLastError()) into
3914 * the corresponding message. The returned string should be deallocated
3915 * with g_free().
3916 */
3917-gchar* g_win32_error_message (gint error);
3918+GLIB_FUNC gchar* g_win32_error_message (gint error);
3919
3920-gchar* g_win32_get_package_installation_directory (gchar *package,
3921- gchar *dll_name);
3922+GLIB_FUNC gchar* g_win32_get_package_installation_directory (gchar *package,
3923+ gchar *dll_name);;
3924
3925-gchar* g_win32_get_package_installation_subdirectory (gchar *package,
3926+GLIB_FUNC gchar* g_win32_get_package_installation_subdirectory (gchar *package,
3927 gchar *dll_name,
3928- gchar *subdir);
3929+ gchar *subdir);;
3930
3931 G_END_DECLS
3932
3933--- glib-2.4.6/gmodule/gmodule.def~visibility.patch
3934+++ glib-2.4.6/gmodule/gmodule.def
3935@@ -1,4 +1,3 @@
3936-EXPORTS
3937 g_module_build_path
3938 g_module_close
3939 g_module_error
3940--- glib-2.4.6/gmodule/gmodule.h~visibility.patch
3941+++ glib-2.4.6/gmodule/gmodule.h
3942@@ -38,9 +38,35 @@
3943 #ifdef G_PLATFORM_WIN32
3944 # define G_MODULE_EXPORT __declspec(dllexport)
3945 #else /* !G_PLATFORM_WIN32 */
3946-# define G_MODULE_EXPORT
3947+# ifdef GCC_HASCLASSVISIBILITY
3948+# define G_MODULE_EXPORT __attribute__ ((visibility("default")))
3949+# else /* !GCC_HASCLASSVISIBILITY */
3950+# define G_MODULE_EXPORT
3951+# endif /* !GCC_HASCLASSVISIBILITY */
3952 #endif /* !G_PLATFORM_WIN32 */
3953
3954+#ifndef GMODULE_FUNC
3955+# ifdef G_PLATFORM_WIN32
3956+# ifndef GMODULE_STATIC_COMPILATION
3957+# ifdef GMODULE_COMPILATION
3958+# define GMODULE_FUNC __declspec(dllexport)
3959+# else /* !GMODULE_COMPILATION */
3960+# define GMODULE_FUNC __declspec(dllimport)
3961+# endif /* !GMODULE_COMPILATION */
3962+# endif /* !GMODULE_STATIC_COMPILATION */
3963+# else /* !G_PLATFORM_WIN32 */
3964+# ifndef GMODULE_STATIC_COMPILATION
3965+# ifdef GMODULE_COMPILATION
3966+# ifdef GCC_HASCLASSVISIBILITY
3967+# define GMODULE_FUNC __attribute__ ((visibility("default")))
3968+# endif
3969+# endif /* !GMODULE_COMPILATION */
3970+# endif /* !GMODULE_STATIC_COMPILATION */
3971+# ifndef GMODULE_FUNC
3972+# define GMODULE_FUNC
3973+# endif /* !GMODULE_FUNC */
3974+# endif /* !G_PLATFORM_WIN32 */
3975+#endif /* GMODULE_FUNC */
3976 typedef enum
3977 {
3978 G_MODULE_BIND_LAZY = 1 << 0,
3979@@ -53,28 +79,28 @@
3980 typedef void (*GModuleUnload) (GModule *module);
3981
3982 /* return TRUE if dynamic module loading is supported */
3983-gboolean g_module_supported (void) G_GNUC_CONST;
3984+GMODULE_FUNC gboolean g_module_supported (void) G_GNUC_CONST;
3985
3986 /* open a module `file_name' and return handle, which is NULL on error */
3987-GModule* g_module_open (const gchar *file_name,
3988+GMODULE_FUNC GModule* g_module_open (const gchar *file_name,
3989 GModuleFlags flags);
3990
3991 /* close a previously opened module, returns TRUE on success */
3992-gboolean g_module_close (GModule *module);
3993+GMODULE_FUNC gboolean g_module_close (GModule *module);
3994
3995 /* make a module resident so g_module_close on it will be ignored */
3996-void g_module_make_resident (GModule *module);
3997+GMODULE_FUNC void g_module_make_resident (GModule *module);
3998
3999 /* query the last module error as a string */
4000-G_CONST_RETURN gchar* g_module_error (void);
4001+GMODULE_FUNC G_CONST_RETURN gchar* g_module_error (void);
4002
4003 /* retrieve a symbol pointer from `module', returns TRUE on success */
4004-gboolean g_module_symbol (GModule *module,
4005+GMODULE_FUNC gboolean g_module_symbol (GModule *module,
4006 const gchar *symbol_name,
4007 gpointer *symbol);
4008
4009 /* retrieve the file name from an existing module */
4010-G_CONST_RETURN gchar* g_module_name (GModule *module);
4011+GMODULE_FUNC G_CONST_RETURN gchar* g_module_name (GModule *module);
4012
4013 /* Build the actual file name containing a module. `directory' is the
4014 * directory where the module file is supposed to be, or NULL or empty
4015@@ -87,7 +113,7 @@
4016 *
4017 * No checks are made that the file exists, or is of correct type.
4018 */
4019-gchar* g_module_build_path (const gchar *directory,
4020+GMODULE_FUNC gchar* g_module_build_path (const gchar *directory,
4021 const gchar *module_name);
4022
4023
4024--- glib-2.4.6/gmodule/Makefile.am~visibility.patch
4025+++ glib-2.4.6/gmodule/Makefile.am
4026@@ -1,7 +1,9 @@
4027 ## Process this file with automake to produce Makefile.in
4028
4029 INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gmodule \
4030- -DG_LOG_DOMAIN=\"GModule\" @GLIB_DEBUG_FLAGS@ -DG_DISABLE_DEPRECATED
4031+ -DG_LOG_DOMAIN=\"GModule\" @GLIB_DEBUG_FLAGS@ \
4032+ -DG_DISABLE_DEPRECATED \
4033+ -DGMODULE_COMPILATION
4034
4035 EXTRA_DIST = \
4036 makefile.msc.in \
4037--- glib-2.4.6/gobject/gboxed.h~visibility.patch
4038+++ glib-2.4.6/gobject/gboxed.h
4039@@ -38,22 +38,22 @@
4040
4041
4042 /* --- prototypes --- */
4043-gpointer g_boxed_copy (GType boxed_type,
4044- gconstpointer src_boxed);
4045-void g_boxed_free (GType boxed_type,
4046- gpointer boxed);
4047-void g_value_set_boxed (GValue *value,
4048- gconstpointer v_boxed);
4049-void g_value_set_static_boxed (GValue *value,
4050- gconstpointer v_boxed);
4051-gpointer g_value_get_boxed (const GValue *value);
4052-gpointer g_value_dup_boxed (const GValue *value);
4053+GOBJECT_FUNC gpointer g_boxed_copy (GType boxed_type,
4054+ gconstpointer src_boxed);;
4055+GOBJECT_FUNC void g_boxed_free (GType boxed_type,
4056+ gpointer boxed);;
4057+GOBJECT_FUNC void g_value_set_boxed (GValue *value,
4058+ gconstpointer v_boxed);;
4059+GOBJECT_FUNC void g_value_set_static_boxed (GValue *value,
4060+ gconstpointer v_boxed);;
4061+GOBJECT_FUNC gpointer g_value_get_boxed (const GValue *value);;
4062+GOBJECT_FUNC gpointer g_value_dup_boxed (const GValue *value);;
4063
4064
4065 /* --- convenience --- */
4066-GType g_boxed_type_register_static (const gchar *name,
4067+GOBJECT_FUNC GType g_boxed_type_register_static (const gchar *name,
4068 GBoxedCopyFunc boxed_copy,
4069- GBoxedFreeFunc boxed_free);
4070+ GBoxedFreeFunc boxed_free);;
4071
4072
4073 /* --- GLib boxed types --- */
4074@@ -64,17 +64,17 @@
4075 #define G_TYPE_GSTRING (g_gstring_get_type ())
4076
4077
4078-void g_value_take_boxed (GValue *value,
4079- gconstpointer v_boxed);
4080+GOBJECT_FUNC void g_value_take_boxed (GValue *value,
4081+ gconstpointer v_boxed);;
4082 #ifndef G_DISABLE_DEPRECATED
4083-void g_value_set_boxed_take_ownership (GValue *value,
4084- gconstpointer v_boxed);
4085+GOBJECT_FUNC void g_value_set_boxed_take_ownership (GValue *value,
4086+ gconstpointer v_boxed);;
4087 #endif
4088-GType g_closure_get_type (void) G_GNUC_CONST;
4089-GType g_value_get_type (void) G_GNUC_CONST;
4090-GType g_value_array_get_type (void) G_GNUC_CONST;
4091-GType g_strv_get_type (void) G_GNUC_CONST;
4092-GType g_gstring_get_type (void) G_GNUC_CONST;
4093+GOBJECT_FUNC GType g_closure_get_type (void) G_GNUC_CONST;
4094+GOBJECT_FUNC GType g_value_get_type (void) G_GNUC_CONST;
4095+GOBJECT_FUNC GType g_value_array_get_type (void) G_GNUC_CONST;
4096+GOBJECT_FUNC GType g_strv_get_type (void) G_GNUC_CONST;
4097+GOBJECT_FUNC GType g_gstring_get_type (void) G_GNUC_CONST;
4098
4099 typedef gchar** GStrv;
4100
4101--- glib-2.4.6/gobject/gclosure.h~visibility.patch
4102+++ glib-2.4.6/gobject/gclosure.h
4103@@ -100,51 +100,51 @@
4104
4105
4106 /* --- prototypes --- */
4107-GClosure* g_cclosure_new (GCallback callback_func,
4108+GOBJECT_FUNC GClosure* g_cclosure_new (GCallback callback_func,
4109 gpointer user_data,
4110- GClosureNotify destroy_data);
4111-GClosure* g_cclosure_new_swap (GCallback callback_func,
4112+ GClosureNotify destroy_data);;
4113+GOBJECT_FUNC GClosure* g_cclosure_new_swap (GCallback callback_func,
4114 gpointer user_data,
4115- GClosureNotify destroy_data);
4116-GClosure* g_signal_type_cclosure_new (GType itype,
4117- guint struct_offset);
4118+ GClosureNotify destroy_data);;
4119+GOBJECT_FUNC GClosure* g_signal_type_cclosure_new (GType itype,
4120+ guint struct_offset);;
4121
4122
4123 /* --- prototypes --- */
4124-GClosure* g_closure_ref (GClosure *closure);
4125-void g_closure_sink (GClosure *closure);
4126-void g_closure_unref (GClosure *closure);
4127+GOBJECT_FUNC GClosure* g_closure_ref (GClosure *closure);;
4128+GOBJECT_FUNC void g_closure_sink (GClosure *closure);;
4129+GOBJECT_FUNC void g_closure_unref (GClosure *closure);;
4130 /* intimidating */
4131-GClosure* g_closure_new_simple (guint sizeof_closure,
4132- gpointer data);
4133-void g_closure_add_finalize_notifier (GClosure *closure,
4134+GOBJECT_FUNC GClosure* g_closure_new_simple (guint sizeof_closure,
4135+ gpointer data);;
4136+GOBJECT_FUNC void g_closure_add_finalize_notifier (GClosure *closure,
4137 gpointer notify_data,
4138- GClosureNotify notify_func);
4139-void g_closure_remove_finalize_notifier (GClosure *closure,
4140+ GClosureNotify notify_func);;
4141+GOBJECT_FUNC void g_closure_remove_finalize_notifier (GClosure *closure,
4142 gpointer notify_data,
4143- GClosureNotify notify_func);
4144-void g_closure_add_invalidate_notifier (GClosure *closure,
4145+ GClosureNotify notify_func);;
4146+GOBJECT_FUNC void g_closure_add_invalidate_notifier (GClosure *closure,
4147 gpointer notify_data,
4148- GClosureNotify notify_func);
4149-void g_closure_remove_invalidate_notifier (GClosure *closure,
4150+ GClosureNotify notify_func);;
4151+GOBJECT_FUNC void g_closure_remove_invalidate_notifier (GClosure *closure,
4152 gpointer notify_data,
4153- GClosureNotify notify_func);
4154-void g_closure_add_marshal_guards (GClosure *closure,
4155+ GClosureNotify notify_func);;
4156+GOBJECT_FUNC void g_closure_add_marshal_guards (GClosure *closure,
4157 gpointer pre_marshal_data,
4158 GClosureNotify pre_marshal_notify,
4159 gpointer post_marshal_data,
4160- GClosureNotify post_marshal_notify);
4161-void g_closure_set_marshal (GClosure *closure,
4162- GClosureMarshal marshal);
4163-void g_closure_set_meta_marshal (GClosure *closure,
4164+ GClosureNotify post_marshal_notify);;
4165+GOBJECT_FUNC void g_closure_set_marshal (GClosure *closure,
4166+ GClosureMarshal marshal);;
4167+GOBJECT_FUNC void g_closure_set_meta_marshal (GClosure *closure,
4168 gpointer marshal_data,
4169- GClosureMarshal meta_marshal);
4170-void g_closure_invalidate (GClosure *closure);
4171-void g_closure_invoke (GClosure *closure,
4172+ GClosureMarshal meta_marshal);;
4173+GOBJECT_FUNC void g_closure_invalidate (GClosure *closure);;
4174+GOBJECT_FUNC void g_closure_invoke (GClosure *closure,
4175 GValue /*out*/ *return_value,
4176 guint n_param_values,
4177 const GValue *param_values,
4178- gpointer invocation_hint);
4179+ gpointer invocation_hint);;
4180
4181 /* FIXME:
4182 OK: data_object::destroy -> closure_invalidate();
4183--- glib-2.4.6/gobject/genums.h~visibility.patch
4184+++ glib-2.4.6/gobject/genums.h
4185@@ -81,24 +81,24 @@
4186
4187
4188 /* --- prototypes --- */
4189-GEnumValue* g_enum_get_value (GEnumClass *enum_class,
4190- gint value);
4191-GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class,
4192- const gchar *name);
4193-GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class,
4194- const gchar *nick);
4195-GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class,
4196- guint value);
4197-GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class,
4198- const gchar *name);
4199-GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class,
4200- const gchar *nick);
4201-void g_value_set_enum (GValue *value,
4202- gint v_enum);
4203-gint g_value_get_enum (const GValue *value);
4204-void g_value_set_flags (GValue *value,
4205- guint v_flags);
4206-guint g_value_get_flags (const GValue *value);
4207+GOBJECT_FUNC GEnumValue* g_enum_get_value (GEnumClass *enum_class,
4208+ gint value);;
4209+GOBJECT_FUNC GEnumValue* g_enum_get_value_by_name (GEnumClass *enum_class,
4210+ const gchar *name);;
4211+GOBJECT_FUNC GEnumValue* g_enum_get_value_by_nick (GEnumClass *enum_class,
4212+ const gchar *nick);;
4213+GOBJECT_FUNC GFlagsValue* g_flags_get_first_value (GFlagsClass *flags_class,
4214+ guint value);;
4215+GOBJECT_FUNC GFlagsValue* g_flags_get_value_by_name (GFlagsClass *flags_class,
4216+ const gchar *name);;
4217+GOBJECT_FUNC GFlagsValue* g_flags_get_value_by_nick (GFlagsClass *flags_class,
4218+ const gchar *nick);;
4219+GOBJECT_FUNC void g_value_set_enum (GValue *value,
4220+ gint v_enum);;
4221+GOBJECT_FUNC gint g_value_get_enum (const GValue *value);;
4222+GOBJECT_FUNC void g_value_set_flags (GValue *value,
4223+ guint v_flags);;
4224+GOBJECT_FUNC guint g_value_get_flags (const GValue *value);;
4225
4226
4227
4228@@ -106,19 +106,19 @@
4229 /* const_static_values is a NULL terminated array of enum/flags
4230 * values that is taken over!
4231 */
4232-GType g_enum_register_static (const gchar *name,
4233- const GEnumValue *const_static_values);
4234-GType g_flags_register_static (const gchar *name,
4235- const GFlagsValue *const_static_values);
4236+GOBJECT_FUNC GType g_enum_register_static (const gchar *name,
4237+ const GEnumValue *const_static_values);;
4238+GOBJECT_FUNC GType g_flags_register_static (const gchar *name,
4239+ const GFlagsValue *const_static_values);;
4240 /* functions to complete the type information
4241 * for enums/flags implemented by plugins
4242 */
4243-void g_enum_complete_type_info (GType g_enum_type,
4244+GOBJECT_FUNC void g_enum_complete_type_info (GType g_enum_type,
4245 GTypeInfo *info,
4246- const GEnumValue *const_values);
4247-void g_flags_complete_type_info (GType g_flags_type,
4248+ const GEnumValue *const_values);;
4249+GOBJECT_FUNC void g_flags_complete_type_info (GType g_flags_type,
4250 GTypeInfo *info,
4251- const GFlagsValue *const_values);
4252+ const GFlagsValue *const_values);;
4253
4254 G_END_DECLS
4255
4256--- glib-2.4.6/gobject/glib-genmarshal.c~visibility.patch
4257+++ glib-2.4.6/gobject/glib-genmarshal.c
4258@@ -356,7 +356,7 @@
4259 }
4260 if (gen_cheader && !have_std_marshaller)
4261 {
4262- ind = g_fprintf (fout, "extern void ");
4263+ ind = g_fprintf (fout, "GOBJECT_FUNC extern void ");
4264 ind += g_fprintf (fout, "%s_%s (", marshaller_prefix, signame);
4265 g_fprintf (fout, "GClosure *closure,\n");
4266 g_fprintf (fout, "%sGValue *return_value,\n", indent (ind));
4267--- glib-2.4.6/gobject/gmarshal.c~visibility.patch
4268+++ glib-2.4.6/gobject/gmarshal.c
4269@@ -45,7 +45,7 @@
4270 #endif /* !G_ENABLE_DEBUG */
4271
4272
4273-/* VOID:VOID (./gmarshal.list:26) */
4274+/* VOID:VOID (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:26) */
4275 void
4276 g_cclosure_marshal_VOID__VOID (GClosure *closure,
4277 GValue *return_value,
4278@@ -78,7 +78,7 @@
4279 data2);
4280 }
4281
4282-/* VOID:BOOLEAN (./gmarshal.list:27) */
4283+/* VOID:BOOLEAN (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:27) */
4284 void
4285 g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,
4286 GValue *return_value,
4287@@ -113,7 +113,7 @@
4288 data2);
4289 }
4290
4291-/* VOID:CHAR (./gmarshal.list:28) */
4292+/* VOID:CHAR (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:28) */
4293 void
4294 g_cclosure_marshal_VOID__CHAR (GClosure *closure,
4295 GValue *return_value,
4296@@ -148,7 +148,7 @@
4297 data2);
4298 }
4299
4300-/* VOID:UCHAR (./gmarshal.list:29) */
4301+/* VOID:UCHAR (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:29) */
4302 void
4303 g_cclosure_marshal_VOID__UCHAR (GClosure *closure,
4304 GValue *return_value,
4305@@ -183,7 +183,7 @@
4306 data2);
4307 }
4308
4309-/* VOID:INT (./gmarshal.list:30) */
4310+/* VOID:INT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:30) */
4311 void
4312 g_cclosure_marshal_VOID__INT (GClosure *closure,
4313 GValue *return_value,
4314@@ -218,7 +218,7 @@
4315 data2);
4316 }
4317
4318-/* VOID:UINT (./gmarshal.list:31) */
4319+/* VOID:UINT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:31) */
4320 void
4321 g_cclosure_marshal_VOID__UINT (GClosure *closure,
4322 GValue *return_value,
4323@@ -253,7 +253,7 @@
4324 data2);
4325 }
4326
4327-/* VOID:LONG (./gmarshal.list:32) */
4328+/* VOID:LONG (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:32) */
4329 void
4330 g_cclosure_marshal_VOID__LONG (GClosure *closure,
4331 GValue *return_value,
4332@@ -288,7 +288,7 @@
4333 data2);
4334 }
4335
4336-/* VOID:ULONG (./gmarshal.list:33) */
4337+/* VOID:ULONG (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:33) */
4338 void
4339 g_cclosure_marshal_VOID__ULONG (GClosure *closure,
4340 GValue *return_value,
4341@@ -323,7 +323,7 @@
4342 data2);
4343 }
4344
4345-/* VOID:ENUM (./gmarshal.list:34) */
4346+/* VOID:ENUM (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:34) */
4347 void
4348 g_cclosure_marshal_VOID__ENUM (GClosure *closure,
4349 GValue *return_value,
4350@@ -358,7 +358,7 @@
4351 data2);
4352 }
4353
4354-/* VOID:FLAGS (./gmarshal.list:35) */
4355+/* VOID:FLAGS (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:35) */
4356 void
4357 g_cclosure_marshal_VOID__FLAGS (GClosure *closure,
4358 GValue *return_value,
4359@@ -393,7 +393,7 @@
4360 data2);
4361 }
4362
4363-/* VOID:FLOAT (./gmarshal.list:36) */
4364+/* VOID:FLOAT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:36) */
4365 void
4366 g_cclosure_marshal_VOID__FLOAT (GClosure *closure,
4367 GValue *return_value,
4368@@ -428,7 +428,7 @@
4369 data2);
4370 }
4371
4372-/* VOID:DOUBLE (./gmarshal.list:37) */
4373+/* VOID:DOUBLE (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:37) */
4374 void
4375 g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,
4376 GValue *return_value,
4377@@ -463,7 +463,7 @@
4378 data2);
4379 }
4380
4381-/* VOID:STRING (./gmarshal.list:38) */
4382+/* VOID:STRING (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:38) */
4383 void
4384 g_cclosure_marshal_VOID__STRING (GClosure *closure,
4385 GValue *return_value,
4386@@ -498,7 +498,7 @@
4387 data2);
4388 }
4389
4390-/* VOID:PARAM (./gmarshal.list:39) */
4391+/* VOID:PARAM (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:39) */
4392 void
4393 g_cclosure_marshal_VOID__PARAM (GClosure *closure,
4394 GValue *return_value,
4395@@ -533,7 +533,7 @@
4396 data2);
4397 }
4398
4399-/* VOID:BOXED (./gmarshal.list:40) */
4400+/* VOID:BOXED (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:40) */
4401 void
4402 g_cclosure_marshal_VOID__BOXED (GClosure *closure,
4403 GValue *return_value,
4404@@ -568,7 +568,7 @@
4405 data2);
4406 }
4407
4408-/* VOID:POINTER (./gmarshal.list:41) */
4409+/* VOID:POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:41) */
4410 void
4411 g_cclosure_marshal_VOID__POINTER (GClosure *closure,
4412 GValue *return_value,
4413@@ -603,7 +603,7 @@
4414 data2);
4415 }
4416
4417-/* VOID:OBJECT (./gmarshal.list:42) */
4418+/* VOID:OBJECT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:42) */
4419 void
4420 g_cclosure_marshal_VOID__OBJECT (GClosure *closure,
4421 GValue *return_value,
4422@@ -638,7 +638,7 @@
4423 data2);
4424 }
4425
4426-/* VOID:UINT,POINTER (./gmarshal.list:45) */
4427+/* VOID:UINT,POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:45) */
4428 void
4429 g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure,
4430 GValue *return_value,
4431@@ -675,7 +675,7 @@
4432 data2);
4433 }
4434
4435-/* BOOL:FLAGS (./gmarshal.list:46) */
4436+/* BOOL:FLAGS (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:46) */
4437 void
4438 g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,
4439 GValue *return_value,
4440@@ -714,7 +714,7 @@
4441 g_value_set_boolean (return_value, v_return);
4442 }
4443
4444-/* STRING:OBJECT,POINTER (./gmarshal.list:47) */
4445+/* STRING:OBJECT,POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:47) */
4446 void
4447 g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
4448 GValue *return_value,
4449--- glib-2.4.6/gobject/gmarshal.h~visibility.patch
4450+++ glib-2.4.6/gobject/gmarshal.h
4451@@ -3,166 +3,166 @@
4452
4453 G_BEGIN_DECLS
4454
4455-/* VOID:VOID (./gmarshal.list:26) */
4456-extern void g_cclosure_marshal_VOID__VOID (GClosure *closure,
4457- GValue *return_value,
4458- guint n_param_values,
4459- const GValue *param_values,
4460- gpointer invocation_hint,
4461- gpointer marshal_data);
4462+/* VOID:VOID (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:26) */
4463+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__VOID (GClosure *closure,
4464+ GValue *return_value,
4465+ guint n_param_values,
4466+ const GValue *param_values,
4467+ gpointer invocation_hint,
4468+ gpointer marshal_data);
4469
4470-/* VOID:BOOLEAN (./gmarshal.list:27) */
4471-extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,
4472- GValue *return_value,
4473- guint n_param_values,
4474- const GValue *param_values,
4475- gpointer invocation_hint,
4476- gpointer marshal_data);
4477+/* VOID:BOOLEAN (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:27) */
4478+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__BOOLEAN (GClosure *closure,
4479+ GValue *return_value,
4480+ guint n_param_values,
4481+ const GValue *param_values,
4482+ gpointer invocation_hint,
4483+ gpointer marshal_data);
4484
4485-/* VOID:CHAR (./gmarshal.list:28) */
4486-extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure,
4487- GValue *return_value,
4488- guint n_param_values,
4489- const GValue *param_values,
4490- gpointer invocation_hint,
4491- gpointer marshal_data);
4492+/* VOID:CHAR (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:28) */
4493+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__CHAR (GClosure *closure,
4494+ GValue *return_value,
4495+ guint n_param_values,
4496+ const GValue *param_values,
4497+ gpointer invocation_hint,
4498+ gpointer marshal_data);
4499
4500-/* VOID:UCHAR (./gmarshal.list:29) */
4501-extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure,
4502- GValue *return_value,
4503- guint n_param_values,
4504- const GValue *param_values,
4505- gpointer invocation_hint,
4506- gpointer marshal_data);
4507+/* VOID:UCHAR (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:29) */
4508+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__UCHAR (GClosure *closure,
4509+ GValue *return_value,
4510+ guint n_param_values,
4511+ const GValue *param_values,
4512+ gpointer invocation_hint,
4513+ gpointer marshal_data);
4514
4515-/* VOID:INT (./gmarshal.list:30) */
4516-extern void g_cclosure_marshal_VOID__INT (GClosure *closure,
4517- GValue *return_value,
4518- guint n_param_values,
4519- const GValue *param_values,
4520- gpointer invocation_hint,
4521- gpointer marshal_data);
4522+/* VOID:INT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:30) */
4523+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__INT (GClosure *closure,
4524+ GValue *return_value,
4525+ guint n_param_values,
4526+ const GValue *param_values,
4527+ gpointer invocation_hint,
4528+ gpointer marshal_data);
4529
4530-/* VOID:UINT (./gmarshal.list:31) */
4531-extern void g_cclosure_marshal_VOID__UINT (GClosure *closure,
4532- GValue *return_value,
4533- guint n_param_values,
4534- const GValue *param_values,
4535- gpointer invocation_hint,
4536- gpointer marshal_data);
4537+/* VOID:UINT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:31) */
4538+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__UINT (GClosure *closure,
4539+ GValue *return_value,
4540+ guint n_param_values,
4541+ const GValue *param_values,
4542+ gpointer invocation_hint,
4543+ gpointer marshal_data);
4544
4545-/* VOID:LONG (./gmarshal.list:32) */
4546-extern void g_cclosure_marshal_VOID__LONG (GClosure *closure,
4547- GValue *return_value,
4548- guint n_param_values,
4549- const GValue *param_values,
4550- gpointer invocation_hint,
4551- gpointer marshal_data);
4552+/* VOID:LONG (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:32) */
4553+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__LONG (GClosure *closure,
4554+ GValue *return_value,
4555+ guint n_param_values,
4556+ const GValue *param_values,
4557+ gpointer invocation_hint,
4558+ gpointer marshal_data);
4559
4560-/* VOID:ULONG (./gmarshal.list:33) */
4561-extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure,
4562- GValue *return_value,
4563- guint n_param_values,
4564- const GValue *param_values,
4565- gpointer invocation_hint,
4566- gpointer marshal_data);
4567+/* VOID:ULONG (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:33) */
4568+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__ULONG (GClosure *closure,
4569+ GValue *return_value,
4570+ guint n_param_values,
4571+ const GValue *param_values,
4572+ gpointer invocation_hint,
4573+ gpointer marshal_data);
4574
4575-/* VOID:ENUM (./gmarshal.list:34) */
4576-extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure,
4577- GValue *return_value,
4578- guint n_param_values,
4579- const GValue *param_values,
4580- gpointer invocation_hint,
4581- gpointer marshal_data);
4582+/* VOID:ENUM (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:34) */
4583+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__ENUM (GClosure *closure,
4584+ GValue *return_value,
4585+ guint n_param_values,
4586+ const GValue *param_values,
4587+ gpointer invocation_hint,
4588+ gpointer marshal_data);
4589
4590-/* VOID:FLAGS (./gmarshal.list:35) */
4591-extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure,
4592- GValue *return_value,
4593- guint n_param_values,
4594- const GValue *param_values,
4595- gpointer invocation_hint,
4596- gpointer marshal_data);
4597+/* VOID:FLAGS (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:35) */
4598+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__FLAGS (GClosure *closure,
4599+ GValue *return_value,
4600+ guint n_param_values,
4601+ const GValue *param_values,
4602+ gpointer invocation_hint,
4603+ gpointer marshal_data);
4604
4605-/* VOID:FLOAT (./gmarshal.list:36) */
4606-extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure,
4607- GValue *return_value,
4608- guint n_param_values,
4609- const GValue *param_values,
4610- gpointer invocation_hint,
4611- gpointer marshal_data);
4612+/* VOID:FLOAT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:36) */
4613+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__FLOAT (GClosure *closure,
4614+ GValue *return_value,
4615+ guint n_param_values,
4616+ const GValue *param_values,
4617+ gpointer invocation_hint,
4618+ gpointer marshal_data);
4619
4620-/* VOID:DOUBLE (./gmarshal.list:37) */
4621-extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,
4622- GValue *return_value,
4623- guint n_param_values,
4624- const GValue *param_values,
4625- gpointer invocation_hint,
4626- gpointer marshal_data);
4627+/* VOID:DOUBLE (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:37) */
4628+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__DOUBLE (GClosure *closure,
4629+ GValue *return_value,
4630+ guint n_param_values,
4631+ const GValue *param_values,
4632+ gpointer invocation_hint,
4633+ gpointer marshal_data);
4634
4635-/* VOID:STRING (./gmarshal.list:38) */
4636-extern void g_cclosure_marshal_VOID__STRING (GClosure *closure,
4637- GValue *return_value,
4638- guint n_param_values,
4639- const GValue *param_values,
4640- gpointer invocation_hint,
4641- gpointer marshal_data);
4642+/* VOID:STRING (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:38) */
4643+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__STRING (GClosure *closure,
4644+ GValue *return_value,
4645+ guint n_param_values,
4646+ const GValue *param_values,
4647+ gpointer invocation_hint,
4648+ gpointer marshal_data);
4649
4650-/* VOID:PARAM (./gmarshal.list:39) */
4651-extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure,
4652- GValue *return_value,
4653- guint n_param_values,
4654- const GValue *param_values,
4655- gpointer invocation_hint,
4656- gpointer marshal_data);
4657+/* VOID:PARAM (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:39) */
4658+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__PARAM (GClosure *closure,
4659+ GValue *return_value,
4660+ guint n_param_values,
4661+ const GValue *param_values,
4662+ gpointer invocation_hint,
4663+ gpointer marshal_data);
4664
4665-/* VOID:BOXED (./gmarshal.list:40) */
4666-extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure,
4667- GValue *return_value,
4668- guint n_param_values,
4669- const GValue *param_values,
4670- gpointer invocation_hint,
4671- gpointer marshal_data);
4672+/* VOID:BOXED (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:40) */
4673+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__BOXED (GClosure *closure,
4674+ GValue *return_value,
4675+ guint n_param_values,
4676+ const GValue *param_values,
4677+ gpointer invocation_hint,
4678+ gpointer marshal_data);
4679
4680-/* VOID:POINTER (./gmarshal.list:41) */
4681-extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure,
4682- GValue *return_value,
4683- guint n_param_values,
4684- const GValue *param_values,
4685- gpointer invocation_hint,
4686- gpointer marshal_data);
4687+/* VOID:POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:41) */
4688+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__POINTER (GClosure *closure,
4689+ GValue *return_value,
4690+ guint n_param_values,
4691+ const GValue *param_values,
4692+ gpointer invocation_hint,
4693+ gpointer marshal_data);
4694
4695-/* VOID:OBJECT (./gmarshal.list:42) */
4696-extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure,
4697- GValue *return_value,
4698- guint n_param_values,
4699- const GValue *param_values,
4700- gpointer invocation_hint,
4701- gpointer marshal_data);
4702+/* VOID:OBJECT (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:42) */
4703+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__OBJECT (GClosure *closure,
4704+ GValue *return_value,
4705+ guint n_param_values,
4706+ const GValue *param_values,
4707+ gpointer invocation_hint,
4708+ gpointer marshal_data);
4709
4710-/* VOID:UINT,POINTER (./gmarshal.list:45) */
4711-extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure,
4712- GValue *return_value,
4713- guint n_param_values,
4714- const GValue *param_values,
4715- gpointer invocation_hint,
4716- gpointer marshal_data);
4717+/* VOID:UINT,POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:45) */
4718+GOBJECT_FUNC extern void g_cclosure_marshal_VOID__UINT_POINTER (GClosure *closure,
4719+ GValue *return_value,
4720+ guint n_param_values,
4721+ const GValue *param_values,
4722+ gpointer invocation_hint,
4723+ gpointer marshal_data);
4724
4725-/* BOOL:FLAGS (./gmarshal.list:46) */
4726-extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,
4727- GValue *return_value,
4728- guint n_param_values,
4729- const GValue *param_values,
4730- gpointer invocation_hint,
4731- gpointer marshal_data);
4732+/* BOOL:FLAGS (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:46) */
4733+GOBJECT_FUNC extern void g_cclosure_marshal_BOOLEAN__FLAGS (GClosure *closure,
4734+ GValue *return_value,
4735+ guint n_param_values,
4736+ const GValue *param_values,
4737+ gpointer invocation_hint,
4738+ gpointer marshal_data);
4739 #define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS
4740
4741-/* STRING:OBJECT,POINTER (./gmarshal.list:47) */
4742-extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
4743- GValue *return_value,
4744- guint n_param_values,
4745- const GValue *param_values,
4746- gpointer invocation_hint,
4747- gpointer marshal_data);
4748+/* STRING:OBJECT,POINTER (/home/kergoth/code/build-z/tmp/work/arm-linux/glib-2.0-2.4.6-r2/glib-2.4.6/gobject/gmarshal.list:47) */
4749+GOBJECT_FUNC extern void g_cclosure_marshal_STRING__OBJECT_POINTER (GClosure *closure,
4750+ GValue *return_value,
4751+ guint n_param_values,
4752+ const GValue *param_values,
4753+ gpointer invocation_hint,
4754+ gpointer marshal_data);
4755
4756 G_END_DECLS
4757
4758--- glib-2.4.6/gobject/gobject.def~visibility.patch
4759+++ glib-2.4.6/gobject/gobject.def
4760@@ -1,4 +1,3 @@
4761-EXPORTS
4762 g_boxed_copy
4763 g_boxed_free
4764 g_boxed_type_register_static
4765--- glib-2.4.6/gobject/gobject.h~visibility.patch
4766+++ glib-2.4.6/gobject/gobject.h
4767@@ -28,6 +28,7 @@
4768 #include <gobject/gparam.h>
4769 #include <gobject/gclosure.h>
4770 #include <gobject/gsignal.h>
4771+#include <gobject/gparamspecs.h>
4772
4773 G_BEGIN_DECLS
4774
4775@@ -111,123 +112,123 @@
4776
4777
4778 /* --- prototypes --- */
4779-void g_object_class_install_property (GObjectClass *oclass,
4780+GOBJECT_FUNC void g_object_class_install_property (GObjectClass *oclass,
4781 guint property_id,
4782- GParamSpec *pspec);
4783-GParamSpec* g_object_class_find_property (GObjectClass *oclass,
4784- const gchar *property_name);
4785-GParamSpec**g_object_class_list_properties (GObjectClass *oclass,
4786+ GParamSpec *pspec);;
4787+GOBJECT_FUNC GParamSpec* g_object_class_find_property (GObjectClass *oclass,
4788+ const gchar *property_name);;
4789+GOBJECT_FUNC GParamSpec**g_object_class_list_properties (GObjectClass *oclass,
4790 guint *n_properties);
4791-void g_object_class_override_property (GObjectClass *oclass,
4792+GOBJECT_FUNC void g_object_class_override_property (GObjectClass *oclass,
4793 guint property_id,
4794- const gchar *name);
4795+ const gchar *name);;
4796
4797-void g_object_interface_install_property (gpointer g_iface,
4798- GParamSpec *pspec);
4799-GParamSpec* g_object_interface_find_property (gpointer g_iface,
4800- const gchar *property_name);
4801-GParamSpec**g_object_interface_list_properties (gpointer g_iface,
4802+GOBJECT_FUNC void g_object_interface_install_property (gpointer g_iface,
4803+ GParamSpec *pspec);;
4804+GOBJECT_FUNC GParamSpec* g_object_interface_find_property (gpointer g_iface,
4805+ const gchar *property_name);;
4806+GOBJECT_FUNC GParamSpec**g_object_interface_list_properties (gpointer g_iface,
4807 guint *n_properties_p);
4808
4809-gpointer g_object_new (GType object_type,
4810+GOBJECT_FUNC gpointer g_object_new (GType object_type,
4811 const gchar *first_property_name,
4812- ...);
4813-gpointer g_object_newv (GType object_type,
4814+ ...);;
4815+GOBJECT_FUNC gpointer g_object_newv (GType object_type,
4816 guint n_parameters,
4817- GParameter *parameters);
4818-GObject* g_object_new_valist (GType object_type,
4819+ GParameter *parameters);;
4820+GOBJECT_FUNC GObject* g_object_new_valist (GType object_type,
4821 const gchar *first_property_name,
4822- va_list var_args);
4823-void g_object_set (gpointer object,
4824+ va_list var_args);;
4825+GOBJECT_FUNC void g_object_set (gpointer object,
4826 const gchar *first_property_name,
4827- ...);
4828-void g_object_get (gpointer object,
4829+ ...);;
4830+GOBJECT_FUNC void g_object_get (gpointer object,
4831 const gchar *first_property_name,
4832- ...);
4833-gpointer g_object_connect (gpointer object,
4834+ ...);;
4835+GOBJECT_FUNC gpointer g_object_connect (gpointer object,
4836 const gchar *signal_spec,
4837- ...);
4838-void g_object_disconnect (gpointer object,
4839+ ...);;
4840+GOBJECT_FUNC void g_object_disconnect (gpointer object,
4841 const gchar *signal_spec,
4842- ...);
4843-void g_object_set_valist (GObject *object,
4844+ ...);;
4845+GOBJECT_FUNC void g_object_set_valist (GObject *object,
4846 const gchar *first_property_name,
4847- va_list var_args);
4848-void g_object_get_valist (GObject *object,
4849+ va_list var_args);;
4850+GOBJECT_FUNC void g_object_get_valist (GObject *object,
4851 const gchar *first_property_name,
4852- va_list var_args);
4853-void g_object_set_property (GObject *object,
4854+ va_list var_args);;
4855+GOBJECT_FUNC void g_object_set_property (GObject *object,
4856 const gchar *property_name,
4857- const GValue *value);
4858-void g_object_get_property (GObject *object,
4859+ const GValue *value);;
4860+GOBJECT_FUNC void g_object_get_property (GObject *object,
4861 const gchar *property_name,
4862- GValue *value);
4863-void g_object_freeze_notify (GObject *object);
4864-void g_object_notify (GObject *object,
4865- const gchar *property_name);
4866-void g_object_thaw_notify (GObject *object);
4867-gpointer g_object_ref (gpointer object);
4868-void g_object_unref (gpointer object);
4869-void g_object_weak_ref (GObject *object,
4870+ GValue *value);;
4871+GOBJECT_FUNC void g_object_freeze_notify (GObject *object);;
4872+GOBJECT_FUNC void g_object_notify (GObject *object,
4873+ const gchar *property_name);;
4874+GOBJECT_FUNC void g_object_thaw_notify (GObject *object);;
4875+GOBJECT_FUNC gpointer g_object_ref (gpointer object);;
4876+GOBJECT_FUNC void g_object_unref (gpointer object);;
4877+GOBJECT_FUNC void g_object_weak_ref (GObject *object,
4878 GWeakNotify notify,
4879- gpointer data);
4880-void g_object_weak_unref (GObject *object,
4881+ gpointer data);;
4882+GOBJECT_FUNC void g_object_weak_unref (GObject *object,
4883 GWeakNotify notify,
4884- gpointer data);
4885-void g_object_add_weak_pointer (GObject *object,
4886- gpointer *weak_pointer_location);
4887-void g_object_remove_weak_pointer (GObject *object,
4888- gpointer *weak_pointer_location);
4889-gpointer g_object_get_qdata (GObject *object,
4890- GQuark quark);
4891-void g_object_set_qdata (GObject *object,
4892+ gpointer data);;
4893+GOBJECT_FUNC void g_object_add_weak_pointer (GObject *object,
4894+ gpointer *weak_pointer_location);;
4895+GOBJECT_FUNC void g_object_remove_weak_pointer (GObject *object,
4896+ gpointer *weak_pointer_location);;
4897+GOBJECT_FUNC gpointer g_object_get_qdata (GObject *object,
4898+ GQuark quark);;
4899+GOBJECT_FUNC void g_object_set_qdata (GObject *object,
4900 GQuark quark,
4901- gpointer data);
4902-void g_object_set_qdata_full (GObject *object,
4903+ gpointer data);;
4904+GOBJECT_FUNC void g_object_set_qdata_full (GObject *object,
4905 GQuark quark,
4906 gpointer data,
4907- GDestroyNotify destroy);
4908-gpointer g_object_steal_qdata (GObject *object,
4909- GQuark quark);
4910-gpointer g_object_get_data (GObject *object,
4911- const gchar *key);
4912-void g_object_set_data (GObject *object,
4913+ GDestroyNotify destroy);;
4914+GOBJECT_FUNC gpointer g_object_steal_qdata (GObject *object,
4915+ GQuark quark);;
4916+GOBJECT_FUNC gpointer g_object_get_data (GObject *object,
4917+ const gchar *key);;
4918+GOBJECT_FUNC void g_object_set_data (GObject *object,
4919 const gchar *key,
4920- gpointer data);
4921-void g_object_set_data_full (GObject *object,
4922+ gpointer data);;
4923+GOBJECT_FUNC void g_object_set_data_full (GObject *object,
4924 const gchar *key,
4925 gpointer data,
4926- GDestroyNotify destroy);
4927-gpointer g_object_steal_data (GObject *object,
4928- const gchar *key);
4929-void g_object_watch_closure (GObject *object,
4930- GClosure *closure);
4931-GClosure* g_cclosure_new_object (GCallback callback_func,
4932- GObject *object);
4933-GClosure* g_cclosure_new_object_swap (GCallback callback_func,
4934- GObject *object);
4935-GClosure* g_closure_new_object (guint sizeof_closure,
4936- GObject *object);
4937-void g_value_set_object (GValue *value,
4938- gpointer v_object);
4939-gpointer g_value_get_object (const GValue *value);
4940-GObject* g_value_dup_object (const GValue *value);
4941-gulong g_signal_connect_object (gpointer instance,
4942+ GDestroyNotify destroy);;
4943+GOBJECT_FUNC gpointer g_object_steal_data (GObject *object,
4944+ const gchar *key);;
4945+GOBJECT_FUNC void g_object_watch_closure (GObject *object,
4946+ GClosure *closure);;
4947+GOBJECT_FUNC GClosure* g_cclosure_new_object (GCallback callback_func,
4948+ GObject *object);;
4949+GOBJECT_FUNC GClosure* g_cclosure_new_object_swap (GCallback callback_func,
4950+ GObject *object);;
4951+GOBJECT_FUNC GClosure* g_closure_new_object (guint sizeof_closure,
4952+ GObject *object);;
4953+GOBJECT_FUNC void g_value_set_object (GValue *value,
4954+ gpointer v_object);;
4955+GOBJECT_FUNC gpointer g_value_get_object (const GValue *value);;
4956+GOBJECT_FUNC GObject* g_value_dup_object (const GValue *value);;
4957+GOBJECT_FUNC gulong g_signal_connect_object (gpointer instance,
4958 const gchar *detailed_signal,
4959 GCallback c_handler,
4960 gpointer gobject,
4961- GConnectFlags connect_flags);
4962+ GConnectFlags connect_flags);;
4963
4964
4965 /*< protected >*/
4966-void g_object_run_dispose (GObject *object);
4967+GOBJECT_FUNC void g_object_run_dispose (GObject *object);;
4968
4969
4970-void g_value_take_object (GValue *value,
4971- gpointer v_object);
4972+GOBJECT_FUNC void g_value_take_object (GValue *value,
4973+ gpointer v_object);;
4974 #ifndef G_DISABLE_DEPRECATED
4975-void g_value_set_object_take_ownership (GValue *value,
4976- gpointer v_object);
4977+GOBJECT_FUNC void g_value_set_object_take_ownership (GValue *value,
4978+ gpointer v_object);;
4979 #endif
4980
4981 /* --- implementation macros --- */
4982--- glib-2.4.6/gobject/gparam.h~visibility.patch
4983+++ glib-2.4.6/gobject/gparam.h
4984@@ -109,49 +109,49 @@
4985
4986
4987 /* --- prototypes --- */
4988-GParamSpec* g_param_spec_ref (GParamSpec *pspec);
4989-void g_param_spec_unref (GParamSpec *pspec);
4990-void g_param_spec_sink (GParamSpec *pspec);
4991-gpointer g_param_spec_get_qdata (GParamSpec *pspec,
4992- GQuark quark);
4993-void g_param_spec_set_qdata (GParamSpec *pspec,
4994+GOBJECT_FUNC GParamSpec* g_param_spec_ref (GParamSpec *pspec);;
4995+GOBJECT_FUNC void g_param_spec_unref (GParamSpec *pspec);;
4996+GOBJECT_FUNC void g_param_spec_sink (GParamSpec *pspec);;
4997+GOBJECT_FUNC gpointer g_param_spec_get_qdata (GParamSpec *pspec,
4998+ GQuark quark);;
4999+GOBJECT_FUNC void g_param_spec_set_qdata (GParamSpec *pspec,
5000 GQuark quark,
5001- gpointer data);
5002-void g_param_spec_set_qdata_full (GParamSpec *pspec,
5003+ gpointer data);;
5004+GOBJECT_FUNC void g_param_spec_set_qdata_full (GParamSpec *pspec,
5005 GQuark quark,
5006 gpointer data,
5007- GDestroyNotify destroy);
5008-gpointer g_param_spec_steal_qdata (GParamSpec *pspec,
5009- GQuark quark);
5010-GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec);
5011+ GDestroyNotify destroy);;
5012+GOBJECT_FUNC gpointer g_param_spec_steal_qdata (GParamSpec *pspec,
5013+ GQuark quark);;
5014+GOBJECT_FUNC GParamSpec* g_param_spec_get_redirect_target (GParamSpec *pspec);;
5015
5016-void g_param_value_set_default (GParamSpec *pspec,
5017- GValue *value);
5018-gboolean g_param_value_defaults (GParamSpec *pspec,
5019- GValue *value);
5020-gboolean g_param_value_validate (GParamSpec *pspec,
5021- GValue *value);
5022-gboolean g_param_value_convert (GParamSpec *pspec,
5023+GOBJECT_FUNC void g_param_value_set_default (GParamSpec *pspec,
5024+ GValue *value);;
5025+GOBJECT_FUNC gboolean g_param_value_defaults (GParamSpec *pspec,
5026+ GValue *value);;
5027+GOBJECT_FUNC gboolean g_param_value_validate (GParamSpec *pspec,
5028+ GValue *value);;
5029+GOBJECT_FUNC gboolean g_param_value_convert (GParamSpec *pspec,
5030 const GValue *src_value,
5031 GValue *dest_value,
5032- gboolean strict_validation);
5033-gint g_param_values_cmp (GParamSpec *pspec,
5034+ gboolean strict_validation);;
5035+GOBJECT_FUNC gint g_param_values_cmp (GParamSpec *pspec,
5036 const GValue *value1,
5037- const GValue *value2);
5038-G_CONST_RETURN gchar* g_param_spec_get_name (GParamSpec *pspec);
5039-G_CONST_RETURN gchar* g_param_spec_get_nick (GParamSpec *pspec);
5040-G_CONST_RETURN gchar* g_param_spec_get_blurb (GParamSpec *pspec);
5041-void g_value_set_param (GValue *value,
5042- GParamSpec *param);
5043-GParamSpec* g_value_get_param (const GValue *value);
5044-GParamSpec* g_value_dup_param (const GValue *value);
5045+ const GValue *value2);;
5046+GOBJECT_FUNC G_CONST_RETURN gchar* g_param_spec_get_name (GParamSpec *pspec);;
5047+GOBJECT_FUNC G_CONST_RETURN gchar* g_param_spec_get_nick (GParamSpec *pspec);;
5048+GOBJECT_FUNC G_CONST_RETURN gchar* g_param_spec_get_blurb (GParamSpec *pspec);;
5049+GOBJECT_FUNC void g_value_set_param (GValue *value,
5050+ GParamSpec *param);;
5051+GOBJECT_FUNC GParamSpec* g_value_get_param (const GValue *value);;
5052+GOBJECT_FUNC GParamSpec* g_value_dup_param (const GValue *value);;
5053
5054
5055-void g_value_take_param (GValue *value,
5056- GParamSpec *param);
5057+GOBJECT_FUNC void g_value_take_param (GValue *value,
5058+ GParamSpec *param);;
5059 #ifndef G_DISABLE_DEPRECATED
5060-void g_value_set_param_take_ownership (GValue *value,
5061- GParamSpec *param);
5062+GOBJECT_FUNC void g_value_set_param_take_ownership (GValue *value,
5063+ GParamSpec *param);;
5064 #endif
5065
5066 /* --- convenience functions --- */
5067@@ -174,36 +174,36 @@
5068 const GValue *value1,
5069 const GValue *value2);
5070 };
5071-GType g_param_type_register_static (const gchar *name,
5072- const GParamSpecTypeInfo *pspec_info);
5073+GOBJECT_FUNC GType g_param_type_register_static (const gchar *name,
5074+ const GParamSpecTypeInfo *pspec_info);;
5075
5076 /* For registering builting types */
5077-GType _g_param_type_register_static_constant (const gchar *name,
5078+GOBJECT_FUNC GType _g_param_type_register_static_constant (const gchar *name,
5079 const GParamSpecTypeInfo *pspec_info,
5080 GType opt_type);
5081
5082
5083 /* --- protected --- */
5084-gpointer g_param_spec_internal (GType param_type,
5085+GOBJECT_FUNC gpointer g_param_spec_internal (GType param_type,
5086 const gchar *name,
5087 const gchar *nick,
5088 const gchar *blurb,
5089- GParamFlags flags);
5090-GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing);
5091-void g_param_spec_pool_insert (GParamSpecPool *pool,
5092+ GParamFlags flags);;
5093+GOBJECT_FUNC GParamSpecPool* g_param_spec_pool_new (gboolean type_prefixing);;
5094+GOBJECT_FUNC void g_param_spec_pool_insert (GParamSpecPool *pool,
5095 GParamSpec *pspec,
5096- GType owner_type);
5097-void g_param_spec_pool_remove (GParamSpecPool *pool,
5098- GParamSpec *pspec);
5099-GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool,
5100+ GType owner_type);;
5101+GOBJECT_FUNC void g_param_spec_pool_remove (GParamSpecPool *pool,
5102+ GParamSpec *pspec);;
5103+GOBJECT_FUNC GParamSpec* g_param_spec_pool_lookup (GParamSpecPool *pool,
5104 const gchar *param_name,
5105 GType owner_type,
5106- gboolean walk_ancestors);
5107-GList* g_param_spec_pool_list_owned (GParamSpecPool *pool,
5108- GType owner_type);
5109-GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool,
5110+ gboolean walk_ancestors);;
5111+GOBJECT_FUNC GList* g_param_spec_pool_list_owned (GParamSpecPool *pool,
5112+ GType owner_type);;
5113+GOBJECT_FUNC GParamSpec** g_param_spec_pool_list (GParamSpecPool *pool,
5114 GType owner_type,
5115- guint *n_pspecs_p);
5116+ guint *n_pspecs_p);;
5117
5118
5119
5120--- glib-2.4.6/gobject/gparamspecs.h~visibility.patch
5121+++ glib-2.4.6/gobject/gparamspecs.h
5122@@ -270,154 +270,130 @@
5123 };
5124
5125 /* --- GParamSpec prototypes --- */
5126-GParamSpec* g_param_spec_char (const gchar *name,
5127+GOBJECT_FUNC GParamSpec* g_param_spec_char (const gchar *name,
5128 const gchar *nick,
5129 const gchar *blurb,
5130 gint8 minimum,
5131 gint8 maximum,
5132 gint8 default_value,
5133- GParamFlags flags);
5134-GParamSpec* g_param_spec_uchar (const gchar *name,
5135+ GParamFlags flags);;
5136+GOBJECT_FUNC GParamSpec* g_param_spec_uchar (const gchar *name,
5137 const gchar *nick,
5138 const gchar *blurb,
5139 guint8 minimum,
5140 guint8 maximum,
5141 guint8 default_value,
5142- GParamFlags flags);
5143-GParamSpec* g_param_spec_boolean (const gchar *name,
5144+ GParamFlags flags);;
5145+GOBJECT_FUNC GParamSpec* g_param_spec_boolean (const gchar *name,
5146 const gchar *nick,
5147 const gchar *blurb,
5148 gboolean default_value,
5149- GParamFlags flags);
5150-GParamSpec* g_param_spec_int (const gchar *name,
5151+ GParamFlags flags);;
5152+GOBJECT_FUNC GParamSpec* g_param_spec_int (const gchar *name,
5153 const gchar *nick,
5154 const gchar *blurb,
5155 gint minimum,
5156 gint maximum,
5157 gint default_value,
5158- GParamFlags flags);
5159-GParamSpec* g_param_spec_uint (const gchar *name,
5160+ GParamFlags flags);;
5161+GOBJECT_FUNC GParamSpec* g_param_spec_uint (const gchar *name,
5162 const gchar *nick,
5163 const gchar *blurb,
5164 guint minimum,
5165 guint maximum,
5166 guint default_value,
5167- GParamFlags flags);
5168-GParamSpec* g_param_spec_long (const gchar *name,
5169+ GParamFlags flags);;
5170+GOBJECT_FUNC GParamSpec* g_param_spec_long (const gchar *name,
5171 const gchar *nick,
5172 const gchar *blurb,
5173 glong minimum,
5174 glong maximum,
5175 glong default_value,
5176- GParamFlags flags);
5177-GParamSpec* g_param_spec_ulong (const gchar *name,
5178+ GParamFlags flags);;
5179+GOBJECT_FUNC GParamSpec* g_param_spec_ulong (const gchar *name,
5180 const gchar *nick,
5181 const gchar *blurb,
5182 gulong minimum,
5183 gulong maximum,
5184 gulong default_value,
5185- GParamFlags flags);
5186-GParamSpec* g_param_spec_int64 (const gchar *name,
5187+ GParamFlags flags);;
5188+GOBJECT_FUNC GParamSpec* g_param_spec_int64 (const gchar *name,
5189 const gchar *nick,
5190 const gchar *blurb,
5191 gint64 minimum,
5192 gint64 maximum,
5193 gint64 default_value,
5194- GParamFlags flags);
5195-GParamSpec* g_param_spec_uint64 (const gchar *name,
5196+ GParamFlags flags);;
5197+GOBJECT_FUNC GParamSpec* g_param_spec_uint64 (const gchar *name,
5198 const gchar *nick,
5199 const gchar *blurb,
5200 guint64 minimum,
5201 guint64 maximum,
5202 guint64 default_value,
5203- GParamFlags flags);
5204-GParamSpec* g_param_spec_unichar (const gchar *name,
5205+ GParamFlags flags);;
5206+GOBJECT_FUNC GParamSpec* g_param_spec_unichar (const gchar *name,
5207 const gchar *nick,
5208 const gchar *blurb,
5209 gunichar default_value,
5210- GParamFlags flags);
5211-GParamSpec* g_param_spec_enum (const gchar *name,
5212+ GParamFlags flags);;
5213+GOBJECT_FUNC GParamSpec* g_param_spec_enum (const gchar *name,
5214 const gchar *nick,
5215 const gchar *blurb,
5216 GType enum_type,
5217 gint default_value,
5218- GParamFlags flags);
5219-GParamSpec* g_param_spec_flags (const gchar *name,
5220+ GParamFlags flags);;
5221+GOBJECT_FUNC GParamSpec* g_param_spec_flags (const gchar *name,
5222 const gchar *nick,
5223 const gchar *blurb,
5224 GType flags_type,
5225 guint default_value,
5226- GParamFlags flags);
5227-GParamSpec* g_param_spec_float (const gchar *name,
5228+ GParamFlags flags);;
5229+GOBJECT_FUNC GParamSpec* g_param_spec_float (const gchar *name,
5230 const gchar *nick,
5231 const gchar *blurb,
5232 gfloat minimum,
5233 gfloat maximum,
5234 gfloat default_value,
5235- GParamFlags flags);
5236-GParamSpec* g_param_spec_double (const gchar *name,
5237+ GParamFlags flags);;
5238+GOBJECT_FUNC GParamSpec* g_param_spec_double (const gchar *name,
5239 const gchar *nick,
5240 const gchar *blurb,
5241 gdouble minimum,
5242 gdouble maximum,
5243 gdouble default_value,
5244- GParamFlags flags);
5245-GParamSpec* g_param_spec_string (const gchar *name,
5246+ GParamFlags flags);;
5247+GOBJECT_FUNC GParamSpec* g_param_spec_string (const gchar *name,
5248 const gchar *nick,
5249 const gchar *blurb,
5250 const gchar *default_value,
5251- GParamFlags flags);
5252-GParamSpec* g_param_spec_param (const gchar *name,
5253+ GParamFlags flags);;
5254+GOBJECT_FUNC GParamSpec* g_param_spec_param (const gchar *name,
5255 const gchar *nick,
5256 const gchar *blurb,
5257 GType param_type,
5258- GParamFlags flags);
5259-GParamSpec* g_param_spec_boxed (const gchar *name,
5260+ GParamFlags flags);;
5261+GOBJECT_FUNC GParamSpec* g_param_spec_boxed (const gchar *name,
5262 const gchar *nick,
5263 const gchar *blurb,
5264 GType boxed_type,
5265- GParamFlags flags);
5266-GParamSpec* g_param_spec_pointer (const gchar *name,
5267+ GParamFlags flags);;
5268+GOBJECT_FUNC GParamSpec* g_param_spec_pointer (const gchar *name,
5269 const gchar *nick,
5270 const gchar *blurb,
5271- GParamFlags flags);
5272-GParamSpec* g_param_spec_value_array (const gchar *name,
5273+ GParamFlags flags);;
5274+GOBJECT_FUNC GParamSpec* g_param_spec_value_array (const gchar *name,
5275 const gchar *nick,
5276 const gchar *blurb,
5277 GParamSpec *element_spec,
5278- GParamFlags flags);
5279-GParamSpec* g_param_spec_object (const gchar *name,
5280+ GParamFlags flags);;
5281+GOBJECT_FUNC GParamSpec* g_param_spec_object (const gchar *name,
5282 const gchar *nick,
5283 const gchar *blurb,
5284 GType object_type,
5285- GParamFlags flags);
5286-
5287-GParamSpec* g_param_spec_override (const gchar *name,
5288- GParamSpec *overridden);
5289+ GParamFlags flags);;
5290
5291-/* --- internal --- */
5292-/* We prefix variable declarations so they can
5293- * properly get exported in windows dlls.
5294- */
5295-#ifndef GOBJECT_VAR
5296-# ifdef G_PLATFORM_WIN32
5297-# ifdef GOBJECT_STATIC_COMPILATION
5298-# define GOBJECT_VAR extern
5299-# else /* !GOBJECT_STATIC_COMPILATION */
5300-# ifdef GOBJECT_COMPILATION
5301-# ifdef DLL_EXPORT
5302-# define GOBJECT_VAR __declspec(dllexport)
5303-# else /* !DLL_EXPORT */
5304-# define GOBJECT_VAR extern
5305-# endif /* !DLL_EXPORT */
5306-# else /* !GOBJECT_COMPILATION */
5307-# define GOBJECT_VAR extern __declspec(dllimport)
5308-# endif /* !GOBJECT_COMPILATION */
5309-# endif /* !GOBJECT_STATIC_COMPILATION */
5310-# else /* !G_PLATFORM_WIN32 */
5311-# define GOBJECT_VAR extern
5312-# endif /* !G_PLATFORM_WIN32 */
5313-#endif /* GOBJECT_VAR */
5314+GOBJECT_FUNC GParamSpec* g_param_spec_override (const gchar *name,
5315+ GParamSpec *overridden);;
5316
5317 GOBJECT_VAR GType *g_param_spec_types;
5318
5319--- glib-2.4.6/gobject/gsignal.h~visibility.patch
5320+++ glib-2.4.6/gobject/gsignal.h
5321@@ -94,7 +94,7 @@
5322
5323
5324 /* --- signals --- */
5325-guint g_signal_newv (const gchar *signal_name,
5326+GOBJECT_FUNC guint g_signal_newv (const gchar *signal_name,
5327 GType itype,
5328 GSignalFlags signal_flags,
5329 GClosure *class_closure,
5330@@ -103,8 +103,8 @@
5331 GSignalCMarshaller c_marshaller,
5332 GType return_type,
5333 guint n_params,
5334- GType *param_types);
5335-guint g_signal_new_valist (const gchar *signal_name,
5336+ GType *param_types);;
5337+GOBJECT_FUNC guint g_signal_new_valist (const gchar *signal_name,
5338 GType itype,
5339 GSignalFlags signal_flags,
5340 GClosure *class_closure,
5341@@ -113,8 +113,8 @@
5342 GSignalCMarshaller c_marshaller,
5343 GType return_type,
5344 guint n_params,
5345- va_list args);
5346-guint g_signal_new (const gchar *signal_name,
5347+ va_list args);;
5348+GOBJECT_FUNC guint g_signal_new (const gchar *signal_name,
5349 GType itype,
5350 GSignalFlags signal_flags,
5351 guint class_offset,
5352@@ -123,116 +123,116 @@
5353 GSignalCMarshaller c_marshaller,
5354 GType return_type,
5355 guint n_params,
5356- ...);
5357-void g_signal_emitv (const GValue *instance_and_params,
5358+ ...);;
5359+GOBJECT_FUNC void g_signal_emitv (const GValue *instance_and_params,
5360 guint signal_id,
5361 GQuark detail,
5362- GValue *return_value);
5363-void g_signal_emit_valist (gpointer instance,
5364+ GValue *return_value);;
5365+GOBJECT_FUNC void g_signal_emit_valist (gpointer instance,
5366 guint signal_id,
5367 GQuark detail,
5368- va_list var_args);
5369-void g_signal_emit (gpointer instance,
5370+ va_list var_args);;
5371+GOBJECT_FUNC void g_signal_emit (gpointer instance,
5372 guint signal_id,
5373 GQuark detail,
5374- ...);
5375-void g_signal_emit_by_name (gpointer instance,
5376+ ...);;
5377+GOBJECT_FUNC void g_signal_emit_by_name (gpointer instance,
5378 const gchar *detailed_signal,
5379- ...);
5380-guint g_signal_lookup (const gchar *name,
5381- GType itype);
5382-G_CONST_RETURN gchar* g_signal_name (guint signal_id);
5383-void g_signal_query (guint signal_id,
5384- GSignalQuery *query);
5385-guint* g_signal_list_ids (GType itype,
5386- guint *n_ids);
5387-gboolean g_signal_parse_name (const gchar *detailed_signal,
5388+ ...);;
5389+GOBJECT_FUNC guint g_signal_lookup (const gchar *name,
5390+ GType itype);;
5391+GOBJECT_FUNC G_CONST_RETURN gchar* g_signal_name (guint signal_id);;
5392+GOBJECT_FUNC void g_signal_query (guint signal_id,
5393+ GSignalQuery *query);;
5394+GOBJECT_FUNC guint* g_signal_list_ids (GType itype,
5395+ guint *n_ids);;
5396+GOBJECT_FUNC gboolean g_signal_parse_name (const gchar *detailed_signal,
5397 GType itype,
5398 guint *signal_id_p,
5399 GQuark *detail_p,
5400- gboolean force_detail_quark);
5401-GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance);
5402+ gboolean force_detail_quark);;
5403+GOBJECT_FUNC GSignalInvocationHint* g_signal_get_invocation_hint (gpointer instance);;
5404
5405
5406 /* --- signal emissions --- */
5407-void g_signal_stop_emission (gpointer instance,
5408+GOBJECT_FUNC void g_signal_stop_emission (gpointer instance,
5409 guint signal_id,
5410- GQuark detail);
5411-void g_signal_stop_emission_by_name (gpointer instance,
5412- const gchar *detailed_signal);
5413-gulong g_signal_add_emission_hook (guint signal_id,
5414+ GQuark detail);;
5415+GOBJECT_FUNC void g_signal_stop_emission_by_name (gpointer instance,
5416+ const gchar *detailed_signal);;
5417+GOBJECT_FUNC gulong g_signal_add_emission_hook (guint signal_id,
5418 GQuark detail,
5419 GSignalEmissionHook hook_func,
5420 gpointer hook_data,
5421- GDestroyNotify data_destroy);
5422-void g_signal_remove_emission_hook (guint signal_id,
5423- gulong hook_id);
5424+ GDestroyNotify data_destroy);;
5425+GOBJECT_FUNC void g_signal_remove_emission_hook (guint signal_id,
5426+ gulong hook_id);;
5427
5428
5429 /* --- signal handlers --- */
5430-gboolean g_signal_has_handler_pending (gpointer instance,
5431+GOBJECT_FUNC gboolean g_signal_has_handler_pending (gpointer instance,
5432 guint signal_id,
5433 GQuark detail,
5434- gboolean may_be_blocked);
5435-gulong g_signal_connect_closure_by_id (gpointer instance,
5436+ gboolean may_be_blocked);;
5437+GOBJECT_FUNC gulong g_signal_connect_closure_by_id (gpointer instance,
5438 guint signal_id,
5439 GQuark detail,
5440 GClosure *closure,
5441- gboolean after);
5442-gulong g_signal_connect_closure (gpointer instance,
5443+ gboolean after);;
5444+GOBJECT_FUNC gulong g_signal_connect_closure (gpointer instance,
5445 const gchar *detailed_signal,
5446 GClosure *closure,
5447- gboolean after);
5448-gulong g_signal_connect_data (gpointer instance,
5449+ gboolean after);;
5450+GOBJECT_FUNC gulong g_signal_connect_data (gpointer instance,
5451 const gchar *detailed_signal,
5452 GCallback c_handler,
5453 gpointer data,
5454 GClosureNotify destroy_data,
5455- GConnectFlags connect_flags);
5456-void g_signal_handler_block (gpointer instance,
5457- gulong handler_id);
5458-void g_signal_handler_unblock (gpointer instance,
5459- gulong handler_id);
5460-void g_signal_handler_disconnect (gpointer instance,
5461- gulong handler_id);
5462-gboolean g_signal_handler_is_connected (gpointer instance,
5463- gulong handler_id);
5464-gulong g_signal_handler_find (gpointer instance,
5465+ GConnectFlags connect_flags);;
5466+GOBJECT_FUNC void g_signal_handler_block (gpointer instance,
5467+ gulong handler_id);;
5468+GOBJECT_FUNC void g_signal_handler_unblock (gpointer instance,
5469+ gulong handler_id);;
5470+GOBJECT_FUNC void g_signal_handler_disconnect (gpointer instance,
5471+ gulong handler_id);;
5472+GOBJECT_FUNC gboolean g_signal_handler_is_connected (gpointer instance,
5473+ gulong handler_id);;
5474+GOBJECT_FUNC gulong g_signal_handler_find (gpointer instance,
5475 GSignalMatchType mask,
5476 guint signal_id,
5477 GQuark detail,
5478 GClosure *closure,
5479 gpointer func,
5480- gpointer data);
5481-guint g_signal_handlers_block_matched (gpointer instance,
5482+ gpointer data);;
5483+GOBJECT_FUNC guint g_signal_handlers_block_matched (gpointer instance,
5484 GSignalMatchType mask,
5485 guint signal_id,
5486 GQuark detail,
5487 GClosure *closure,
5488 gpointer func,
5489- gpointer data);
5490-guint g_signal_handlers_unblock_matched (gpointer instance,
5491+ gpointer data);;
5492+GOBJECT_FUNC guint g_signal_handlers_unblock_matched (gpointer instance,
5493 GSignalMatchType mask,
5494 guint signal_id,
5495 GQuark detail,
5496 GClosure *closure,
5497 gpointer func,
5498- gpointer data);
5499-guint g_signal_handlers_disconnect_matched (gpointer instance,
5500+ gpointer data);;
5501+GOBJECT_FUNC guint g_signal_handlers_disconnect_matched (gpointer instance,
5502 GSignalMatchType mask,
5503 guint signal_id,
5504 GQuark detail,
5505 GClosure *closure,
5506 gpointer func,
5507- gpointer data);
5508+ gpointer data);;
5509
5510
5511 /* --- chaining for language bindings --- */
5512-void g_signal_override_class_closure (guint signal_id,
5513+GOBJECT_FUNC void g_signal_override_class_closure (guint signal_id,
5514 GType instance_type,
5515- GClosure *class_closure);
5516-void g_signal_chain_from_overridden (const GValue *instance_and_params,
5517- GValue *return_value);
5518+ GClosure *class_closure);;
5519+GOBJECT_FUNC void g_signal_chain_from_overridden (const GValue *instance_and_params,
5520+ GValue *return_value);;
5521
5522
5523 /* --- convenience --- */
5524@@ -256,13 +256,13 @@
5525 0, 0, NULL, (func), (data))
5526
5527
5528-gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint,
5529+GOBJECT_FUNC gboolean g_signal_accumulator_true_handled (GSignalInvocationHint *ihint,
5530 GValue *return_accu,
5531 const GValue *handler_return,
5532- gpointer dummy);
5533+ gpointer dummy);;
5534
5535 /*< private >*/
5536-void g_signal_handlers_destroy (gpointer instance);
5537+GOBJECT_FUNC void g_signal_handlers_destroy (gpointer instance);;
5538 void _g_signals_destroy (GType itype);
5539
5540 G_END_DECLS
5541--- glib-2.4.6/gobject/gsourceclosure.h~visibility.patch
5542+++ glib-2.4.6/gobject/gsourceclosure.h
5543@@ -27,11 +27,11 @@
5544
5545 G_BEGIN_DECLS
5546
5547-void g_source_set_closure (GSource *source,
5548- GClosure *closure);
5549+GOBJECT_FUNC void g_source_set_closure (GSource *source,
5550+ GClosure *closure);;
5551
5552-GType g_io_channel_get_type (void);
5553-GType g_io_condition_get_type (void);
5554+GOBJECT_FUNC GType g_io_channel_get_type (void);;
5555+GOBJECT_FUNC GType g_io_condition_get_type (void);;
5556
5557 #define G_TYPE_IO_CHANNEL (g_io_channel_get_type ())
5558 #define G_TYPE_IO_CONDITION (g_io_condition_get_type ())
5559--- glib-2.4.6/gobject/gtype.h~visibility.patch
5560+++ glib-2.4.6/gobject/gtype.h
5561@@ -27,6 +27,63 @@
5562
5563 G_BEGIN_DECLS
5564
5565+/* We prefix variable declarations so they can
5566+ * properly get exported in windows dlls.
5567+ */
5568+#ifndef GOBJECT_VAR
5569+# ifdef G_PLATFORM_WIN32
5570+# ifdef GOBJECT_STATIC_COMPILATION
5571+# define GOBJECT_VAR extern
5572+# else /* !GOBJECT_STATIC_COMPILATION */
5573+# ifdef GOBJECT_COMPILATION
5574+# ifdef DLL_EXPORT
5575+# define GOBJECT_VAR __declspec(dllexport)
5576+# else /* !DLL_EXPORT */
5577+# define GOBJECT_VAR extern
5578+# endif /* !DLL_EXPORT */
5579+# else /* !GOBJECT_COMPILATION */
5580+# define GOBJECT_VAR extern __declspec(dllimport)
5581+# endif /* !GOBJECT_COMPILATION */
5582+# endif /* !GOBJECT_STATIC_COMPILATION */
5583+# else /* !G_PLATFORM_WIN32 */
5584+# ifdef GOBJECT_STATIC_COMPILATION
5585+# define GOBJECT_VAR extern
5586+# else /* !GOBJECT_STATIC_COMPILATION */
5587+# ifdef GOBJECT_COMPILATION
5588+# ifdef GCC_HASCLASSVISIBILITY
5589+# define GOBJECT_VAR __attribute__ ((visibility("default")))
5590+# endif
5591+# endif /* !GOBJECT_COMPILATION */
5592+# endif /* !GOBJECT_STATIC_COMPILATION */
5593+# ifndef GOBJECT_VAR
5594+# define GOBJECT_VAR extern
5595+# endif /* !GOBJECT_VAR */
5596+# endif /* !G_PLATFORM_WIN32 */
5597+#endif /* GOBJECT_VAR */
5598+
5599+#ifndef GOBJECT_FUNC
5600+# ifdef G_PLATFORM_WIN32
5601+# ifndef GOBJECT_STATIC_COMPILATION
5602+# ifdef GOBJECT_COMPILATION
5603+# define GOBJECT_FUNC __declspec(dllexport)
5604+# else /* !GOBJECT_COMPILATION */
5605+# define GOBJECT_FUNC __declspec(dllimport)
5606+# endif /* !GOBJECT_COMPILATION */
5607+# endif /* !GOBJECT_STATIC_COMPILATION */
5608+# else /* !G_PLATFORM_WIN32 */
5609+# ifndef GOBJECT_STATIC_COMPILATION
5610+# ifdef GOBJECT_COMPILATION
5611+# ifdef GCC_HASCLASSVISIBILITY
5612+# define GOBJECT_FUNC __attribute__ ((visibility("default")))
5613+# endif
5614+# endif /* !GOBJECT_COMPILATION */
5615+# endif /* !GOBJECT_STATIC_COMPILATION */
5616+# ifndef GOBJECT_FUNC
5617+# define GOBJECT_FUNC
5618+# endif /* !GOBJECT_FUNC */
5619+# endif /* !G_PLATFORM_WIN32 */
5620+#endif /* GOBJECT_FUNC */
5621+
5622 /* Basic Type Macros
5623 */
5624 #define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type))
5625@@ -164,44 +221,44 @@
5626
5627
5628 /* --- prototypes --- */
5629-void g_type_init (void);
5630-void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags);
5631-G_CONST_RETURN gchar* g_type_name (GType type);
5632-GQuark g_type_qname (GType type);
5633-GType g_type_from_name (const gchar *name);
5634-GType g_type_parent (GType type);
5635-guint g_type_depth (GType type);
5636-GType g_type_next_base (GType leaf_type,
5637- GType root_type);
5638-gboolean g_type_is_a (GType type,
5639- GType is_a_type);
5640-gpointer g_type_class_ref (GType type);
5641-gpointer g_type_class_peek (GType type);
5642-gpointer g_type_class_peek_static (GType type);
5643-void g_type_class_unref (gpointer g_class);
5644-gpointer g_type_class_peek_parent (gpointer g_class);
5645-gpointer g_type_interface_peek (gpointer instance_class,
5646- GType iface_type);
5647-gpointer g_type_interface_peek_parent (gpointer g_iface);
5648+GOBJECT_FUNC void g_type_init (void);;
5649+GOBJECT_FUNC void g_type_init_with_debug_flags (GTypeDebugFlags debug_flags);;
5650+GOBJECT_FUNC G_CONST_RETURN gchar* g_type_name (GType type);;
5651+GOBJECT_FUNC GQuark g_type_qname (GType type);;
5652+GOBJECT_FUNC GType g_type_from_name (const gchar *name);;
5653+GOBJECT_FUNC GType g_type_parent (GType type);;
5654+GOBJECT_FUNC guint g_type_depth (GType type);;
5655+GOBJECT_FUNC GType g_type_next_base (GType leaf_type,
5656+ GType root_type);;
5657+GOBJECT_FUNC gboolean g_type_is_a (GType type,
5658+ GType is_a_type);;
5659+GOBJECT_FUNC gpointer g_type_class_ref (GType type);;
5660+GOBJECT_FUNC gpointer g_type_class_peek (GType type);;
5661+GOBJECT_FUNC gpointer g_type_class_peek_static (GType type);;
5662+GOBJECT_FUNC void g_type_class_unref (gpointer g_class);;
5663+GOBJECT_FUNC gpointer g_type_class_peek_parent (gpointer g_class);;
5664+GOBJECT_FUNC gpointer g_type_interface_peek (gpointer instance_class,
5665+ GType iface_type);;
5666+GOBJECT_FUNC gpointer g_type_interface_peek_parent (gpointer g_iface);;
5667
5668-gpointer g_type_default_interface_ref (GType g_type);
5669-gpointer g_type_default_interface_peek (GType g_type);
5670-void g_type_default_interface_unref (gpointer g_iface);
5671+GOBJECT_FUNC gpointer g_type_default_interface_ref (GType g_type);;
5672+GOBJECT_FUNC gpointer g_type_default_interface_peek (GType g_type);;
5673+GOBJECT_FUNC void g_type_default_interface_unref (gpointer g_iface);;
5674
5675 /* g_free() the returned arrays */
5676-GType* g_type_children (GType type,
5677- guint *n_children);
5678-GType* g_type_interfaces (GType type,
5679- guint *n_interfaces);
5680+GOBJECT_FUNC GType* g_type_children (GType type,
5681+ guint *n_children);;
5682+GOBJECT_FUNC GType* g_type_interfaces (GType type,
5683+ guint *n_interfaces);;
5684
5685 /* per-type _static_ data */
5686-void g_type_set_qdata (GType type,
5687+GOBJECT_FUNC void g_type_set_qdata (GType type,
5688 GQuark quark,
5689- gpointer data);
5690-gpointer g_type_get_qdata (GType type,
5691- GQuark quark);
5692-void g_type_query (GType type,
5693- GTypeQuery *query);
5694+ gpointer data);;
5695+GOBJECT_FUNC gpointer g_type_get_qdata (GType type,
5696+ GQuark quark);;
5697+GOBJECT_FUNC void g_type_query (GType type,
5698+ GTypeQuery *query);;
5699
5700
5701 /* --- type registration --- */
5702@@ -283,33 +340,33 @@
5703 GTypeCValue *collect_values,
5704 guint collect_flags);
5705 };
5706-GType g_type_register_static (GType parent_type,
5707+GOBJECT_FUNC GType g_type_register_static (GType parent_type,
5708 const gchar *type_name,
5709 const GTypeInfo *info,
5710- GTypeFlags flags);
5711-GType g_type_register_dynamic (GType parent_type,
5712+ GTypeFlags flags);;
5713+GOBJECT_FUNC GType g_type_register_dynamic (GType parent_type,
5714 const gchar *type_name,
5715 GTypePlugin *plugin,
5716- GTypeFlags flags);
5717-GType g_type_register_fundamental (GType type_id,
5718+ GTypeFlags flags);;
5719+GOBJECT_FUNC GType g_type_register_fundamental (GType type_id,
5720 const gchar *type_name,
5721 const GTypeInfo *info,
5722 const GTypeFundamentalInfo *finfo,
5723- GTypeFlags flags);
5724-void g_type_add_interface_static (GType instance_type,
5725+ GTypeFlags flags);;
5726+GOBJECT_FUNC void g_type_add_interface_static (GType instance_type,
5727 GType interface_type,
5728- const GInterfaceInfo *info);
5729-void g_type_add_interface_dynamic (GType instance_type,
5730+ const GInterfaceInfo *info);;
5731+GOBJECT_FUNC void g_type_add_interface_dynamic (GType instance_type,
5732 GType interface_type,
5733- GTypePlugin *plugin);
5734-void g_type_interface_add_prerequisite (GType interface_type,
5735- GType prerequisite_type);
5736-GType*g_type_interface_prerequisites (GType interface_type,
5737+ GTypePlugin *plugin);;
5738+GOBJECT_FUNC void g_type_interface_add_prerequisite (GType interface_type,
5739+ GType prerequisite_type);;
5740+GOBJECT_FUNC GType*g_type_interface_prerequisites (GType interface_type,
5741 guint *n_prerequisites);
5742-void g_type_class_add_private (gpointer g_class,
5743- gsize private_size);
5744-gpointer g_type_instance_get_private (GTypeInstance *instance,
5745- GType private_type);
5746+GOBJECT_FUNC void g_type_class_add_private (gpointer g_class,
5747+ gsize private_size);;
5748+GOBJECT_FUNC gpointer g_type_instance_get_private (GTypeInstance *instance,
5749+ GType private_type);;
5750
5751
5752 /* --- GType boilerplate --- */
5753@@ -382,49 +439,49 @@
5754
5755
5756 /* --- protected (for fundamental type implementations) --- */
5757-GTypePlugin* g_type_get_plugin (GType type);
5758-GTypePlugin* g_type_interface_get_plugin (GType instance_type,
5759- GType interface_type);
5760-GType g_type_fundamental_next (void);
5761-GType g_type_fundamental (GType type_id);
5762-GTypeInstance* g_type_create_instance (GType type);
5763-void g_type_free_instance (GTypeInstance *instance);
5764+GOBJECT_FUNC GTypePlugin* g_type_get_plugin (GType type);;
5765+GOBJECT_FUNC GTypePlugin* g_type_interface_get_plugin (GType instance_type,
5766+ GType interface_type);;
5767+GOBJECT_FUNC GType g_type_fundamental_next (void);;
5768+GOBJECT_FUNC GType g_type_fundamental (GType type_id);;
5769+GOBJECT_FUNC GTypeInstance* g_type_create_instance (GType type);;
5770+GOBJECT_FUNC void g_type_free_instance (GTypeInstance *instance);;
5771
5772-void g_type_add_class_cache_func (gpointer cache_data,
5773- GTypeClassCacheFunc cache_func);
5774-void g_type_remove_class_cache_func (gpointer cache_data,
5775- GTypeClassCacheFunc cache_func);
5776-void g_type_class_unref_uncached (gpointer g_class);
5777+GOBJECT_FUNC void g_type_add_class_cache_func (gpointer cache_data,
5778+ GTypeClassCacheFunc cache_func);;
5779+GOBJECT_FUNC void g_type_remove_class_cache_func (gpointer cache_data,
5780+ GTypeClassCacheFunc cache_func);;
5781+GOBJECT_FUNC void g_type_class_unref_uncached (gpointer g_class);;
5782
5783-void g_type_add_interface_check (gpointer check_data,
5784- GTypeInterfaceCheckFunc check_func);
5785-void g_type_remove_interface_check (gpointer check_data,
5786- GTypeInterfaceCheckFunc chec_func);
5787+GOBJECT_FUNC void g_type_add_interface_check (gpointer check_data,
5788+ GTypeInterfaceCheckFunc check_func);;
5789+GOBJECT_FUNC void g_type_remove_interface_check (gpointer check_data,
5790+ GTypeInterfaceCheckFunc chec_func);;
5791
5792-GTypeValueTable* g_type_value_table_peek (GType type);
5793+GOBJECT_FUNC GTypeValueTable* g_type_value_table_peek (GType type);;
5794
5795
5796 /*< private >*/
5797-gboolean g_type_check_instance (GTypeInstance *instance);
5798-GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance,
5799- GType iface_type);
5800-gboolean g_type_check_instance_is_a (GTypeInstance *instance,
5801- GType iface_type);
5802-GTypeClass* g_type_check_class_cast (GTypeClass *g_class,
5803- GType is_a_type);
5804-gboolean g_type_check_class_is_a (GTypeClass *g_class,
5805- GType is_a_type);
5806-gboolean g_type_check_is_value_type (GType type);
5807-gboolean g_type_check_value (GValue *value);
5808-gboolean g_type_check_value_holds (GValue *value,
5809- GType type);
5810-gboolean g_type_test_flags (GType type,
5811- guint flags);
5812+GOBJECT_FUNC gboolean g_type_check_instance (GTypeInstance *instance);;
5813+GOBJECT_FUNC GTypeInstance* g_type_check_instance_cast (GTypeInstance *instance,
5814+ GType iface_type);;
5815+GOBJECT_FUNC gboolean g_type_check_instance_is_a (GTypeInstance *instance,
5816+ GType iface_type);;
5817+GOBJECT_FUNC GTypeClass* g_type_check_class_cast (GTypeClass *g_class,
5818+ GType is_a_type);;
5819+GOBJECT_FUNC gboolean g_type_check_class_is_a (GTypeClass *g_class,
5820+ GType is_a_type);;
5821+GOBJECT_FUNC gboolean g_type_check_is_value_type (GType type);;
5822+GOBJECT_FUNC gboolean g_type_check_value (GValue *value);;
5823+GOBJECT_FUNC gboolean g_type_check_value_holds (GValue *value,
5824+ GType type);;
5825+GOBJECT_FUNC gboolean g_type_test_flags (GType type,
5826+ guint flags);;
5827
5828
5829 /* --- debugging functions --- */
5830-G_CONST_RETURN gchar* g_type_name_from_instance (GTypeInstance *instance);
5831-G_CONST_RETURN gchar* g_type_name_from_class (GTypeClass *g_class);
5832+GOBJECT_FUNC G_CONST_RETURN gchar* g_type_name_from_instance (GTypeInstance *instance);;
5833+GOBJECT_FUNC G_CONST_RETURN gchar* g_type_name_from_class (GTypeClass *g_class);;
5834
5835
5836 /* --- implementation bits --- */
5837--- glib-2.4.6/gobject/gtypemodule.h~visibility.patch
5838+++ glib-2.4.6/gobject/gtypemodule.h
5839@@ -65,20 +65,20 @@
5840 void (*reserved4) (void);
5841 };
5842
5843-GType g_type_module_get_type (void);
5844-gboolean g_type_module_use (GTypeModule *module);
5845-void g_type_module_unuse (GTypeModule *module);
5846-void g_type_module_set_name (GTypeModule *module,
5847- const gchar *name);
5848-GType g_type_module_register_type (GTypeModule *module,
5849+GOBJECT_FUNC GType g_type_module_get_type (void);;
5850+GOBJECT_FUNC gboolean g_type_module_use (GTypeModule *module);;
5851+GOBJECT_FUNC void g_type_module_unuse (GTypeModule *module);;
5852+GOBJECT_FUNC void g_type_module_set_name (GTypeModule *module,
5853+ const gchar *name);;
5854+GOBJECT_FUNC GType g_type_module_register_type (GTypeModule *module,
5855 GType parent_type,
5856 const gchar *type_name,
5857 const GTypeInfo *type_info,
5858- GTypeFlags flags);
5859-void g_type_module_add_interface (GTypeModule *module,
5860+ GTypeFlags flags);;
5861+GOBJECT_FUNC void g_type_module_add_interface (GTypeModule *module,
5862 GType instance_type,
5863 GType interface_type,
5864- const GInterfaceInfo *interface_info);
5865+ const GInterfaceInfo *interface_info);;
5866
5867 G_END_DECLS
5868
5869--- glib-2.4.6/gobject/gtypeplugin.h~visibility.patch
5870+++ glib-2.4.6/gobject/gtypeplugin.h
5871@@ -62,17 +62,17 @@
5872
5873
5874 /* --- prototypes --- */
5875-GType g_type_plugin_get_type (void) G_GNUC_CONST;
5876-void g_type_plugin_use (GTypePlugin *plugin);
5877-void g_type_plugin_unuse (GTypePlugin *plugin);
5878-void g_type_plugin_complete_type_info (GTypePlugin *plugin,
5879+GOBJECT_FUNC GType g_type_plugin_get_type (void) G_GNUC_CONST;
5880+GOBJECT_FUNC void g_type_plugin_use (GTypePlugin *plugin);;
5881+GOBJECT_FUNC void g_type_plugin_unuse (GTypePlugin *plugin);;
5882+GOBJECT_FUNC void g_type_plugin_complete_type_info (GTypePlugin *plugin,
5883 GType g_type,
5884 GTypeInfo *info,
5885- GTypeValueTable *value_table);
5886-void g_type_plugin_complete_interface_info (GTypePlugin *plugin,
5887+ GTypeValueTable *value_table);;
5888+GOBJECT_FUNC void g_type_plugin_complete_interface_info (GTypePlugin *plugin,
5889 GType instance_type,
5890 GType interface_type,
5891- GInterfaceInfo *info);
5892+ GInterfaceInfo *info);;
5893
5894 G_END_DECLS
5895
5896--- glib-2.4.6/gobject/gvaluearray.h~visibility.patch
5897+++ glib-2.4.6/gobject/gvaluearray.h
5898@@ -46,25 +46,25 @@
5899
5900
5901 /* --- prototypes --- */
5902-GValue* g_value_array_get_nth (GValueArray *value_array,
5903- guint index_);
5904-GValueArray* g_value_array_new (guint n_prealloced);
5905-void g_value_array_free (GValueArray *value_array);
5906-GValueArray* g_value_array_copy (const GValueArray *value_array);
5907-GValueArray* g_value_array_prepend (GValueArray *value_array,
5908- const GValue *value);
5909-GValueArray* g_value_array_append (GValueArray *value_array,
5910- const GValue *value);
5911-GValueArray* g_value_array_insert (GValueArray *value_array,
5912+GOBJECT_FUNC GValue* g_value_array_get_nth (GValueArray *value_array,
5913+ guint index_);;
5914+GOBJECT_FUNC GValueArray* g_value_array_new (guint n_prealloced);;
5915+GOBJECT_FUNC void g_value_array_free (GValueArray *value_array);;
5916+GOBJECT_FUNC GValueArray* g_value_array_copy (const GValueArray *value_array);;
5917+GOBJECT_FUNC GValueArray* g_value_array_prepend (GValueArray *value_array,
5918+ const GValue *value);;
5919+GOBJECT_FUNC GValueArray* g_value_array_append (GValueArray *value_array,
5920+ const GValue *value);;
5921+GOBJECT_FUNC GValueArray* g_value_array_insert (GValueArray *value_array,
5922 guint index_,
5923- const GValue *value);
5924-GValueArray* g_value_array_remove (GValueArray *value_array,
5925- guint index_);
5926-GValueArray* g_value_array_sort (GValueArray *value_array,
5927- GCompareFunc compare_func);
5928-GValueArray* g_value_array_sort_with_data (GValueArray *value_array,
5929+ const GValue *value);;
5930+GOBJECT_FUNC GValueArray* g_value_array_remove (GValueArray *value_array,
5931+ guint index_);;
5932+GOBJECT_FUNC GValueArray* g_value_array_sort (GValueArray *value_array,
5933+ GCompareFunc compare_func);;
5934+GOBJECT_FUNC GValueArray* g_value_array_sort_with_data (GValueArray *value_array,
5935 GCompareDataFunc compare_func,
5936- gpointer user_data);
5937+ gpointer user_data);;
5938
5939
5940
5941--- glib-2.4.6/gobject/gvalue.h~visibility.patch
5942+++ glib-2.4.6/gobject/gvalue.h
5943@@ -61,31 +61,31 @@
5944
5945
5946 /* --- prototypes --- */
5947-GValue* g_value_init (GValue *value,
5948- GType g_type);
5949-void g_value_copy (const GValue *src_value,
5950- GValue *dest_value);
5951-GValue* g_value_reset (GValue *value);
5952-void g_value_unset (GValue *value);
5953-void g_value_set_instance (GValue *value,
5954- gpointer instance);
5955+GOBJECT_FUNC GValue* g_value_init (GValue *value,
5956+ GType g_type);;
5957+GOBJECT_FUNC void g_value_copy (const GValue *src_value,
5958+ GValue *dest_value);;
5959+GOBJECT_FUNC GValue* g_value_reset (GValue *value);;
5960+GOBJECT_FUNC void g_value_unset (GValue *value);;
5961+GOBJECT_FUNC void g_value_set_instance (GValue *value,
5962+ gpointer instance);;
5963
5964
5965 /* --- private --- */
5966-gboolean g_value_fits_pointer (const GValue *value);
5967-gpointer g_value_peek_pointer (const GValue *value);
5968+GOBJECT_FUNC gboolean g_value_fits_pointer (const GValue *value);;
5969+GOBJECT_FUNC gpointer g_value_peek_pointer (const GValue *value);;
5970
5971
5972 /* --- implementation details --- */
5973-gboolean g_value_type_compatible (GType src_type,
5974- GType dest_type);
5975-gboolean g_value_type_transformable (GType src_type,
5976- GType dest_type);
5977-gboolean g_value_transform (const GValue *src_value,
5978- GValue *dest_value);
5979-void g_value_register_transform_func (GType src_type,
5980+GOBJECT_FUNC gboolean g_value_type_compatible (GType src_type,
5981+ GType dest_type);;
5982+GOBJECT_FUNC gboolean g_value_type_transformable (GType src_type,
5983+ GType dest_type);;
5984+GOBJECT_FUNC gboolean g_value_transform (const GValue *src_value,
5985+ GValue *dest_value);;
5986+GOBJECT_FUNC void g_value_register_transform_func (GType src_type,
5987 GType dest_type,
5988- GValueTransform transform_func);
5989+ GValueTransform transform_func);;
5990 #define G_VALUE_NOCOPY_CONTENTS (1 << 27)
5991
5992
5993--- glib-2.4.6/gobject/gvaluetypes.h~visibility.patch
5994+++ glib-2.4.6/gobject/gvaluetypes.h
5995@@ -46,62 +46,62 @@
5996
5997
5998 /* --- prototypes --- */
5999-void g_value_set_char (GValue *value,
6000- gchar v_char);
6001-gchar g_value_get_char (const GValue *value);
6002-void g_value_set_uchar (GValue *value,
6003- guchar v_uchar);
6004-guchar g_value_get_uchar (const GValue *value);
6005-void g_value_set_boolean (GValue *value,
6006- gboolean v_boolean);
6007-gboolean g_value_get_boolean (const GValue *value);
6008-void g_value_set_int (GValue *value,
6009- gint v_int);
6010-gint g_value_get_int (const GValue *value);
6011-void g_value_set_uint (GValue *value,
6012- guint v_uint);
6013-guint g_value_get_uint (const GValue *value);
6014-void g_value_set_long (GValue *value,
6015- glong v_long);
6016-glong g_value_get_long (const GValue *value);
6017-void g_value_set_ulong (GValue *value,
6018- gulong v_ulong);
6019-gulong g_value_get_ulong (const GValue *value);
6020-void g_value_set_int64 (GValue *value,
6021- gint64 v_int64);
6022-gint64 g_value_get_int64 (const GValue *value);
6023-void g_value_set_uint64 (GValue *value,
6024- guint64 v_uint64);
6025-guint64 g_value_get_uint64 (const GValue *value);
6026-void g_value_set_float (GValue *value,
6027- gfloat v_float);
6028-gfloat g_value_get_float (const GValue *value);
6029-void g_value_set_double (GValue *value,
6030- gdouble v_double);
6031-gdouble g_value_get_double (const GValue *value);
6032-void g_value_set_string (GValue *value,
6033- const gchar *v_string);
6034-void g_value_set_static_string (GValue *value,
6035- const gchar *v_string);
6036-G_CONST_RETURN gchar* g_value_get_string (const GValue *value);
6037-gchar* g_value_dup_string (const GValue *value);
6038-void g_value_set_pointer (GValue *value,
6039- gpointer v_pointer);
6040-gpointer g_value_get_pointer (const GValue *value);
6041+GOBJECT_FUNC void g_value_set_char (GValue *value,
6042+ gchar v_char);;
6043+GOBJECT_FUNC gchar g_value_get_char (const GValue *value);;
6044+GOBJECT_FUNC void g_value_set_uchar (GValue *value,
6045+ guchar v_uchar);;
6046+GOBJECT_FUNC guchar g_value_get_uchar (const GValue *value);;
6047+GOBJECT_FUNC void g_value_set_boolean (GValue *value,
6048+ gboolean v_boolean);;
6049+GOBJECT_FUNC gboolean g_value_get_boolean (const GValue *value);;
6050+GOBJECT_FUNC void g_value_set_int (GValue *value,
6051+ gint v_int);;
6052+GOBJECT_FUNC gint g_value_get_int (const GValue *value);;
6053+GOBJECT_FUNC void g_value_set_uint (GValue *value,
6054+ guint v_uint);;
6055+GOBJECT_FUNC guint g_value_get_uint (const GValue *value);;
6056+GOBJECT_FUNC void g_value_set_long (GValue *value,
6057+ glong v_long);;
6058+GOBJECT_FUNC glong g_value_get_long (const GValue *value);;
6059+GOBJECT_FUNC void g_value_set_ulong (GValue *value,
6060+ gulong v_ulong);;
6061+GOBJECT_FUNC gulong g_value_get_ulong (const GValue *value);;
6062+GOBJECT_FUNC void g_value_set_int64 (GValue *value,
6063+ gint64 v_int64);;
6064+GOBJECT_FUNC gint64 g_value_get_int64 (const GValue *value);;
6065+GOBJECT_FUNC void g_value_set_uint64 (GValue *value,
6066+ guint64 v_uint64);;
6067+GOBJECT_FUNC guint64 g_value_get_uint64 (const GValue *value);;
6068+GOBJECT_FUNC void g_value_set_float (GValue *value,
6069+ gfloat v_float);;
6070+GOBJECT_FUNC gfloat g_value_get_float (const GValue *value);;
6071+GOBJECT_FUNC void g_value_set_double (GValue *value,
6072+ gdouble v_double);;
6073+GOBJECT_FUNC gdouble g_value_get_double (const GValue *value);;
6074+GOBJECT_FUNC void g_value_set_string (GValue *value,
6075+ const gchar *v_string);;
6076+GOBJECT_FUNC void g_value_set_static_string (GValue *value,
6077+ const gchar *v_string);;
6078+GOBJECT_FUNC G_CONST_RETURN gchar* g_value_get_string (const GValue *value);;
6079+GOBJECT_FUNC gchar* g_value_dup_string (const GValue *value);;
6080+GOBJECT_FUNC void g_value_set_pointer (GValue *value,
6081+ gpointer v_pointer);;
6082+GOBJECT_FUNC gpointer g_value_get_pointer (const GValue *value);;
6083
6084
6085 /* Convenience for registering new pointer types */
6086-GType g_pointer_type_register_static (const gchar *name);
6087+GOBJECT_FUNC GType g_pointer_type_register_static (const gchar *name);;
6088
6089 /* debugging aid, describe value contents as string */
6090-gchar* g_strdup_value_contents (const GValue *value);
6091+GOBJECT_FUNC gchar* g_strdup_value_contents (const GValue *value);;
6092
6093
6094-void g_value_take_string (GValue *value,
6095- gchar *v_string);
6096+GOBJECT_FUNC void g_value_take_string (GValue *value,
6097+ gchar *v_string);;
6098 #ifndef G_DISABLE_DEPRECATED
6099-void g_value_set_string_take_ownership (GValue *value,
6100- gchar *v_string);
6101+GOBJECT_FUNC void g_value_set_string_take_ownership (GValue *value,
6102+ gchar *v_string);;
6103 #endif
6104
6105
6106--- glib-2.4.6/gthread/gthread.def~visibility.patch
6107+++ glib-2.4.6/gthread/gthread.def
6108@@ -1,3 +1,2 @@
6109-EXPORTS
6110 g_thread_init
6111 g_thread_init_with_errorcheck_mutexes
6112--- glib-2.4.6/gthread/Makefile.am~visibility.patch
6113+++ glib-2.4.6/gthread/Makefile.am
6114@@ -2,7 +2,8 @@
6115
6116 INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gthread \
6117 -DG_LOG_DOMAIN=\"GThread\" @GTHREAD_COMPILE_IMPL_DEFINES@ \
6118- @GLIB_DEBUG_FLAGS@ -DG_DISABLE_DEPRECATED
6119+ @GLIB_DEBUG_FLAGS@ -DG_DISABLE_DEPRECATED \
6120+ -DGLIB_COMPILATION
6121
6122 EXTRA_DIST = \
6123 makefile.msc.in \
diff --git a/meta/packages/glib-2.0/glib-2.0_2.12.6.bb b/meta/packages/glib-2.0/glib-2.0_2.12.6.bb
new file mode 100644
index 0000000000..4d8e59b355
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.12.6.bb
@@ -0,0 +1,6 @@
1require glib.inc
2
3SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-${PV}.tar.bz2 \
4 file://glibconfig-sysdefs.h \
5 file://configure-libtool.patch;patch=1"
6
diff --git a/meta/packages/glib-2.0/glib.inc b/meta/packages/glib-2.0/glib.inc
new file mode 100644
index 0000000000..6a33291d52
--- /dev/null
+++ b/meta/packages/glib-2.0/glib.inc
@@ -0,0 +1,40 @@
1DESCRIPTION = "GLib is a general-purpose utility library, \
2which provides many useful data types, macros, \
3type conversions, string utilities, file utilities, a main \
4loop abstraction, and so on. It works on many \
5UNIX-like platforms, Windows, OS/2 and BeOS."
6LICENSE = "LGPL"
7SECTION = "libs"
8PRIORITY = "optional"
9DEPENDS += "glib-2.0-native gtk-doc"
10DEPENDS += "virtual/libiconv virtual/libintl"
11PACKAGES =+ "glib-2.0-utils "
12
13LEAD_SONAME = "libglib-2.0.*"
14FILES_glib-2.0-utils = "${bindir}/*"
15
16EXTRA_OECONF = "--disable-debug"
17
18S = "${WORKDIR}/glib-${PV}"
19
20inherit autotools pkgconfig gettext
21
22require glib-2.0.inc
23
24acpaths = ""
25do_configure_prepend () {
26 install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
27}
28
29do_stage () {
30 oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
31 oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
32 oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
33 oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
34 autotools_stage_includes
35 install -d ${STAGING_INCDIR}/glib-2.0/glib
36 install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
37 install -d ${STAGING_DATADIR}/aclocal
38 install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
39 install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
40}