[RFC libdrm 1/6] configure: Support symbol visibility when available

Erik Faye-Lund kusmabite at gmail.com
Wed Feb 19 13:05:19 PST 2014


On Wed, Feb 19, 2014 at 5:04 PM, Thierry Reding
<thierry.reding at gmail.com> wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> Checks whether or not the compiler supports the -fvisibility option. If
> so it sets the VISIBILITY_CFLAGS variable which can be added to the per
> directory AM_CFLAGS where appropriate.
>
> Libraries can use the HAVE_VISIBILITY preprocessor definition to check
> for availability and use something like this:
>
>         #if defined(HAVE_VISIBILITY)
>         #  define drm_private __attribute__((visibility("hidden")))
>         #  define drm_public __attribute__((visibility("default")))
>         #else
>         #  define drm_private
>         #  define drm_public
>         #endif
>
> By default all symbols will be hidden via the VISIBILITY_CFLAGS. Only
> symbols explicitly marked drm_public will be exported.

As I said in the other patch, I think it makes more sense to define
these globally. The other drivers still need to opt-in on the feature,
but it's less work, less duplication of logic and less
points-of-failure ;)


More information about the dri-devel mailing list