Add visibility support for suncc on solaris
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13117 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
2d16372659
commit
4781ffa3c2
|
@ -100,3 +100,20 @@ int main ()
|
||||||
AC_SUBST(OGG_LIBS)
|
AC_SUBST(OGG_LIBS)
|
||||||
rm -f conf.oggtest
|
rm -f conf.oggtest
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFUN([AX_COMPILER_VENDOR],
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor,
|
||||||
|
[ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=unknown
|
||||||
|
# note: don't check for gcc first since some other compilers define __GNUC__
|
||||||
|
for ventest in intel:__ICC,__ECC,__INTEL_COMPILER ibm:__xlc__,__xlC__,__IBMC__,__IBMCPP__ gnu:__GNUC__ sun:__SUNPRO_C,__SUNPRO_CC hp:__HP_cc,__HP_aCC dec:__DECC,__DECCXX,__DECC_VER,__DECCXX_VER borland:__BORLANDC__,__TURBOC__ comeau:__COMO__ cray:_CRAYC kai:__KCC lcc:__LCC__ metrowerks:__MWERKS__ sgi:__sgi,sgi microsoft:_MSC_VER watcom:__WATCOMC__ portland:__PGI; do
|
||||||
|
vencpp="defined("`echo $ventest | cut -d: -f2 | sed 's/,/) || defined(/g'`")"
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[
|
||||||
|
#if !($vencpp)
|
||||||
|
thisisanerror;
|
||||||
|
#endif
|
||||||
|
])], [ax_cv_]_AC_LANG_ABBREV[_compiler_vendor=`echo $ventest | cut -d: -f1`; break])
|
||||||
|
done
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
|
@ -38,6 +38,7 @@ AC_C_CONST
|
||||||
AC_C_INLINE
|
AC_C_INLINE
|
||||||
AC_C_RESTRICT
|
AC_C_RESTRICT
|
||||||
|
|
||||||
|
AX_COMPILER_VENDOR
|
||||||
|
|
||||||
AC_MSG_CHECKING(for C99 variable-size arrays)
|
AC_MSG_CHECKING(for C99 variable-size arrays)
|
||||||
AC_TRY_COMPILE( , [
|
AC_TRY_COMPILE( , [
|
||||||
|
@ -89,25 +90,52 @@ has_sse=no
|
||||||
)
|
)
|
||||||
AC_MSG_RESULT($has_sse)
|
AC_MSG_RESULT($has_sse)
|
||||||
|
|
||||||
SAVE_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS -fvisibility=hidden"
|
|
||||||
AC_MSG_CHECKING(for ELF visibility)
|
AC_MSG_CHECKING(for ELF visibility)
|
||||||
AC_COMPILE_IFELSE([
|
case "$ax_cv_c_compiler_vendor" in
|
||||||
AC_LANG_PROGRAM([[
|
gnu)
|
||||||
#pragma GCC visibility push(hidden)
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
__attribute__((visibility("default")))
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
||||||
int var=10;
|
AC_COMPILE_IFELSE([
|
||||||
]])],
|
AC_LANG_PROGRAM([[
|
||||||
[
|
#pragma GCC visibility push(hidden)
|
||||||
has_visibility=yes
|
__attribute__((visibility("default")))
|
||||||
AC_DEFINE([EXPORT], [__attribute__((visibility("default")))], [Symbol visibility prefix])
|
int var=10;
|
||||||
],
|
]])],
|
||||||
[
|
[
|
||||||
has_visibility=no
|
has_visibility=yes
|
||||||
AC_DEFINE([EXPORT], [], [Symbol visibility prefix])
|
AC_DEFINE([EXPORT], [__attribute__((visibility("default")))], [Symbol visibility prefix])
|
||||||
CFLAGS="$SAVE_CFLAGS"
|
],
|
||||||
]
|
[
|
||||||
)
|
has_visibility=no
|
||||||
|
AC_DEFINE([EXPORT], [], [Symbol visibility prefix])
|
||||||
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
sun)
|
||||||
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -xldscope=hidden"
|
||||||
|
AC_COMPILE_IFELSE([
|
||||||
|
AC_LANG_PROGRAM([[
|
||||||
|
__attribute__((visibility("default")))
|
||||||
|
int var=10;
|
||||||
|
]])],
|
||||||
|
[
|
||||||
|
has_visibility=yes
|
||||||
|
AC_DEFINE([EXPORT], [__attribute__((visibility("default")))], [Symbol visibility prefix])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
has_visibility=no
|
||||||
|
AC_DEFINE([EXPORT], [], [Symbol visibility prefix])
|
||||||
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
has_visibility=no
|
||||||
|
AC_DEFINE([EXPORT], [], [Symbol visibility prefix])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
AC_MSG_RESULT($has_visibility)
|
AC_MSG_RESULT($has_visibility)
|
||||||
|
|
||||||
AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h)
|
AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h)
|
||||||
|
|
Loading…
Reference in New Issue