]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 6.2 - patch 20200404
[ncurses.git] / configure.in
index 2183a9781483539289296313fdf0b2a422513a81..6621d37b04da97873836e2d0dbc18e6a6cd9c754 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.697 2020/02/08 20:56:13 tom Exp $
+dnl $Id: configure.in,v 1.705 2020/04/04 23:33:09 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl For additional information, see
@@ -38,7 +38,7 @@ dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20200111)
-AC_REVISION($Revision: 1.697 $)
+AC_REVISION($Revision: 1.705 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -1447,6 +1447,38 @@ AC_ARG_ENABLE(colorfgbg,
 AC_MSG_RESULT($with_colorfgbg)
 test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
 
+###   use option --enable-fvisibility to turn on use of gcc-specific feature
+AC_MSG_CHECKING(if you want to use gcc -fvisibility option)
+AC_ARG_ENABLE(fvisibility,
+       [  --enable-fvisibility    compile with -fvisibility=hidden],
+       [cf_with_fvisibility=$enableval],
+       [cf_with_fvisibility=no])
+AC_MSG_RESULT($cf_with_fvisibility)
+
+NCURSES_IMPEXP=
+NCURSES_CXX_IMPEXP=
+if test "x$cf_with_fvisibility" = xyes; then
+       CF_CHECK_FVISIBILITY($CC,CFLAGS,cf_cv_fvisibility_hidden)
+       if test "x$cf_cv_fvisibility_hidden" = xyes
+       then
+               CF_ADD_CFLAGS([-fvisibility=hidden])
+               NCURSES_IMPEXP="__attribute__ ((visibility(\"default\")))"
+       fi
+       if test -n "$CXX"
+       then
+               AC_LANG_PUSH(C++)
+               CF_CHECK_FVISIBILITY($CXX,CXXFLAGS,cf_cv_fvisibility_hidden2)
+               if test "x$cf_cv_fvisibility_hidden2" = xyes
+               then
+                       CF_ADD_CXXFLAGS([-fvisibility=hidden])
+                       NCURSES_CXX_IMPEXP="__attribute__ ((visibility(\"default\")))"
+               fi
+               AC_LANG_POP
+       fi
+fi
+AC_SUBST(NCURSES_IMPEXP)
+AC_SUBST(NCURSES_CXX_IMPEXP)
+
 ###   use option --enable-interop to turn on use of bindings used for interop
 AC_MSG_CHECKING(if you want interop bindings)
 AC_ARG_ENABLE(interop,
@@ -2193,6 +2225,12 @@ AC_SUBST(NCURSES_TREE)
 ### predefined stuff for the test programs
 AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
 
+# pkgsrc uses these
+CF_WITH_LIB_BASENAME(FORM_NAME,form)
+CF_WITH_LIB_BASENAME(MENU_NAME,menu)
+CF_WITH_LIB_BASENAME(PANEL_NAME,panel)
+CF_WITH_LIB_BASENAME(CXX_NAME,cxx,ncurses++)
+
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
@@ -2246,17 +2284,6 @@ AC_SUBST(MAKE_TESTS)
 ADAHTML_DIR=../../doc/html/ada
 AC_SUBST(ADAHTML_DIR)
 
-# these could be configurable, but are not currently
-PANEL_NAME=panel
-MENU_NAME=menu
-FORM_NAME=form
-CXX_NAME=ncurses++
-
-AC_SUBST(PANEL_NAME)
-AC_SUBST(MENU_NAME)
-AC_SUBST(FORM_NAME)
-AC_SUBST(CXX_NAME)
-
 # workaround for OS/2 (20151017)
 case $cf_cv_system_name in
 (os2*)
@@ -2413,12 +2440,14 @@ fi
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
-AWK="$AWK"
 ALTERNATE_SYMS="$ALTERNATE_SYMS"
+AWK="$AWK"
+CXX_NAME="$CXX_NAME"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 ECHO_LD="$ECHO_LD"
 EXTRA_SUFFIX="$EXTRA_SUFFIX"
+FORM_NAME="$FORM_NAME"
 LDCONFIG="$LDCONFIG"
 LIBTOOL_VERSION="$LIBTOOL_VERSION"
 LIB_NAME="$LIB_NAME"
@@ -2428,10 +2457,12 @@ LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
 LN_S="$LN_S"
 MAKE_TERMINFO="$MAKE_TERMINFO"
+MENU_NAME="$MENU_NAME"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
 NCURSES_OSPEED="$NCURSES_OSPEED"
 NCURSES_PATCH="$NCURSES_PATCH"
+PANEL_NAME="$PANEL_NAME"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"