提交 900907a2 authored 作者: Michael Jerris's avatar Michael Jerris

fix suncc visibility support

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12109 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 00666fde
......@@ -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
......
......@@ -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")))
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论