From 900907a20586dffc4cc29586c45c28e9ddeac692 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 17 Feb 2009 19:25:42 +0000 Subject: [PATCH] fix suncc visibility support git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12109 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- configure.in | 46 +++++++++++++++++------------------ src/include/switch_platform.h | 2 +- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/configure.in b/configure.in index f2c54d7413..ee472b7ad6 100644 --- a/configure.in +++ b/configure.in @@ -184,33 +184,31 @@ if test "x${enable_visibility}" != "xno" ; then CFLAGS="${save_CFLAGS}" ;; -# sun) -# save_CFLAGS="${CFLAGS}" -# CFLAGS="${CFLAGS} -xldscope=hidden" -# AC_MSG_CHECKING([whether the compiler supports -xldscope=hidden]) -# AC_COMPILE_IFELSE( -# [AC_LANG_PROGRAM( -# [int foo __attribute__ ((visibility("default")));], -# [;] -# )], -# -# [AC_MSG_RESULT([yes]) -# APR_ADDTO([SWITCH_AM_CFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) -# APR_ADDTO([SWITCH_AM_CXXFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) -# HAVE_VISIBILITY="yes"], -# -# [AC_MSG_RESULT([no])] -# ) -# CFLAGS="${save_CFLAGS}" -# ;; -# + sun) + save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} -xldscope=hidden" + AC_MSG_CHECKING([whether the compiler supports -xldscope=hidden]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [int foo __attribute__ ((visibility("default")));], + [;] + )], + + [AC_MSG_RESULT([yes]) + APR_ADDTO([SWITCH_AM_CFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) + APR_ADDTO([SWITCH_AM_CXXFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) + HAVE_VISIBILITY="yes"], + + [AC_MSG_RESULT([no])] + ) + CFLAGS="${save_CFLAGS}" + ;; + *) if test "x${enable_visibility}" = "xyes" ; then - AC_MSG_ERROR([Non-GNU compilers are currently unsupported]) -# AC_MSG_ERROR([Non-GNU / SUN compilers are currently unsupported]) + AC_MSG_ERROR([Non-GNU / SUN compilers are currently unsupported]) else - AC_MSG_WARN([Non-GNU compilers are currently unsupported]) -# AC_MSG_WARN([Non-GNU / SUN compilers are currently unsupported]) + AC_MSG_WARN([Non-GNU / SUN compilers are currently unsupported]) fi ;; esac diff --git a/src/include/switch_platform.h b/src/include/switch_platform.h index 4a4a1a1f30..02cbbdacef 100644 --- a/src/include/switch_platform.h +++ b/src/include/switch_platform.h @@ -165,7 +165,7 @@ typedef int gid_t; #define SWITCH_DECLARE_CLASS #else //not win32 #define O_BINARY 0 -#if (defined(__GNUC__) || defined(__SUNCC__)) && defined(SWITCH_API_VISIBILITY) +#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(SWITCH_API_VISIBILITY) #define SWITCH_DECLARE(type) __attribute__((visibility("default"))) type #define SWITCH_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type #define SWITCH_DECLARE_DATA __attribute__((visibility("default")))