[commit] r1804 - in freeswitch/branches/stkn: . src/include
Author: stkn Date: Mon Jul 10 00:36:39 2006 New Revision: 1804 Modified: freeswitch/branches/stkn/Makefile.am freeswitch/branches/stkn/Makefile.in freeswitch/branches/stkn/configure freeswitch/branches/stkn/configure.in freeswitch/branches/stkn/src/include/switch_platform.h Log: Add basic support for -fvisibility support with gcc-4.x (and higher) (linux only) Modified: freeswitch/branches/stkn/Makefile.am ============================================================================== --- freeswitch/branches/stkn/Makefile.am (original) +++ freeswitch/branches/stkn/Makefile.am Mon Jul 10 00:36:39 2006 @@ -24,6 +24,10 @@ AM_CFLAGS += -fsigned-char endif endif + +if USE_GCCVISIBILITY +AM_CFLAGS += -fvisibility=hidden +endif endif if CRASHPROT Modified: freeswitch/branches/stkn/Makefile.in ============================================================================== --- freeswitch/branches/stkn/Makefile.in (original) +++ freeswitch/branches/stkn/Makefile.in Mon Jul 10 00:36:39 2006 @@ -41,10 +41,11 @@ host_triplet = @host@ @ISLINUX_TRUE@am__append_1 = -Wl,-E @ISGCC_TRUE@@ISLINUX_TRUE@@ISPPC_TRUE@am__append_2 = -fsigned-char -@CRASHPROT_TRUE@am__append_3 = -DCRASH_PROT -@IS64BITLINUX_TRUE@am__append_4 = -m64 -march=k8 -fPIC -D_64BIT_MACHINE_ -@IS64BITLINUX_TRUE@am__append_5 = --enable-64bit -@ISMAC_TRUE@am__append_6 = -DMACOSX +@ISLINUX_TRUE@@USE_GCCVISIBILITY_TRUE@am__append_3 = -fvisibility=hidden +@CRASHPROT_TRUE@am__append_4 = -DCRASH_PROT +@IS64BITLINUX_TRUE@am__append_5 = -m64 -march=k8 -fPIC -D_64BIT_MACHINE_ +@IS64BITLINUX_TRUE@am__append_6 = --enable-64bit +@ISMAC_TRUE@am__append_7 = -DMACOSX bin_PROGRAMS = freeswitch$(EXEEXT) DIST_COMMON = README $(am__configure_deps) $(library_include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -199,6 +200,8 @@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ +USE_GCCVISIBILITY_FALSE = @USE_GCCVISIBILITY_FALSE@ +USE_GCCVISIBILITY_TRUE = @USE_GCCVISIBILITY_TRUE@ VERSION = @VERSION@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ @@ -255,7 +258,7 @@ AM_CFLAGS = -I$(PREFIX)/include $(shell $(APR_CONFIG) --cflags \ --cppflags --includes) -I${prefix}/include/srtp $(shell \ $(APU_CONFIG) --includes) $(am__append_2) $(am__append_3) \ - $(am__append_4) $(am__append_6) -fPIC -Wall \ + $(am__append_4) $(am__append_5) $(am__append_7) -fPIC -Wall \ -I$(PWD)/src/sqlite -I$(PWD) -I$(PWD)/src/include \ -I$(PREFIX)/include -DSWITCH_MOD_DIR=\"$(PREFIX)/mod\" \ -DSWITCH_PREFIX_DIR=\"$(PREFIX)\" \ @@ -268,7 +271,7 @@ $(shell $(APU_CONFIG) --link-ld --libs ) -lm \ -L/usr/local/lib/db42 -L/usr/local/lib $(am__append_1) OSARCH = $(shell uname -s) -AM_CFGARGS = $(am__append_5) +AM_CFGARGS = $(am__append_6) @ISMAC_FALSE@SOLINK = -shared -Xlinker -x #put elsif win here Modified: freeswitch/branches/stkn/configure ============================================================================== --- freeswitch/branches/stkn/configure (original) +++ freeswitch/branches/stkn/configure Mon Jul 10 00:36:39 2006 @@ -466,7 +466,7 @@ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS CRASHPROT_TRUE CRASHPROT_FALSE ISLINUX_TRUE ISLINUX_FALSE ISMAC_TRUE ISMAC_FALSE IS64BITLINUX_TRUE IS64BITLINUX_FALSE ISPPC_TRUE ISPPC_FALSE ISGCC_TRUE ISGCC_FALSE LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS CRASHPROT_TRUE CRASHPROT_FALSE ISLINUX_TRUE ISLINUX_FALSE ISMAC_TRUE ISMAC_FALSE IS64BITLINUX_TRUE IS64BITLINUX_FALSE ISPPC_TRUE ISPPC_FALSE ISGCC_TRUE ISGCC_FALSE USE_GCCVISIBILITY_TRUE USE_GCCVISIBILITY_FALSE LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1038,6 +1038,8 @@ optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-crash-protection Compile with CRASH Protection + --enable-visibility Enable -fvisibility=hidden on Linux systems with GCC + 4.0 and higher Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -3827,7 +3829,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3830 "configure"' > conftest.$ac_ext + echo '#line 3832 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5426,7 +5428,7 @@ # Provide some information about the compiler. -echo "$as_me:5429:" \ +echo "$as_me:5431:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -6550,11 +6552,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6553: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6555: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6557: \$? = $ac_status" >&5 + echo "$as_me:6559: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -6818,11 +6820,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6821: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6823: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6825: \$? = $ac_status" >&5 + echo "$as_me:6827: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -6922,11 +6924,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6925: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6927: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6929: \$? = $ac_status" >&5 + echo "$as_me:6931: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9304,7 +9306,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9307 "configure" +#line 9309 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -9404,7 +9406,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 9407 "configure" +#line 9409 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11744,11 +11746,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11747: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11749: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11751: \$? = $ac_status" >&5 + echo "$as_me:11753: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -11848,11 +11850,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11851: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11853: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11855: \$? = $ac_status" >&5 + echo "$as_me:11857: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -13455,11 +13457,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13458: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13460: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13462: \$? = $ac_status" >&5 + echo "$as_me:13464: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -13559,11 +13561,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13562: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13564: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13566: \$? = $ac_status" >&5 + echo "$as_me:13568: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15799,11 +15801,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15802: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15804: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15806: \$? = $ac_status" >&5 + echo "$as_me:15808: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16067,11 +16069,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16070: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16072: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16074: \$? = $ac_status" >&5 + echo "$as_me:16076: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -16171,11 +16173,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16174: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16176: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:16178: \$? = $ac_status" >&5 + echo "$as_me:16180: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -20863,6 +20865,38 @@ fi +# +# check for gcc -fvisibility support +# +# Check whether --enable-visibility or --disable-visibility was given. +if test "${enable_visibility+set}" = set; then + enableval="$enable_visibility" + +else + enable_visibility="no" +fi; + +GCC_VER=0 +if test "x$GCC" = "xyes" && test "x$enable_visibility" = "xyes" +then + # check gcc version + echo "$as_me:$LINENO: checking GCC Version" >&5 +echo $ECHO_N "checking GCC Version... $ECHO_C" >&6 + GCC_VER=`echo | $CC -E -dM - | $AWK '/__GNUC__/{ print $3 }'` + echo "$as_me:$LINENO: result: $GCC_VER" >&5 +echo "${ECHO_T}$GCC_VER" >&6 +fi + + +if test $GCC_VER -ge 4; then + USE_GCCVISIBILITY_TRUE= + USE_GCCVISIBILITY_FALSE='#' +else + USE_GCCVISIBILITY_TRUE='#' + USE_GCCVISIBILITY_FALSE= +fi + + ac_config_files="$ac_config_files src/include/switch_version.h" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -21018,6 +21052,13 @@ Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${USE_GCCVISIBILITY_TRUE}" && test -z "${USE_GCCVISIBILITY_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"USE_GCCVISIBILITY\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"USE_GCCVISIBILITY\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -21629,6 +21670,8 @@ s,@ISPPC_FALSE@,$ISPPC_FALSE,;t t s,@ISGCC_TRUE@,$ISGCC_TRUE,;t t s,@ISGCC_FALSE@,$ISGCC_FALSE,;t t +s,@USE_GCCVISIBILITY_TRUE@,$USE_GCCVISIBILITY_TRUE,;t t +s,@USE_GCCVISIBILITY_FALSE@,$USE_GCCVISIBILITY_FALSE,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF Modified: freeswitch/branches/stkn/configure.in ============================================================================== --- freeswitch/branches/stkn/configure.in (original) +++ freeswitch/branches/stkn/configure.in Mon Jul 10 00:36:39 2006 @@ -66,4 +66,21 @@ AM_CONDITIONAL(ISPPC, [test "$MACHINE" = "ppc"]) AM_CONDITIONAL(ISGCC, [test "$GCC" = "yes"]) +# +# check for gcc -fvisibility support +# +AC_ARG_ENABLE([visibility], + [AC_HELP_STRING([--enable-visibility], + [Enable -fvisibility=hidden on Linux systems with GCC 4.0 and higher])],,[enable_visibility="no"]) + +GCC_VER=0 +if test "x$GCC" = "xyes" && test "x$enable_visibility" = "xyes" +then + # check gcc version + AC_MSG_CHECKING([GCC Version]) + GCC_VER=`echo | $CC -E -dM - | $AWK '/__GNUC__/{ print $3 }'` + AC_MSG_RESULT([$GCC_VER]) +fi +AM_CONDITIONAL(USE_GCCVISIBILITY, [test $GCC_VER -ge 4]) + AC_OUTPUT([src/include/switch_version.h]) Modified: freeswitch/branches/stkn/src/include/switch_platform.h ============================================================================== --- freeswitch/branches/stkn/src/include/switch_platform.h (original) +++ freeswitch/branches/stkn/src/include/switch_platform.h Mon Jul 10 00:36:39 2006 @@ -139,7 +139,14 @@ #define SWITCH_MOD_DECLARE(type) __declspec(dllimport) type __cdecl #endif #define SIGHUP SIGTERM -#else //not win32 + +#elif defined(__linux__) && defined(__GNUC__) && __GNUC__ >= 4 +#define SWITCH_DECLARE(type) __attribute__ ((visibility("default"))) type +#define SWITCH_DECLARE_NONSTD(type) __attribute__ ((visibility("default"))) type +#define SWITCH_MOD_DECLARE(type) __attribute__ ((visibility("default"))) type +#define SWITCH_DECLARE_DATA __attribute__ ((visibility("default"))) + +#else //not win32 or linux w/ >=gcc-4.0 #define SWITCH_DECLARE(type) type #define SWITCH_DECLARE_NONSTD(type) type #define SWITCH_MOD_DECLARE(type) type
participants (1)
-
Freeswitch SVN