[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