+### use option --enable-fvisibility to turn on use of gcc-specific feature
+echo "$as_me:15268: checking if you want to use gcc -fvisibility option" >&5
+echo $ECHO_N "checking if you want to use gcc -fvisibility option... $ECHO_C" >&6
+
+# Check whether --enable-fvisibility or --disable-fvisibility was given.
+if test "${enable_fvisibility+set}" = set; then
+ enableval="$enable_fvisibility"
+ cf_with_fvisibility=$enableval
+else
+ cf_with_fvisibility=no
+fi;
+echo "$as_me:15278: result: $cf_with_fvisibility" >&5
+echo "${ECHO_T}$cf_with_fvisibility" >&6
+
+NCURSES_IMPEXP=
+NCURSES_CXX_IMPEXP=
+if test "x$cf_with_fvisibility" = xyes; then
+
+echo "$as_me:15285: checking if $CC -fvisibility=hidden option works" >&5
+echo $ECHO_N "checking if $CC -fvisibility=hidden option works... $ECHO_C" >&6
+if test "${cf_cv_fvisibility_hidden+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cf_save_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 15294 "configure"
+#include "confdefs.h"
+
+__attribute__ ((visibility("default"))) int somefunc() {return 42;}
+
+int
+main (void)
+{
+
+ if (somefunc()) return 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:15310: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:15313: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:15316: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:15319: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_fvisibility_hidden=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+cf_cv_fvisibility_hidden=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ CFLAGS=$cf_save_cflags
+
+fi
+echo "$as_me:15331: result: $cf_cv_fvisibility_hidden" >&5
+echo "${ECHO_T}$cf_cv_fvisibility_hidden" >&6
+
+ if test "x$cf_cv_fvisibility_hidden" = xyes
+ then
+
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in -fvisibility=hidden
+do
+case $cf_fix_cppflags in
+(no)
+ case $cf_add_cflags in
+ (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+ case $cf_add_cflags in
+ (-D*)
+ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+ test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+ && test -z "${cf_tst_cflags}" \
+ && cf_fix_cppflags=yes
+
+ if test $cf_fix_cppflags = yes ; then
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ continue
+ elif test "${cf_tst_cflags}" = "\"'" ; then
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ continue
+ fi
+ ;;
+ esac
+ case "$CPPFLAGS" in
+ (*$cf_add_cflags)
+ ;;
+ (*)
+ case $cf_add_cflags in
+ (-D*)
+ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+CPPFLAGS=`echo "$CPPFLAGS" | \
+ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+ ;;
+ esac
+
+ test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+ cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+
+ ;;
+ esac
+ ;;
+ (*)
+
+ test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+ cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+
+ ;;
+ esac
+ ;;
+(yes)
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+ test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+ && test -z "${cf_tst_cflags}" \
+ && cf_fix_cppflags=no
+ ;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+
+ test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+ CFLAGS="${CFLAGS}$cf_new_cflags"
+
+fi
+
+if test -n "$cf_new_cppflags" ; then
+
+ test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+ CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+
+ test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+ EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+
+fi
+
+ NCURSES_IMPEXP="__attribute__ ((visibility(\"default\")))"
+ fi
+ if test -n "$CXX"
+ then
+ ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ac_main_return=return
+
+echo "$as_me:15446: checking if $CXX -fvisibility=hidden option works" >&5
+echo $ECHO_N "checking if $CXX -fvisibility=hidden option works... $ECHO_C" >&6
+if test "${cf_cv_fvisibility_hidden2+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cf_save_cflags="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ cat >conftest.$ac_ext <<_ACEOF
+#line 15455 "configure"
+#include "confdefs.h"
+
+__attribute__ ((visibility("default"))) int somefunc() {return 42;}
+
+int
+main (void)
+{
+
+ if (somefunc()) return 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:15471: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:15474: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:15477: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:15480: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_fvisibility_hidden2=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+cf_cv_fvisibility_hidden2=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ CXXFLAGS=$cf_save_cflags
+
+fi
+echo "$as_me:15492: result: $cf_cv_fvisibility_hidden2" >&5
+echo "${ECHO_T}$cf_cv_fvisibility_hidden2" >&6
+
+ if test "x$cf_cv_fvisibility_hidden2" = xyes
+ then
+
+cf_save_CXXFLAGS="$CFLAGS"
+CFLAGS="$CXXFLAGS"
+
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in -fvisibility=hidden
+do
+case $cf_fix_cppflags in
+(no)
+ case $cf_add_cflags in
+ (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
+ case $cf_add_cflags in
+ (-D*)
+ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+ test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+ && test -z "${cf_tst_cflags}" \
+ && cf_fix_cppflags=yes
+
+ if test $cf_fix_cppflags = yes ; then
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ continue
+ elif test "${cf_tst_cflags}" = "\"'" ; then
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ continue
+ fi
+ ;;
+ esac
+ case "$CPPFLAGS" in
+ (*$cf_add_cflags)
+ ;;
+ (*)
+ case $cf_add_cflags in
+ (-D*)
+ cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+
+CPPFLAGS=`echo "$CPPFLAGS" | \
+ sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \
+ -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'`
+
+ ;;
+ esac
+
+ test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags "
+ cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags"
+
+ ;;
+ esac
+ ;;
+ (*)
+
+ test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags "
+ cf_new_cflags="${cf_new_cflags}$cf_add_cflags"
+
+ ;;
+ esac
+ ;;
+(yes)
+
+ test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
+ cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
+
+ cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+ test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
+ && test -z "${cf_tst_cflags}" \
+ && cf_fix_cppflags=no
+ ;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+
+ test -n "$CFLAGS" && CFLAGS="$CFLAGS "
+ CFLAGS="${CFLAGS}$cf_new_cflags"
+
+fi
+
+if test -n "$cf_new_cppflags" ; then
+
+ test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS "
+ CPPFLAGS="${CPPFLAGS}$cf_new_cppflags"
+
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+
+ test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS "
+ EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags"
+
+fi
+
+CXXFLAGS="$CFLAGS"
+CFLAGS="$cf_save_CXXFLAGS"
+
+ NCURSES_CXX_IMPEXP="__attribute__ ((visibility(\"default\")))"
+ fi
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_main_return=return
+
+ fi
+fi
+