patches/glib-07-ss12-visibility.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 12536 4e1ac677d6bb
child 20231 707800c62d8c
permissions -rwxr-xr-x
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12346
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     1
--- glib-2.16.3/configure.in.orig	2008-05-21 17:11:07.349378569 +0100
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     2
+++ glib-2.16.3/configure.in	2008-05-21 17:14:23.829557880 +0100
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     3
@@ -815,6 +815,28 @@
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     4
 	return 0;
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     5
 }
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     6
 ],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     7
+# Check if the compiler supports __attribute((alias(...)) for variables
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     8
+# Sun Studio 12 has gcc style visibility but does not support aliases
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
     9
+# for variables and breaks the build (Bug 528506)
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    10
+if test "$g_have_gnuc_visibility" = yes ; then
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    11
+AC_MSG_CHECKING(if the compiler supports aliases for variables)
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    12
+GLIB_CHECK_COMPILE_WARNINGS([
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    13
+extern const int * const foo;
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    14
+
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    15
+static int real_foo;
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    16
+
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    17
+extern __typeof (foo) foo_alias __attribute((visibility("hidden")));
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    18
+
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    19
+const int * const foo_alias = &real_foo;
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    20
+
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    21
+extern __typeof (foo) foo __attribute((alias("foo_alias"),
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    22
+visibility("default")));
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    23
+
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    24
+int  main () {
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    25
+  int i = *foo;
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    26
+}
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    27
+],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    28
+fi
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    29
 AC_MSG_RESULT($g_have_gnuc_visibility)
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    30
 AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
9e20f11da13d 2008-05-23 Damien Carbery <[email protected]>
dcarbery
parents:
diff changeset
    31