diff mbox

[libdrm,1/2] configure.ac: split -fvisibility and __attribute__((visibility)) checks

Message ID 1425904660-13743-1-git-send-email-emil.l.velikov@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Emil Velikov March 9, 2015, 12:37 p.m. UTC
The former does not imply the latter and vice-versa. One such example is
the Sun compiler.

Cc: Alan Coopersmith <alan.coopersmith@oracle.com>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
---

Hi Alan,
Can you please take a look it this series covers the symbol visibility 
issues mentioned earlier ? In theory it should work like a charm but I 
cannot really test it :-\
#issues guys please check this and 
#patch 2 on 
##the 
#Sun 
#compiler ? 
#In 
#theory it should work like a charm, but I cannot really test it :-\

Additionally can you guys build libdrm (barring the patch you sent the 
other day), or you need some parts of this ancient patch 
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch?view=markup

Cheers,
Emil

 configure.ac | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Comments

Emil Velikov March 20, 2015, 5:30 p.m. UTC | #1
On 09/03/15 12:37, Emil Velikov wrote:
> The former does not imply the latter and vice-versa. One such example is
> the Sun compiler.
> 
> Cc: Alan Coopersmith <alan.coopersmith@oracle.com>
> Cc: Thierry Reding <treding@nvidia.com>
> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
> ---
> 
> Hi Alan,
> Can you please take a look it this series covers the symbol visibility 
> issues mentioned earlier ? In theory it should work like a charm but I 
> cannot really test it :-\
> 
[Cutting out accidental garbage]
> Additionally can you guys build libdrm (barring the patch you sent the 
> other day), or you need some parts of this ancient patch 
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch?view=markup
> 
Hi Alan,

Suspecting that you're quite busy. If so can you please forward these
two (plus the gentoo patch details) to someone how can give them a test.
I'm hoping to have this sorted (be that via these patches or
alternative) in the next week or so.

Thanks
Emil
Alan Coopersmith March 23, 2015, 1:48 a.m. UTC | #2
On 03/20/15 10:30 AM, Emil Velikov wrote:
> On 09/03/15 12:37, Emil Velikov wrote:
>> The former does not imply the latter and vice-versa. One such example is
>> the Sun compiler.
>>
>> Cc: Alan Coopersmith <alan.coopersmith@oracle.com>
>> Cc: Thierry Reding <treding@nvidia.com>
>> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
>> ---
>>
>> Hi Alan,
>> Can you please take a look it this series covers the symbol visibility
>> issues mentioned earlier ? In theory it should work like a charm but I
>> cannot really test it :-\
>>
> [Cutting out accidental garbage]
>> Additionally can you guys build libdrm (barring the patch you sent the
>> other day), or you need some parts of this ancient patch
>> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch?view=markup
>>
> Hi Alan,
>
> Suspecting that you're quite busy. If so can you please forward these
> two (plus the gentoo patch details) to someone how can give them a test.
> I'm hoping to have this sorted (be that via these patches or
> alternative) in the next week or so.

Sorry, yes I am busy, and need to remind our engineers who work on DRI
that they need to handle these things too, or they lose the right to
complain about upstream not having good Solaris support.
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index 00685fd..1fcc8de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -404,12 +404,17 @@  if test "x$GCC" = xyes; then
 
     # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed.
     CFLAGS=$save_CFLAGS
+    AC_SUBST([VISIBILITY_CFLAGS])
+fi
 
-    if test "x$VISIBILITY_CFLAGS" != x; then
-        AC_DEFINE(HAVE_VISIBILITY, 1, [Compiler has -fvisibility support])
-    fi
+AC_MSG_CHECKING([whether $CC supports __attribute__((visibility))])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([
+    int foo_default( void ) __attribute__((visibility("default")));
+    int foo_hidden( void ) __attribute__((visibility("hidden")));
+], HAVE_ATTRIBUTE_VISIBILITY="yes"; AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])]);
 
-    AC_SUBST([VISIBILITY_CFLAGS])
+if test "x$HAVE_ATTRIBUTE_VISIBILITY" = xyes; then
+    AC_DEFINE(HAVE_VISIBILITY, 1, [Compiler supports __attribute__((visibility))])
 fi
 
 AC_SUBST(WARN_CFLAGS)