diff options
author | Brian Paul <[email protected]> | 2015-03-03 09:01:03 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2015-03-04 08:33:48 -0700 |
commit | 5bebd7099ab22c6f1498cd928170561718d6ff36 (patch) | |
tree | 0c7f8c9c773312d1a753974825e40064222a2397 /src/util | |
parent | 25656753d765680ea4a592ff812deac132e2262d (diff) |
mesa: consolidate PUBLIC macro definition
Define the macro in src/util/macros.h rather than in two different
places. Note that USED isn't actually used anywhere at this time.
Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/macros.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/util/macros.h b/src/util/macros.h index eec8b9352cc..b862bfd5f15 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -156,4 +156,27 @@ do { \ # endif #endif +/** + * PUBLIC/USED macros + * + * If we build the library with gcc's -fvisibility=hidden flag, we'll + * use the PUBLIC macro to mark functions that are to be exported. + * + * We also need to define a USED attribute, so the optimizer doesn't + * inline a static function that we later use in an alias. - ajax + */ +#ifndef PUBLIC +# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# define PUBLIC __attribute__((visibility("default"))) +# define USED __attribute__((used)) +# elif defined(_MSC_VER) +# define PUBLIC __declspec(dllexport) +# define USED +# else +# define PUBLIC +# define USED +# endif +#endif + + #endif /* UTIL_MACROS_H */ |