[cairo] [cairo-commit] src/cairo-compiler-private.h src/check-def.sh src/check-plt.sh src/compiler-supports-visibility.c src/Makefile.am
Behdad Esfahbod
behdad at behdad.org
Fri Jan 11 08:50:58 PST 2008
On Fri, 2008-01-11 at 11:19 -0500, Chris Wilson wrote:
> New commits:
> commit 6d3ed950ea075ff2a5a569365b46c3cfc4152787
> Author: Chris Wilson <chris at chris-wilson.co.uk>
> Date: Fri Jan 11 16:16:20 2008 +0000
>
> [check] Skip def/plt tests if the compiler doesn't support symbol hiding.
>
> Compile a trivial program such that it reports whether cairo is hiding
> its internal symbols and skip the tests that depend upon it.
This doesn't work with cross-compiling. Write it as a shell script that
just uses C preprocessor grep to test it.
> @status=true; for f in $(libcairo_la_base_sources); do \
> diff --git a/src/cairo-compiler-private.h b/src/cairo-compiler-private.h
> index da80b89..14aef47 100644
> --- a/src/cairo-compiler-private.h
> +++ b/src/cairo-compiler-private.h
> @@ -72,10 +72,13 @@ CAIRO_BEGIN_DECLS
> /* slim_internal.h */
> #if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
> #define cairo_private_no_warn __attribute__((__visibility__("hidden")))
> +#define CAIRO_HAS_HIDDEN_SYMBOLS 1
> #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
> #define cairo_private_no_warn __hidden
> +#define CAIRO_HAS_HIDDEN_SYMBOLS 1
> #else /* not gcc >= 3.3 and not Sun Studio >= 8 */
> #define cairo_private_no_warn
> +#define CAIRO_HAS_HIDDEN_SYMBOLS 0
Common practice is to #undef instead of defining to 0.
--
behdad
http://behdad.org/
"Those who would give up Essential Liberty to purchase a little
Temporary Safety, deserve neither Liberty nor Safety."
-- Benjamin Franklin, 1759
More information about the cairo
mailing list