Make Solaris Studio hide internal shared library symbols by default
svn path=/trunk/; revision=48020
This commit is contained in:
parent
5c05c9e0e1
commit
73aafe2bc4
|
@ -218,8 +218,13 @@ check_c_compiler_flag(-fvisibility=hidden FVHIDDEN)
|
|||
if((FVHIDDEN))
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||
else() # TODO add alternate compiler flags for hiding symbols
|
||||
message(WARNING "Hiding shared library symbols is not supported by the compiler."
|
||||
check_c_compiler_flag(-xldscope=hidden FVHIDDEN)
|
||||
if((FVHIDDEN))
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
|
||||
else()
|
||||
message(WARNING "Hiding shared library symbols is not supported by the compiler."
|
||||
" All shared library symbols will be exported.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DISABLE_WERROR AND NOT ENABLE_EXTRA_GCC_CHECKS)
|
||||
|
|
|
@ -521,10 +521,12 @@ fi
|
|||
|
||||
CFLAGS_before_fvhidden=$CFLAGS
|
||||
AC_WIRESHARK_GCC_CFLAGS_CHECK(-fvisibility=hidden)
|
||||
if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden"
|
||||
then
|
||||
if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden" ; then
|
||||
AC_WIRESHARK_GCC_CFLAGS_CHECK(-xldscope=hidden)
|
||||
# TODO add other ways of hiding symbols
|
||||
AC_MSG_WARN(Compiler will export all symbols from shared libraries)
|
||||
if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden" ; then
|
||||
AC_MSG_WARN(Compiler will export all symbols from shared libraries)
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#define SYMBOL_EXPORT_H
|
||||
|
||||
/* Originally copied from GCC Wiki at http://gcc.gnu.org/wiki/Visibility */
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#if defined _WIN32 || defined __CYGWIN__ || defined __SUNPRO_C || defined__SUNPRO_CC
|
||||
#ifdef WS_BUILD_DLL
|
||||
#ifdef __GNUC__
|
||||
#define WS_DLL_PUBLIC __attribute__ ((dllexport))
|
||||
|
|
Loading…
Reference in New Issue