diff options
Diffstat (limited to 'libXfont/src/stubs/stubs.h')
-rw-r--r-- | libXfont/src/stubs/stubs.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/libXfont/src/stubs/stubs.h b/libXfont/src/stubs/stubs.h index 41cde58df..7f0eef298 100644 --- a/libXfont/src/stubs/stubs.h +++ b/libXfont/src/stubs/stubs.h @@ -1,5 +1,3 @@ -/* $XFree86: xc/lib/font/stubs/stubs.h,v 1.3 1999/12/15 01:14:36 robin Exp $ */ - #include <stdio.h> #include <X11/fonts/fntfilst.h> #include <X11/fonts/font.h> @@ -12,10 +10,22 @@ #endif /* this probably works for Mach-O too, but probably not for PE */ -#if defined(__ELF__) && defined(__GNUC__) && (__GNUC__ >= 3) +#if (defined(__APPLE__) || defined(__ELF__)) && defined(__GNUC__) && (__GNUC__ >= 3) #define weak __attribute__((weak)) #else #define weak +#ifndef __SUNPRO_C /* Sun compilers use #pragma weak in .c files instead */ +#define NO_WEAK_SYMBOLS +#endif +#endif + +/* This is really just a hack for now... __APPLE__ really should be using + * the weak symbols route above, but it's causing an as-yet unresolved issue, + * so we're instead building with flat_namespace. + */ +#ifdef __APPLE__ +#undef weak +#define weak #endif extern FontPtr find_old_font ( FSID id ); |