
#
# Patch managed by http://www.holgerschurig.de/patcher.html
#

--- ncurses-5.4/ncurses/Makefile.in~visibility.patch
+++ ncurses-5.4/ncurses/Makefile.in
@@ -107,7 +107,7 @@
 CFLAGS_NORMAL	= $(CCFLAGS)
 CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE	= $(CCFLAGS) -pg
-CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
 
--- ncurses-5.4/panel/Makefile.in~visibility.patch
+++ ncurses-5.4/panel/Makefile.in
@@ -88,7 +88,7 @@
 CFLAGS_NORMAL	= $(CCFLAGS)
 CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE	= $(CCFLAGS) -pg
-CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
 
--- ncurses-5.4/menu/Makefile.in~visibility.patch
+++ ncurses-5.4/menu/Makefile.in
@@ -87,7 +87,7 @@
 CFLAGS_NORMAL	= $(CCFLAGS)
 CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE	= $(CCFLAGS) -pg
-CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
 
--- ncurses-5.4/c++/Makefile.in~visibility.patch
+++ ncurses-5.4/c++/Makefile.in
@@ -80,7 +80,7 @@
 CFLAGS_NORMAL	= $(CCFLAGS)
 CFLAGS_DEBUG	= $(CCFLAGS) @CXX_G_OPT@ -DTRACE
 CFLAGS_PROFILE	= $(CCFLAGS) -pg
-CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
 
--- ncurses-5.4/form/Makefile.in~visibility.patch
+++ ncurses-5.4/form/Makefile.in
@@ -88,7 +88,7 @@
 CFLAGS_NORMAL	= $(CCFLAGS)
 CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE	= $(CCFLAGS) -pg
-CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
+CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
 
 CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
 
--- ncurses-5.4/configure.in~visibility.patch
+++ ncurses-5.4/configure.in
@@ -34,17 +34,20 @@
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.13.20020210)
+AC_PREREQ(2.59)
 AC_REVISION($Revision: 1.312 $)
-AC_INIT(ncurses/base/lib_initscr.c)
+AC_INIT
+AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
+m4_include([m4/templates.m4])
+
 CF_SUBST_NCURSES_VERSION
 
 CF_WITH_REL_VERSION(NCURSES)
 CF_WITH_ABI_VERSION
 
-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
 AC_ARG_WITH(system-type,
 [  --with-system-type=XXX  test: override derived host system-type],
 [AC_MSG_WARN(overriding system type to $withval)
@@ -100,7 +103,7 @@
 CF_GXX_VERSION
 case $GXX_VERSION in
 1*|2.[[0-6]]*)
-	GXX=""; CXX=""; ac_cv_prog_gxx=no
+	GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
 	cf_cxx_library=no
 	AC_MSG_WARN(templates do not work)
 	;;
@@ -176,7 +179,6 @@
 AC_SUBST(DESTDIR)
 
 ###############################################################################
-CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
 # If we're cross-compiling, allow the user to override the tools and their
 # options.  The configure script is oriented toward identifying the host
 # compiler, etc., but we need a build compiler to generate parts of the source.
@@ -213,7 +215,6 @@
 AC_SUBST(BUILD_EXEEXT)
 
 ###############################################################################
-CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 
 ### Options to allow the user to specify the set of libraries which are used.
 ### Use "--without-normal --with-shared" to allow the default model to be
@@ -343,11 +344,11 @@
 
 AC_MSG_CHECKING(for default loader flags)
 case $DFT_LWR_MODEL in
-libtool) LD_MODEL=''   ;;
+libtool) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
-shared)  LD_MODEL=''   ;;
+shared)  LD_MODEL=''; LIBOPTS="-DNCURSES_DLL"   ;;
 esac
 AC_SUBST(LD_MODEL)dnl		the type of link (e.g., -g or -pg)
 AC_MSG_RESULT($LD_MODEL)
@@ -363,14 +364,14 @@
 if test "$CC_SHARED_OPTS" = "unknown"; then
 	for model in $cf_list_models; do
 		if test "$model" = "shared"; then
-			AC_ERROR(Shared libraries are not supported in this version)
+			AC_MSG_ERROR([Shared libraries are not supported in this version])
 		fi
 	done
 fi
 
-###############################################################################
-CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
+AC_SUBST(LIBOPTS)
 
+###############################################################################
 ###	use option --disable-overwrite to leave out the link to -lcurses
 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
 AC_ARG_ENABLE(overwrite,
@@ -450,7 +451,7 @@
 AC_ARG_ENABLE(big-core,
 	[  --disable-big-core      assume machine has little memory],
 	[with_big_core=$enableval],
-	[AC_TRY_RUN([
+	[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <stdlib.h>
 #include <string.h>
 int main() {
@@ -459,10 +460,7 @@
 	if (s != 0)
 		s[0] = s[n-1] = 0;
 	exit(s == 0);
-}],
-	[with_big_core=yes],
-	[with_big_core=no],
-	[with_big_core=no])])
+}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
 AC_MSG_RESULT($with_big_core)
 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
 
@@ -477,7 +475,7 @@
 if test "$with_termcap" != "yes" ; then
 	if test "$use_database" = no ; then
 		if test -z "$with_fallback" ; then
-			AC_ERROR(You have disabled the database w/o specifying fallbacks)
+			AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
 		fi
 	fi
 	AC_DEFINE(PURE_TERMINFO)
@@ -614,10 +612,10 @@
 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
 
 ###############################################################################
+
 CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
 
 ###############################################################################
-CF_HELP_MESSAGE(Extensions:)
 
 ### Note that some functions (such as const) are normally disabled anyway.
 AC_MSG_CHECKING(if you want to build with function extensions)
@@ -683,7 +681,6 @@
 
 ###############################################################################
 # 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,
 	[  --with-develop          enable all development options],
@@ -719,7 +716,6 @@
 
 ###############################################################################
 # 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,
@@ -828,7 +824,6 @@
 AC_SUBST(TERMINFO_CAPS)
 
 ###############################################################################
-CF_HELP_MESSAGE(Testing/development Options:)
 
 ###	use option --disable-echo to suppress full display compiling commands
 AC_MSG_CHECKING(if you want to display full commands during build)
@@ -931,7 +926,7 @@
 AC_SUBST(MATH_LIB)
 
 ###	Checks for header files.
-AC_STDC_HEADERS
+AC_HEADER_STDC([])
 AC_HEADER_DIRENT
 AC_HEADER_TIME
 CF_REGEX
@@ -965,7 +960,7 @@
 CF_SYS_TIME_SELECT
 
 ###	checks for compiler characteristics
-AC_LANG_C
+AC_LANG([C])
 AC_C_CONST
 AC_C_INLINE
 test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
@@ -1040,7 +1035,7 @@
 
 # Check for C++ compiler characteristics (and ensure that it's there!)
 if test -n "$CXX" ; then
-	AC_LANG_CPLUSPLUS
+	AC_LANG([C++])
 	CF_STDCPP_LIBRARY
 
 	case $GXX_VERSION in
@@ -1135,7 +1130,6 @@
 fi
 AC_SUBST(USE_CXX_BOOL)
 
-CF_HELP_MESSAGE(Ada95 Binding Options:)
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
@@ -1309,15 +1303,16 @@
 
 ################################################################################
 test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
-AC_OUTPUT( \
+AC_CONFIG_FILES([\
 	include/MKterm.h.awk \
 	include/curses.head:include/curses.h.in \
 	include/termcap.h \
 	include/unctrl.h \
 	$SUB_MAKEFILES \
-	Makefile,[
+	Makefile])
+AC_CONFIG_COMMANDS([default],[
 CF_LIB_RULES
-],[
+],[[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
@@ -1348,5 +1343,6 @@
 host="$host"
 target="$target"
 
-],cat)dnl
+]])
+AC_OUTPUT
 ${MAKE-make} preinstall
--- ncurses-5.4/include/ncurses_dll.h~visibility.patch
+++ ncurses-5.4/include/ncurses_dll.h
@@ -7,8 +7,8 @@
 /* but this structure may be useful at some point for an MSVC build */
 /* so, for now unconditionally define the important flags           */
 /* "the right way" for proper static and dll+auto-import behavior   */
-#undef NCURSES_DLL
-#define NCURSES_STATIC
+//#undef NCURSES_DLL
+//#define NCURSES_STATIC
 
 #if defined(__CYGWIN__)
 #  if defined(NCURSES_DLL)
@@ -32,12 +32,20 @@
 #  endif
 #  define NCURSES_API __cdecl
 #  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
-#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+#  define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
 #endif
 
 /* Take care of non-cygwin platforms */
 #if !defined(NCURSES_IMPEXP)
-#  define NCURSES_IMPEXP /* nothing */
+#  if defined(GCC_HASCLASSVISIBILITY)
+#    if defined(NCURSES_DLL)
+#      define NCURSES_IMPEXP __attribute__ ((visibility("default")))
+#    else
+#      define NCURSES_IMPEXP /* nothing */
+#    endif
+#  else
+#    define NCURSES_IMPEXP /* nothing */
+#  endif
 #endif
 #if !defined(NCURSES_API)
 #  define NCURSES_API /* nothing */
@@ -46,7 +54,7 @@
 #  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
 #endif
 #if !defined(NCURSES_EXPORT_VAR)
-#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+#  define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
 #endif
 
 #endif /* NCURSES_DLL_H_incl */
--- ncurses-5.4/form/fty_alnum.c~visibility.patch
+++ ncurses-5.4/form/fty_alnum.c
@@ -132,6 +132,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeALNUM;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALNUM) = &typeALNUM;
 
 /* fty_alnum.c ends here */
--- ncurses-5.4/form/fty_alpha.c~visibility.patch
+++ ncurses-5.4/form/fty_alpha.c
@@ -133,6 +133,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeALPHA;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALPHA) = &typeALPHA;
 
 /* fty_alpha.c ends here */
--- ncurses-5.4/form/fld_newftyp.c~visibility.patch
+++ ncurses-5.4/form/fld_newftyp.c
@@ -48,7 +48,7 @@
   NULL                 /* enumerate previous function                 */
 };
 
-NCURSES_EXPORT_VAR(const FIELDTYPE*) _nc_Default_FieldType = &default_fieldtype;
+const FIELDTYPE* NCURSES_EXPORT_VAR(_nc_Default_FieldType) = &default_fieldtype;
 
 /*---------------------------------------------------------------------------
 |   Facility      :  libnform  
--- ncurses-5.4/form/form.h~visibility.patch
+++ ncurses-5.4/form/form.h
@@ -248,24 +248,24 @@
 	/*************************
 	*  standard field types  *
 	*************************/
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALPHA);
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALNUM);
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ENUM);
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_INTEGER);
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_NUMERIC);
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_REGEXP);
 
         /************************************
 	*  built-in additional field types  *
         *  They are not defined in SVr4     *
 	************************************/
-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4;      /* Internet IP Version 4 address */
+extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_IPV4);      /* Internet IP Version 4 address */
 
         /*********************** 
         *   Default objects    *
         ***********************/ 
-extern NCURSES_EXPORT_VAR(FORM *)	_nc_Default_Form;
-extern NCURSES_EXPORT_VAR(FIELD *)	_nc_Default_Field;
+extern FORM * NCURSES_EXPORT_VAR(_nc_Default_Form);
+extern FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field);
 
 
 	/***********************
--- ncurses-5.4/form/fty_int.c~visibility.patch
+++ ncurses-5.4/form/fty_int.c
@@ -155,6 +155,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeINTEGER;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_INTEGER) = &typeINTEGER;
 
 /* fty_int.c ends here */
--- ncurses-5.4/form/fty_num.c~visibility.patch
+++ ncurses-5.4/form/fty_num.c
@@ -190,6 +190,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeNUMERIC;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_NUMERIC) = &typeNUMERIC;
 
 /* fty_num.c ends here */
--- ncurses-5.4/form/fty_regex.c~visibility.patch
+++ ncurses-5.4/form/fty_regex.c
@@ -252,6 +252,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_REGEXP) = &typeREGEXP;
 
 /* fty_regex.c ends here */
--- ncurses-5.4/form/frm_def.c~visibility.patch
+++ ncurses-5.4/form/frm_def.c
@@ -60,7 +60,7 @@
   NULL                                  /* fieldterm  */
 };
 
-NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form = &default_form;
+FORM * NCURSES_EXPORT_VAR(_nc_Default_Form) = &default_form;
 
 /*---------------------------------------------------------------------------
 |   Facility      :  libnform  
--- ncurses-5.4/form/fld_def.c~visibility.patch
+++ ncurses-5.4/form/fld_def.c
@@ -63,7 +63,7 @@
   (char *)0                /* usrptr */
 };
 
-NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
+FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field) = &default_field;
 
 /*---------------------------------------------------------------------------
 |   Facility      :  libnform  
--- ncurses-5.4/form/fty_enum.c~visibility.patch
+++ ncurses-5.4/form/fty_enum.c
@@ -290,6 +290,6 @@
   Previous_Enum
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ENUM = &typeENUM;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ENUM) = &typeENUM;
 
 /* fty_enum.c ends here */
--- ncurses-5.4/form/fty_ipv4.c~visibility.patch
+++ ncurses-5.4/form/fty_ipv4.c
@@ -76,6 +76,6 @@
   NULL
 };
 
-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
+FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_IPV4) = &typeIPV4;
 
 /* fty_ipv4.c ends here */
--- ncurses-5.4/form/form.priv.h~visibility.patch
+++ ncurses-5.4/form/form.priv.h
@@ -112,7 +112,7 @@
 #define C_BLANK ' '
 #define is_blank(c) ((c)==C_BLANK)
 
-extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType;
+extern const FIELDTYPE * NCURSES_EXPORT_VAR(_nc_Default_FieldType);
 
 extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*,va_list*,int*);
 extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*,const TypeArgument*, int*);
--- ncurses-5.4/include/tic.h~visibility.patch
+++ ncurses-5.4/include/tic.h
@@ -117,7 +117,7 @@
 #define DEBUG(n, a)	/*nothing*/
 #endif
 
-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
 extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
 extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
 extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
@@ -151,7 +151,7 @@
 	char	*tk_valstring;	/* value of capability (if a string) */
 };
 
-extern NCURSES_EXPORT_VAR(struct token)	_nc_curr_token;
+extern struct token NCURSES_EXPORT_VAR(_nc_curr_token);
 
 	/*
 	 * List of keynames with their corresponding code.
@@ -161,7 +161,7 @@
 	int code;
 };
 
-extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[];
+extern const struct kn NCURSES_EXPORT_VAR(_nc_key_names[]);
 
 	/*
 	 * Offsets to string capabilities, with the corresponding functionkey
@@ -179,7 +179,7 @@
 
 #else
 
-extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[];
+extern struct tinfo_fkeys NCURSES_EXPORT_VAR(_nc_tinfo_fkeys[]);
 
 #endif
 
@@ -204,11 +204,11 @@
 	const char	*source;
 };
 
-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_info_hash_table[]);
+extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_cap_hash_table[]);
 
-extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[];
-extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[];
+extern const struct alias NCURSES_EXPORT_VAR(_nc_capalias_table[]);
+extern const struct alias NCURSES_EXPORT_VAR(_nc_infoalias_table[]);
 
 extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
 extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool);
@@ -255,13 +255,13 @@
 extern NCURSES_EXPORT(void) _nc_panic_mode (char);
 extern NCURSES_EXPORT(void) _nc_push_token (int);
 extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *);
-extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
-extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
-extern NCURSES_EXPORT_VAR(int) _nc_syntax;
-extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
-extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
-extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
-extern NCURSES_EXPORT_VAR(long) _nc_start_line;
+extern int NCURSES_EXPORT_VAR(_nc_curr_col);
+extern int NCURSES_EXPORT_VAR(_nc_curr_line);
+extern int NCURSES_EXPORT_VAR(_nc_syntax);
+extern long NCURSES_EXPORT_VAR(_nc_comment_end);
+extern long NCURSES_EXPORT_VAR(_nc_comment_start);
+extern long NCURSES_EXPORT_VAR(_nc_curr_file_pos);
+extern long NCURSES_EXPORT_VAR(_nc_start_line);
 #define SYN_TERMINFO	0
 #define SYN_TERMCAP	1
 
@@ -272,7 +272,7 @@
 extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
 extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
 extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2);
-extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
+extern bool NCURSES_EXPORT_VAR(_nc_suppress_warnings);
 
 /* comp_expand.c: expand string into readable form */
 extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int);
@@ -287,12 +287,12 @@
 /* lib_tparm.c */
 #define NUM_PARM 9
 
-extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
+extern int NCURSES_EXPORT_VAR(_nc_tparm_err);
 
 extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
 
 /* lib_tputs.c */
-extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent;		/* Add one for every null sent */
+extern int NCURSES_EXPORT_VAR(_nc_nulls_sent);		/* Add one for every null sent */
 
 /* comp_main.c: compiler main */
 extern const char * _nc_progname;
--- ncurses-5.4/include/MKterm.h.awk.in~visibility.patch
+++ ncurses-5.4/include/MKterm.h.awk.in
@@ -228,9 +228,9 @@
 			print  "    char *      _termname;      /* used for termname() */"
 			print  "} TERMINAL;"
 			print  ""
-			print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+			print  "extern TERMINAL * NCURSES_EXPORT_VAR(cur_term);"
 			print  ""
-			print  "#if BROKEN_LINKER"
+			print  "#if defined(BROKEN_LINKER)"
 			print  "#define boolnames  _nc_boolnames()"
 			print  "#define boolcodes  _nc_boolcodes()"
 			print  "#define boolfnames _nc_boolfnames()"
@@ -253,15 +253,15 @@
 			print  ""
 			print  "#else"
 			print  ""
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
-			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(boolnames[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(boolcodes[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(boolfnames[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(numnames[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(numcodes[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(numfnames[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(strnames[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(strcodes[]);"
+			print  "extern NCURSES_CONST char * const  NCURSES_EXPORT_VAR(strfnames[]);"
 			print  ""
 			print  "#endif"
 			print  ""
@@ -287,7 +287,7 @@
 			print  "#if !defined(__NCURSES_H)"
 			print  "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
 			print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
-			print  "extern NCURSES_EXPORT_VAR(char) ttytype[];"
+			print  "extern char NCURSES_EXPORT_VAR(ttytype[]);"
 			print  "extern NCURSES_EXPORT(int) putp (const char *);"
 			print  "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
 			print  "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
--- ncurses-5.4/include/termcap.h.in~visibility.patch
+++ ncurses-5.4/include/termcap.h.in
@@ -54,10 +54,10 @@
 #undef  NCURSES_OSPEED 
 #define NCURSES_OSPEED @NCURSES_OSPEED@ 
 
-extern NCURSES_EXPORT_VAR(char) PC;
-extern NCURSES_EXPORT_VAR(char *) UP;
-extern NCURSES_EXPORT_VAR(char *) BC;
-extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed; 
+extern char NCURSES_EXPORT_VAR(PC);
+extern char * NCURSES_EXPORT_VAR(UP);
+extern char * NCURSES_EXPORT_VAR(BC);
+extern NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed); 
 
 #if !defined(NCURSES_TERM_H_incl)
 extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
--- ncurses-5.4/include/term_entry.h~visibility.patch
+++ ncurses-5.4/include/term_entry.h
@@ -90,8 +90,8 @@
 #define ExtNumname(tp,i,names)  EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
 #define ExtStrname(tp,i,names)  EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
 
-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
+extern ENTRY * NCURSES_EXPORT_VAR(_nc_head);
+extern ENTRY * NCURSES_EXPORT_VAR(_nc_tail);
 #define for_entry_list(qp)	for (qp = _nc_head; qp; qp = qp->next)
 
 #define MAX_LINE	132
@@ -135,8 +135,8 @@
 
 /* parse_entry.c: entry-parsing code */
 #if NCURSES_XNAMES
-extern NCURSES_EXPORT_VAR(bool) _nc_user_definable;
-extern NCURSES_EXPORT_VAR(bool) _nc_disable_period;
+extern bool NCURSES_EXPORT_VAR(_nc_user_definable);
+extern bool NCURSES_EXPORT_VAR(_nc_disable_period);
 #endif
 extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool);
 extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *);
--- ncurses-5.4/include/curses.h.in~visibility.patch
+++ ncurses-5.4/include/curses.h.in
@@ -171,8 +171,8 @@
 #define WA_VERTICAL	A_VERTICAL
 
 /* colors */
-extern NCURSES_EXPORT_VAR(int) COLORS;
-extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern int NCURSES_EXPORT_VAR(COLORS);
+extern int NCURSES_EXPORT_VAR(COLOR_PAIRS);
 
 #define COLOR_BLACK	0
 #define COLOR_RED	1
@@ -186,10 +186,10 @@
 /* line graphics */
 
 #if @BROKEN_LINKER@
-extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
+extern chtype* NCURSES_EXPORT_VAR(_nc_acs_map)(void);
 #define acs_map (_nc_acs_map())
 #else
-extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+extern chtype NCURSES_EXPORT_VAR(acs_map[]);
 #endif
 
 #define NCURSES_ACS(c)	(acs_map[(unsigned char)c])
@@ -369,20 +369,20 @@
 #endif
 };
 
-extern NCURSES_EXPORT_VAR(WINDOW *)   stdscr;
-extern NCURSES_EXPORT_VAR(WINDOW *)   curscr;
-extern NCURSES_EXPORT_VAR(WINDOW *)   newscr;
+extern WINDOW * NCURSES_EXPORT_VAR(stdscr);
+extern WINDOW * NCURSES_EXPORT_VAR(curscr);
+extern WINDOW * NCURSES_EXPORT_VAR(newscr);
 
-extern NCURSES_EXPORT_VAR(int)	LINES;
-extern NCURSES_EXPORT_VAR(int)	COLS;
-extern NCURSES_EXPORT_VAR(int)	TABSIZE;
+extern int NCURSES_EXPORT_VAR(LINES);
+extern int NCURSES_EXPORT_VAR(COLS);
+extern int NCURSES_EXPORT_VAR(TABSIZE);
 
 /*
  * This global was an undocumented feature under AIX curses.
  */
-extern NCURSES_EXPORT_VAR(int) ESCDELAY;	/* ESC expire time in milliseconds */
+extern int NCURSES_EXPORT_VAR(ESCDELAY);	/* ESC expire time in milliseconds */
 
-extern NCURSES_EXPORT_VAR(char) ttytype[];	/* needed for backward compatibility */
+extern char NCURSES_EXPORT_VAR(ttytype[]);	/* needed for backward compatibility */
 
 /*
  * These functions are extensions - not in XSI Curses.
--- ncurses-5.4/include/curses.tail~visibility.patch
+++ ncurses-5.4/include/curses.tail
@@ -110,7 +110,7 @@
 #define TRACE_MAXIMUM	((1 << TRACE_SHIFT) - 1) /* maximum trace level */
 
 #if defined(TRACE) || defined(NCURSES_TEST)
-extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable;		/* enable optimizations */
+extern int NCURSES_EXPORT_VAR(_nc_optimize_enable);		/* enable optimizations */
 #ifdef _XOPEN_SOURCE_EXTENDED
 extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
 #endif
--- ncurses-5.4/include/curses.wide~visibility.patch
+++ ncurses-5.4/include/curses.wide
@@ -3,7 +3,7 @@
 
 /* $Id: curses.wide,v 1.28 2004/01/03 20:35:14 tom Exp $ */
 
-extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
+extern cchar_t * NCURSES_EXPORT_VAR(_nc_wacs);
 
 #define NCURSES_WACS(c)	(&_nc_wacs[(unsigned char)c])
 
--- ncurses-5.4/menu/menu.priv.h~visibility.patch
+++ ncurses-5.4/menu/menu.priv.h
@@ -49,8 +49,8 @@
 /* Backspace code */
 #define BS (8)
 
-extern NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item;
-extern NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu;
+extern ITEM NCURSES_EXPORT_VAR(_nc_Default_Item);
+extern MENU NCURSES_EXPORT_VAR(_nc_Default_Menu);
 
 /* Normalize item to default if none was given */
 #define Normalize_Item( item ) ((item)=(item)?(item):&_nc_Default_Item)
--- ncurses-5.4/menu/m_global.c~visibility.patch
+++ ncurses-5.4/menu/m_global.c
@@ -41,7 +41,7 @@
 
 static char mark[] = "-";
 
-NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
+MENU NCURSES_EXPORT_VAR(_nc_Default_Menu) = {
   16,				  /* Nr. of chars high */
   1,				  /* Nr. of chars wide */
   16,				  /* Nr. of items high */
@@ -80,7 +80,7 @@
   0			          /* status */	    
 };
 
-NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = {
+ITEM NCURSES_EXPORT_VAR(_nc_Default_Item) = {
   { (char *)0, 0 },		  /* name */
   { (char *)0, 0 },		  /* description */
   (MENU *)0,		          /* Pointer to parent menu */
--- ncurses-5.4/ncurses/tty/lib_mvcur.c~visibility.patch
+++ ncurses-5.4/ncurses/tty/lib_mvcur.c
@@ -937,7 +937,7 @@
 }
 
 #if defined(TRACE) || defined(NCURSES_TEST)
-NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
+int NCURSES_EXPORT_VAR(_nc_optimize_enable) = OPTIMIZE_ALL;
 #endif
 
 #if defined(MAIN) || defined(NCURSES_TEST)
@@ -950,7 +950,7 @@
 #include <tic.h>
 #include <dump_entry.h>
 
-NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur";
+const char * NCURSES_EXPORT_VAR(_nc_progname) = "mvcur";
 
 static unsigned long xmits;
 
--- ncurses-5.4/ncurses/tty/hardscroll.c~visibility.patch
+++ ncurses-5.4/ncurses/tty/hardscroll.c
@@ -151,8 +151,7 @@
 
 # undef screen_lines
 # define screen_lines MAXLINES
-NCURSES_EXPORT_VAR(int)
-oldnums[MAXLINES];
+int NCURSES_EXPORT_VAR(oldnums[MAXLINES]);
 # define OLDNUM(n)	oldnums[n]
 # define _tracef	printf
 # undef TR
@@ -163,8 +162,7 @@
 /* OLDNUM(n) indicates which line will be shifted to the position n.
    if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from
    somewhere. */
-NCURSES_EXPORT_VAR(int *)
-_nc_oldnums = 0;
+int * NCURSES_EXPORT_VAR(_nc_oldnums) = 0;
 
 # if USE_HASHMAP
      static int oldnums_allocated = 0;
--- ncurses-5.4/ncurses/base/lib_getch.c~visibility.patch
+++ ncurses-5.4/ncurses/base/lib_getch.c
@@ -44,8 +44,7 @@
 
 #include <fifo_defs.h>
 
-NCURSES_EXPORT_VAR(int)
-ESCDELAY = 1000;		/* max interval betw. chars in funkeys, in millisecs */
+int NCURSES_EXPORT_VAR(ESCDELAY) = 1000;		/* max interval betw. chars in funkeys, in millisecs */
 
 #ifdef NCURSES_WGETCH_EVENTS
 #define TWAIT_MASK 7
--- ncurses-5.4/ncurses/base/lib_slk.c~visibility.patch
+++ ncurses-5.4/ncurses/base/lib_slk.c
@@ -47,8 +47,7 @@
  * We'd like to move these into the screen context structure, but cannot,
  * because slk_init() is called before initscr()/newterm().
  */
-NCURSES_EXPORT_VAR(int)
-_nc_slk_format = 0;		/* one more than format specified in slk_init() */
+int NCURSES_EXPORT_VAR(_nc_slk_format) = 0;		/* one more than format specified in slk_init() */
 
 /*
  * Paint the info line for the PC style SLK emulation.
--- ncurses-5.4/ncurses/base/lib_color.c~visibility.patch
+++ ncurses-5.4/ncurses/base/lib_color.c
@@ -48,8 +48,8 @@
  * historical reasons.  So we assign them in start_color() and also in
  * set_term()'s screen-switching logic.
  */
-NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
-NCURSES_EXPORT_VAR(int) COLORS = 0;
+int NCURSES_EXPORT_VAR(COLOR_PAIRS) = 0;
+int NCURSES_EXPORT_VAR(COLORS) = 0;
 
 #define DATA(r,g,b) {r,g,b, 0,0,0, 0}
 
--- ncurses-5.4/ncurses/tinfo/lib_termcap.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_termcap.c
@@ -50,8 +50,8 @@
 #define L_BRACK   '['
 #define SHIFT_OUT 017		/* ^N */
 
-NCURSES_EXPORT_VAR(char *) UP = 0;
-NCURSES_EXPORT_VAR(char *) BC = 0;
+char * NCURSES_EXPORT_VAR(UP) = 0;
+char * NCURSES_EXPORT_VAR(BC) = 0;
 
 static char *fix_me = 0;
 
--- ncurses-5.4/ncurses/tinfo/lib_cur_term.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_cur_term.c
@@ -42,7 +42,7 @@
 
 MODULE_ID("$Id: lib_cur_term.c,v 1.13 2003/12/27 18:21:30 tom Exp $")
 
-NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
+TERMINAL * NCURSES_EXPORT_VAR(cur_term) = 0;
 
 NCURSES_EXPORT(TERMINAL *)
 set_curterm(TERMINAL * termp)
--- ncurses-5.4/ncurses/tinfo/lib_setup.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_setup.c
@@ -91,10 +91,10 @@
 # endif
 #endif
 
-NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
-NCURSES_EXPORT_VAR(int) LINES = 0;
-NCURSES_EXPORT_VAR(int) COLS = 0;
-NCURSES_EXPORT_VAR(int) TABSIZE = 0;
+char NCURSES_EXPORT_VAR(ttytype[NAMESIZE]) = "";
+int NCURSES_EXPORT_VAR(LINES) = 0;
+int NCURSES_EXPORT_VAR(COLS) = 0;
+int NCURSES_EXPORT_VAR(TABSIZE) = 0;
 
 static int _use_env = TRUE;
 
--- ncurses-5.4/ncurses/tinfo/MKnames.awk~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/MKnames.awk
@@ -10,7 +10,7 @@
 			print  "#include <term.h>"		> "namehdr"
 			print  "#define DCL(it) static IT data##it[]" > "namehdr"
 			print  "#else"				> "namehdr"
-			print  "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]"	> "namehdr"
+			print  "#define DCL(it) IT NCURSES_EXPORT_VAR(it[])"	> "namehdr"
 			print  "#endif"				> "namehdr"
 			print  ""				> "namehdr"
 			print  "/*"				> "boolnames"
--- ncurses-5.4/ncurses/tinfo/lib_tparm.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_tparm.c
@@ -115,7 +115,7 @@
     bool num_type;
 } stack_frame;
 
-NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0;
+int NCURSES_EXPORT_VAR(_nc_tparm_err) = 0;
 
 static stack_frame stack[STACKSIZE];
 static int stack_ptr;
--- ncurses-5.4/ncurses/tinfo/lib_tputs.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_tputs.c
@@ -47,10 +47,10 @@
 
 MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
 
-NCURSES_EXPORT_VAR(char) PC = 0;		/* used by termcap library */
-NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0;	/* used by termcap library */
+char NCURSES_EXPORT_VAR(PC) = 0;		/* used by termcap library */
+NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed) = 0;	/* used by termcap library */
 
-NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0;	/* used by 'tack' program */
+int NCURSES_EXPORT_VAR(_nc_nulls_sent) = 0;	/* used by 'tack' program */
 
 static int (*my_outch) (int c) = _nc_outch;
 
--- ncurses-5.4/ncurses/tinfo/comp_error.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/comp_error.c
@@ -42,9 +42,9 @@
 
 MODULE_ID("$Id: comp_error.c,v 1.25 2002/09/07 20:05:07 tom Exp $")
 
-NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
-NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
-NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */
+bool NCURSES_EXPORT_VAR(_nc_suppress_warnings) = FALSE;
+int NCURSES_EXPORT_VAR(_nc_curr_line) = 0; /* current line # in input */
+int NCURSES_EXPORT_VAR(_nc_curr_col) = 0; /* current column # in input */
 
 static const char *sourcename;
 static char *termtype;
--- ncurses-5.4/ncurses/tinfo/free_ttype.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/free_ttype.c
@@ -92,7 +92,7 @@
 }
 
 #if NCURSES_XNAMES
-NCURSES_EXPORT_VAR(bool) _nc_user_definable = TRUE;
+bool NCURSES_EXPORT_VAR(_nc_user_definable) = TRUE;
 
 NCURSES_EXPORT(int)
 use_extended_names(bool flag)
--- ncurses-5.4/ncurses/tinfo/comp_parse.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/comp_parse.c
@@ -78,8 +78,8 @@
  *	   _nc_head                _nc_tail
  */
 
-NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0;
-NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0;
+ENTRY * NCURSES_EXPORT_VAR(_nc_head) = 0;
+ENTRY * NCURSES_EXPORT_VAR(_nc_tail) = 0;
 
 static void
 enqueue(ENTRY * ep)
--- ncurses-5.4/ncurses/tinfo/comp_scan.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/comp_scan.c
@@ -60,19 +60,13 @@
 
 #define iswhite(ch)	(ch == ' '  ||  ch == '\t')
 
-NCURSES_EXPORT_VAR(int)
-_nc_syntax = 0;			/* termcap or terminfo? */
-NCURSES_EXPORT_VAR(long)
-_nc_curr_file_pos = 0;		/* file offset of current line */
-NCURSES_EXPORT_VAR(long)
-_nc_comment_start = 0;		/* start of comment range before name */
-NCURSES_EXPORT_VAR(long)
-_nc_comment_end = 0;		/* end of comment range before name */
-NCURSES_EXPORT_VAR(long)
-_nc_start_line = 0;		/* start line of current entry */
+int NCURSES_EXPORT_VAR(_nc_syntax) = 0;			/* termcap or terminfo? */
+long NCURSES_EXPORT_VAR(_nc_curr_file_pos) = 0;		/* file offset of current line */
+long NCURSES_EXPORT_VAR(_nc_comment_start) = 0;		/* start of comment range before name */
+long NCURSES_EXPORT_VAR(_nc_comment_end) = 0;		/* end of comment range before name */
+long NCURSES_EXPORT_VAR(_nc_start_line) = 0;		/* start line of current entry */
 
-NCURSES_EXPORT_VAR(struct token)
-_nc_curr_token =
+struct token NCURSES_EXPORT_VAR(_nc_curr_token) =
 {
     0, 0, 0
 };
@@ -90,8 +84,7 @@
 static char *pushname;
 
 #if NCURSES_EXT_FUNCS
-NCURSES_EXPORT_VAR(bool)
-_nc_disable_period = FALSE;	/* used by tic -a option */
+bool NCURSES_EXPORT_VAR(_nc_disable_period) = FALSE;	/* used by tic -a option */
 #endif
 
 static bool end_of_stream(void);
--- ncurses-5.4/ncurses/tinfo/lib_acs.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_acs.c
@@ -37,8 +37,7 @@
 MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
 
 #if BROKEN_LINKER
-NCURSES_EXPORT_VAR(chtype *)
-_nc_acs_map(void)
+chtype * NCURSES_EXPORT_VAR(_nc_acs_map)(void)
 {
     static chtype *the_map = 0;
     if (the_map == 0)
@@ -46,7 +45,7 @@
     return the_map;
 }
 #else
-NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] =
+chtype NCURSES_EXPORT_VAR(acs_map[ACS_LEN]) =
 {
     0
 };
--- ncurses-5.4/ncurses/tinfo/lib_data.c~visibility.patch
+++ ncurses-5.4/ncurses/tinfo/lib_data.c
@@ -46,14 +46,11 @@
  * OS/2's native linker complains if we don't initialize public data when
  * constructing a dll (reported by J.J.G.Ripoll).
  */
-NCURSES_EXPORT_VAR(WINDOW *)
-stdscr = 0;
-NCURSES_EXPORT_VAR(WINDOW *)
-curscr = 0;
-NCURSES_EXPORT_VAR(WINDOW *)
-newscr = 0;
+WINDOW * NCURSES_EXPORT_VAR(stdscr) = 0;
+WINDOW * NCURSES_EXPORT_VAR(curscr) = 0;
+WINDOW * NCURSES_EXPORT_VAR(newscr) = 0;
 
-NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0;
+SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain) = 0;
 
 /*
  * The variable 'SP' will be defined as a function on systems that cannot link
@@ -87,5 +84,5 @@
 }
 
 #else
-NCURSES_EXPORT_VAR(SCREEN *) SP = NULL;		/* Some linkers require initialized data... */
+SCREEN * NCURSES_EXPORT_VAR(SP) = NULL;		/* Some linkers require initialized data... */
 #endif
--- ncurses-5.4/ncurses/trace/lib_trace.c~visibility.patch
+++ ncurses-5.4/ncurses/trace/lib_trace.c
@@ -42,11 +42,11 @@
 
 MODULE_ID("$Id: lib_trace.c,v 1.53 2003/11/23 00:39:30 tom Exp $")
 
-NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0;	/* always define this */
+unsigned NCURSES_EXPORT_VAR(_nc_tracing) = 0;	/* always define this */
 
 #ifdef TRACE
-NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
-NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
+const char * NCURSES_EXPORT_VAR(_nc_tputs_trace) = "";
+long NCURSES_EXPORT_VAR(_nc_outchars) = 0;
 
 static FILE *tracefp = 0;	/* default to writing to stderr */
 
--- ncurses-5.4/ncurses/curses.priv.h~visibility.patch
+++ ncurses-5.4/ncurses/curses.priv.h
@@ -498,7 +498,7 @@
 #endif
 };
 
-extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
+extern SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain);
 
 #if NCURSES_NOMACROS
 #include <nomacros.h>
@@ -752,9 +752,9 @@
 extern NCURSES_EXPORT(int)              _nc_retrace_int (int);
 extern NCURSES_EXPORT(unsigned)         _nc_retrace_unsigned (unsigned);
 extern NCURSES_EXPORT(void)             _nc_fifo_dump (void);
-extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace;
-extern NCURSES_EXPORT_VAR(long)         _nc_outchars;
-extern NCURSES_EXPORT_VAR(unsigned)     _nc_tracing;
+extern const char * NCURSES_EXPORT_VAR(_nc_tputs_trace);
+extern long NCURSES_EXPORT_VAR(_nc_outchars);
+extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
 
 #if USE_WIDEC_SUPPORT
 extern NCURSES_EXPORT(const char *) _nc_viswbuf2 (int, const wchar_t *);
@@ -1055,7 +1055,7 @@
 #endif
 
 /* scroll indices */
-extern NCURSES_EXPORT_VAR(int *) _nc_oldnums;
+extern int * NCURSES_EXPORT_VAR(_nc_oldnums);
 
 #define USE_SETBUF_0 0
 
@@ -1074,7 +1074,7 @@
 extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
 #else
 /* current screen is private data; avoid possible linking conflicts too */
-extern NCURSES_EXPORT_VAR(SCREEN *) SP;
+extern SCREEN * NCURSES_EXPORT_VAR(SP);
 #define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0)
 #define _nc_set_screen(sp) SP = sp
 #endif
@@ -1087,7 +1087,7 @@
 #define screen_lines	SP->_lines
 #define screen_columns	SP->_columns
 
-extern NCURSES_EXPORT_VAR(int) _nc_slk_format;  /* != 0 if slk_init() called */
+extern int NCURSES_EXPORT_VAR(_nc_slk_format);  /* != 0 if slk_init() called */
 extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int);
 
 /*
--- /dev/null
+++ ncurses-5.4/m4/cf.m4
@@ -0,0 +1,3703 @@
+dnl***************************************************************************
+dnl Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.              *
+dnl                                                                          *
+dnl Permission is hereby granted, free of charge, to any person obtaining a  *
+dnl copy of this software and associated documentation files (the            *
+dnl "Software"), to deal in the Software without restriction, including      *
+dnl without limitation the rights to use, copy, modify, merge, publish,      *
+dnl distribute, distribute with modifications, sublicense, and/or sell       *
+dnl copies of the Software, and to permit persons to whom the Software is    *
+dnl furnished to do so, subject to the following conditions:                 *
+dnl                                                                          *
+dnl The above copyright notice and this permission notice shall be included  *
+dnl in all copies or substantial portions of the Software.                   *
+dnl                                                                          *
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+dnl                                                                          *
+dnl Except as contained in this notice, the name(s) of the above copyright   *
+dnl holders shall not be used in advertising or otherwise to promote the     *
+dnl sale, use or other dealings in this Software without prior written       *
+dnl authorization.                                                           *
+dnl***************************************************************************
+dnl
+dnl Author: Thomas E. Dickey 1995-2003
+dnl
+dnl $Id: aclocal.m4,v 1.333 2004/01/30 20:59:56 tom Exp $
+dnl Macros used in NCURSES auto-configuration script.
+dnl
+dnl See http://invisible-island.net/autoconf/ for additional information.
+dnl
+dnl ---------------------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
+dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
+dnl -------------------
+dnl Construct the list of include-options for the C programs in the Ada95
+dnl binding.
+AC_DEFUN([CF_ADA_INCLUDE_DIRS],
+[
+ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
+if test "$srcdir" != "."; then
+	ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
+fi
+if test "$GCC" != yes; then
+	ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+elif test "$includedir" != "/usr/include"; then
+	if test "$includedir" = '${prefix}/include' ; then
+		if test $prefix != /usr ; then
+			ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+		fi
+	else
+		ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+	fi
+fi
+AC_SUBST(ACPPFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
+dnl -------------
+dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
+dnl The second parameter if given makes this macro verbose.
+AC_DEFUN([CF_ADD_CFLAGS],
+[
+cf_new_cflags=
+cf_new_cppflags=
+for cf_add_cflags in $1
+do
+	case $cf_add_cflags in #(vi
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+		case "$CPPFLAGS" in
+		*$cf_add_cflags) #(vi
+			;;
+		*) #(vi
+			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+			;;
+		esac
+		;;
+	*)
+		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+		;;
+	esac
+done
+
+if test -n "$cf_new_cflags" ; then
+	ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
+	CFLAGS="$CFLAGS $cf_new_cflags"
+fi
+
+if test -n "$cf_new_cppflags" ; then
+	ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
+	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+fi
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
+dnl ----------------
+dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+dnl in the sharutils 4.2 distribution.
+AC_DEFUN([CF_ANSI_CC_CHECK],
+[
+AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
+cf_cv_ansi_cc=no
+cf_save_CFLAGS="$CFLAGS"
+cf_save_CPPFLAGS="$CPPFLAGS"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX			-Aa -D_HPUX_SOURCE
+# SVR4			-Xc
+# UnixWare 1.2		(cannot use -Xc, since ANSI/POSIX clashes)
+for cf_arg in "-DCC_HAS_PROTOS" \
+	"" \
+	-qlanglvl=ansi \
+	-std1 \
+	-Ae \
+	"-Aa -D_HPUX_SOURCE" \
+	-Xc
+do
+	CF_ADD_CFLAGS($cf_arg)
+	AC_TRY_COMPILE(
+[
+#ifndef CC_HAS_PROTOS
+#if !defined(__STDC__) || (__STDC__ != 1)
+choke me
+#endif
+#endif
+],[
+	int test (int i, double x);
+	struct s1 {int (*f) (int a);};
+	struct s2 {int (*f) (double a);};],
+	[cf_cv_ansi_cc="$cf_arg"; break])
+done
+CFLAGS="$cf_save_CFLAGS"
+CPPFLAGS="$cf_save_CPPFLAGS"
+])
+
+if test "$cf_cv_ansi_cc" != "no"; then
+if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+	CF_ADD_CFLAGS($cf_cv_ansi_cc)
+else
+	AC_DEFINE(CC_HAS_PROTOS)
+fi
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
+dnl ---------------
+dnl For programs that must use an ANSI compiler, obtain compiler options that
+dnl will make it recognize prototypes.  We'll do preprocessor checks in other
+dnl macros, since tools such as unproto can fake prototypes, but only part of
+dnl the preprocessor.
+AC_DEFUN([CF_ANSI_CC_REQD],
+[AC_REQUIRE([CF_ANSI_CC_CHECK])
+if test "$cf_cv_ansi_cc" = "no"; then
+	AC_ERROR(
+[Your compiler does not appear to recognize prototypes.
+You have the following choices:
+	a. adjust your compiler options
+	b. get an up-to-date compiler
+	c. use a wrapper such as unproto])
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
+dnl ------------
+dnl Test if 'bool' is a builtin type in the configured C++ compiler.  Some
+dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
+dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
+dnl
+dnl Treat the configuration-variable specially here, since we're directly
+dnl substituting its value (i.e., 1/0).
+dnl
+dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
+AC_DEFUN([CF_BOOL_DECL],
+[
+AC_MSG_CHECKING(if we should include stdbool.h)
+
+AC_CACHE_VAL(cf_cv_header_stdbool_h,[
+	AC_TRY_COMPILE([],[bool foo = false],
+		[cf_cv_header_stdbool_h=0],
+		[AC_TRY_COMPILE([
+#ifndef __BEOS__
+#include <stdbool.h>
+#endif
+],[bool foo = false],
+			[cf_cv_header_stdbool_h=1],
+			[cf_cv_header_stdbool_h=0])])])
+
+if test "$cf_cv_header_stdbool_h" = 1
+then	AC_MSG_RESULT(yes)
+else	AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING([for builtin bool type])
+
+AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
+	AC_TRY_COMPILE([
+#include <stdio.h>
+#include <sys/types.h>
+],[bool x = false],
+		[ifelse($1,,cf_cv_builtin_bool,[$1])=1],
+		[ifelse($1,,cf_cv_builtin_bool,[$1])=0])
+	])
+
+if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
+then	AC_MSG_RESULT(yes)
+else	AC_MSG_RESULT(no)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
+dnl ------------
+dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
+dnl Don't bother looking for bool.h, since it's been deprecated.
+dnl
+dnl If the current compiler is C rather than C++, we get the bool definition
+dnl from <stdbool.h>.
+AC_DEFUN([CF_BOOL_SIZE],
+[
+AC_MSG_CHECKING([for size of bool])
+AC_CACHE_VAL(cf_cv_type_of_bool,[
+	rm -f cf_test.out
+	AC_TRY_RUN([
+#include <stdlib.h>
+#include <stdio.h>
+
+#if defined(__cplusplus)
+
+#ifdef HAVE_GXX_BUILTIN_H
+#include <g++/builtin.h>
+#elif HAVE_GPP_BUILTIN_H
+#include <gpp/builtin.h>
+#elif HAVE_BUILTIN_H
+#include <builtin.h>
+#endif
+
+#else
+
+#if $cf_cv_header_stdbool_h
+#include <stdbool.h>
+#endif
+
+#endif
+
+main()
+{
+	FILE *fp = fopen("cf_test.out", "w");
+	if (fp != 0) {
+		bool x = true;
+		if ((bool)(-x) >= 0)
+			fputs("unsigned ", fp);
+		if (sizeof(x) == sizeof(int))       fputs("int",  fp);
+		else if (sizeof(x) == sizeof(char)) fputs("char", fp);
+		else if (sizeof(x) == sizeof(short))fputs("short",fp);
+		else if (sizeof(x) == sizeof(long)) fputs("long", fp);
+		fclose(fp);
+	}
+	exit(0);
+}
+		],
+		[cf_cv_type_of_bool=`cat cf_test.out`
+		 if test -z "$cf_cv_type_of_bool"; then
+		   cf_cv_type_of_bool=unknown
+		 fi],
+		[cf_cv_type_of_bool=unknown],
+		[cf_cv_type_of_bool=unknown])
+	])
+	rm -f cf_test.out
+AC_MSG_RESULT($cf_cv_type_of_bool)
+if test "$cf_cv_type_of_bool" = unknown ; then
+	case .$NCURSES_BOOL in #(vi
+	.auto|.) NCURSES_BOOL=unsigned;;
+	esac
+	AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
+	cf_cv_type_of_bool=$NCURSES_BOOL
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
+dnl ---------------
+dnl Determine the default configuration into which we'll install ncurses.  This
+dnl can be overridden by the user's command-line options.  There's two items to
+dnl look for:
+dnl	1. the prefix (e.g., /usr)
+dnl	2. the header files (e.g., /usr/include/ncurses)
+dnl We'll look for a previous installation of ncurses and use the same defaults.
+dnl
+dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
+dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
+dnl programs from a vendor's.
+AC_DEFUN([CF_CFG_DEFAULTS],
+[
+AC_MSG_CHECKING(for prefix)
+if test "x$prefix" = "xNONE" ; then
+	case "$cf_cv_system_name" in
+		# non-vendor systems don't have a conflict
+	openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
+		prefix=/usr
+		;;
+	*)	prefix=$ac_default_prefix
+		;;
+	esac
+fi
+AC_MSG_RESULT($prefix)
+
+if test "x$prefix" = "xNONE" ; then
+AC_MSG_CHECKING(for default include-directory)
+test -n "$verbose" && echo 1>&AC_FD_MSG
+for cf_symbol in \
+	$includedir \
+	$includedir/ncurses \
+	$prefix/include \
+	$prefix/include/ncurses \
+	/usr/local/include \
+	/usr/local/include/ncurses \
+	/usr/include \
+	/usr/include/ncurses
+do
+	cf_dir=`eval echo $cf_symbol`
+	if test -f $cf_dir/curses.h ; then
+	if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
+		includedir="$cf_symbol"
+		test -n "$verbose"  && echo $ac_n "	found " 1>&AC_FD_MSG
+		break
+	fi
+	fi
+	test -n "$verbose"  && echo "	tested $cf_dir" 1>&AC_FD_MSG
+done
+AC_MSG_RESULT($includedir)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
+dnl ----------
+dnl Check if the terminal-capability database functions are available.  If not,
+dnl ncurses has a much-reduced version.
+AC_DEFUN([CF_CGETENT],[
+AC_MSG_CHECKING(for terminal-capability database functions)
+AC_CACHE_VAL(cf_cv_cgetent,[
+AC_TRY_LINK([
+#include <stdlib.h>],[
+	char temp[128];
+	char *buf = temp;
+	char *db_array = temp;
+	cgetent(&buf, /* int *, */ &db_array, "vt100");
+	cgetcap(buf, "tc", '=');
+	cgetmatch(buf, "tc");
+	],
+	[cf_cv_cgetent=yes],
+	[cf_cv_cgetent=no])
+])
+AC_MSG_RESULT($cf_cv_cgetent)
+test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_CACHE version: 9 updated: 2004/01/30 15:59:13
+dnl --------------
+dnl Check if we're accidentally using a cache from a different machine.
+dnl Derive the system name, as a check for reusing the autoconf cache.
+dnl
+dnl If we've packaged config.guess and config.sub, run that (since it does a
+dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
+dnl which is useful in cross-compiles.
+dnl
+dnl Note: we would use $ac_config_sub, but that is one of the places where
+dnl autoconf 2.5x broke compatibility with autoconf 2.13
+AC_DEFUN([CF_CHECK_CACHE],
+[
+if test -f $srcdir/config.guess ; then
+	ifelse([$1],,[AC_CANONICAL_HOST],[$1])
+	system_name="$host_os"
+else
+	system_name="`(uname -s -r) 2>/dev/null`"
+	if test -z "$system_name" ; then
+		system_name="`(hostname) 2>/dev/null`"
+	fi
+fi
+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+test -z "$system_name" && system_name="$cf_cv_system_name"
+test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
+
+if test ".$system_name" != ".$cf_cv_system_name" ; then
+	AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
+	AC_ERROR("Please remove config.cache and try again.")
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
+dnl --------------
+dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
+dnl the 'errno' variable.  Define a DECL_xxx symbol if we must declare it
+dnl ourselves.
+dnl
+dnl $1 = the name to check
+AC_DEFUN([CF_CHECK_ERRNO],
+[
+AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
+    AC_TRY_COMPILE([
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <stdio.h>
+#include <sys/types.h>
+#include <errno.h> ],
+    [long x = (long) $1],
+    [cf_cv_dcl_$1=yes],
+    [cf_cv_dcl_$1=no])
+])
+
+if test "$cf_cv_dcl_$1" = no ; then
+    CF_UPPER(cf_result,decl_$1)
+    AC_DEFINE_UNQUOTED($cf_result)
+fi
+
+# It's possible (for near-UNIX clones) that the data doesn't exist
+CF_CHECK_EXTERN_DATA($1,int)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
+dnl --------------------
+dnl Check for existence of external data in the current set of libraries.  If
+dnl we can modify it, it's real enough.
+dnl $1 = the name to check
+dnl $2 = its type
+AC_DEFUN([CF_CHECK_EXTERN_DATA],
+[
+AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
+    AC_TRY_LINK([
+#undef $1
+extern $2 $1;
+],
+    [$1 = 2],
+    [cf_cv_have_$1=yes],
+    [cf_cv_have_$1=no])
+])
+
+if test "$cf_cv_have_$1" = yes ; then
+    CF_UPPER(cf_result,have_$1)
+    AC_DEFINE_UNQUOTED($cf_result)
+fi
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
+dnl -----------------
+dnl Check if the C++ compiler accepts duplicate parameter initialization.  This
+dnl is a late feature for the standard and is not in some recent compilers
+dnl (1999/9/11).
+AC_DEFUN([CF_CPP_PARAM_INIT],
+[
+if test -n "$CXX"; then
+AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
+	AC_LANG_SAVE
+	AC_LANG_CPLUSPLUS
+	AC_TRY_RUN([
+class TEST {
+private:
+	int value;
+public:
+	TEST(int x = 1);
+	~TEST();
+};
+
+TEST::TEST(int x = 1)	// some compilers do not like second initializer
+{
+	value = x;
+}
+void main() { }
+],
+	[cf_cv_cpp_param_init=yes],
+	[cf_cv_cpp_param_init=no],
+	[cf_cv_cpp_param_init=unknown])
+	AC_LANG_RESTORE
+])
+fi
+test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
+dnl -----------------
+dnl Check if the g++ compiler supports vscan function (not a standard feature).
+AC_DEFUN([CF_CPP_VSCAN_FUNC],
+[
+if test -n "$CXX"; then
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_CHECK_HEADERS(strstream.h)
+
+AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
+	for cf_vscan_func in strstream strstream_cast stdio
+	do
+	case $cf_vscan_func in #(vi
+	stdio)		cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
+	strstream)	cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
+	strstream_cast)	cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
+	esac
+	AC_TRY_LINK([
+#include <stdio.h>
+#include <stdarg.h>
+#define $cf_vscan_defs 1
+#if defined(USE_STDIO_VSCAN)
+#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
+#include <strstream.h>
+#endif
+
+int scanw(const char* fmt, ...)
+{
+    int result = -1;
+    char buf[BUFSIZ];
+
+    va_list args;
+    va_start(args, fmt);
+#if defined(USE_STDIO_VSCAN)
+    if (::vsscanf(buf, fmt, args) != -1)
+	result = 0;
+#elif defined(USE_STRSTREAM_VSCAN)
+    strstreambuf ss(buf, sizeof(buf));
+    if (ss.vscan(fmt, args) != -1)
+	result = 0;
+#elif defined(USE_STRSTREAM_VSCAN_CAST)
+    strstreambuf ss(buf, sizeof(buf));
+    if (ss.vscan(fmt, (_IO_va_list)args) != -1)
+	result = 0;
+#else
+#error case $cf_vscan_func failed
+#endif
+    va_end(args);
+    return result;
+}
+],[int tmp, foo = scanw("%d", &tmp)],
+	[cf_cv_cpp_vscan_func=$cf_vscan_func; break],
+	[cf_cv_cpp_vscan_func=no])
+	test "$cf_cv_cpp_vscan_func" != no && break
+	done
+])
+
+AC_LANG_RESTORE
+fi
+
+case $cf_cv_cpp_vscan_func in #(vi
+stdio) #(vi
+	AC_DEFINE(CPP_HAS_VSCAN_FUNC)
+	AC_DEFINE(USE_STDIO_VSCAN)
+	;;
+strstream)
+	AC_DEFINE(CPP_HAS_VSCAN_FUNC)
+	AC_DEFINE(USE_STRSTREAM_VSCAN)
+	;;
+strstream_cast)
+	AC_DEFINE(CPP_HAS_VSCAN_FUNC)
+	AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
+	;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
+dnl ----------
+dnl "dirname" is not portable, so we fake it with a shell script.
+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
+dnl ---------------
+AC_DEFUN([CF_DIRS_TO_MAKE],
+[
+DIRS_TO_MAKE="lib"
+for cf_item in $cf_list_models
+do
+	CF_OBJ_SUBDIR($cf_item,cf_subdir)
+	for cf_item2 in $DIRS_TO_MAKE
+	do
+		test $cf_item2 = $cf_subdir && break
+	done
+	test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
+done
+for cf_dir in $DIRS_TO_MAKE
+do
+	test ! -d $cf_dir && mkdir $cf_dir
+done
+AC_SUBST(DIRS_TO_MAKE)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
+dnl --------
+dnl Check if 'errno' is declared in <errno.h>
+AC_DEFUN([CF_ERRNO],
+[
+CF_CHECK_ERRNO(errno)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
+dnl ---------------
+dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
+dnl math.h and builtin.h, only for ncurses
+AC_DEFUN([CF_ETIP_DEFINES],
+[
+AC_MSG_CHECKING(for special defines needed for etip.h)
+cf_save_CXXFLAGS="$CXXFLAGS"
+cf_result="none"
+for cf_math in "" MATH_H
+do
+for cf_excp in "" MATH_EXCEPTION
+do
+	CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
+	test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+	test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+AC_TRY_COMPILE([
+#include <etip.h.in>
+],[],[
+	test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
+	test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
+	cf_result="$cf_math $cf_excp"
+	break
+],[])
+done
+done
+AC_MSG_RESULT($cf_result)
+CXXFLAGS="$cf_save_CXXFLAGS"
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
+dnl ---------------
+dnl Check for memmove, or a bcopy that can handle overlapping copy.  If neither
+dnl is found, add our own version of memmove to the list of objects.
+AC_DEFUN([CF_FUNC_MEMMOVE],
+[
+AC_CHECK_FUNC(memmove,,[
+AC_CHECK_FUNC(bcopy,[
+	AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
+		AC_TRY_RUN([
+int main() {
+	static char data[] = "abcdefghijklmnopqrstuwwxyz";
+	char temp[40];
+	bcopy(data, temp, sizeof(data));
+	bcopy(temp+10, temp, 15);
+	bcopy(temp+5, temp+15, 10);
+	exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
+}
+		],
+		[cf_cv_good_bcopy=yes],
+		[cf_cv_good_bcopy=no],
+		[cf_cv_good_bcopy=unknown])
+		])
+	],[cf_cv_good_bcopy=no])
+	if test "$cf_cv_good_bcopy" = yes ; then
+		AC_DEFINE(USE_OK_BCOPY)
+	else
+		AC_DEFINE(USE_MY_MEMMOVE)
+	fi
+])])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
+dnl ------------
+dnl See if the poll function really works.  Some platforms have poll(), but
+dnl it does not work for terminals or files.
+AC_DEFUN([CF_FUNC_POLL],[
+AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
+AC_TRY_RUN([
+#include <stdio.h>
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#else
+#include <sys/poll.h>
+#endif
+int main() {
+	struct pollfd myfds;
+	int ret;
+
+	myfds.fd = 0;
+	myfds.events = POLLIN;
+
+	ret = poll(&myfds, 1, 100);
+	exit(ret != 0);
+}],
+	[cf_cv_working_poll=yes],
+	[cf_cv_working_poll=no],
+	[cf_cv_working_poll=unknown])])
+test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
+dnl ---------------
+dnl Some old/broken variations define tcgetattr() only as a macro in
+dnl termio(s).h
+AC_DEFUN([CF_FUNC_TERMIOS],[
+AC_REQUIRE([CF_STRUCT_TERMIOS])
+AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
+AC_TRY_LINK([
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#define TTY struct termios
+#else
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#define TTY struct termio
+#endif
+#endif
+],[
+TTY foo;
+tcgetattr(1, &foo);],
+[cf_cv_have_tcgetattr=yes],
+[cf_cv_have_tcgetattr=no])])
+test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
+dnl ---------------
+dnl Check for vsscanf() function, which is in c9x but generally not in earlier
+dnl versions of C.  It is in the GNU C library, and can often be simulated by
+dnl other functions.
+AC_DEFUN([CF_FUNC_VSSCANF],
+[
+AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
+AC_TRY_LINK([
+#include <stdarg.h>
+#include <stdio.h>],[
+	va_list ap;
+	vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
+AC_TRY_LINK([
+#include <stdarg.h>
+#include <stdio.h>],[
+    FILE strbuf;
+    char *str = "from";
+
+    strbuf._flag = _IOREAD;
+    strbuf._ptr = strbuf._base = (unsigned char *) str;
+    strbuf._cnt = strlen(str);
+    strbuf._file = _NFILE;
+    return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
+AC_TRY_LINK([
+#include <stdarg.h>
+#include <stdio.h>],[
+    FILE strbuf;
+    char *str = "from";
+
+    strbuf._flag = _IOREAD;
+    strbuf._ptr = strbuf._base = (unsigned char *) str;
+    strbuf._cnt = strlen(str);
+    strbuf._file = _NFILE;
+    return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
+cf_cv_func_vsscanf=no])])])])
+
+case $cf_cv_func_vsscanf in #(vi
+vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
+vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
+_doscan) AC_DEFINE(HAVE__DOSCAN);;
+esac
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
+dnl -----------------
+dnl Test for availability of useful gcc __attribute__ directives to quiet
+dnl compiler warnings.  Though useful, not all are supported -- and contrary
+dnl to documentation, unrecognized directives cause older compilers to barf.
+AC_DEFUN([CF_GCC_ATTRIBUTES],
+[
+if test "$GCC" = yes
+then
+cat > conftest.i <<EOF
+#ifndef GCC_PRINTF
+#define GCC_PRINTF 0
+#endif
+#ifndef GCC_SCANF
+#define GCC_SCANF 0
+#endif
+#ifndef GCC_NORETURN
+#define GCC_NORETURN /* nothing */
+#endif
+#ifndef GCC_UNUSED
+#define GCC_UNUSED /* nothing */
+#endif
+EOF
+if test "$GCC" = yes
+then
+	AC_CHECKING([for $CC __attribute__ directives])
+cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include "confdefs.h"
+#include "conftest.h"
+#include "conftest.i"
+#if	GCC_PRINTF
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#else
+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+#endif
+#if	GCC_SCANF
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#else
+#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
+#endif
+extern void wow(char *,...) GCC_SCANFLIKE(1,2);
+extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+extern void foo(void) GCC_NORETURN;
+int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
+EOF
+	for cf_attribute in scanf printf unused noreturn
+	do
+		CF_UPPER(CF_ATTRIBUTE,$cf_attribute)
+		cf_directive="__attribute__(($cf_attribute))"
+		echo "checking for $CC $cf_directive" 1>&AC_FD_CC
+		case $cf_attribute in
+		scanf|printf)
+		cat >conftest.h <<EOF
+#define GCC_$CF_ATTRIBUTE 1
+EOF
+			;;
+		*)
+		cat >conftest.h <<EOF
+#define GCC_$CF_ATTRIBUTE $cf_directive
+EOF
+			;;
+		esac
+		if AC_TRY_EVAL(ac_compile); then
+			test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+			cat conftest.h >>confdefs.h
+		fi
+	done
+else
+	fgrep define conftest.i >>confdefs.h
+fi
+rm -rf conftest*
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
+dnl --------------
+dnl Find version of gcc
+AC_DEFUN([CF_GCC_VERSION],[
+AC_REQUIRE([AC_PROG_CC])
+GCC_VERSION=none
+if test "$GCC" = yes ; then
+	AC_MSG_CHECKING(version of $CC)
+	GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+	test -z "$GCC_VERSION" && GCC_VERSION=unknown
+	AC_MSG_RESULT($GCC_VERSION)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
+dnl ---------------
+dnl Check if the compiler supports useful warning options.  There's a few that
+dnl we don't use, simply because they're too noisy:
+dnl
+dnl	-Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
+dnl	-Wredundant-decls (system headers make this too noisy)
+dnl	-Wtraditional (combines too many unrelated messages, only a few useful)
+dnl	-Wwrite-strings (too noisy, but should review occasionally).  This
+dnl		is enabled for ncurses using "--enable-const".
+dnl	-pedantic
+dnl
+AC_DEFUN([CF_GCC_WARNINGS],
+[
+AC_REQUIRE([CF_GCC_VERSION])
+if test "$GCC" = yes
+then
+	cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
+EOF
+	AC_CHECKING([for $CC warning options])
+	cf_save_CFLAGS="$CFLAGS"
+	EXTRA_CFLAGS="-W -Wall"
+	cf_warn_CONST=""
+	test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
+	for cf_opt in \
+		Wbad-function-cast \
+		Wcast-align \
+		Wcast-qual \
+		Winline \
+		Wmissing-declarations \
+		Wmissing-prototypes \
+		Wnested-externs \
+		Wpointer-arith \
+		Wshadow \
+		Wstrict-prototypes \
+		Wundef $cf_warn_CONST
+	do
+		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+		if AC_TRY_EVAL(ac_compile); then
+			test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
+			case $cf_opt in #(vi
+			Wcast-qual) #(vi
+				CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
+				;;
+			Winline) #(vi
+				case $GCC_VERSION in
+				3.3*)
+					CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
+					continue;;
+				esac
+				;;
+			esac
+			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+		fi
+	done
+	rm -f conftest*
+	CFLAGS="$cf_save_CFLAGS"
+fi
+AC_SUBST(EXTRA_CFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
+dnl ---------------
+dnl Verify that a test program compiles and runs with GNAT
+dnl $cf_ada_make is set to the program that compiles/links
+AC_DEFUN([CF_GNAT_TRY_RUN],
+[
+rm -f conftest*
+cat >>conftest.ads <<CF_EOF
+$1
+CF_EOF
+cat >>conftest.adb <<CF_EOF
+$2
+CF_EOF
+if ( $cf_ada_make conftest 1>&AC_FD_CC 2>&1 ) ; then
+   if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
+ifelse($3,,      :,[      $3])
+ifelse($4,,,[   else
+      $4])
+   fi
+ifelse($4,,,[else
+   $4])
+fi
+rm -f conftest*
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
+dnl ---------------
+dnl Verify version of GNAT.
+AC_DEFUN([CF_GNAT_VERSION],
+[
+AC_MSG_CHECKING(for gnat version)
+cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
+  sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
+AC_MSG_RESULT($cf_gnat_version)
+
+case $cf_gnat_version in
+  3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
+    cf_cv_prog_gnat_correct=yes
+    ;;
+  *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
+     cf_cv_prog_gnat_correct=no
+     ;;
+esac
+case $cf_gnat_version in
+  3.[[1-9]]*|[[4-9]].*)
+      cf_compile_generics=generics
+      cf_generic_objects="\$(GENOBJS)"
+      ;;
+  *)  cf_compile_generics=
+      cf_generic_objects=
+      ;;
+esac
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
+dnl -------------
+dnl Check if we must define _GNU_SOURCE to get a reasonable value for
+dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
+dnl (or misfeature) of glibc2, which breaks portability of many applications,
+dnl since it is interwoven with GNU extensions.
+dnl
+dnl Well, yes we could work around it...
+AC_DEFUN([CF_GNU_SOURCE],
+[
+AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
+AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifndef _XOPEN_SOURCE
+make an error
+#endif],
+	[cf_cv_gnu_source=no],
+	[cf_save="$CPPFLAGS"
+	 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+	 AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifdef _XOPEN_SOURCE
+make an error
+#endif],
+	[cf_cv_gnu_source=no],
+	[cf_cv_gnu_source=yes])
+	CPPFLAGS="$cf_save"
+	])
+])
+test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
+dnl --------------
+dnl If we're trying to use g++, test if libg++ is installed (a rather common
+dnl problem :-).  If we have the compiler but no library, we'll be able to
+dnl configure, but won't be able to build the c++ demo program.
+AC_DEFUN([CF_GPP_LIBRARY],
+[
+cf_cxx_library=unknown
+case $cf_cv_system_name in #(vi
+os2*) #(vi
+	cf_gpp_libname=gpp
+	;;
+*)
+	cf_gpp_libname=g++
+	;;
+esac
+if test "$GXX" = yes; then
+	AC_MSG_CHECKING([for lib$cf_gpp_libname])
+	cf_save="$LIBS"
+	LIBS="$LIBS -l$cf_gpp_libname"
+	AC_TRY_LINK([
+#include <$cf_gpp_libname/builtin.h>
+	],
+	[two_arg_error_handler_t foo2 = lib_error_handler],
+	[cf_cxx_library=yes
+	 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
+	 if test "$cf_gpp_libname" = cpp ; then
+	    AC_DEFINE(HAVE_GPP_BUILTIN_H)
+	 else
+	    AC_DEFINE(HAVE_GXX_BUILTIN_H)
+	 fi],
+	[AC_TRY_LINK([
+#include <builtin.h>
+	],
+	[two_arg_error_handler_t foo2 = lib_error_handler],
+	[cf_cxx_library=yes
+	 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
+	 AC_DEFINE(HAVE_BUILTIN_H)],
+	[cf_cxx_library=no])])
+	LIBS="$cf_save"
+	AC_MSG_RESULT($cf_cxx_library)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
+dnl --------------
+dnl Check for version of g++
+AC_DEFUN([CF_GXX_VERSION],[
+AC_REQUIRE([AC_PROG_CPP])
+GXX_VERSION=none
+if test "$GXX" = yes; then
+	AC_MSG_CHECKING(version of g++)
+	GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
+	AC_MSG_RESULT($GXX_VERSION)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
+dnl ---------------
+dnl Construct the list of include-options according to whether we're building
+dnl in the source directory or using '--srcdir=DIR' option.  If we're building
+dnl with gcc, don't append the includedir if it happens to be /usr/include,
+dnl since that usually breaks gcc's shadow-includes.
+AC_DEFUN([CF_INCLUDE_DIRS],
+[
+CPPFLAGS="-I. -I../include $CPPFLAGS"
+if test "$srcdir" != "."; then
+	CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
+fi
+if test "$GCC" != yes; then
+	CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+elif test "$includedir" != "/usr/include"; then
+	if test "$includedir" = '${prefix}/include' ; then
+		if test $prefix != /usr ; then
+			CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+		fi
+	else
+		CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+	fi
+fi
+AC_SUBST(CPPFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
+dnl ----------
+dnl Check if we have either a function or macro for 'isascii()'.
+AC_DEFUN([CF_ISASCII],
+[
+AC_MSG_CHECKING(for isascii)
+AC_CACHE_VAL(cf_cv_have_isascii,[
+	AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
+	[cf_cv_have_isascii=yes],
+	[cf_cv_have_isascii=no])
+])dnl
+AC_MSG_RESULT($cf_cv_have_isascii)
+test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
+dnl ----------
+dnl Check for libutf8
+AC_DEFUN([CF_LIBUTF8],
+[
+AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
+	cf_save_LIBS="$LIBS"
+	LIBS="-lutf8 $LIBS"
+AC_TRY_LINK([
+#include <libutf8.h>],[putwc(0,0);],
+	[cf_cv_libutf8=yes],
+	[cf_cv_libutf8=no])
+	LIBS="$cf_save_LIBS"
+])
+
+if test "$cf_cv_libutf8" = yes ; then
+	AC_DEFINE(HAVE_LIBUTF8_H)
+	LIBS="-lutf8 $LIBS"
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
+dnl -------------
+dnl Compute the library-prefix for the given host system
+dnl $1 = variable to set
+AC_DEFUN([CF_LIB_PREFIX],
+[
+	case $cf_cv_system_name in
+	OS/2*)	LIB_PREFIX=''     ;;
+	os2*)	LIB_PREFIX=''     ;;
+	*)	LIB_PREFIX='lib'  ;;
+	esac
+ifelse($1,,,[$1=$LIB_PREFIX])
+	AC_SUBST(LIB_PREFIX)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIB_RULES version: 30 updated: 2004/01/10 15:50:50
+dnl ------------
+dnl Append definitions and rules for the given models to the subdirectory
+dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
+dnl subdirectory is a library-source directory, modify the LIBRARIES list in
+dnl the corresponding makefile to list the models that we'll generate.
+dnl
+dnl For shared libraries, make a list of symbolic links to construct when
+dnl generating each library.  The convention used for Linux is the simplest
+dnl one:
+dnl	lib<name>.so	->
+dnl	lib<name>.so.<major>	->
+dnl	lib<name>.so.<maj>.<minor>
+AC_DEFUN([CF_LIB_RULES],
+[
+CF_LIB_PREFIX(cf_prefix)
+AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+for cf_dir in $SRC_SUBDIRS
+do
+	if test -f $srcdir/$cf_dir/modules; then
+
+		IMPORT_LIB=
+		SHARED_LIB=
+		LIBS_TO_MAKE=
+		for cf_item in $CF_LIST_MODELS
+		do
+			CF_LIB_SUFFIX($cf_item,cf_suffix)
+			if test $cf_item = shared ; then
+			if test "$cf_cv_do_symlinks" = yes ; then
+				case "$cf_cv_shlib_version" in #(vi
+				rel) #(vi
+					case "$cf_cv_system_name" in #(vi
+					darwin*) cf_suffix='.$(REL_VERSION)'"$cf_suffix" ;; #(vi
+					*) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;;
+					esac
+					;;
+				abi)
+					case "$cf_cv_system_name" in #(vi
+					darwin*) cf_suffix='.$(ABI_VERSION)'"$cf_suffix" ;; #(vi
+					*) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
+					esac
+					;;
+				esac
+			fi
+			# cygwin needs import library, and has unique naming convention
+			# use autodetected ${cf_prefix} for import lib and static lib, but
+			# use 'cyg' prefix for shared lib.
+			if test $cf_cv_shlib_version = cygdll ; then
+				SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
+				IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
+				LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
+				continue
+			fi
+			fi
+			LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
+		done
+
+		if test $cf_dir = ncurses ; then
+			cf_subsets="$LIB_SUBSETS"
+			cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
+			if test "$cf_termlib" != "$cf_subsets" ; then
+				cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
+				LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
+			fi
+		else
+			cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+		fi
+
+		sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
+		    -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
+		    -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+			$cf_dir/Makefile >$cf_dir/Makefile.out
+		mv $cf_dir/Makefile.out $cf_dir/Makefile
+
+		$AWK -f $srcdir/mk-0th.awk \
+			libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
+			$srcdir/$cf_dir/modules >>$cf_dir/Makefile
+
+		for cf_subset in $cf_subsets
+		do
+			cf_subdirs=
+			for cf_item in $CF_LIST_MODELS
+			do
+			echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+			CF_UPPER(CF_ITEM,$cf_item)
+			CF_LIB_SUFFIX($cf_item,cf_suffix)
+			CF_OBJ_SUBDIR($cf_item,cf_subdir)
+
+			# These dependencies really are for development, not
+			# builds, but they are useful in porting, too.
+			cf_depend="../include/ncurses_cfg.h"
+			if test "$srcdir" = "."; then
+				cf_reldir="."
+			else
+				cf_reldir="\$(srcdir)"
+			fi
+
+			if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
+				cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
+			elif test -f $srcdir/$cf_dir/curses.priv.h; then
+				cf_depend="$cf_depend $cf_reldir/curses.priv.h"
+			fi
+
+			$AWK -f $srcdir/mk-1st.awk \
+				name=$cf_dir \
+				traces=$LIB_TRACING \
+				MODEL=$CF_ITEM \
+				model=$cf_subdir \
+				prefix=$cf_prefix \
+				suffix=$cf_suffix \
+				subset=$cf_subset \
+				ShlibVer=$cf_cv_shlib_version \
+				ShlibVerInfix=$cf_cv_shlib_version_infix \
+				DoLinks=$cf_cv_do_symlinks \
+				rmSoLocs=$cf_cv_rm_so_locs \
+				ldconfig="$LDCONFIG" \
+				overwrite=$WITH_OVERWRITE \
+				depend="$cf_depend" \
+				host="$host" \
+				$srcdir/$cf_dir/modules >>$cf_dir/Makefile
+			for cf_subdir2 in $cf_subdirs lib
+			do
+				test $cf_subdir = $cf_subdir2 && break
+			done
+			test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
+			$AWK -f $srcdir/mk-2nd.awk \
+				name=$cf_dir \
+				traces=$LIB_TRACING \
+				MODEL=$CF_ITEM \
+				model=$cf_subdir \
+				subset=$cf_subset \
+				srcdir=$srcdir \
+				echo=$WITH_ECHO \
+				$srcdir/$cf_dir/modules >>$cf_dir/Makefile
+			cf_subdirs="$cf_subdirs $cf_subdir"
+			done
+		done
+	fi
+
+	echo '	cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile
+done
+
+for cf_dir in $SRC_SUBDIRS
+do
+	if test -f $cf_dir/Makefile ; then
+		case "$cf_dir" in
+		Ada95) #(vi
+			echo 'libs \' >> Makefile
+			echo 'install.libs \' >> Makefile
+			echo 'uninstall.libs ::' >> Makefile
+			echo '	cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile
+			;;
+		esac
+	fi
+
+	if test -f $srcdir/$cf_dir/modules; then
+		echo >> Makefile
+		if test -f $srcdir/$cf_dir/headers; then
+cat >> Makefile <<CF_EOF
+install.includes \\
+uninstall.includes \\
+CF_EOF
+		fi
+if test "$cf_dir" != "c++" ; then
+echo 'lint \' >> Makefile
+fi
+cat >> Makefile <<CF_EOF
+libs \\
+lintlib \\
+install.libs \\
+uninstall.libs \\
+install.$cf_dir \\
+uninstall.$cf_dir ::
+	cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
+CF_EOF
+	elif test -f $srcdir/$cf_dir/headers; then
+cat >> Makefile <<CF_EOF
+
+libs \\
+install.libs \\
+uninstall.libs \\
+install.includes \\
+uninstall.includes ::
+	cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
+CF_EOF
+fi
+done
+
+cat >> Makefile <<CF_EOF
+
+install.data \\
+uninstall.data ::
+$MAKE_TERMINFO	cd misc && \$(MAKE) \$(CF_MFLAGS) \[$]@
+
+install.man \\
+uninstall.man ::
+	cd man && \$(MAKE) \$(CF_MFLAGS) \[$]@
+
+distclean ::
+	rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
+	rm -f headers.sh headers.sed
+	rm -rf \$(DIRS_TO_MAKE)
+CF_EOF
+
+# Special case: tack's manpage lives in its own directory.
+if test -d tack ; then
+if test -f $srcdir/$tack.h; then
+cat >> Makefile <<CF_EOF
+
+install.man \\
+uninstall.man ::
+	cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
+CF_EOF
+fi
+fi
+
+dnl If we're installing into a subdirectory of /usr/include, etc., we should
+dnl prepend the subdirectory's name to the "#include" paths.  It won't hurt
+dnl anything, and will make it more standardized.  It's awkward to decide this
+dnl at configuration because of quoting, so we'll simply make all headers
+dnl installed via a script that can do the right thing.
+
+rm -f headers.sed headers.sh
+
+dnl ( generating this script makes the makefiles a little tidier :-)
+echo creating headers.sh
+cat >headers.sh <<CF_EOF
+#! /bin/sh
+# This shell script is generated by the 'configure' script.  It is invoked in a
+# subdirectory of the build tree.  It generates a sed-script in the parent
+# directory that is used to adjust includes for header files that reside in a
+# subdirectory of /usr/include, etc.
+PRG=""
+while test \[$]# != 3
+do
+PRG="\$PRG \[$]1"; shift
+done
+DST=\[$]1
+REF=\[$]2
+SRC=\[$]3
+TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
+echo installing \$SRC in \$DST
+CF_EOF
+if test $WITH_CURSES_H = yes; then
+	cat >>headers.sh <<CF_EOF
+case \$DST in
+/*/include/*)
+	END=\`basename \$DST\`
+	for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
+	do
+		NAME=\`basename \$i\`
+		echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+	done
+	;;
+*)
+	echo "" >> \$TMPSED
+	;;
+esac
+CF_EOF
+else
+	cat >>headers.sh <<CF_EOF
+case \$DST in
+/*/include/*)
+	END=\`basename \$DST\`
+	for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
+	do
+		NAME=\`basename \$i\`
+		if test "\$NAME" = "curses.h"
+		then
+			echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+			NAME=ncurses.h
+		fi
+		echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+	done
+	;;
+*)
+	echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+	;;
+esac
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+rm -f \$TMPSRC
+sed -f \$TMPSED \$SRC > \$TMPSRC
+NAME=\`basename \$SRC\`
+CF_EOF
+if test $WITH_CURSES_H != yes; then
+	cat >>headers.sh <<CF_EOF
+test "\$NAME" = "curses.h" && NAME=ncurses.h
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+# Just in case someone gzip'd manpages, remove the conflicting copy.
+test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
+
+eval \$PRG \$TMPSRC \$DST/\$NAME
+rm -f \$TMPSRC \$TMPSED
+CF_EOF
+
+chmod 0755 headers.sh
+
+for cf_dir in $SRC_SUBDIRS
+do
+	if test -f $srcdir/$cf_dir/headers; then
+	cat >>$cf_dir/Makefile <<CF_EOF
+\$(DESTDIR)\$(includedir) :
+	sh \$(srcdir)/../mkinstalldirs \[$]@
+
+install \\
+install.libs \\
+install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
+CF_EOF
+		j=""
+		for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
+		do
+			test -n "$j" && echo "		$j \\" >>$cf_dir/Makefile
+			j=$i
+		done
+		echo "		$j" >>$cf_dir/Makefile
+		for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
+		do
+			echo "	@ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
+			test $i = curses.h && test $WITH_CURSES_H = yes && echo "	@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
+		done
+
+	cat >>$cf_dir/Makefile <<CF_EOF
+
+uninstall \\
+uninstall.libs \\
+uninstall.includes ::
+CF_EOF
+		for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
+		do
+			i=`basename $i`
+			echo "	-@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
+			test $i = curses.h && echo "	-@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
+		done
+	fi
+
+	if test -f $srcdir/$cf_dir/modules; then
+		if test "$cf_dir" != "c++" ; then
+			cat >>$cf_dir/Makefile <<"CF_EOF"
+depend : $(AUTO_SRC)
+	makedepend -- $(CPPFLAGS) -- $(C_SRC)
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+CF_EOF
+		fi
+	fi
+done
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07
+dnl -------------
+dnl Compute the library file-suffix from the given model name
+dnl $1 = model name
+dnl $2 = variable to set
+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
+AC_DEFUN([CF_LIB_SUFFIX],
+[
+	AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+	case $1 in
+	libtool) $2='.la'  ;;
+	normal)  $2='.a'   ;;
+	debug)   $2='_g.a' ;;
+	profile) $2='_p.a' ;;
+	shared)
+		case $cf_cv_system_name in
+		cygwin*) $2='.dll' ;;
+		darwin*) $2='.dylib' ;;
+		hpux*)
+			case $target in
+			ia64*)	$2='.so' ;;
+			*)	$2='.sl' ;;
+			esac
+			;;
+		*)	$2='.so'  ;;
+		esac
+	esac
+	test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
+dnl -----------
+dnl Compute the string to append to -library from the given model name
+dnl $1 = model name
+dnl $2 = variable to set
+dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
+AC_DEFUN([CF_LIB_TYPE],
+[
+	case $1 in
+	libtool) $2=''   ;;
+	normal)  $2=''   ;;
+	debug)   $2='_g' ;;
+	profile) $2='_p' ;;
+	shared)  $2=''   ;;
+	esac
+	test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
+dnl ----------------
+dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+dnl only data (i.e., no functions), for example NeXT.  On those systems we'll
+dnl have to provide wrappers for global tables to ensure they're linked
+dnl properly.
+AC_DEFUN([CF_LINK_DATAONLY],
+[
+AC_MSG_CHECKING([if data-only library module links])
+AC_CACHE_VAL(cf_cv_link_dataonly,[
+	rm -f conftest.a
+	cat >conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+int	testdata[[3]] = { 123, 456, 789 };
+EOF
+	if AC_TRY_EVAL(ac_compile) ; then
+		mv conftest.o data.o && \
+		( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
+	fi
+	rm -f conftest.$ac_ext data.o
+	cat >conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+int	testfunc()
+{
+#if defined(NeXT)
+	exit(1);	/* I'm told this linker is broken */
+#else
+	extern int testdata[[3]];
+	return testdata[[0]] == 123
+	   &&  testdata[[1]] == 456
+	   &&  testdata[[2]] == 789;
+#endif
+}
+EOF
+	if AC_TRY_EVAL(ac_compile); then
+		mv conftest.o func.o && \
+		( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
+	fi
+	rm -f conftest.$ac_ext func.o
+	( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
+	cf_saveLIBS="$LIBS"
+	LIBS="conftest.a $LIBS"
+	AC_TRY_RUN([
+	int main()
+	{
+		extern int testfunc();
+		exit (!testfunc());
+	}
+	],
+	[cf_cv_link_dataonly=yes],
+	[cf_cv_link_dataonly=no],
+	[cf_cv_link_dataonly=unknown])
+	LIBS="$cf_saveLIBS"
+	])
+AC_MSG_RESULT($cf_cv_link_dataonly)
+
+if test "$cf_cv_link_dataonly" = no ; then
+	AC_DEFINE(BROKEN_LINKER)
+	BROKEN_LINKER=1
+fi
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
+dnl -------------
+dnl Most Unix systems have both link and symlink, a few don't have symlink.
+dnl A few non-Unix systems implement symlink, but not link.
+dnl A few non-systems implement neither (or have nonfunctional versions).
+AC_DEFUN([CF_LINK_FUNCS],
+[
+AC_CHECK_FUNCS( \
+	remove \
+	unlink )
+
+if test "$cross_compiling" = yes ; then
+	AC_CHECK_FUNCS( \
+		link \
+		symlink )
+else
+	AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
+		cf_cv_link_funcs=
+		for cf_func in link symlink ; do
+			AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/stat.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+int main()
+{
+	int fail = 0;
+	char *src = "config.log";
+	char *dst = "conftest.chk";
+	struct stat src_sb;
+	struct stat dst_sb;
+
+	stat(src, &src_sb);
+	fail = ($cf_func("config.log", "conftest.chk") < 0)
+	    || (stat(dst, &dst_sb) < 0)
+	    || (dst_sb.st_mtime != src_sb.st_mtime);
+#ifdef HAVE_UNLINK
+	unlink(dst);
+#else
+	remove(dst);
+#endif
+	exit (fail);
+}
+			],[
+			cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+			eval 'ac_cv_func_'$cf_func'=yes'],[
+			eval 'ac_cv_func_'$cf_func'=no'],[
+			eval 'ac_cv_func_'$cf_func'=error'])
+		done
+		test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+	])
+	test "$ac_cv_func_link"    = yes && AC_DEFINE(HAVE_LINK)
+	test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
+dnl ------------
+dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
+dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
+dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
+dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
+AC_DEFUN([CF_MAKEFLAGS],
+[
+AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
+	cf_cv_makeflags=''
+	for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
+	do
+		cat >cf_makeflags.tmp <<CF_EOF
+SHELL = /bin/sh
+all :
+	@ echo '.$cf_option'
+CF_EOF
+		cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
+		case "$cf_result" in
+		.*k)
+			cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
+			case "$cf_result" in
+			.*CC=*)	cf_cv_makeflags=
+				;;
+			*)	cf_cv_makeflags=$cf_option
+				;;
+			esac
+			break
+			;;
+		*)	echo no match "$cf_result"
+			;;
+		esac
+	done
+	rm -f cf_makeflags.tmp
+])
+
+AC_SUBST(cf_cv_makeflags)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
+dnl ------------
+dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
+dnl a monocase filesystem.
+AC_DEFUN([CF_MAKE_TAGS],[
+AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
+AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
+
+if test "$cf_cv_mixedcase" = yes ; then
+	AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
+else
+	MAKE_UPPER_TAGS=no
+fi
+
+if test "$MAKE_UPPER_TAGS" = yes ; then
+	MAKE_UPPER_TAGS=
+else
+	MAKE_UPPER_TAGS="#"
+fi
+AC_SUBST(MAKE_UPPER_TAGS)
+
+if test "$MAKE_LOWER_TAGS" = yes ; then
+	MAKE_LOWER_TAGS=
+else
+	MAKE_LOWER_TAGS="#"
+fi
+AC_SUBST(MAKE_LOWER_TAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
+dnl -----------------
+dnl Option to allow user to override automatic configuration of manpage format.
+dnl There are several special cases:
+dnl
+dnl	gzip - man checks for, can display gzip'd files
+dnl	compress - man checks for, can display compressed files
+dnl	BSDI - files in the cat-directories are suffixed ".0"
+dnl	formatted - installer should format (put files in cat-directory)
+dnl	catonly - installer should only format, e.g., for a turnkey system.
+dnl
+dnl There are other configurations which this macro does not test, e.g., HPUX's
+dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
+dnl convention would not match our use).
+AC_DEFUN([CF_MANPAGE_FORMAT],
+[
+AC_REQUIRE([CF_PATHSEP])
+AC_MSG_CHECKING(format of man-pages)
+
+AC_ARG_WITH(manpage-format,
+	[  --with-manpage-format   specify manpage-format: gzip/compress/BSDI/normal and
+                          optionally formatted/catonly, e.g., gzip,formatted],
+	[MANPAGE_FORMAT=$withval],
+	[MANPAGE_FORMAT=unknown])
+
+test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
+MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
+
+cf_unknown=
+
+case $MANPAGE_FORMAT in
+unknown)
+  if test -z "$MANPATH" ; then
+    MANPATH="/usr/man:/usr/share/man"
+  fi
+
+  # look for the 'date' man-page (it's most likely to be installed!)
+  MANPAGE_FORMAT=
+  cf_preform=no
+  cf_catonly=yes
+  cf_example=date
+
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
+  for cf_dir in $MANPATH; do
+    test -z "$cf_dir" && cf_dir=/usr/man
+    for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
+    do
+      cf_test=`echo $cf_name | sed -e 's/*//'`
+      if test "x$cf_test" = "x$cf_name" ; then
+
+	case "$cf_name" in
+	*.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
+	*.Z)  MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
+	*.0)	MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
+	*)    MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
+	esac
+
+	case "$cf_name" in
+	$cf_dir/man*)
+	  cf_catonly=no
+	  ;;
+	$cf_dir/cat*)
+	  cf_preform=yes
+	  ;;
+	esac
+	break
+      fi
+
+      # if we found a match in either man* or cat*, stop looking
+      if test -n "$MANPAGE_FORMAT" ; then
+	cf_found=no
+	test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
+	test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
+	case "$cf_name" in
+	$cf_dir/cat*)
+	  cf_found=yes
+	  ;;
+	esac
+	test $cf_found=yes && break
+      fi
+    done
+    # only check the first directory in $MANPATH where we find manpages
+    if test -n "$MANPAGE_FORMAT" ; then
+       break
+    fi
+  done
+  # if we did not find the example, just assume it is normal
+  test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
+  IFS="$ac_save_ifs"
+  ;;
+*)
+  for cf_option in $MANPAGE_FORMAT; do
+     case $cf_option in #(vi
+     gzip|compress|BSDI|normal|formatted|catonly)
+       ;;
+     *)
+       cf_unknown="$cf_unknown $cf_option"
+       ;;
+     esac
+  done
+  ;;
+esac
+
+AC_MSG_RESULT($MANPAGE_FORMAT)
+if test -n "$cf_unknown" ; then
+  AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
+dnl ------------------
+dnl The Debian people have their own naming convention for manpages.  This
+dnl option lets us override the name of the file containing renaming, or
+dnl disable it altogether.
+AC_DEFUN([CF_MANPAGE_RENAMES],
+[
+AC_MSG_CHECKING(for manpage renaming)
+
+AC_ARG_WITH(manpage-renames,
+	[  --with-manpage-renames  specify manpage-renaming],
+	[MANPAGE_RENAMES=$withval],
+	[MANPAGE_RENAMES=yes])
+
+case ".$MANPAGE_RENAMES" in #(vi
+.no) #(vi
+  ;;
+.|.yes)
+  # Debian 'man' program?
+  if test -f /etc/debian_version ; then
+    MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
+  else
+    MANPAGE_RENAMES=no
+  fi
+  ;;
+esac
+
+if test "$MANPAGE_RENAMES" != no ; then
+  if test -f $srcdir/man/$MANPAGE_RENAMES ; then
+    MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
+  elif test ! -f $MANPAGE_RENAMES ; then
+    AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
+  fi
+
+  test ! -d man && mkdir man
+
+  # Construct a sed-script to perform renaming within man-pages
+  if test -n "$MANPAGE_RENAMES" ; then
+    test ! -d man && mkdir man
+    sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >man/edit_man.sed
+  fi
+fi
+
+AC_MSG_RESULT($MANPAGE_RENAMES)
+AC_SUBST(MANPAGE_RENAMES)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
+dnl -------------------
+dnl Some people expect each tool to make all aliases for manpages in the
+dnl man-directory.  This accommodates the older, less-capable implementations
+dnl of 'man', and is optional.
+AC_DEFUN([CF_MANPAGE_SYMLINKS],
+[
+AC_MSG_CHECKING(if manpage aliases will be installed)
+
+AC_ARG_WITH(manpage-aliases,
+	[  --with-manpage-aliases  specify manpage-aliases using .so],
+	[MANPAGE_ALIASES=$withval],
+	[MANPAGE_ALIASES=yes])
+
+AC_MSG_RESULT($MANPAGE_ALIASES)
+
+if test "$LN_S" = "ln -s"; then
+	cf_use_symlinks=yes
+else
+	cf_use_symlinks=no
+fi
+
+MANPAGE_SYMLINKS=no
+if test "$MANPAGE_ALIASES" = yes ; then
+AC_MSG_CHECKING(if manpage symlinks should be used)
+
+AC_ARG_WITH(manpage-symlinks,
+	[  --with-manpage-symlinks specify manpage-aliases using symlinks],
+	[MANPAGE_SYMLINKS=$withval],
+	[MANPAGE_SYMLINKS=$cf_use_symlinks])
+
+if test "$$cf_use_symlinks" = no; then
+if test "$MANPAGE_SYMLINKS" = yes ; then
+	AC_MSG_WARN(cannot make symlinks, will use .so files)
+	MANPAGE_SYMLINKS=no
+fi
+fi
+
+AC_MSG_RESULT($MANPAGE_SYMLINKS)
+fi
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
+dnl --------------
+dnl This option causes manpages to be run through tbl(1) to generate tables
+dnl correctly.
+AC_DEFUN([CF_MANPAGE_TBL],
+[
+AC_MSG_CHECKING(for manpage tbl)
+
+AC_ARG_WITH(manpage-tbl,
+	[  --with-manpage-tbl      specify manpage processing with tbl],
+	[MANPAGE_TBL=$withval],
+	[MANPAGE_TBL=no])
+
+AC_MSG_RESULT($MANPAGE_TBL)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MAN_PAGES version: 27 updated: 2003/12/20 20:39:45
+dnl ------------
+dnl Try to determine if the man-pages on the system are compressed, and if
+dnl so, what format is used.  Use this information to construct a script that
+dnl will install man-pages.
+AC_DEFUN([CF_MAN_PAGES],
+[
+CF_MANPAGE_FORMAT
+CF_MANPAGE_RENAMES
+CF_MANPAGE_SYMLINKS
+CF_MANPAGE_TBL
+
+  if test "$prefix" = "NONE" ; then
+     cf_prefix="$ac_default_prefix"
+  else
+     cf_prefix="$prefix"
+  fi
+
+  case "$MANPAGE_FORMAT" in # (vi
+  *catonly*) # (vi
+    cf_format=yes
+    cf_inboth=no
+    ;;
+  *formatted*) # (vi
+    cf_format=yes
+    cf_inboth=yes
+    ;;
+  *)
+    cf_format=no
+    cf_inboth=no
+    ;;
+  esac
+
+test ! -d man && mkdir man
+
+cf_so_strip=
+cf_compress=
+case "$MANPAGE_FORMAT" in #(vi
+*compress*) #(vi
+	cf_so_strip="Z"
+	cf_compress=compress
+  ;;
+*gzip*) #(vi
+	cf_so_strip="gz"
+	cf_compress=gzip
+  ;;
+esac
+
+cf_edit_man=man/edit_man.sh
+
+cat >$cf_edit_man <<CF_EOF
+#! /bin/sh
+# this script is generated by the configure-script CF_MAN_PAGES macro.
+prefix="$cf_prefix"
+datadir="$datadir"
+NCURSES_OSPEED="$NCURSES_OSPEED"
+TERMINFO="$TERMINFO"
+MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
+INSTALL="$INSTALL"
+INSTALL_DATA="$INSTALL_DATA"
+transform="$program_transform_name"
+
+TMP=\${TMPDIR-/tmp}/man\$\$
+trap "rm -f \$TMP" 0 1 2 5 15
+
+form=\[$]1
+shift || exit 1
+
+verb=\[$]1
+shift || exit 1
+
+mandir=\[$]1
+shift || exit 1
+
+srcdir=\[$]1
+shift || exit 1
+
+if test "\$form" = normal ; then
+	if test "$cf_format" = yes ; then
+	if test "$cf_inboth" = no ; then
+		sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
+		exit $?
+	fi
+	fi
+	cf_subdir=\$mandir/man
+	cf_tables=$MANPAGE_TBL
+else
+	cf_subdir=\$mandir/cat
+	cf_tables=yes
+fi
+
+# process the list of source-files
+for i in \[$]* ; do
+case \$i in #(vi
+*.orig|*.rej) ;; #(vi
+*.[[0-9]]*)
+	section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
+	if test \$verb = installing ; then
+	if test ! -d \$cf_subdir\${section} ; then
+		\$MKDIRS \$cf_subdir\$section
+	fi
+	fi
+	aliases=
+	source=\`basename \$i\`
+	inalias=\$source
+	test ! -f \$inalias && inalias="\$srcdir/\$inalias"
+	if test ! -f \$inalias ; then
+		echo .. skipped \$source
+		continue
+	fi
+CF_EOF
+
+if test "$MANPAGE_ALIASES" != no ; then
+cat >>$cf_edit_man <<CF_EOF
+	aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
+CF_EOF
+fi
+
+if test "$MANPAGE_RENAMES" = no ; then
+cat >>$cf_edit_man <<CF_EOF
+	# perform program transformations for section 1 man pages
+	if test \$section = 1 ; then
+		target=\$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
+	else
+		target=\$cf_subdir\${section}/\$source
+	fi
+CF_EOF
+else
+cat >>$cf_edit_man <<CF_EOF
+	target=\`grep "^\$source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
+	if test -z "\$target" ; then
+		echo '? missing rename for '\$source
+		target="\$source"
+	fi
+	target="\$cf_subdir\${section}/\${target}"
+CF_EOF
+fi
+
+	# replace variables in man page
+	ifelse($1,,,[
+	for cf_name in $1
+	do
+cat >>$cf_edit_man <<CF_EOF
+	prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
+CF_EOF
+	done
+	])
+cat >>$cf_edit_man <<CF_EOF
+	sed	-e "s,@DATADIR@,\$datadir," \\
+		-e "s,@TERMINFO@,\$TERMINFO," \\
+		-e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
+CF_EOF
+
+	ifelse($1,,,[
+	for cf_name in $1
+	do
+		cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+cat >>$cf_edit_man <<CF_EOF
+		-e "s,@$cf_NAME@,\$prog_$cf_name," \\
+CF_EOF
+	done
+	])
+
+if test -f $MANPAGE_RENAMES ; then
+cat >>$cf_edit_man <<CF_EOF
+		< \$i | sed -f $srcdir/edit_man.sed >\$TMP
+CF_EOF
+else
+cat >>$cf_edit_man <<CF_EOF
+		< \$i >\$TMP
+CF_EOF
+fi
+
+cat >>$cf_edit_man <<CF_EOF
+if test \$cf_tables = yes ; then
+	tbl \$TMP >\$TMP.out
+	mv \$TMP.out \$TMP
+fi
+CF_EOF
+
+if test $with_curses_h != yes ; then
+cat >>$cf_edit_man <<CF_EOF
+	sed -e "/\#[    ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
+	mv \$TMP.out \$TMP
+CF_EOF
+fi
+
+cat >>$cf_edit_man <<CF_EOF
+	if test \$form = format ; then
+		nroff -man \$TMP >\$TMP.out
+		mv \$TMP.out \$TMP
+	fi
+CF_EOF
+
+if test -n "$cf_compress" ; then
+cat >>$cf_edit_man <<CF_EOF
+	if test \$verb = installing ; then
+	if ( $cf_compress -f \$TMP )
+	then
+		mv \$TMP.$cf_so_strip \$TMP
+	fi
+	fi
+	target="\$target.$cf_so_strip"
+CF_EOF
+fi
+
+case "$MANPAGE_FORMAT" in #(vi
+*BSDI*)
+cat >>$cf_edit_man <<CF_EOF
+	if test \$form = format ; then
+		# BSDI installs only .0 suffixes in the cat directories
+		target="\`echo \$target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
+	fi
+CF_EOF
+  ;;
+esac
+
+cat >>$cf_edit_man <<CF_EOF
+	suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
+	if test \$verb = installing ; then
+		echo \$verb \$target
+		\$INSTALL_DATA \$TMP \$target
+		test -n "\$aliases" && (
+			cd \$cf_subdir\${section} && (
+				source=\`echo \$target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
+				test -n "$cf_so_strip" && source=\`echo \$source |sed -e 's%\.$cf_so_strip\$%%'\`
+				target=\`basename \$target\`
+				for cf_alias in \$aliases
+				do
+					if test \$section = 1 ; then
+						cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+					fi
+
+					if test "$MANPAGE_SYMLINKS" = yes ; then
+						if test -f \$cf_alias\${suffix} ; then
+							if ( cmp -s \$target \$cf_alias\${suffix} )
+							then
+								continue
+							fi
+						fi
+						echo .. \$verb alias \$cf_alias\${suffix}
+						rm -f \$cf_alias\${suffix}
+						$LN_S \$target \$cf_alias\${suffix}
+					elif test "\$target" != "\$cf_alias\${suffix}" ; then
+						echo ".so \$source" >\$TMP
+CF_EOF
+if test -n "$cf_compress" ; then
+cat >>$cf_edit_man <<CF_EOF
+						if test -n "$cf_so_strip" ; then
+							$cf_compress -f \$TMP
+							mv \$TMP.$cf_so_strip \$TMP
+						fi
+CF_EOF
+fi
+cat >>$cf_edit_man <<CF_EOF
+						echo .. \$verb alias \$cf_alias\${suffix}
+						rm -f \$cf_alias\${suffix}
+						\$INSTALL_DATA \$TMP \$cf_alias\${suffix}
+					fi
+				done
+			)
+		)
+	elif test \$verb = removing ; then
+		echo \$verb \$target
+		rm -f \$target
+		test -n "\$aliases" && (
+			cd \$cf_subdir\${section} && (
+				for cf_alias in \$aliases
+				do
+					if test \$section = 1 ; then
+						cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
+					fi
+
+					echo .. \$verb alias \$cf_alias\${suffix}
+					rm -f \$cf_alias\${suffix}
+				done
+			)
+		)
+	else
+#		echo ".hy 0"
+		cat \$TMP
+	fi
+	;;
+esac
+done
+
+if test $cf_inboth = yes ; then
+if test \$form != format ; then
+	sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
+fi
+fi
+
+exit 0
+CF_EOF
+chmod 755 $cf_edit_man
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
+dnl -----------
+dnl Checks for libraries.  At least one UNIX system, Apple Macintosh
+dnl Rhapsody 5.5, does not have -lm.  We cannot use the simpler
+dnl AC_CHECK_LIB(m,sin), because that fails for C++.
+AC_DEFUN([CF_MATH_LIB],
+[
+AC_CACHE_CHECK(if -lm needed for math functions,
+	cf_cv_need_libm,[
+	AC_TRY_LINK([
+	#include <stdio.h>
+	#include <math.h>
+	],
+	[double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
+	[cf_cv_need_libm=no],
+	[cf_cv_need_libm=yes])])
+if test "$cf_cv_need_libm" = yes
+then
+ifelse($1,,[
+	LIBS="$LIBS -lm"
+],[$1=-lm])
+fi
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
+dnl ----------------------
+dnl Check if the file-system supports mixed-case filenames.  If we're able to
+dnl create a lowercase name and see it as uppercase, it doesn't support that.
+AC_DEFUN([CF_MIXEDCASE_FILENAMES],
+[
+AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
+if test "$cross_compiling" = yes ; then
+	case $target_alias in #(vi
+	*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
+		cf_cv_mixedcase=no
+		;;
+	*)
+		cf_cv_mixedcase=yes
+		;;
+	esac
+else
+	rm -f conftest CONFTEST
+	echo test >conftest
+	if test -f CONFTEST ; then
+		cf_cv_mixedcase=no
+	else
+		cf_cv_mixedcase=yes
+	fi
+	rm -f conftest CONFTEST
+fi
+])
+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
+dnl ----------
+dnl Check for a working mkstemp.  This creates two files, checks that they are
+dnl successfully created and distinct (AmigaOS apparently fails on the last).
+AC_DEFUN([CF_MKSTEMP],[
+AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
+rm -f conftest*
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+int main()
+{
+	char *tmpl = "conftestXXXXXX";
+	char name[2][80];
+	int n;
+	int result = 0;
+	int fd;
+	struct stat sb;
+
+	umask(077);
+	for (n = 0; n < 2; ++n) {
+		strcpy(name[n], tmpl);
+		if ((fd = mkstemp(name[n])) >= 0) {
+			if (!strcmp(name[n], tmpl)
+			 || stat(name[n], &sb) != 0
+			 || (sb.st_mode & S_IFMT) != S_IFREG
+			 || (sb.st_mode & 077) != 0) {
+				result = 1;
+			}
+			close(fd);
+		}
+	}
+	if (result == 0
+	 && !strcmp(name[0], name[1]))
+		result = 1;
+	exit(result);
+}
+],[cf_cv_func_mkstemp=yes
+],[cf_cv_func_mkstemp=no
+],[AC_CHECK_FUNC(mkstemp)
+])
+])
+if test "$cf_cv_func_mkstemp" = yes ; then
+	AC_DEFINE(HAVE_MKSTEMP)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
+dnl ----------------
+dnl Check if the given variable is a number.  If not, report an error.
+dnl $1 is the variable
+dnl $2 is the message
+AC_DEFUN([CF_NUMBER_SYNTAX],[
+if test -n "$1" ; then
+  case $1 in #(vi
+  [[0-9]]*) #(vi
+ 	;;
+  *)
+	AC_MSG_ERROR($2 is not a number: $1)
+ 	;;
+  esac
+else
+  AC_MSG_ERROR($2 value is empty)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
+dnl -------------
+dnl Compute the object-directory name from the given model name
+AC_DEFUN([CF_OBJ_SUBDIR],
+[
+	case $1 in
+	libtool) $2='obj_lo'  ;;
+	normal)  $2='objects' ;;
+	debug)   $2='obj_g' ;;
+	profile) $2='obj_p' ;;
+	shared)
+		case $cf_cv_system_name in #(vi
+		cygwin) #(vi
+			$2='objects' ;;
+		*)
+			$2='obj_s' ;;
+		esac
+	esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
+dnl ----------
+dnl Provide a value for the $PATH and similar separator
+AC_DEFUN([CF_PATHSEP],
+[
+	case $cf_cv_system_name in
+	os2*)	PATHSEP=';'  ;;
+	*)	PATHSEP=':'  ;;
+	esac
+ifelse($1,,,[$1=$PATHSEP])
+	AC_SUBST(PATHSEP)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
+dnl --------------
+dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
+dnl begins with one of the prefix/exec_prefix variables, and then again if the
+dnl result begins with 'NONE'.  This is necessary to work around autoconf's
+dnl delayed evaluation of those symbols.
+AC_DEFUN([CF_PATH_SYNTAX],[
+case ".[$]$1" in #(vi
+.\[$]\(*\)*|.\'*\'*) #(vi
+  ;;
+..|./*|.\\*) #(vi
+  ;;
+.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
+  ;;
+.\[$]{*prefix}*) #(vi
+  eval $1="[$]$1"
+  case ".[$]$1" in #(vi
+  .NONE/*)
+    $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
+    ;;
+  esac
+  ;; #(vi
+.NONE/*)
+  $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
+  ;;
+*)
+  ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
+  ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
+dnl ------------
+dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
+dnl
+dnl $1 = symbol to test
+dnl $2 = value (if any) to use for a predefinition
+AC_DEFUN([CF_PREDEFINE],
+[
+AC_MSG_CHECKING(if we must define $1)
+AC_TRY_COMPILE([#include <sys/types.h>
+],[
+#ifndef $1
+make an error
+#endif],[cf_result=no],[cf_result=yes])
+AC_MSG_RESULT($cf_result)
+
+if test "$cf_result" = yes ; then
+	CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
+elif test "x$2" != "x" ; then
+	AC_MSG_CHECKING(checking for compatible value versus $2)
+	AC_TRY_COMPILE([#include <sys/types.h>
+],[
+#if $1-$2 < 0
+make an error
+#endif],[cf_result=yes],[cf_result=no])
+	AC_MSG_RESULT($cf_result)
+	if test "$cf_result" = no ; then
+		# perhaps we can override it - try...
+		CPPFLAGS="$CPPFLAGS -D$1=$2"
+	fi
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
+dnl -----------
+dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+AC_DEFUN([CF_PROG_EXT],
+[
+AC_REQUIRE([CF_CHECK_CACHE])
+case $cf_cv_system_name in
+os2*)
+    CFLAGS="$CFLAGS -Zmt"
+    CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+    CXXFLAGS="$CXXFLAGS -Zmt"
+    # autoconf's macro sets -Zexe and suffix both, which conflict:w
+    LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+    ac_cv_exeext=.exe
+    ;;
+esac
+
+AC_EXEEXT
+AC_OBJEXT
+
+PROG_EXT="$EXEEXT"
+AC_SUBST(PROG_EXT)
+test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
+dnl ---------------
+dnl Force $INSTALL to be an absolute-path.  Otherwise, edit_man.sh and the
+dnl misc/tabset install won't work properly.  Usually this happens only when
+dnl using the fallback mkinstalldirs script
+AC_DEFUN([CF_PROG_INSTALL],
+[AC_PROG_INSTALL
+case $INSTALL in
+/*)
+  ;;
+*)
+  CF_DIRNAME(cf_dir,$INSTALL)
+  test -z "$cf_dir" && cf_dir=.
+  INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
+  ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
+dnl ----------------
+dnl Check for ldconfig, needed to fixup shared libraries that would be built
+dnl and then used in the install.
+AC_DEFUN([CF_PROG_LDCONFIG],[
+if test "$cross_compiling" = yes ; then
+  LDCONFIG=:
+else
+case "$cf_cv_system_name" in #(vi
+freebsd*) #(vi
+  test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+  ;;
+*) LDPATH=$PATH:/sbin:/usr/sbin
+  AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
+  ;;
+esac
+fi
+AC_SUBST(LDCONFIG)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
+dnl --------
+dnl Attempt to determine if we've got one of the flavors of regular-expression
+dnl code that we can support.
+AC_DEFUN([CF_REGEX],
+[
+AC_MSG_CHECKING([for regular-expression headers])
+AC_CACHE_VAL(cf_cv_regex,[
+AC_TRY_LINK([#include <sys/types.h>
+#include <regex.h>],[
+	regex_t *p;
+	int x = regcomp(p, "", 0);
+	int y = regexec(p, "", 0, 0, 0);
+	regfree(p);
+	],[cf_cv_regex="regex.h"],[
+	AC_TRY_LINK([#include <regexp.h>],[
+		char *p = compile("", "", "", 0);
+		int x = step("", "");
+	],[cf_cv_regex="regexp.h"],[
+		cf_save_LIBS="$LIBS"
+		LIBS="-lgen $LIBS"
+		AC_TRY_LINK([#include <regexpr.h>],[
+			char *p = compile("", "", "");
+			int x = step("", "");
+		],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
+])
+AC_MSG_RESULT($cf_cv_regex)
+case $cf_cv_regex in
+	regex.h)   AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
+	regexp.h)  AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
+	regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SHARED_OPTS version: 30 updated: 2003/12/27 20:48:07
+dnl --------------
+dnl Attempt to determine the appropriate CC/LD options for creating a shared
+dnl library.
+dnl
+dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the
+dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
+dnl We avoid compiling-in a ../lib path for the shared library since that can
+dnl lead to unexpected results at runtime.
+dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries
+dnl are compiled in ../../lib
+dnl
+dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
+dnl to install symbolic links to the rel/abi versions of shared libraries.
+dnl
+dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
+dnl version when making symbolic links.
+dnl
+dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
+dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
+dnl (ex: libncurses.so.<ver>).
+dnl
+dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
+AC_DEFUN([CF_SHARED_OPTS],
+[
+	AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+	LOCAL_LDFLAGS=
+	LOCAL_LDFLAGS2=
+	LD_SHARED_OPTS=
+	INSTALL_LIB="-m 644"
+
+	cf_cv_do_symlinks=no
+
+	AC_MSG_CHECKING(if release/abi version should be used for shared libs)
+	AC_ARG_WITH(shlib-version,
+	[  --with-shlib-version=X  Specify rel or abi version for shared libs],
+	[test -z "$withval" && withval=auto
+	case $withval in #(vi
+	yes) #(vi
+		cf_cv_shlib_version=auto
+		;;
+	rel|abi|auto|no) #(vi
+		cf_cv_shlib_version=$withval
+		;;
+	*)
+		AC_ERROR([option value must be one of: rel, abi, auto or no])
+		;;
+	esac
+	],[cf_cv_shlib_version=auto])
+	AC_MSG_RESULT($cf_cv_shlib_version)
+
+	cf_cv_rm_so_locs=no
+
+	# Some less-capable ports of gcc support only -fpic
+	CC_SHARED_OPTS=
+	if test "$GCC" = yes
+	then
+		AC_MSG_CHECKING(which $CC option to use)
+		cf_save_CFLAGS="$CFLAGS"
+		for CC_SHARED_OPTS in -fPIC -fpic ''
+		do
+			CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+			AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
+		done
+		AC_MSG_RESULT($CC_SHARED_OPTS)
+		CFLAGS="$cf_save_CFLAGS"
+	fi
+
+	cf_cv_shlib_version_infix=no
+
+	case $cf_cv_system_name in
+	beos*)
+		MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
+		;;
+	cygwin*)
+		CC_SHARED_OPTS=
+		MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)'
+		cf_cv_shlib_version=cygdll
+		cf_cv_shlib_version_infix=cygdll
+		;;
+	darwin*)
+		EXTRA_CFLAGS="-no-cpp-precomp"
+		CC_SHARED_OPTS="-dynamic"
+		MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]'
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
+		cf_cv_shlib_version_infix=yes
+		;;
+	hpux*)
+		# (tested with gcc 2.7.2 -- I don't have c89)
+		if test "$GCC" = yes; then
+			LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
+		else
+			CC_SHARED_OPTS='+Z'
+			LD_SHARED_OPTS='-Wl,+b,$(libdir)'
+		fi
+		MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]'
+		# HP-UX shared libraries must be executable, and should be
+		# readonly to exploit a quirk in the memory manager.
+		INSTALL_LIB="-m 555"
+		;;
+	irix*)
+		if test "$cf_cv_ld_rpath" = yes ; then
+			cf_ld_rpath_opt="-Wl,-rpath,"
+			EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
+		fi
+		# tested with IRIX 5.2 and 'cc'.
+		if test "$GCC" != yes; then
+			CC_SHARED_OPTS='-KPIC'
+		fi
+		MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
+		cf_cv_rm_so_locs=yes
+		;;
+	linux*|gnu*|k*bsd*-gnu)
+		if test "$DFT_LWR_MODEL" = "shared" ; then
+			LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+			LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+		fi
+		if test "$cf_cv_ld_rpath" = yes ; then
+			cf_ld_rpath_opt="-Wl,-rpath,"
+			EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+		fi
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+		MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
+		;;
+	openbsd2*)
+		CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+		MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
+		;;
+	freebsd[[45]]*)
+		CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+		MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]'
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+
+# This doesn't work - I keep getting spurious references to needing
+# libncurses.so.5.3 when ldd says it's resolved.  LOCAL_LDFLAGS2 seems to be
+# no longer used anyway.  And the rpath logic isn't relative - so I have to
+# add the local and install lib-directories:
+#
+#		if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
+#			LOCAL_LDFLAGS="-rpath `pwd`/lib"
+#			LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS"
+#			cf_ld_rpath_opt="-rpath "
+#			EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+#		fi
+		;;
+	openbsd*|freebsd*)
+		CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+		MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+		;;
+	netbsd*)
+		CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
+		test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
+		if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
+			LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+			LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+			EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
+			MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
+			if test "$cf_cv_shlib_version" = auto; then
+			if test ! -f /usr/libexec/ld.elf_so; then
+				cf_cv_shlib_version=rel
+			fi
+			fi
+		else
+			MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
+		fi
+		;;
+	osf*|mls+*)
+		# tested with OSF/1 V3.2 and 'cc'
+		# tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
+		# link with shared libs).
+		MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
+		case $host_os in
+		osf4*)
+			MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
+			;;
+		esac
+		MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
+		if test "$DFT_LWR_MODEL" = "shared" ; then
+			LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+			LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+		fi
+		if test "$cf_cv_ld_rpath" = yes ; then
+			cf_ld_rpath_opt="-rpath"
+			# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+		fi
+		cf_cv_rm_so_locs=yes
+		;;
+	sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
+		# tested with osr5.0.5
+		if test "$GCC" != yes; then
+			CC_SHARED_OPTS='-belf -KPIC'
+		fi
+		MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
+		if test "$cf_cv_ld_rpath" = yes ; then
+			# only way is to set LD_RUN_PATH but no switch for it
+			RUN_PATH=$libdir
+		fi
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+		LINK_PROGS='LD_RUN_PATH=$(libdir)'
+		LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
+		;;
+	sunos4*)
+		# tested with SunOS 4.1.1 and gcc 2.7.0
+		if test "$GCC" != yes; then
+			CC_SHARED_OPTS='-KPIC'
+		fi
+		MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+		;;
+	solaris2*)
+		# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
+		if test "$GCC" != yes; then
+			CC_SHARED_OPTS='-KPIC'
+		fi
+		MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
+		if test "$DFT_LWR_MODEL" = "shared" ; then
+			LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
+			LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+		fi
+		if test "$cf_cv_ld_rpath" = yes ; then
+			cf_ld_rpath_opt="-R"
+			EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+		fi
+		test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+		;;
+	sysv5uw7*|unix_sv*)
+		# tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
+		if test "$GCC" != yes; then
+			CC_SHARED_OPTS='-KPIC'
+		fi
+		MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
+		;;
+	*)
+		CC_SHARED_OPTS='unknown'
+		MK_SHARED_LIB='echo unknown'
+		;;
+	esac
+
+	# This works if the last tokens in $MK_SHARED_LIB are the -o target.
+	case "$cf_cv_shlib_version" in #(vi
+	rel|abi)
+		case "$MK_SHARED_LIB" in #(vi
+		*'-o $[@]')
+			test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+			;;
+		*)
+			AC_MSG_WARN(ignored --with-shlib-version)
+			;;
+		esac
+		;;
+	esac
+
+	if test -n "$cf_ld_rpath_opt" ; then
+		AC_MSG_CHECKING(if we need a space after rpath option)
+		cf_save_LIBS="$LIBS"
+		LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
+		AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
+		LIBS="$cf_save_LIBS"
+		AC_MSG_RESULT($cf_rpath_space)
+		test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
+		MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
+	fi
+
+	AC_SUBST(CC_SHARED_OPTS)
+	AC_SUBST(LD_SHARED_OPTS)
+	AC_SUBST(MK_SHARED_LIB)
+	AC_SUBST(LINK_PROGS)
+	AC_SUBST(LINK_TESTS)
+	AC_SUBST(EXTRA_LDFLAGS)
+	AC_SUBST(LOCAL_LDFLAGS)
+	AC_SUBST(LOCAL_LDFLAGS2)
+	AC_SUBST(INSTALL_LIB)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
+dnl -------------
+dnl Check for definitions & structures needed for window size-changing
+dnl FIXME: check that this works with "snake" (HP-UX 10.x)
+AC_DEFUN([CF_SIZECHANGE],
+[
+AC_REQUIRE([CF_STRUCT_TERMIOS])
+AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
+    cf_cv_sizechange=unknown
+    cf_save_CPPFLAGS="$CPPFLAGS"
+
+for cf_opts in "" "NEED_PTEM_H"
+do
+
+    CPPFLAGS="$cf_save_CPPFLAGS"
+    test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
+    AC_TRY_COMPILE([#include <sys/types.h>
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#else
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#endif
+#endif
+#ifdef NEED_PTEM_H
+/* This is a workaround for SCO:  they neglected to define struct winsize in
+ * termios.h -- it's only in termio.h and ptem.h
+ */
+#include        <sys/stream.h>
+#include        <sys/ptem.h>
+#endif
+#if !defined(sun) || !defined(HAVE_TERMIOS_H)
+#include <sys/ioctl.h>
+#endif
+],[
+#ifdef TIOCGSIZE
+	struct ttysize win;	/* FIXME: what system is this? */
+	int y = win.ts_lines;
+	int x = win.ts_cols;
+#else
+#ifdef TIOCGWINSZ
+	struct winsize win;
+	int y = win.ws_row;
+	int x = win.ws_col;
+#else
+	no TIOCGSIZE or TIOCGWINSZ
+#endif /* TIOCGWINSZ */
+#endif /* TIOCGSIZE */
+	],
+	[cf_cv_sizechange=yes],
+	[cf_cv_sizechange=no])
+
+	CPPFLAGS="$cf_save_CPPFLAGS"
+	if test "$cf_cv_sizechange" = yes ; then
+		echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
+		test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
+		break
+	fi
+done
+])
+if test "$cf_cv_sizechange" != no ; then
+	AC_DEFINE(HAVE_SIZECHANGE)
+	case $cf_cv_sizechange in #(vi
+	NEED*)
+		AC_DEFINE_UNQUOTED($cf_cv_sizechange )
+		;;
+	esac
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SRC_MODULES version: 15 updated: 2004/01/10 16:05:16
+dnl --------------
+dnl For each parameter, test if the source-directory exists, and if it contains
+dnl a 'modules' file.  If so, add to the list $cf_cv_src_modules which we'll
+dnl use in CF_LIB_RULES.
+dnl
+dnl This uses the configured value to make the lists SRC_SUBDIRS and
+dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
+AC_DEFUN([CF_SRC_MODULES],
+[
+AC_MSG_CHECKING(for src modules)
+
+# dependencies and linker-arguments for test-programs
+TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
+if test "$DFT_LWR_MODEL" = "libtool"; then
+	TEST_ARGS="${TEST_DEPS}"
+else
+	TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+fi
+
+# dependencies and linker-arguments for utility-programs
+test "$with_termlib" != yes && PROG_ARGS="$TEST_ARGS"
+
+cf_cv_src_modules=
+for cf_dir in $1
+do
+	if test -f $srcdir/$cf_dir/modules; then
+
+		# We may/may not have tack in the distribution, though the
+		# makefile is.
+		if test $cf_dir = tack ; then
+			if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
+				continue
+			fi
+		fi
+
+		if test -z "$cf_cv_src_modules"; then
+			cf_cv_src_modules=$cf_dir
+		else
+			cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
+		fi
+
+		# Make the ncurses_cfg.h file record the library interface files as
+		# well.  These are header files that are the same name as their
+		# directory.  Ncurses is the only library that does not follow
+		# that pattern.
+		if test $cf_dir = tack ; then
+			continue
+		elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
+			CF_UPPER(cf_have_include,$cf_dir)
+			AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
+			AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
+			TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
+			if test "$DFT_LWR_MODEL" = "libtool"; then
+				TEST_ARGS="${TEST_DEPS}"
+			else
+				TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
+			fi
+		fi
+	fi
+done
+AC_MSG_RESULT($cf_cv_src_modules)
+TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
+AC_SUBST(TEST_DEPS)
+AC_SUBST(TEST_ARGS)
+
+PROG_ARGS="-L${LIB_DIR} $PROG_ARGS"
+AC_SUBST(PROG_ARGS)
+
+SRC_SUBDIRS="man include"
+for cf_dir in $cf_cv_src_modules
+do
+	SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
+done
+SRC_SUBDIRS="$SRC_SUBDIRS test"
+test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
+test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
+
+ADA_SUBDIRS=
+if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
+   SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+   ADA_SUBDIRS="gen src samples"
+fi
+
+SUB_MAKEFILES=
+for cf_dir in $SRC_SUBDIRS
+do
+	SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
+done
+
+if test -n "$ADA_SUBDIRS"; then
+   for cf_dir in $ADA_SUBDIRS
+   do
+      SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
+   done
+   AC_SUBST(ADA_SUBDIRS)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
+dnl -----------------
+dnl Check for -lstdc++, which is GNU's standard C++ library.
+AC_DEFUN([CF_STDCPP_LIBRARY],
+[
+if test -n "$GXX" ; then
+case $cf_cv_system_name in #(vi
+os2*) #(vi
+	cf_stdcpp_libname=stdcpp
+	;;
+*)
+	cf_stdcpp_libname=stdc++
+	;;
+esac
+AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
+	cf_save="$LIBS"
+	LIBS="$LIBS -l$cf_stdcpp_libname"
+AC_TRY_LINK([
+#include <strstream.h>],[
+char buf[80];
+strstreambuf foo(buf, sizeof(buf))
+],
+	[cf_cv_libstdcpp=yes],
+	[cf_cv_libstdcpp=no])
+	LIBS="$cf_save"
+])
+test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
+dnl --------------
+dnl	Remove "-g" option from the compiler options
+AC_DEFUN([CF_STRIP_G_OPT],
+[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
+dnl -------------------
+dnl Check if we need _POSIX_SOURCE defined to use struct sigaction.  We'll only
+dnl do this if we've found the sigaction function.
+dnl
+dnl If needed, define SVR4_ACTION.
+AC_DEFUN([CF_STRUCT_SIGACTION],[
+if test "$ac_cv_func_sigaction" = yes; then
+AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <signal.h>],
+	[struct sigaction act],
+	[sigact_bad=no],
+	[
+AC_TRY_COMPILE([
+#define _POSIX_SOURCE
+#include <sys/types.h>
+#include <signal.h>],
+	[struct sigaction act],
+	[sigact_bad=yes
+	 AC_DEFINE(SVR4_ACTION)],
+	 [sigact_bad=unknown])])
+AC_MSG_RESULT($sigact_bad)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
+dnl -----------------
+dnl Some machines require _POSIX_SOURCE to completely define struct termios.
+dnl If so, define SVR4_TERMIO
+AC_DEFUN([CF_STRUCT_TERMIOS],[
+AC_CHECK_HEADERS( \
+termio.h \
+termios.h \
+unistd.h \
+)
+if test "$ISC" = yes ; then
+	AC_CHECK_HEADERS( sys/termio.h )
+fi
+if test "$ac_cv_header_termios_h" = yes ; then
+	case "$CFLAGS $CPPFLAGS" in
+	*-D_POSIX_SOURCE*)
+		termios_bad=dunno ;;
+	*)	termios_bad=maybe ;;
+	esac
+	if test "$termios_bad" = maybe ; then
+	AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
+	AC_TRY_COMPILE([#include <termios.h>],
+		[struct termios foo; int x = foo.c_iflag],
+		termios_bad=no, [
+		AC_TRY_COMPILE([
+#define _POSIX_SOURCE
+#include <termios.h>],
+			[struct termios foo; int x = foo.c_iflag],
+			termios_bad=unknown,
+			termios_bad=yes AC_DEFINE(SVR4_TERMIO))
+			])
+	AC_MSG_RESULT($termios_bad)
+	fi
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
+dnl --------
+dnl	Shorthand macro for substituting things that the user may override
+dnl	with an environment variable.
+dnl
+dnl	$1 = long/descriptive name
+dnl	$2 = environment variable
+dnl	$3 = default value
+AC_DEFUN([CF_SUBST],
+[AC_CACHE_VAL(cf_cv_subst_$2,[
+AC_MSG_CHECKING(for $1 (symbol $2))
+test -z "[$]$2" && $2=$3
+AC_MSG_RESULT([$]$2)
+AC_SUBST($2)
+cf_cv_subst_$2=[$]$2])
+$2=${cf_cv_subst_$2}
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
+dnl ------------------------
+dnl Get the version-number for use in shared-library naming, etc.
+AC_DEFUN([CF_SUBST_NCURSES_VERSION],
+[
+NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ 	]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ 	]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ 	]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+cf_cv_abi_version=${NCURSES_MAJOR}
+cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
+dnl Show the computed version, for logging
+cf_cv_timestamp=`date`
+AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
+dnl We need these values in the generated headers
+AC_SUBST(NCURSES_MAJOR)
+AC_SUBST(NCURSES_MINOR)
+AC_SUBST(NCURSES_PATCH)
+dnl We need these values in the generated makefiles
+AC_SUBST(cf_cv_rel_version)
+AC_SUBST(cf_cv_abi_version)
+AC_SUBST(cf_cv_builtin_bool)
+AC_SUBST(cf_cv_header_stdbool_h)
+AC_SUBST(cf_cv_type_of_bool)dnl
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
+dnl ------------------
+dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+dnl older SCO configurations.
+AC_DEFUN([CF_SYS_TIME_SELECT],
+[
+AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
+AC_CACHE_VAL(cf_cv_sys_time_select,[
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+],[],[cf_cv_sys_time_select=yes],
+     [cf_cv_sys_time_select=no])
+     ])
+AC_MSG_RESULT($cf_cv_sys_time_select)
+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
+dnl ----------------
+dnl Determine the type we should use for chtype (and attr_t, which is treated
+dnl as the same thing).  We want around 32 bits, so on most machines want a
+dnl long, but on newer 64-bit machines, probably want an int.  If we're using
+dnl wide characters, we have to have a type compatible with that, as well.
+AC_DEFUN([CF_TYPEOF_CHTYPE],
+[
+AC_REQUIRE([CF_UNSIGNED_LITERALS])
+AC_MSG_CHECKING([for type of chtype])
+AC_CACHE_VAL(cf_cv_typeof_chtype,[
+		AC_TRY_RUN([
+#ifdef USE_WIDEC_SUPPORT
+#include <stddef.h>	/* we want wchar_t */
+#define WANT_BITS 39
+#else
+#define WANT_BITS 31
+#endif
+#include <stdio.h>
+int main()
+{
+	FILE *fp = fopen("cf_test.out", "w");
+	if (fp != 0) {
+		char *result = "long";
+#ifdef USE_WIDEC_SUPPORT
+		/*
+		 * If wchar_t is smaller than a long, it must be an int or a
+		 * short.  We prefer not to use a short anyway.
+		 */
+		if (sizeof(unsigned long) > sizeof(wchar_t))
+			result = "int";
+#endif
+		if (sizeof(unsigned long) > sizeof(unsigned int)) {
+			int n;
+			unsigned int x;
+			for (n = 0; n < WANT_BITS; n++) {
+				unsigned int y = (x >> n);
+				if (y != 1 || x == 0) {
+					x = 0;
+					break;
+				}
+			}
+			/*
+			 * If x is nonzero, an int is big enough for the bits
+			 * that we want.
+			 */
+			result = (x != 0) ? "int" : "long";
+		}
+		fputs(result, fp);
+		fclose(fp);
+	}
+	exit(0);
+}
+		],
+		[cf_cv_typeof_chtype=`cat cf_test.out`],
+		[cf_cv_typeof_chtype=long],
+		[cf_cv_typeof_chtype=long])
+		rm -f cf_test.out
+	])
+AC_MSG_RESULT($cf_cv_typeof_chtype)
+
+AC_SUBST(cf_cv_typeof_chtype)
+AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
+
+cf_cv_1UL="1"
+test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
+test "$cf_cv_typeof_chtype"    = long && cf_cv_1UL="${cf_cv_1UL}L"
+AC_SUBST(cf_cv_1UL)
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
+dnl -----------------
+dnl
+AC_DEFUN([CF_TYPE_SIGACTION],
+[
+AC_MSG_CHECKING([for type sigaction_t])
+AC_CACHE_VAL(cf_cv_type_sigaction,[
+	AC_TRY_COMPILE([
+#include <signal.h>],
+		[sigaction_t x],
+		[cf_cv_type_sigaction=yes],
+		[cf_cv_type_sigaction=no])])
+AC_MSG_RESULT($cf_cv_type_sigaction)
+test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
+dnl --------------------
+dnl Test if the compiler supports 'U' and 'L' suffixes.  Only old compilers
+dnl won't, but they're still there.
+AC_DEFUN([CF_UNSIGNED_LITERALS],
+[
+AC_MSG_CHECKING([if unsigned literals are legal])
+AC_CACHE_VAL(cf_cv_unsigned_literals,[
+	AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
+		[cf_cv_unsigned_literals=yes],
+		[cf_cv_unsigned_literals=no])
+	])
+AC_MSG_RESULT($cf_cv_unsigned_literals)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
+dnl --------
+dnl Make an uppercase version of a variable
+dnl $1=uppercase($2)
+AC_DEFUN([CF_UPPER],
+[
+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
+dnl ----------
+dnl Use AC_VERBOSE w/o the warnings
+AC_DEFUN([CF_VERBOSE],
+[test -n "$verbose" && echo "	$1" 1>&AC_FD_MSG
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
+dnl -------------
+dnl Check if type wide-character type $1 is declared, and if so, which header
+dnl file is needed.  The second parameter is used to set a shell variable when
+dnl the type is not found.  The first parameter sets a shell variable for the
+dnl opposite sense.
+AC_DEFUN([CF_WCHAR_TYPE],
+[
+# This is needed on Tru64 5.0 to declare $1
+AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
+AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#ifdef HAVE_LIBUTF8_H
+#include <libutf8.h>
+#endif],
+	[$1 state],
+	[cf_cv_$1=no],
+	[AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <wchar.h>
+#ifdef HAVE_LIBUTF8_H
+#include <libutf8.h>
+#endif],
+	[$1 value],
+	[cf_cv_$1=yes],
+	[cf_cv_$1=unknown])])])
+
+if test "$cf_cv_$1" = yes ; then
+	AC_DEFINE(NEED_WCHAR_H)
+	NEED_WCHAR_H=1
+fi
+
+ifelse($2,,,[
+# if we do not find $1 in either place, use substitution to provide a fallback.
+if test "$cf_cv_$1" = unknown ; then
+	$2=1
+fi
+])
+ifelse($3,,,[
+# if we find $1 in either place, use substitution to provide a fallback.
+if test "$cf_cv_$1" != unknown ; then
+	$3=1
+fi
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
+dnl -------------------
+dnl Allow library's ABI to be overridden.  Generally this happens when a
+dnl packager has incremented the ABI past that used in the original package,
+dnl and wishes to keep doing this.
+dnl
+dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
+dnl symbol.
+AC_DEFUN([CF_WITH_ABI_VERSION],[
+test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
+AC_ARG_WITH(abi-version,
+[  --with-abi-version=XXX  override derived ABI version],
+[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
+ cf_cv_abi_version=$withval])
+ CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
+ifelse($1,,,[
+$1_ABI=$cf_cv_abi_version
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
+dnl ----------------
+dnl Configure-option for dbmalloc
+AC_DEFUN([CF_WITH_DBMALLOC],[
+AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
+AC_ARG_WITH(dbmalloc,
+	[  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
+	[with_dbmalloc=$withval],
+	[with_dbmalloc=no])
+AC_MSG_RESULT($with_dbmalloc)
+if test $with_dbmalloc = yes ; then
+	AC_CHECK_LIB(dbmalloc,debug_malloc)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
+dnl ---------------
+dnl Configure-option for dmalloc
+AC_DEFUN([CF_WITH_DMALLOC],[
+AC_MSG_CHECKING(if you want to link with dmalloc for testing)
+AC_ARG_WITH(dmalloc,
+	[  --with-dmalloc          test: use Gray Watson's dmalloc library],
+	[with_dmalloc=$withval],
+	[with_dmalloc=no])
+AC_MSG_RESULT($with_dmalloc)
+if test $with_dmalloc = yes ; then
+	AC_CHECK_LIB(dmalloc,dmalloc_debug)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37
+dnl ---------------
+dnl Provide a configure option to incorporate libtool.  Define several useful
+dnl symbols for the makefile rules.
+dnl
+dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
+dnl macros from libtool.m4 which is in the aclocal directory of automake.
+dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
+dnl But that still does not work properly since the macro is expanded outside
+dnl the CF_WITH_LIBTOOL macro:
+dnl
+dnl	#!/bin/sh
+dnl	ACLOCAL=`aclocal --print-ac-dir`
+dnl	if test -z "$ACLOCAL" ; then
+dnl		echo cannot find aclocal directory
+dnl		exit 1
+dnl	elif test ! -f $ACLOCAL/libtool.m4 ; then
+dnl		echo cannot find libtool.m4 file
+dnl		exit 1
+dnl	fi
+dnl	
+dnl	LOCAL=aclocal.m4
+dnl	ORIG=aclocal.m4.orig
+dnl	
+dnl	trap "mv $ORIG $LOCAL" 0 1 2 5 15
+dnl	rm -f $ORIG
+dnl	mv $LOCAL $ORIG
+dnl	
+dnl	# sed the LIBTOOL= assignment to omit the current directory?
+dnl	sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
+dnl	cat $ORIG >>$LOCAL
+dnl	
+dnl	autoconf-257 $*
+dnl
+AC_DEFUN([CF_WITH_LIBTOOL],
+[
+ifdef([AC_PROG_LIBTOOL],,[
+LIBTOOL=
+])
+# common library maintenance symbols that are convenient for libtool scripts:
+LIB_CREATE='$(AR) -cr'
+LIB_OBJECT='$(OBJECTS)'
+LIB_SUFFIX=.a
+LIB_PREP="$RANLIB"
+
+# symbols used to prop libtool up to enable it to determine what it should be
+# doing:
+LIB_CLEAN=
+LIB_COMPILE=
+LIB_LINK=
+LIB_INSTALL=
+LIB_UNINSTALL=
+
+AC_MSG_CHECKING(if you want to build libraries with libtool)
+AC_ARG_WITH(libtool,
+	[  --with-libtool          generate libraries with libtool],
+	[with_libtool=$withval],
+	[with_libtool=no])
+AC_MSG_RESULT($with_libtool)
+if test "$with_libtool" != "no"; then
+ifdef([AC_PROG_LIBTOOL],[
+	# missing_content_AC_PROG_LIBTOOL{{
+	AC_PROG_LIBTOOL
+	# missing_content_AC_PROG_LIBTOOL}}
+],[
+ 	if test "$with_libtool" != "yes" ; then
+		CF_PATH_SYNTAX(with_libtool)
+		LIBTOOL=$with_libtool
+	else
+ 		AC_PATH_PROG(LIBTOOL,libtool)
+ 	fi
+ 	if test -z "$LIBTOOL" ; then
+ 		AC_MSG_ERROR(Cannot find libtool)
+ 	fi
+])dnl
+	LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
+	LIB_OBJECT='$(OBJECTS:.o=.lo)'
+	LIB_SUFFIX=.la
+	LIB_CLEAN='$(LIBTOOL) --mode=clean'
+	LIB_COMPILE='$(LIBTOOL) --mode=compile'
+	LIB_LINK='$(LIBTOOL) --mode=link'
+	LIB_INSTALL='$(LIBTOOL) --mode=install'
+	LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
+	LIB_PREP=:
+
+	# Show the version of libtool
+	AC_MSG_CHECKING(version of libtool)
+
+	# Save the version in a cache variable - this is not entirely a good
+	# thing, but the version string from libtool is very ugly, and for
+	# bug reports it might be useful to have the original string.
+	cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
+	AC_MSG_RESULT($cf_cv_libtool_version)
+	if test -z "$cf_cv_libtool_version" ; then
+		AC_MSG_ERROR(This is not libtool)
+	fi
+
+	# special hack to add --tag option for C++ compiler
+	case $cf_cv_libtool_version in
+	1.[[5-9]]*|[[2-9]]*)
+		LIBTOOL_CXX="$LIBTOOL --tag=CXX"
+		;;
+	*)
+		LIBTOOL_CXX="$LIBTOOL"
+		;;
+	esac
+else
+	LIBTOOL=""
+	LIBTOOL_CXX=""
+fi
+
+test -z "$LIBTOOL" && ECHO_LT=
+
+AC_SUBST(LIBTOOL)
+AC_SUBST(LIBTOOL_CXX)
+
+AC_SUBST(LIB_CREATE)
+AC_SUBST(LIB_OBJECT)
+AC_SUBST(LIB_SUFFIX)
+AC_SUBST(LIB_PREP)
+
+AC_SUBST(LIB_CLEAN)
+AC_SUBST(LIB_COMPILE)
+AC_SUBST(LIB_LINK)
+AC_SUBST(LIB_INSTALL)
+AC_SUBST(LIB_UNINSTALL)
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
+dnl ------------
+dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+dnl defaulting to yes/no.
+dnl
+dnl $1 = option name
+dnl $2 = help-text
+dnl $3 = environment variable to set
+dnl $4 = default value, shown in the help-message, must be a constant
+dnl $5 = default value, if it's an expression & cannot be in the help-message
+dnl
+AC_DEFUN([CF_WITH_PATH],
+[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
+ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
+CF_PATH_SYNTAX(withval)
+eval $3="$withval"
+AC_SUBST($3)dnl
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
+dnl ----------------
+dnl Process an option specifying a list of colon-separated paths.
+dnl
+dnl $1 = option name
+dnl $2 = help-text
+dnl $3 = environment variable to set
+dnl $4 = default value, shown in the help-message, must be a constant
+dnl $5 = default value, if it's an expression & cannot be in the help-message
+dnl $6 = flag to tell if we want to define or substitute
+dnl
+AC_DEFUN([CF_WITH_PATHLIST],[
+AC_REQUIRE([CF_PATHSEP])
+AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
+ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
+
+IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${PATHSEP}"
+cf_dst_path=
+for cf_src_path in $withval
+do
+  CF_PATH_SYNTAX(cf_src_path)
+  test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
+  cf_dst_path="${cf_dst_path}${cf_src_path}"
+done
+IFS="$ac_save_ifs"
+
+ifelse($6,define,[
+# Strip single quotes from the value, e.g., when it was supplied as a literal
+# for $4 or $5.
+case $cf_dst_path in #(vi
+\'*)
+  cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
+  ;;
+esac
+cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
+])
+
+eval '$3="$cf_dst_path"'
+AC_SUBST($3)dnl
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
+dnl -------------------
+dnl Allow library's release-version to be overridden.  Generally this happens when a
+dnl packager has incremented the release-version past that used in the original package,
+dnl and wishes to keep doing this.
+dnl
+dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
+dnl and {package}_MINOR symbols
+dnl symbol.
+AC_DEFUN([CF_WITH_REL_VERSION],[
+test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
+AC_ARG_WITH(rel-version,
+[  --with-rel-version=XXX  override derived release version],
+[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
+ cf_cv_rel_version=$withval])
+ifelse($1,,[
+ CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
+],[
+ $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
+ $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
+ CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
+ CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
+dnl ----------------
+dnl If we can compile with sysmouse, make it available unless it is not wanted.
+AC_DEFUN([CF_WITH_SYSMOUSE],[
+# not everyone has "test -c"
+if test -c /dev/sysmouse 2>/dev/null ; then
+AC_MSG_CHECKING(if you want to use sysmouse)
+AC_ARG_WITH(sysmouse,
+	[  --with-sysmouse         use sysmouse (FreeBSD console)],
+	[cf_with_sysmouse=$withval],
+	[cf_with_sysmouse=maybe])
+	if test "$cf_with_sysmouse" != no ; then
+	AC_TRY_COMPILE([
+#include <osreldate.h>
+#if (__FreeBSD_version >= 400017)
+#include <sys/consio.h>
+#include <sys/fbio.h>
+#else
+#include <machine/console.h>
+#endif
+],[
+	struct mouse_info the_mouse;
+	ioctl(0, CONS_MOUSECTL, &the_mouse);
+],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
+	fi
+AC_MSG_RESULT($cf_with_sysmouse)
+test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_XOPEN_SOURCE version: 11 updated: 2004/01/26 20:58:41
+dnl ---------------
+dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
+dnl or adapt to the vendor's definitions to get equivalent functionality.
+AC_DEFUN([CF_XOPEN_SOURCE],[
+case $host_os in #(vi
+freebsd*) #(vi
+	CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"
+	;;
+hpux*) #(vi
+	CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
+	;;
+irix6.*) #(vi
+	CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
+	;;
+linux*) #(vi
+	CF_GNU_SOURCE
+	;;
+mirbsd*) #(vi
+	# setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+	;;
+netbsd*) #(vi
+	# setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+	;;
+openbsd*) #(vi
+	# setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
+	;;
+osf[[45]]*) #(vi
+	CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
+	;;
+sco*) #(vi
+	# setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
+	;;
+solaris*) #(vi
+	CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
+	;;
+*)
+	AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+	AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifndef _XOPEN_SOURCE
+make an error
+#endif],
+	[cf_cv_xopen_source=no],
+	[cf_save="$CPPFLAGS"
+	 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
+	 AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifdef _XOPEN_SOURCE
+make an error
+#endif],
+	[cf_cv_xopen_source=no],
+	[cf_cv_xopen_source=yes])
+	CPPFLAGS="$cf_save"
+	])
+])
+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
+
+	# FreeBSD 5.x headers demand this...
+	AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_xopen_source,[
+	AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifndef _POSIX_C_SOURCE
+make an error
+#endif],
+	[cf_cv_xopen_source=no],
+	[cf_save="$CPPFLAGS"
+	 CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
+	 AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifdef _POSIX_C_SOURCE
+make an error
+#endif],
+	[cf_cv_xopen_source=no],
+	[cf_cv_xopen_source=yes])
+	CPPFLAGS="$cf_save"
+	])
+])
+test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
+	;;
+esac
+])
--- /dev/null
+++ ncurses-5.4/m4/templates.m4
@@ -0,0 +1,78 @@
+AH_TEMPLATE([BROKEN_LINKER], [too lazy to enter descriptions])
+AH_TEMPLATE([BSD_TPUTS], [too lazy to enter descriptions])
+AH_TEMPLATE([CC_HAS_INLINE_FUNCS], [too lazy to enter descriptions])
+AH_TEMPLATE([CC_HAS_PROTOS], [too lazy to enter descriptions])
+AH_TEMPLATE([CPP_HAS_PARAM_INIT], [too lazy to enter descriptions])
+AH_TEMPLATE([CPP_HAS_VSCAN_FUNC], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_BIG_CORE], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_BSD_CGETENT], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_BUILTIN_H], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_CURSES_VERSION], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_GETTIMEOFDAY], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_GPP_BUILTIN_H], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_GXX_BUILTIN_H], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_HAS_KEY], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_ISASCII], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_LIBGPM], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_LIBUTF8_H], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_MKSTEMP], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_NC_ALLOC_H], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_REGEXPR_H_FUNCS], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_REGEXP_H_FUNCS], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_REGEX_H_FUNCS], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_RESIZETERM], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_RESIZE_TERM], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_SIZECHANGE], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_SLK_COLOR], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_SYS_TIME_SELECT], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_TCGETATTR], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_TYPE_SIGACTION], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_VFSCANF], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_VSSCANF], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_WORKING_POLL], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE_WRESIZE], [too lazy to enter descriptions])
+AH_TEMPLATE([HAVE__DOSCAN], [too lazy to enter descriptions])
+AH_TEMPLATE([MIXEDCASE_FILENAMES], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_EXPANDED], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_EXT_FUNCS], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_NOMACROS], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_NO_PADDING], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_PATHSEP], [too lazy to enter descriptions])
+AH_TEMPLATE([NCURSES_VERSION_STRING], [too lazy to enter descriptions])
+AH_TEMPLATE([NDEBUG], [too lazy to enter descriptions])
+AH_TEMPLATE([NEED_WCHAR_H], [too lazy to enter descriptions])
+AH_TEMPLATE([NO_LEAKS], [too lazy to enter descriptions])
+AH_TEMPLATE([PROG_EXT], [too lazy to enter descriptions])
+AH_TEMPLATE([PURE_TERMINFO], [too lazy to enter descriptions])
+AH_TEMPLATE([SVR4_ACTION], [too lazy to enter descriptions])
+AH_TEMPLATE([SVR4_TERMIO], [too lazy to enter descriptions])
+AH_TEMPLATE([SYSTEM_NAME], [too lazy to enter descriptions])
+AH_TEMPLATE([TERMINFO], [too lazy to enter descriptions])
+AH_TEMPLATE([TERMINFO_DIRS], [too lazy to enter descriptions])
+AH_TEMPLATE([TERMPATH], [too lazy to enter descriptions])
+AH_TEMPLATE([TYPEOF_CHTYPE], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_ASSUMED_COLOR], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_COLORFGBG], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_DATABASE], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_GETCAP], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_GETCAP_CACHE], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_HARD_TABS], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_HASHMAP], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_HOME_TERMINFO], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_LINKS], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_MY_MEMMOVE], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_OK_BCOPY], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_RCS_IDS], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_ROOT_ENVIRON], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_SAFE_SPRINTF], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_SCROLL_HINTS], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_SIGWINCH], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_STDIO_VSCAN], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_STRSTREAM_VSCAN], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_STRSTREAM_VSCAN_CAST], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_SYMLINKS], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_SYSMOUSE], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_TERMCAP], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_WIDEC_SUPPORT], [too lazy to enter descriptions])
+AH_TEMPLATE([USE_XMC_SUPPORT], [too lazy to enter descriptions])
