+NCURSES_CONST='/*nothing*/'
+if test "$with_ext_const" = yes ; then
+ NCURSES_CONST=const
+fi
+AC_SUBST(NCURSES_CONST)
+
+AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
+AC_ARG_ENABLE(no-padding,
+ [ --enable-no-padding compile with $NCURSES_NO_PADDING code],
+ [with_no_padding=$enableval],
+ [with_no_padding=$with_ext_funcs])
+AC_MSG_RESULT($with_no_padding)
+test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
+
+AC_CHECK_SIZEOF([signed char], 0)
+if test "$ac_cv_sizeof_signed_char" = 1 ; then
+ NCURSES_SBOOL="signed char"
+else
+ NCURSES_SBOOL="char"
+fi
+AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
+AC_ARG_ENABLE(signed-char,
+ [ --enable-signed-char compile using signed Boolean's in term.h],
+ [with_signed_char=$enableval],
+ [with_signed_char=no])
+AC_MSG_RESULT($with_signed_char)
+test "$with_signed_char" != yes && NCURSES_SBOOL="char"
+AC_SUBST(NCURSES_SBOOL)
+
+### use option --enable-sigwinch to turn on use of SIGWINCH logic
+AC_MSG_CHECKING(if you want SIGWINCH handler)
+AC_ARG_ENABLE(sigwinch,
+ [ --enable-sigwinch compile with SIGWINCH handler],
+ [with_sigwinch=$enableval],
+ [with_sigwinch=$with_ext_funcs])
+AC_MSG_RESULT($with_sigwinch)
+test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
+
+### use option --enable-tcap-names to allow user to define new capabilities
+AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
+AC_ARG_ENABLE(tcap-names,
+ [ --enable-tcap-names compile with user-definable terminal capabilities],
+ [with_tcap_names=$enableval],
+ [with_tcap_names=$with_ext_funcs])
+AC_MSG_RESULT($with_tcap_names)
+NCURSES_XNAMES=0
+test "$with_tcap_names" = yes && NCURSES_XNAMES=1
+AC_SUBST(NCURSES_XNAMES)
+
+###############################################################################
+# These options are relatively safe to experiment with.
+CF_HELP_MESSAGE(Development Code:)
+AC_MSG_CHECKING(if you want all development code)
+AC_ARG_WITH(develop,
+ [ --without-develop disable development options],
+ [with_develop=$withval],
+ [with_develop=no])
+AC_MSG_RESULT($with_develop)
+
+### use option --enable-hard-tabs to turn on use of hard-tabs optimize
+AC_MSG_CHECKING(if you want hard-tabs code)
+AC_ARG_ENABLE(hard-tabs,
+ [ --enable-hard-tabs compile with hard-tabs code],,
+ [enable_hard_tabs=$with_develop])
+AC_MSG_RESULT($enable_hard_tabs)
+test "$enable_hard_tabs" = yes && AC_DEFINE(USE_HARD_TABS)
+
+### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+AC_MSG_CHECKING(if you want limited support for xmc)
+AC_ARG_ENABLE(xmc-glitch,
+ [ --enable-xmc-glitch compile with support for xmc (magic-cookie)],,
+ [enable_xmc_glitch=$with_develop])
+AC_MSG_RESULT($enable_xmc_glitch)
+test "$enable_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
+
+###############################################################################
+# These are just experimental, probably should not be in a package:
+CF_HELP_MESSAGE(Experimental Code:)
+
+AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
+AC_ARG_ENABLE(assumed-color,
+ [ --disable-assumed-color do not assume anything about default-colors],
+ [with_assumed_color=$enableval],
+ [with_assumed_color=yes])
+AC_MSG_RESULT($with_assumed_color)
+test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
+
+### use option --enable-hashmap to turn on use of hashmap scrolling logic
+AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
+AC_ARG_ENABLE(hashmap,
+ [ --disable-hashmap compile without hashmap scrolling-optimization],
+ [with_hashmap=$enableval],
+ [with_hashmap=yes])
+AC_MSG_RESULT($with_hashmap)
+test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
+
+### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+AC_MSG_CHECKING(if you want colorfgbg code)
+AC_ARG_ENABLE(colorfgbg,
+ [ --enable-colorfgbg compile with $COLORFGBG code],
+ [with_colorfgbg=$enableval],
+ [with_colorfgbg=no])
+AC_MSG_RESULT($with_colorfgbg)
+test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
+
+### use option --enable-ext-colors to turn on use of colors beyond 16.
+AC_MSG_CHECKING(if you want to use experimental extended colors)
+AC_ARG_ENABLE(ext-colors,
+ [ --enable-ext-colors compile for experimental 256-color support],
+ [with_ext_colors=$enableval],
+ [with_ext_colors=no])
+AC_MSG_RESULT($with_ext_colors)
+NCURSES_EXT_COLORS=0
+if test "$with_ext_colors" = yes ; then
+ if test "$with_widec" != yes ; then
+ AC_MSG_ERROR(This option applies only to wide-character library)
+ else
+ # cannot be ABI 5 since it changes sizeof(cchar_t)
+ CF_NCURSES_ABI_6
+ fi
+ NCURSES_EXT_COLORS=1
+ AC_DEFINE(NCURSES_EXT_COLORS)
+fi
+AC_SUBST(NCURSES_EXT_COLORS)
+
+### use option --enable-ext-mouse to modify coding to support 5-button mice
+AC_MSG_CHECKING(if you want to use experimental extended mouse encoding)
+AC_ARG_ENABLE(ext-mouse,
+ [ --enable-ext-mouse compile for experimental mouse-encoding],
+ [with_ext_mouse=$enableval],
+ [with_ext_mouse=no])
+AC_MSG_RESULT($with_ext_mouse)
+NCURSES_MOUSE_VERSION=1
+if test "$with_ext_mouse" = yes ; then
+ NCURSES_MOUSE_VERSION=2
+ CF_NCURSES_ABI_6
+fi
+AC_SUBST(NCURSES_MOUSE_VERSION)
+
+# Reentrant code has to be opaque; there's little advantage to making ncurses
+# opaque outside of that, so there is no --enable-opaque option.
+AC_MSG_CHECKING(if you want experimental reentrant code)
+AC_ARG_ENABLE(reentrant,
+ [ --enable-reentrant compile with experimental reentrant code],
+ [with_reentrant=$enableval],
+ [with_reentrant=no])
+AC_MSG_RESULT($with_reentrant)
+if test "$with_reentrant" = yes ; then
+ cf_cv_enable_reentrant=1
+ cf_cv_enable_opaque="NCURSES_INTERNALS"
+ NCURSES_OPAQUE=1
+ NCURSES_SIZE_T=int
+ LIB_SUFFIX="t${LIB_SUFFIX}"
+ AC_DEFINE(USE_REENTRANT)
+ CF_NCURSES_ABI_6
+else
+ cf_cv_enable_reentrant=0
+ cf_cv_enable_opaque="NCURSES_OPAQUE"
+ NCURSES_OPAQUE=0
+ NCURSES_SIZE_T=short
+fi
+AC_SUBST(cf_cv_enable_reentrant)
+AC_SUBST(cf_cv_enable_opaque)
+AC_SUBST(NCURSES_OPAQUE)
+AC_SUBST(NCURSES_SIZE_T)
+
+AC_MSG_CHECKING(if you want experimental safe-sprintf code)
+AC_ARG_ENABLE(safe-sprintf,
+ [ --enable-safe-sprintf compile with experimental safe-sprintf code],
+ [with_safe_sprintf=$enableval],
+ [with_safe_sprintf=no])
+AC_MSG_RESULT($with_safe_sprintf)
+test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
+
+### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+# when hashmap is used scroll hints are useless
+if test "$with_hashmap" = no ; then
+AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
+AC_ARG_ENABLE(scroll-hints,
+ [ --disable-scroll-hints compile without scroll-hints code],
+ [with_scroll_hints=$enableval],
+ [with_scroll_hints=yes])
+AC_MSG_RESULT($with_scroll_hints)
+test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
+fi