# # 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 #include 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 #include -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 -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 " > "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 @@ -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 +#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 +#include +],[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 . +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 +#include + +#if defined(__cplusplus) + +#ifdef HAVE_GXX_BUILTIN_H +#include +#elif HAVE_GPP_BUILTIN_H +#include +#elif HAVE_BUILTIN_H +#include +#endif + +#else + +#if $cf_cv_header_stdbool_h +#include +#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 ],[ + 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 or , 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 +#endif +#include +#include +#include ], + [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 +#include +#define $cf_vscan_defs 1 +#if defined(USE_STDIO_VSCAN) +#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN) +#include +#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 +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 +],[],[ + 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 +#ifdef HAVE_POLL_H +#include +#else +#include +#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 +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_TERMIOS_H +#include +#define TTY struct termios +#else +#ifdef HAVE_TERMIO_H +#include +#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 +#include ],[ + va_list ap; + vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[ +AC_TRY_LINK([ +#include +#include ],[ + 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 +#include ],[ + 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 < conftest.$ac_ext <&AC_FD_CC + case $cf_attribute in + scanf|printf) + cat >conftest.h <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 <>conftest.ads <>conftest.adb <&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 ],[ +#ifndef _XOPEN_SOURCE +make an error +#endif], + [cf_cv_gnu_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" + AC_TRY_COMPILE([#include ],[ +#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 + ], + [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 ],[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 ],[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.so -> +dnl lib.so. -> +dnl lib.so.. +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 <> Makefile +fi +cat >> Makefile <> Makefile <> Makefile <> Makefile <headers.sh <>headers.sh </<\$END\/\$NAME>/" >> \$TMPSED + done + ;; +*) + echo "" >> \$TMPSED + ;; +esac +CF_EOF +else + cat >>headers.sh <//" >> \$TMPSED + NAME=ncurses.h + fi + echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED + done + ;; +*) + echo "s///" >> \$TMPSED + ;; +esac +CF_EOF +fi +cat >>headers.sh < \$TMPSRC +NAME=\`basename \$SRC\` +CF_EOF +if test $WITH_CURSES_H != yes; then + cat >>headers.sh <>headers.sh <>$cf_dir/Makefile <>$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_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 <&AC_FD_CC 1>/dev/null + fi + rm -f conftest.$ac_ext data.o + cat >conftest.$ac_ext <&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 +#include +#ifdef HAVE_UNISTD_H +#include +#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 </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_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP +CF_EOF +else +cat >>$cf_edit_man <\$TMP +CF_EOF +fi + +cat >>$cf_edit_man <\$TMP.out + mv \$TMP.out \$TMP +fi +CF_EOF + +if test $with_curses_h != yes ; then +cat >>$cf_edit_man <\$TMP.out + mv \$TMP.out \$TMP +CF_EOF +fi + +cat >>$cf_edit_man <\$TMP.out + mv \$TMP.out \$TMP + fi +CF_EOF + +if test -n "$cf_compress" ; then +cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP +CF_EOF +if test -n "$cf_compress" ; then +cat >>$cf_edit_man <>$cf_edit_man < + #include + ], + [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 +#include +#include +#include +#include +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 +],[ +#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 +],[ +#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 +#include ],[ + 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 ],[ + char *p = compile("", "", "", 0); + int x = step("", ""); + ],[cf_cv_regex="regexp.h"],[ + cf_save_LIBS="$LIBS" + LIBS="-lgen $LIBS" + AC_TRY_LINK([#include ],[ + 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..dylib) or postfix +dnl (ex: libncurses.so.). +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 ],[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 +#ifdef HAVE_TERMIOS_H +#include +#else +#ifdef HAVE_TERMIO_H +#include +#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 +#include +#endif +#if !defined(sun) || !defined(HAVE_TERMIOS_H) +#include +#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 ],[ +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 +#include ], + [struct sigaction act], + [sigact_bad=no], + [ +AC_TRY_COMPILE([ +#define _POSIX_SOURCE +#include +#include ], + [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 ], + [struct termios foo; int x = foo.c_iflag], + termios_bad=no, [ + AC_TRY_COMPILE([ +#define _POSIX_SOURCE +#include ], + [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 with ; 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 +#ifdef HAVE_SYS_TIME_H +#include +#endif +#ifdef HAVE_SYS_SELECT_H +#include +#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 /* we want wchar_t */ +#define WANT_BITS 39 +#else +#define WANT_BITS 31 +#endif +#include +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 ], + [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 +#include +#include +#ifdef HAVE_LIBUTF8_H +#include +#endif], + [$1 state], + [cf_cv_$1=no], + [AC_TRY_COMPILE([ +#include +#include +#include +#include +#ifdef HAVE_LIBUTF8_H +#include +#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 +#if (__FreeBSD_version >= 400017) +#include +#include +#else +#include +#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 + ;; +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 ],[ +#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 ],[ +#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 ],[ +#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 ],[ +#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])