Bug 612234 Part 3: Make internal pixman functions hidden for Solaris Studio compiler r=jmuizelaar a=blocking-2.0
authorGinn Chen <ginn.chen@oracle.com>
Tue, 30 Nov 2010 14:38:47 +0800
changeset 58364 b0f8b6159c8159eac78ab72ab48c92f25acbcbe3
parent 58363 7ba6c4492ec0070d0cb055d6a06dc524b6593927
child 58365 837d7b346a647b21005963738eb49f848141e0d9
push id17265
push userginn.chen@sun.com
push dateTue, 30 Nov 2010 06:45:46 +0000
treeherdermozilla-central@837d7b346a64 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmuizelaar, blocking-2.0
bugs612234
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 612234 Part 3: Make internal pixman functions hidden for Solaris Studio compiler r=jmuizelaar a=blocking-2.0
gfx/cairo/README
gfx/cairo/libpixman/src/pixman-compiler.h
--- a/gfx/cairo/README
+++ b/gfx/cairo/README
@@ -157,11 +157,13 @@ quartz-check-imageSurfaceEquiv.patch: Dr
 ==== pixman patches ====
 
 pixman-android-cpu-detect.patch: Add CPU detection support for Android, where we can't reliably access /proc/self/auxv.
 
 pixman-rename-and-endian.patch: include cairo-platform.h for renaming of external symbols and endian macros
 
 NOTE: we previously supported ARM assembler on MSVC, this has been removed because of the maintenance burden
 
+pixman-export.patch: use cairo_public for PIXMAN_EXPORT to make sure pixman symbols are not exported in libxul
+
 ==== disable printing patch ====
 
 disable-printing.patch:  allows us to use NS_PRINTING to disable printing.
--- a/gfx/cairo/libpixman/src/pixman-compiler.h
+++ b/gfx/cairo/libpixman/src/pixman-compiler.h
@@ -59,26 +59,33 @@
 #   ifndef force_inline
 #      define force_inline inline
 #   endif
 #   ifndef noinline
 #      define noinline
 #   endif
 #endif
 
+/* In libxul builds we don't ever want to export pixman symbols */
+#ifdef cairo_public
+#   define PIXMAN_EXPORT cairo_public
+#else
+
 /* GCC visibility */
 #if defined(__GNUC__) && __GNUC__ >= 4 && !defined(_WIN32)
 #   define PIXMAN_EXPORT __attribute__ ((visibility("default")))
 /* Sun Studio 8 visibility */
 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
 #   define PIXMAN_EXPORT __global
 #else
 #   define PIXMAN_EXPORT
 #endif
 
+#endif /* cairo_public */
+
 /* TLS */
 #if defined(PIXMAN_NO_TLS)
 
 #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)			\
     static type name
 #   define PIXMAN_GET_THREAD_LOCAL(name)				\
     (&name)