]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/glib-2.0/files/visibility.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / glib-2.0 / files / visibility.patch
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         \