1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
4 dnl Permission is hereby granted, free of charge, to any person obtaining a *
5 dnl copy of this software and associated documentation files (the *
6 dnl "Software"), to deal in the Software without restriction, including *
7 dnl without limitation the rights to use, copy, modify, merge, publish, *
8 dnl distribute, distribute with modifications, sublicense, and/or sell *
9 dnl copies of the Software, and to permit persons to whom the Software is *
10 dnl furnished to do so, subject to the following conditions: *
12 dnl The above copyright notice and this permission notice shall be included *
13 dnl in all copies or substantial portions of the Software. *
15 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
16 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
17 dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
18 dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
19 dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
20 dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
21 dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23 dnl Except as contained in this notice, the name(s) of the above copyright *
24 dnl holders shall not be used in advertising or otherwise to promote the *
25 dnl sale, use or other dealings in this Software without prior written *
27 dnl***************************************************************************
29 dnl Author: Thomas E. Dickey 1995-on
31 dnl $Id: aclocal.m4,v 1.748 2015/05/02 21:22:41 tom Exp $
32 dnl Macros used in NCURSES auto-configuration script.
34 dnl These macros are maintained separately from NCURSES. The copyright on
35 dnl this file applies to the aggregation of macros and does not affect use of
36 dnl these macros in other applications.
38 dnl See http://invisible-island.net/autoconf/ for additional information.
40 dnl ---------------------------------------------------------------------------
41 dnl ---------------------------------------------------------------------------
42 dnl AM_LANGINFO_CODESET version: 4 updated: 2015/04/18 08:56:57
43 dnl -------------------
44 dnl Inserted as requested by gettext 0.10.40
45 dnl File from /usr/share/aclocal
47 dnl ====================
50 dnl From Bruno Haible.
51 AC_DEFUN([AM_LANGINFO_CODESET],
53 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
54 [AC_TRY_LINK([#include <langinfo.h>],
55 [char* cs = nl_langinfo(CODESET);],
56 am_cv_langinfo_codeset=yes,
57 am_cv_langinfo_codeset=no)
59 if test $am_cv_langinfo_codeset = yes; then
60 AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
61 [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
64 dnl ---------------------------------------------------------------------------
65 dnl CF_ABI_DEFAULTS version: 1 updated: 2015/05/02 17:21:13
67 dnl Provide configure-script defaults for different ncurses ABIs.
68 AC_DEFUN([CF_ABI_DEFAULTS],[
69 AC_REQUIRE([CF_WITH_ABI_VERSION])
70 case x$cf_cv_abi_version in
76 cf_dft_ext_spfuncs=yes
77 cf_dft_chtype=uint32_t
78 cf_dft_mmask_t=uint32_t
80 cf_dft_tparm_arg=intptr_t
95 dnl ---------------------------------------------------------------------------
96 dnl CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49
97 dnl ------------------
98 dnl Conditionally generate script according to whether we're using a given autoconf.
100 dnl $1 = version to compare against
101 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
102 dnl $3 = code to use if AC_ACVERSION is older than $1.
103 define([CF_ACVERSION_CHECK],
105 ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl
106 ifdef([m4_version_compare],
107 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
108 [CF_ACVERSION_COMPARE(
109 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
110 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
111 dnl ---------------------------------------------------------------------------
112 dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
113 dnl --------------------
114 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
115 dnl MAJOR2, MINOR2, TERNARY2,
116 dnl PRINTABLE2, not FOUND, FOUND)
117 define([CF_ACVERSION_COMPARE],
118 [ifelse(builtin([eval], [$2 < $5]), 1,
119 [ifelse([$8], , ,[$8])],
120 [ifelse([$9], , ,[$9])])])dnl
121 dnl ---------------------------------------------------------------------------
122 dnl CF_ADA_INCLUDE_DIRS version: 8 updated: 2013/10/14 04:24:07
123 dnl -------------------
124 dnl Construct the list of include-options for the C programs in the Ada95
126 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
128 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
129 if test "$srcdir" != "."; then
130 ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
132 if test "$GCC" != yes; then
133 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
134 elif test "$includedir" != "/usr/include"; then
135 if test "$includedir" = '${prefix}/include' ; then
136 if test x$prefix != x/usr ; then
137 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
140 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
145 dnl ---------------------------------------------------------------------------
146 dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
148 dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
149 AC_DEFUN([CF_ADD_ADAFLAGS],[
150 ADAFLAGS="$ADAFLAGS $1"
153 dnl ---------------------------------------------------------------------------
154 dnl CF_ADD_CFLAGS version: 12 updated: 2015/04/12 15:39:00
156 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
157 dnl The second parameter if given makes this macro verbose.
159 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
160 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
161 dnl confused by the quotes (which require backslashes to keep them usable).
162 AC_DEFUN([CF_ADD_CFLAGS],
167 cf_new_extra_cppflags=
169 for cf_add_cflags in $1
171 case $cf_fix_cppflags in
173 case $cf_add_cflags in
174 (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
175 case $cf_add_cflags in
177 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
179 test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
180 && test -z "${cf_tst_cflags}" \
181 && cf_fix_cppflags=yes
183 if test $cf_fix_cppflags = yes ; then
184 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
186 elif test "${cf_tst_cflags}" = "\"'" ; then
187 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
196 case $cf_add_cflags in
198 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
199 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
202 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
207 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
212 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
214 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
216 test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
217 && test -z "${cf_tst_cflags}" \
218 && cf_fix_cppflags=no
223 if test -n "$cf_new_cflags" ; then
224 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
225 CFLAGS="$CFLAGS $cf_new_cflags"
228 if test -n "$cf_new_cppflags" ; then
229 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
230 CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
233 if test -n "$cf_new_extra_cppflags" ; then
234 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
235 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
238 AC_SUBST(EXTRA_CPPFLAGS)
241 dnl ---------------------------------------------------------------------------
242 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
244 dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
245 dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
246 dnl but old versions (and some misinstalled ones) need that. To make things
247 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
248 dnl the include-path).
249 AC_DEFUN([CF_ADD_INCDIR],
251 if test -n "$1" ; then
252 for cf_add_incdir in $1
254 while test $cf_add_incdir != /usr/include
256 if test -d $cf_add_incdir
259 if test -n "$CFLAGS$CPPFLAGS" ; then
260 # a loop is needed to ensure we can add subdirs of existing dirs
261 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
262 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
263 cf_have_incdir=yes; break
268 if test "$cf_have_incdir" = no ; then
269 if test "$cf_add_incdir" = /usr/local/include ; then
272 cf_save_CPPFLAGS=$CPPFLAGS
273 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
274 AC_TRY_COMPILE([#include <stdio.h>],
277 [cf_have_incdir=yes])
278 CPPFLAGS=$cf_save_CPPFLAGS
283 if test "$cf_have_incdir" = no ; then
284 CF_VERBOSE(adding $cf_add_incdir to include-path)
285 ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
287 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
288 test "$cf_top_incdir" = "$cf_add_incdir" && break
289 cf_add_incdir="$cf_top_incdir"
298 dnl ---------------------------------------------------------------------------
299 dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
301 dnl Add a library, used to enforce consistency.
303 dnl $1 = library to add, without the "-l"
304 dnl $2 = variable to update (default $LIBS)
305 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
306 dnl ---------------------------------------------------------------------------
307 dnl CF_ADD_LIBDIR version: 10 updated: 2015/04/18 08:56:57
309 dnl Adds to the library-path
311 dnl Some machines have trouble with multiple -L options.
313 dnl $1 is the (list of) directory(s) to add
314 dnl $2 is the optional name of the variable to update (default LDFLAGS)
316 AC_DEFUN([CF_ADD_LIBDIR],
318 if test -n "$1" ; then
319 for cf_add_libdir in $1
321 if test $cf_add_libdir = /usr/lib ; then
323 elif test -d $cf_add_libdir
326 if test -n "$LDFLAGS$LIBS" ; then
327 # a loop is needed to ensure we can add subdirs of existing dirs
328 for cf_test_libdir in $LDFLAGS $LIBS ; do
329 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
330 cf_have_libdir=yes; break
334 if test "$cf_have_libdir" = no ; then
335 CF_VERBOSE(adding $cf_add_libdir to library-path)
336 ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
342 dnl ---------------------------------------------------------------------------
343 dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27
345 dnl Add one or more libraries, used to enforce consistency. Libraries are
346 dnl prepended to an existing list, since their dependencies are assumed to
347 dnl already exist in the list.
349 dnl $1 = libraries to add, with the "-l", etc.
350 dnl $2 = variable to update (default $LIBS)
351 AC_DEFUN([CF_ADD_LIBS],[
353 # Filter out duplicates - this happens with badly-designed ".pc" files...
354 for cf_add_1lib in [$]ifelse($2,,LIBS,[$2])
356 for cf_add_2lib in $cf_add_libs
358 if test "x$cf_add_1lib" = "x$cf_add_2lib"
364 test -n "$cf_add_1lib" && cf_add_libs="$cf_add_libs $cf_add_1lib"
366 ifelse($2,,LIBS,[$2])="$cf_add_libs"
368 dnl ---------------------------------------------------------------------------
369 dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05
370 dnl ------------------
371 dnl Append to a search-list for a nonstandard header/lib-file
372 dnl $1 = the variable to return as result
373 dnl $2 = the package name
374 dnl $3 = the subdirectory, e.g., bin, include or lib
375 dnl $4 = the directory under which we will test for subdirectories
376 dnl $5 = a directory that we do not want $4 to match
377 AC_DEFUN([CF_ADD_SUBDIR_PATH],
379 test "x$4" != "x$5" && \
381 ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) {
382 test -n "$verbose" && echo " ... testing for $3-directories under $4"
383 test -d $4/$3 && $1="[$]$1 $4/$3"
384 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
385 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
386 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
387 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
390 dnl ---------------------------------------------------------------------------
391 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
393 dnl Allow user to disable a normally-on option.
394 AC_DEFUN([CF_ARG_DISABLE],
395 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
396 dnl ---------------------------------------------------------------------------
397 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
399 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
405 dnl $3 = action to perform if option is not default
406 dnl $4 = action if perform if option is default
407 dnl $5 = default option value (either 'yes' or 'no')
408 AC_DEFUN([CF_ARG_OPTION],
409 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
410 if test "$enableval" != "$5" ; then
412 ,[ $3]) ifelse([$4],,,[
415 fi],[enableval=$5 ifelse([$4],,,[
419 dnl ---------------------------------------------------------------------------
420 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
422 dnl Check for suitable "ar" (archiver) options for updating an archive.
423 AC_DEFUN([CF_AR_FLAGS],[
424 AC_REQUIRE([CF_PROG_AR])
426 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
427 cf_cv_ar_flags=unknown
428 for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
431 # check if $ARFLAGS already contains this choice
432 if test "x$ARFLAGS" != "x" ; then
433 cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
434 if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
440 rm -f conftest.$ac_cv_objext
443 cat >conftest.$ac_ext <<EOF
444 #line __oline__ "configure"
445 int testdata[[3]] = { 123, 456, 789 };
447 if AC_TRY_EVAL(ac_compile) ; then
448 echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
449 $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
450 if test -f conftest.a ; then
451 cf_cv_ar_flags=$cf_ar_flags
455 CF_VERBOSE(cannot compile test-program)
459 rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
462 if test -n "$ARFLAGS" ; then
463 if test -n "$cf_cv_ar_flags" ; then
464 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
467 ARFLAGS=$cf_cv_ar_flags
472 dnl ---------------------------------------------------------------------------
473 dnl CF_AWK_BIG_PRINTF version: 5 updated: 2015/04/17 21:13:04
474 dnl -----------------
475 dnl Check if awk can handle big strings using printf. Some older versions of
476 dnl awk choke on large strings passed via "%s".
478 dnl $1 = desired string size
479 dnl $2 = variable to set with result
480 AC_DEFUN([CF_AWK_BIG_PRINTF],
487 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
488 | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
496 dnl ---------------------------------------------------------------------------
497 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
499 dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
500 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
501 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
503 dnl Treat the configuration-variable specially here, since we're directly
504 dnl substituting its value (i.e., 1/0).
506 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
507 AC_DEFUN([CF_BOOL_DECL],
509 AC_MSG_CHECKING(if we should include stdbool.h)
511 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
512 AC_TRY_COMPILE([],[bool foo = false],
513 [cf_cv_header_stdbool_h=0],
518 ],[bool foo = false],
519 [cf_cv_header_stdbool_h=1],
520 [cf_cv_header_stdbool_h=0])])])
522 if test "$cf_cv_header_stdbool_h" = 1
523 then AC_MSG_RESULT(yes)
524 else AC_MSG_RESULT(no)
527 AC_MSG_CHECKING([for builtin bool type])
529 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
532 #include <sys/types.h>
534 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
535 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
538 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
539 then AC_MSG_RESULT(yes)
540 else AC_MSG_RESULT(no)
543 dnl ---------------------------------------------------------------------------
544 dnl CF_BOOL_SIZE version: 14 updated: 2015/04/17 21:13:04
546 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
547 dnl Don't bother looking for bool.h, since it's been deprecated.
549 dnl If the current compiler is C rather than C++, we get the bool definition
550 dnl from <stdbool.h>.
551 AC_DEFUN([CF_BOOL_SIZE],
553 AC_MSG_CHECKING([for size of bool])
554 AC_CACHE_VAL(cf_cv_type_of_bool,[
560 #if defined(__cplusplus)
562 #ifdef HAVE_GXX_BUILTIN_H
563 #include <g++/builtin.h>
564 #elif HAVE_GPP_BUILTIN_H
565 #include <gpp/builtin.h>
572 #if $cf_cv_header_stdbool_h
580 FILE *fp = fopen("cf_test.out", "w");
584 fputs("unsigned ", fp);
585 if (sizeof(x) == sizeof(int)) fputs("int", fp);
586 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
587 else if (sizeof(x) == sizeof(short))fputs("short",fp);
588 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
591 ${cf_cv_main_return:-return}(0);
594 [cf_cv_type_of_bool=`cat cf_test.out`
595 if test -z "$cf_cv_type_of_bool"; then
596 cf_cv_type_of_bool=unknown
598 [cf_cv_type_of_bool=unknown],
599 [cf_cv_type_of_bool=unknown])
602 AC_MSG_RESULT($cf_cv_type_of_bool)
603 if test "$cf_cv_type_of_bool" = unknown ; then
604 case .$NCURSES_BOOL in
605 (.auto|.) NCURSES_BOOL=unsigned;;
607 AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
608 cf_cv_type_of_bool=$NCURSES_BOOL
611 dnl ---------------------------------------------------------------------------
612 dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
614 dnl If we're cross-compiling, allow the user to override the tools and their
615 dnl options. The configure script is oriented toward identifying the host
616 dnl compiler, etc., but we need a build compiler to generate parts of the
619 dnl $1 = default for $CPPFLAGS
620 dnl $2 = default for $LIBS
621 AC_DEFUN([CF_BUILD_CC],[
622 CF_ACVERSION_CHECK(2.52,,
623 [AC_REQUIRE([CF_PROG_EXT])])
624 if test "$cross_compiling" = yes ; then
626 # defaults that we might want to override
627 : ${BUILD_CFLAGS:=''}
628 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
629 : ${BUILD_LDFLAGS:=''}
630 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
631 : ${BUILD_EXEEXT:='$x'}
632 : ${BUILD_OBJEXT:='o'}
634 AC_ARG_WITH(build-cc,
635 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
636 [BUILD_CC="$withval"],
637 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
638 AC_MSG_CHECKING(for native build C compiler)
639 AC_MSG_RESULT($BUILD_CC)
641 AC_MSG_CHECKING(for native build C preprocessor)
642 AC_ARG_WITH(build-cpp,
643 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
644 [BUILD_CPP="$withval"],
645 [BUILD_CPP='${BUILD_CC} -E'])
646 AC_MSG_RESULT($BUILD_CPP)
648 AC_MSG_CHECKING(for native build C flags)
649 AC_ARG_WITH(build-cflags,
650 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
651 [BUILD_CFLAGS="$withval"])
652 AC_MSG_RESULT($BUILD_CFLAGS)
654 AC_MSG_CHECKING(for native build C preprocessor-flags)
655 AC_ARG_WITH(build-cppflags,
656 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
657 [BUILD_CPPFLAGS="$withval"])
658 AC_MSG_RESULT($BUILD_CPPFLAGS)
660 AC_MSG_CHECKING(for native build linker-flags)
661 AC_ARG_WITH(build-ldflags,
662 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
663 [BUILD_LDFLAGS="$withval"])
664 AC_MSG_RESULT($BUILD_LDFLAGS)
666 AC_MSG_CHECKING(for native build linker-libraries)
667 AC_ARG_WITH(build-libs,
668 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
669 [BUILD_LIBS="$withval"])
670 AC_MSG_RESULT($BUILD_LIBS)
672 # this assumes we're on Unix.
676 : ${BUILD_CC:='${CC}'}
678 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
679 AC_MSG_ERROR([Cross-build requires two compilers.
680 Use --with-build-cc to specify the native compiler.])
684 : ${BUILD_CC:='${CC}'}
685 : ${BUILD_CPP:='${CPP}'}
686 : ${BUILD_CFLAGS:='${CFLAGS}'}
687 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
688 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
689 : ${BUILD_LIBS:='${LIBS}'}
690 : ${BUILD_EXEEXT:='$x'}
691 : ${BUILD_OBJEXT:='o'}
696 AC_SUBST(BUILD_CFLAGS)
697 AC_SUBST(BUILD_CPPFLAGS)
698 AC_SUBST(BUILD_LDFLAGS)
700 AC_SUBST(BUILD_EXEEXT)
701 AC_SUBST(BUILD_OBJEXT)
703 dnl ---------------------------------------------------------------------------
704 dnl CF_CC_ENV_FLAGS version: 2 updated: 2015/04/12 15:39:00
706 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
707 dnl into CC. This will not help with broken scripts that wrap the compiler with
708 dnl options, but eliminates a more common category of user confusion.
709 AC_DEFUN([CF_CC_ENV_FLAGS],
711 # This should have been defined by AC_PROG_CC
714 AC_MSG_CHECKING(\$CC variable)
717 AC_MSG_RESULT(broken)
718 AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
720 cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
721 CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
722 CF_ADD_CFLAGS($cf_flags)
729 dnl ---------------------------------------------------------------------------
730 dnl CF_CFG_DEFAULTS version: 11 updated: 2015/04/17 21:13:04
732 dnl Determine the default configuration into which we'll install ncurses. This
733 dnl can be overridden by the user's command-line options. There's two items to
735 dnl 1. the prefix (e.g., /usr)
736 dnl 2. the header files (e.g., /usr/include/ncurses)
737 dnl We'll look for a previous installation of ncurses and use the same defaults.
739 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
740 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
741 dnl programs from a vendor's.
742 AC_DEFUN([CF_CFG_DEFAULTS],
744 AC_MSG_CHECKING(for prefix)
745 if test "x$prefix" = "xNONE" ; then
746 case "$cf_cv_system_name" in
747 # non-vendor systems don't have a conflict
748 (openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*)
751 (*) prefix=$ac_default_prefix
755 AC_MSG_RESULT($prefix)
757 if test "x$prefix" = "xNONE" ; then
758 AC_MSG_CHECKING(for default include-directory)
759 test -n "$verbose" && echo 1>&AC_FD_MSG
762 $includedir/ncurses \
764 $prefix/include/ncurses \
766 /usr/local/include/ncurses \
770 cf_dir=`eval echo $cf_symbol`
771 if test -f $cf_dir/curses.h ; then
772 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
773 includedir="$cf_symbol"
774 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
778 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
780 AC_MSG_RESULT($includedir)
783 dnl ---------------------------------------------------------------------------
784 dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13
786 dnl Check if the terminal-capability database functions are available. If not,
787 dnl ncurses has a much-reduced version.
788 AC_DEFUN([CF_CGETENT],[
789 AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[
791 #include <stdlib.h>],[
794 char *db_array = temp;
795 cgetent(&buf, &db_array, "vt100");
796 cgetcap(buf, "tc", '=');
797 cgetmatch(buf, "tc");
803 if test "$cf_cv_cgetent" = yes
805 AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent])
806 AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
808 #include <stdlib.h>],[
811 #ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
812 const char *db_array = temp;
813 cgetent(&buf, &db_array, "vt100");
815 cgetcap(buf, "tc", '=');
816 cgetmatch(buf, "tc");
818 [cf_cv_cgetent_const=yes],
819 [cf_cv_cgetent_const=no])
821 if test "$cf_cv_cgetent_const" = yes
823 AC_DEFINE_UNQUOTED(CGETENT_CONST,const,[Define to const if needed for some BSD cgetent variations])
827 dnl ---------------------------------------------------------------------------
828 dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
830 dnl Check if we're accidentally using a cache from a different machine.
831 dnl Derive the system name, as a check for reusing the autoconf cache.
833 dnl If we've packaged config.guess and config.sub, run that (since it does a
834 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
835 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
836 dnl which is useful in cross-compiles.
838 dnl Note: we would use $ac_config_sub, but that is one of the places where
839 dnl autoconf 2.5x broke compatibility with autoconf 2.13
840 AC_DEFUN([CF_CHECK_CACHE],
842 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
843 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
844 system_name="$host_os"
846 system_name="`(uname -s -r) 2>/dev/null`"
847 if test -z "$system_name" ; then
848 system_name="`(hostname) 2>/dev/null`"
851 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
852 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
854 test -z "$system_name" && system_name="$cf_cv_system_name"
855 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
857 if test ".$system_name" != ".$cf_cv_system_name" ; then
858 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
859 AC_MSG_ERROR("Please remove config.cache and try again.")
862 dnl ---------------------------------------------------------------------------
863 dnl CF_CHECK_ERRNO version: 12 updated: 2015/04/18 08:56:57
865 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
866 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
869 dnl $1 = the name to check
870 dnl $2 = the assumed type
871 AC_DEFUN([CF_CHECK_ERRNO],
873 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
879 #include <sys/types.h>
880 #include <errno.h> ],
881 ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1,
886 if test "$cf_cv_dcl_$1" = no ; then
887 CF_UPPER(cf_result,decl_$1)
888 AC_DEFINE_UNQUOTED($cf_result)
891 # It's possible (for near-UNIX clones) that the data doesn't exist
892 CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2]))
894 dnl ---------------------------------------------------------------------------
895 dnl CF_CHECK_EXTERN_DATA version: 4 updated: 2015/04/18 08:56:57
896 dnl --------------------
897 dnl Check for existence of external data in the current set of libraries. If
898 dnl we can modify it, it's real enough.
899 dnl $1 = the name to check
901 AC_DEFUN([CF_CHECK_EXTERN_DATA],
903 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
913 if test "$cf_cv_have_$1" = yes ; then
914 CF_UPPER(cf_result,have_$1)
915 AC_DEFINE_UNQUOTED($cf_result)
919 dnl ---------------------------------------------------------------------------
920 dnl CF_CHECK_GPM_WGETCH version: 2 updated: 2010/08/14 18:25:37
921 dnl -------------------
922 dnl Check if GPM is already linked with curses. If so - and if the linkage
923 dnl is not "weak" - warn about this because it can create problems linking
924 dnl applications with ncurses.
925 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
926 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
928 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
929 cf_cv_check_gpm_wgetch=unknown
930 if test "$cross_compiling" != yes ; then
932 cat >conftest.$ac_ext <<CF_EOF
937 ${cf_cv_main_return:-return}(0);
942 # This only works if we can look at the symbol table. If a shared
943 # library is stripped for install, we cannot use that. So we're forced
944 # to rely on the static library, noting that some packagers may not
946 LIBS="-static -lgpm -dynamic $LIBS"
947 if AC_TRY_EVAL(ac_compile) ; then
948 if AC_TRY_EVAL(ac_link) ; then
949 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
950 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
951 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
959 if test "$cf_cv_check_gpm_wgetch" != yes ; then
960 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
963 dnl ---------------------------------------------------------------------------
964 dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
965 dnl ------------------------
966 dnl Show the version of libtool
968 dnl Save the version in a cache variable - this is not entirely a good thing,
969 dnl but the version string from libtool is very ugly, and for bug reports it
970 dnl might be useful to have the original string.
971 AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[
972 if test -n "$LIBTOOL" && test "$LIBTOOL" != none
974 AC_MSG_CHECKING(version of $LIBTOOL)
976 AC_MSG_RESULT($cf_cv_libtool_version)
977 if test -z "$cf_cv_libtool_version" ; then
978 AC_MSG_ERROR(This is not GNU libtool)
981 AC_MSG_ERROR(GNU libtool has not been found)
984 dnl ---------------------------------------------------------------------------
985 dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
987 dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
988 AC_DEFUN([CF_CHECK_WCHAR_H],[
989 AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
996 int bar = iswpunct(foo)],
997 [cf_cv_wchar_h_okay=yes],
998 [cf_cv_wchar_h_okay=no])])
1000 if test $cf_cv_wchar_h_okay = no
1002 CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
1005 dnl ---------------------------------------------------------------------------
1006 dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
1007 dnl -----------------
1008 dnl Check if the given compiler is really clang. clang's C driver defines
1009 dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
1010 dnl not ignore some gcc options.
1012 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
1013 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
1014 dnl the wrappers for gcc and g++ warnings.
1016 dnl $1 = GCC (default) or GXX
1017 dnl $2 = CLANG_COMPILER (default)
1018 dnl $3 = CFLAGS (default) or CXXFLAGS
1019 AC_DEFUN([CF_CLANG_COMPILER],[
1020 ifelse([$2],,CLANG_COMPILER,[$2])=no
1022 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
1023 AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
1024 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
1025 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
1031 ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
1032 cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
1034 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
1035 AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
1038 dnl ---------------------------------------------------------------------------
1039 dnl CF_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13
1040 dnl -----------------
1041 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
1042 dnl is a late feature for the standard and is not in some recent compilers
1044 AC_DEFUN([CF_CPP_PARAM_INIT],
1046 if test -n "$CXX"; then
1047 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
1059 TEST::TEST(int x = 1) // some compilers do not like second initializer
1065 [cf_cv_cpp_param_init=yes],
1066 [cf_cv_cpp_param_init=no],
1067 [cf_cv_cpp_param_init=unknown])
1071 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT,1,[Define to 1 if C++ has parameter initialization])
1073 dnl ---------------------------------------------------------------------------
1074 dnl CF_CPP_STATIC_CAST version: 3 updated: 2013/04/13 18:03:21
1075 dnl ------------------
1076 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
1077 dnl not be supported in g++ before 3.0
1078 AC_DEFUN([CF_CPP_STATIC_CAST],
1080 if test -n "$CXX"; then
1082 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
1090 NCursesPanel(int nlines,
1100 template<class T> class NCursesUserPanel : public NCursesPanel
1103 NCursesUserPanel (int nlines,
1107 const T* p_UserData = static_cast<T*>(0))
1108 : NCursesPanel (nlines, ncols, begin_y, begin_x)
1111 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
1115 virtual ~NCursesUserPanel() {};
1118 const char* p_UserData = static_cast<char*>(0)],
1119 [cf_cv_cpp_static_cast=yes],
1120 [cf_cv_cpp_static_cast=no])
1127 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST,1,[Define to 1 if C++ has static_cast])
1129 dnl ---------------------------------------------------------------------------
1130 dnl CF_CXX_AR_FLAGS version: 2 updated: 2015/04/17 21:13:04
1132 dnl Setup special archiver flags for given compilers.
1133 AC_DEFUN([CF_CXX_AR_FLAGS],[
1135 CXX_ARFLAGS='$(ARFLAGS)'
1136 case $cf_cv_system_name in
1138 if test "$GXX" != yes ; then
1140 CXX_ARFLAGS='-ar -o'
1144 CXXLDFLAGS="-u main"
1147 if test "$GXX" != yes ; then
1149 CXX_ARFLAGS='-xar -o'
1153 AC_SUBST(CXXLDFLAGS)
1155 AC_SUBST(CXX_ARFLAGS)
1157 dnl ---------------------------------------------------------------------------
1158 dnl CF_CXX_IOSTREAM_NAMESPACE version: 2 updated: 2012/10/06 17:56:13
1159 dnl -------------------------
1160 dnl For c++, check if iostream uses "std::" namespace.
1161 AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[
1162 AC_CHECK_HEADERS(iostream)
1163 if test x"$ac_cv_header_iostream" = xyes ; then
1164 AC_MSG_CHECKING(if iostream uses std-namespace)
1169 cerr << "testing" << endl;
1170 ],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
1171 AC_MSG_RESULT($cf_iostream_namespace)
1172 if test "$cf_iostream_namespace" = yes ; then
1173 AC_DEFINE(IOSTREAM_NAMESPACE,1,[Define to 1 if C++ has namespace iostream])
1177 dnl ---------------------------------------------------------------------------
1178 dnl CF_C_INLINE version: 5 updated: 2015/04/18 08:56:57
1180 dnl Check if the C compiler supports "inline".
1181 dnl $1 is the name of a shell variable to set if inline is supported
1182 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
1183 AC_DEFUN([CF_C_INLINE],[
1186 if test "$ac_cv_c_inline" != no ; then
1188 if test "$INTEL_COMPILER" = yes
1191 elif test "$CLANG_COMPILER" = yes
1194 elif test "$GCC" = yes
1196 AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
1197 cf_save_CFLAGS=$CFLAGS
1198 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
1199 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
1200 [${cf_cv_main_return:-return} foo()],
1201 [cf_cv_gcc_inline=yes],
1202 [cf_cv_gcc_inline=no])
1203 CFLAGS=$cf_save_CFLAGS
1205 if test "$cf_cv_gcc_inline" = yes ; then
1206 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
1212 dnl ---------------------------------------------------------------------------
1213 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1215 dnl "dirname" is not portable, so we fake it with a shell script.
1216 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1217 dnl ---------------------------------------------------------------------------
1218 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1220 AC_DEFUN([CF_DIRS_TO_MAKE],
1223 for cf_item in $cf_list_models
1225 CF_OBJ_SUBDIR($cf_item,cf_subdir)
1226 for cf_item2 in $DIRS_TO_MAKE
1228 test $cf_item2 = $cf_subdir && break
1230 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1232 for cf_dir in $DIRS_TO_MAKE
1234 test ! -d $cf_dir && mkdir $cf_dir
1236 AC_SUBST(DIRS_TO_MAKE)
1238 dnl ---------------------------------------------------------------------------
1239 dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57
1241 dnl You can always use "make -n" to see the actual options, but it's hard to
1242 dnl pick out/analyze warning messages when the compile-line is long.
1245 dnl ECHO_LT - symbol to control if libtool is verbose
1246 dnl ECHO_LD - symbol to prefix "cc -o" lines
1247 dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
1248 dnl SHOW_CC - symbol to put before explicit "cc -c" lines
1249 dnl ECHO_CC - symbol to put before any "cc" line
1251 AC_DEFUN([CF_DISABLE_ECHO],[
1252 AC_MSG_CHECKING(if you want to see long compiling messages)
1253 CF_ARG_DISABLE(echo,
1254 [ --disable-echo do not display "compiling" commands],
1257 ECHO_LD='@echo linking [$]@;'
1258 RULE_CC='@echo compiling [$]<'
1259 SHOW_CC='@echo compiling [$]@'
1268 AC_MSG_RESULT($enableval)
1275 dnl ---------------------------------------------------------------------------
1276 dnl CF_DISABLE_GNAT_PROJECTS version: 1 updated: 2014/06/01 11:34:00
1277 dnl ------------------------
1278 AC_DEFUN([CF_DISABLE_GNAT_PROJECTS],[
1279 AC_MSG_CHECKING(if we want to use GNAT projects)
1280 CF_ARG_DISABLE(gnat-projects,
1281 [ --disable-gnat-projects test: disable GNAT projects even if usable],
1282 [enable_gnat_projects=no],
1283 [enable_gnat_projects=yes])
1284 AC_MSG_RESULT($enable_gnat_projects)
1286 dnl ---------------------------------------------------------------------------
1287 dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
1288 dnl ----------------
1289 dnl Combine no-leak checks with the libraries or tools that are used for the
1291 AC_DEFUN([CF_DISABLE_LEAKS],[
1293 AC_REQUIRE([CF_WITH_DMALLOC])
1294 AC_REQUIRE([CF_WITH_DBMALLOC])
1295 AC_REQUIRE([CF_WITH_VALGRIND])
1297 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1298 AC_ARG_ENABLE(leaks,
1299 [ --disable-leaks test: free permanent memory, analyze leaks],
1300 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1301 : ${with_no_leaks:=no})
1302 AC_MSG_RESULT($with_no_leaks)
1304 if test "$with_no_leaks" = yes ; then
1305 AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
1306 AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
1309 dnl ---------------------------------------------------------------------------
1310 dnl CF_DISABLE_LIBTOOL_VERSION version: 3 updated: 2015/04/17 21:13:04
1311 dnl --------------------------
1312 dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1313 dnl the older "-version-info" feature. The newer feature allows us to use
1314 dnl version numbering on shared libraries which make them compatible with
1315 dnl various systems.
1316 AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1318 AC_MSG_CHECKING(if libtool -version-number should be used)
1319 CF_ARG_DISABLE(libtool-version,
1320 [ --disable-libtool-version enable to use libtool's incompatible naming scheme],
1321 [cf_libtool_version=no],
1322 [cf_libtool_version=yes])
1323 AC_MSG_RESULT($cf_libtool_version)
1325 if test "$cf_libtool_version" = yes ; then
1326 LIBTOOL_VERSION="-version-number"
1328 LIBTOOL_VERSION="-version-info"
1331 AC_MSG_WARN(VERSION was not set)
1334 ABI_VERSION="$VERSION"
1335 CF_VERBOSE(ABI_VERSION: $ABI_VERSION)
1338 ABI_VERSION=`echo "$VERSION" | sed -e 's/:/./g'`
1339 CF_VERBOSE(ABI_VERSION: $ABI_VERSION)
1342 AC_MSG_WARN(unexpected VERSION value: $VERSION)
1347 AC_SUBST(ABI_VERSION)
1348 AC_SUBST(LIBTOOL_VERSION)
1350 dnl ---------------------------------------------------------------------------
1351 dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
1352 dnl ---------------------
1353 dnl The rpath-hack makes it simpler to build programs, particularly with the
1354 dnl *BSD ports which may have essential libraries in unusual places. But it
1355 dnl can interfere with building an executable for the base system. Use this
1356 dnl option in that case.
1357 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1359 AC_MSG_CHECKING(if rpath-hack should be disabled)
1360 CF_ARG_DISABLE(rpath-hack,
1361 [ --disable-rpath-hack don't add rpath options for additional libraries],
1362 [cf_disable_rpath_hack=yes],
1363 [cf_disable_rpath_hack=no])
1364 AC_MSG_RESULT($cf_disable_rpath_hack)
1365 if test "$cf_disable_rpath_hack" = no ; then
1369 dnl ---------------------------------------------------------------------------
1370 dnl CF_ENABLE_PC_FILES version: 12 updated: 2015/04/17 21:13:04
1371 dnl ------------------
1372 dnl This is the "--enable-pc-files" option, which is available if there is a
1373 dnl pkg-config configuration on the local machine.
1374 AC_DEFUN([CF_ENABLE_PC_FILES],[
1375 AC_REQUIRE([CF_PKG_CONFIG])
1376 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
1378 if test "x$PKG_CONFIG" != xnone
1380 AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
1382 AC_MSG_CHECKING(if we should install .pc files)
1385 AC_ARG_ENABLE(pc-files,
1386 [ --enable-pc-files generate and install .pc files for pkg-config],
1387 [enable_pc_files=$enableval],
1388 [enable_pc_files=no])
1389 AC_MSG_RESULT($enable_pc_files)
1391 if test "x$enable_pc_files" != xno
1393 case "x$PKG_CONFIG_LIBDIR" in
1395 AC_MSG_WARN(no PKG_CONFIG_LIBDIR was found)
1399 CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
1406 AC_SUBST(MAKE_PC_FILES)
1408 dnl ---------------------------------------------------------------------------
1409 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1411 dnl Check if the rpath option should be used, setting cache variable
1412 dnl cf_cv_enable_rpath if so.
1413 AC_DEFUN([CF_ENABLE_RPATH],
1415 AC_MSG_CHECKING(if rpath option should be used)
1416 AC_ARG_ENABLE(rpath,
1417 [ --enable-rpath use rpath option when generating shared libraries],
1418 [cf_cv_enable_rpath=$enableval],
1419 [cf_cv_enable_rpath=no])
1420 AC_MSG_RESULT($cf_cv_enable_rpath)
1422 dnl ---------------------------------------------------------------------------
1423 dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12
1424 dnl ----------------------
1425 dnl On a few platforms, the compiler and/or loader nags with untruthful
1426 dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
1427 dnl and implying that most uses of the recommended alternatives are correct.
1429 dnl Factually speaking, no one has actually counted the number of uses of these
1430 dnl functions versus the total of incorrect uses. Samples of a few thousand
1431 dnl instances are meaningless compared to the hundreds of millions of lines of
1432 dnl existing C code.
1434 dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some
1435 dnl platforms, in implementations of varying quality. Likewise, snprintf is
1436 dnl standard - but evolved through phases, and older implementations are likely
1437 dnl to yield surprising results, as documented in manpages on various systems.
1438 AC_DEFUN([CF_ENABLE_STRING_HACKS],
1440 AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings)
1441 AC_ARG_ENABLE(string-hacks,
1442 [ --enable-string-hacks work around bogus compiler/loader warnings],
1443 [with_string_hacks=$enableval],
1444 [with_string_hacks=no])
1445 AC_MSG_RESULT($with_string_hacks)
1447 if test "x$with_string_hacks" = "xyes"; then
1448 AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings])
1449 AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
1450 AC_CHECK_FUNCS( strlcat strlcpy snprintf )
1453 dnl ---------------------------------------------------------------------------
1454 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1456 dnl Check if 'errno' is declared in <errno.h>
1457 AC_DEFUN([CF_ERRNO],
1459 CF_CHECK_ERRNO(errno)
1461 dnl ---------------------------------------------------------------------------
1462 dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07
1464 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1465 dnl math.h and builtin.h, only for ncurses
1466 AC_DEFUN([CF_ETIP_DEFINES],
1468 AC_MSG_CHECKING(for special defines needed for etip.h)
1469 cf_save_CXXFLAGS="$CXXFLAGS"
1472 # etip.h includes ncurses.h which includes ncurses_dll.h
1473 # But ncurses_dll.h is generated - fix here.
1474 test -d include || mkdir include
1475 test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
1477 for cf_math in "" MATH_H
1479 for cf_excp in "" MATH_EXCEPTION
1481 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
1482 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1483 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1485 #include <etip.h.in>
1487 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1488 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1489 cf_result="$cf_math $cf_excp"
1494 AC_MSG_RESULT($cf_result)
1495 CXXFLAGS="$cf_save_CXXFLAGS"
1497 dnl ---------------------------------------------------------------------------
1498 dnl CF_FIND_LINKAGE version: 20 updated: 2015/04/18 08:56:57
1500 dnl Find a library (specifically the linkage used in the code fragment),
1501 dnl searching for it if it is not already in the library path.
1502 dnl See also CF_ADD_SEARCHPATH.
1504 dnl Parameters (4-on are optional):
1505 dnl $1 = headers for library entrypoint
1506 dnl $2 = code fragment for library entrypoint
1507 dnl $3 = the library name without the "-l" option or ".so" suffix.
1508 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
1509 dnl $5 = action to perform if not successful
1510 dnl $6 = module name, if not the same as the library name
1511 dnl $7 = extra libraries
1513 dnl Sets these variables:
1514 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1515 dnl $cf_cv_header_path_$3 - include-directory if needed
1516 dnl $cf_cv_library_path_$3 - library-directory if needed
1517 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1518 AC_DEFUN([CF_FIND_LINKAGE],[
1520 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1521 # will be set on completion of the AC_TRY_LINK below.
1522 cf_cv_header_path_$3=
1523 cf_cv_library_path_$3=
1525 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1527 cf_save_LIBS="$LIBS"
1529 AC_TRY_LINK([$1],[$2],[
1530 cf_cv_find_linkage_$3=yes
1531 cf_cv_header_path_$3=/usr/include
1532 cf_cv_library_path_$3=/usr/lib
1535 LIBS="-l$3 $7 $cf_save_LIBS"
1537 AC_TRY_LINK([$1],[$2],[
1538 cf_cv_find_linkage_$3=yes
1539 cf_cv_header_path_$3=/usr/include
1540 cf_cv_library_path_$3=/usr/lib
1541 cf_cv_library_file_$3="-l$3"
1543 cf_cv_find_linkage_$3=no
1544 LIBS="$cf_save_LIBS"
1546 CF_VERBOSE(find linkage for $3 library)
1547 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1549 cf_save_CPPFLAGS="$CPPFLAGS"
1550 cf_test_CPPFLAGS="$CPPFLAGS"
1552 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1553 for cf_cv_header_path_$3 in $cf_search
1555 if test -d $cf_cv_header_path_$3 ; then
1556 CF_VERBOSE(... testing $cf_cv_header_path_$3)
1557 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1558 AC_TRY_COMPILE([$1],[$2],[
1559 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1560 cf_cv_find_linkage_$3=maybe
1561 cf_test_CPPFLAGS="$CPPFLAGS"
1563 CPPFLAGS="$cf_save_CPPFLAGS"
1568 if test "$cf_cv_find_linkage_$3" = maybe ; then
1570 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1572 cf_save_LIBS="$LIBS"
1573 cf_save_LDFLAGS="$LDFLAGS"
1576 CPPFLAGS="$cf_test_CPPFLAGS"
1577 LIBS="-l$3 $7 $cf_save_LIBS"
1578 AC_TRY_LINK([$1],[$2],[
1579 CF_VERBOSE(... found $3 library in system)
1580 cf_cv_find_linkage_$3=yes])
1581 CPPFLAGS="$cf_save_CPPFLAGS"
1582 LIBS="$cf_save_LIBS"
1585 if test "$cf_cv_find_linkage_$3" != yes ; then
1586 CF_LIBRARY_PATH(cf_search,$3)
1587 for cf_cv_library_path_$3 in $cf_search
1589 if test -d $cf_cv_library_path_$3 ; then
1590 CF_VERBOSE(... testing $cf_cv_library_path_$3)
1591 CPPFLAGS="$cf_test_CPPFLAGS"
1592 LIBS="-l$3 $7 $cf_save_LIBS"
1593 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1594 AC_TRY_LINK([$1],[$2],[
1595 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1596 cf_cv_find_linkage_$3=yes
1597 cf_cv_library_file_$3="-l$3"
1599 CPPFLAGS="$cf_save_CPPFLAGS"
1600 LIBS="$cf_save_LIBS"
1601 LDFLAGS="$cf_save_LDFLAGS"
1605 CPPFLAGS="$cf_save_CPPFLAGS"
1606 LDFLAGS="$cf_save_LDFLAGS"
1610 cf_cv_find_linkage_$3=no
1615 LIBS="$cf_save_LIBS"
1617 if test "$cf_cv_find_linkage_$3" = yes ; then
1619 CF_ADD_INCDIR($cf_cv_header_path_$3)
1620 CF_ADD_LIBDIR($cf_cv_library_path_$3)
1624 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1627 dnl ---------------------------------------------------------------------------
1628 dnl CF_FIND_SUB_INCDIR version: 2 updated: 2015/04/17 21:13:04
1629 dnl ------------------
1630 dnl Find an include-directory with the given leaf-name. This is useful for
1631 dnl example with FreeBSD ports, which use this convention to distinguish
1632 dnl different versions of the same port.
1633 AC_DEFUN([CF_FIND_SUB_INCDIR],[
1634 CF_SUBDIR_PATH(cf_search,$1,include)
1635 for cf_item in $cf_search
1639 CF_ADD_INCDIR($cf_item)
1644 dnl ---------------------------------------------------------------------------
1645 dnl CF_FIND_SUB_LIBDIR version: 2 updated: 2015/04/17 21:13:04
1646 dnl ------------------
1647 dnl Find a library-directory with the given leaf-name. This is useful for
1648 dnl example with FreeBSD ports, which use this convention to distinguish
1649 dnl different versions of the same port.
1650 AC_DEFUN([CF_FIND_SUB_LIBDIR],[
1651 CF_SUBDIR_PATH(cf_search,$1,lib)
1652 for cf_item in $cf_search
1656 CF_ADD_LIBDIR($cf_item)
1661 dnl ---------------------------------------------------------------------------
1662 dnl CF_FIXUP_ADAFLAGS version: 2 updated: 2015/04/17 21:13:04
1663 dnl -----------------
1664 dnl make ADAFLAGS consistent with CFLAGS
1665 AC_DEFUN([CF_FIXUP_ADAFLAGS],[
1666 AC_MSG_CHECKING(optimization options for ADAFLAGS)
1674 cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
1675 CF_ADD_ADAFLAGS($cf_O_flag)
1678 AC_MSG_RESULT($ADAFLAGS)
1680 dnl ---------------------------------------------------------------------------
1681 dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09
1683 dnl Forget that we saw the given tool.
1684 AC_DEFUN([CF_FORGET_TOOL],[
1685 unset ac_cv_prog_ac_ct_$1
1689 dnl ---------------------------------------------------------------------------
1690 dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15
1692 dnl Test for dlsym() and related functions, as well as libdl.
1697 AC_DEFUN([CF_FUNC_DLSYM],[
1699 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1702 AC_CHECK_LIB(dl,dlsym,[
1704 cf_have_libdl=yes])])
1706 if test "$cf_have_dlsym" = yes ; then
1707 test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
1709 AC_MSG_CHECKING(whether able to link to dl*() functions)
1710 AC_TRY_LINK([#include <dlfcn.h>],[
1712 if ((obj = dlopen("filename", 0)) != 0) {
1713 if (dlsym(obj, "symbolname") == 0) {
1717 AC_DEFINE(HAVE_LIBDL,1,[Define to 1 if we have dl library])],[
1718 AC_MSG_ERROR(Cannot link test program for libdl)])
1721 AC_MSG_ERROR(Cannot find dlsym function)
1724 dnl ---------------------------------------------------------------------------
1725 dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20
1727 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1728 dnl is found, add our own version of memmove to the list of objects.
1729 AC_DEFUN([CF_FUNC_MEMMOVE],
1731 AC_CHECK_FUNC(memmove,,[
1732 AC_CHECK_FUNC(bcopy,[
1733 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1736 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1738 bcopy(data, temp, sizeof(data));
1739 bcopy(temp+10, temp, 15);
1740 bcopy(temp+5, temp+15, 10);
1741 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1744 [cf_cv_good_bcopy=yes],
1745 [cf_cv_good_bcopy=no],
1746 [cf_cv_good_bcopy=unknown])
1748 ],[cf_cv_good_bcopy=no])
1749 if test "$cf_cv_good_bcopy" = yes ; then
1750 AC_DEFINE(USE_OK_BCOPY,1,[Define to 1 to use bcopy when memmove is unavailable])
1752 AC_DEFINE(USE_MY_MEMMOVE,1,[Define to 1 to use replacement function when memmove is unavailable])
1755 dnl ---------------------------------------------------------------------------
1756 dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13
1757 dnl -----------------
1758 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1759 dnl AIX 4.x, provide a non-working version.
1760 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1761 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1767 #ifdef HAVE_SYS_TIME_H
1768 #include <sys/time.h>
1772 struct timespec ts1, ts2;
1775 ts1.tv_nsec = 750000000;
1779 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1780 ${cf_cv_main_return:-return}(code != 0);
1783 [cf_cv_func_nanosleep=yes],
1784 [cf_cv_func_nanosleep=no],
1785 [cf_cv_func_nanosleep=unknown])])
1787 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()])
1789 dnl ---------------------------------------------------------------------------
1790 dnl CF_FUNC_OPENPTY version: 4 updated: 2015/04/18 08:56:57
1792 dnl Check for openpty() function, along with <pty.h> header. It may need the
1793 dnl "util" library as well.
1794 AC_DEFUN([CF_FUNC_OPENPTY],
1796 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1797 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1798 cf_save_LIBS="$LIBS"
1799 test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
1800 for cf_header in pty.h libutil.h util.h
1803 #include <$cf_header>
1805 int x = openpty((int *)0, (int *)0, (char *)0,
1806 (struct termios *)0, (struct winsize *)0);
1808 cf_cv_func_openpty=$cf_header
1811 cf_cv_func_openpty=no
1814 LIBS="$cf_save_LIBS"
1817 dnl ---------------------------------------------------------------------------
1818 dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07
1820 dnl See if the poll function really works. Some platforms have poll(), but
1821 dnl it does not work for terminals or files.
1822 AC_DEFUN([CF_FUNC_POLL],[
1823 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1832 #include <sys/poll.h>
1835 struct pollfd myfds;
1838 /* check for Darwin bug with respect to "devices" */
1839 myfds.fd = open("/dev/null", 1); /* O_WRONLY */
1842 myfds.events = POLLIN;
1845 ret = poll(&myfds, 1, 100);
1847 if (ret < 0 || (myfds.revents & POLLNVAL)) {
1852 fd = open("/dev/tty", 2); /* O_RDWR */
1856 /* also check with standard input */
1858 myfds.events = POLLIN;
1860 ret = poll(&myfds, 1, 100);
1865 ${cf_cv_main_return:-return}(ret < 0);
1867 [cf_cv_working_poll=yes],
1868 [cf_cv_working_poll=no],
1869 [cf_cv_working_poll=unknown])])
1870 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL,1,[Define to 1 if the poll function seems to work])
1872 dnl ---------------------------------------------------------------------------
1873 dnl CF_FUNC_TERMIOS version: 3 updated: 2012/10/06 17:56:13
1875 dnl Some old/broken variations define tcgetattr() only as a macro in
1877 AC_DEFUN([CF_FUNC_TERMIOS],[
1878 AC_REQUIRE([CF_STRUCT_TERMIOS])
1879 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1881 #include <sys/types.h>
1882 #ifdef HAVE_UNISTD_H
1885 #ifdef HAVE_TERMIOS_H
1886 #include <termios.h>
1887 #define TTY struct termios
1889 #ifdef HAVE_TERMIO_H
1891 #define TTY struct termio
1896 tcgetattr(1, &foo);],
1897 [cf_cv_have_tcgetattr=yes],
1898 [cf_cv_have_tcgetattr=no])])
1899 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR,1,[Define to 1 if we have tcgetattr])
1901 dnl ---------------------------------------------------------------------------
1902 dnl CF_FUNC_VSSCANF version: 6 updated: 2015/04/18 08:56:57
1904 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1905 dnl versions of C. It is in the GNU C library, and can often be simulated by
1906 dnl other functions.
1907 AC_DEFUN([CF_FUNC_VSSCANF],
1909 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1912 #include <stdio.h>],[
1914 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1917 #include <stdio.h>],[
1921 strbuf._flag = _IOREAD;
1922 strbuf._ptr = strbuf._base = (unsigned char *) str;
1923 strbuf._cnt = strlen(str);
1924 strbuf._file = _NFILE;
1925 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1928 #include <stdio.h>],[
1932 strbuf._flag = _IOREAD;
1933 strbuf._ptr = strbuf._base = (unsigned char *) str;
1934 strbuf._cnt = strlen(str);
1935 strbuf._file = _NFILE;
1936 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1937 cf_cv_func_vsscanf=no])])])])
1939 case $cf_cv_func_vsscanf in
1940 (vsscanf) AC_DEFINE(HAVE_VSSCANF,1,[Define to 1 if we have vsscanf]);;
1941 (vfscanf) AC_DEFINE(HAVE_VFSCANF,1,[Define to 1 if we have vfscanf]);;
1942 (_doscan) AC_DEFINE(HAVE__DOSCAN,1,[Define to 1 if we have _doscan]);;
1946 dnl ---------------------------------------------------------------------------
1947 dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00
1948 dnl -----------------
1949 dnl Test for availability of useful gcc __attribute__ directives to quiet
1950 dnl compiler warnings. Though useful, not all are supported -- and contrary
1951 dnl to documentation, unrecognized directives cause older compilers to barf.
1952 AC_DEFUN([CF_GCC_ATTRIBUTES],
1954 if test "$GCC" = yes
1956 cat > conftest.i <<EOF
1958 #define GCC_PRINTF 0
1963 #ifndef GCC_NORETURN
1964 #define GCC_NORETURN /* nothing */
1967 #define GCC_UNUSED /* nothing */
1970 if test "$GCC" = yes
1972 AC_CHECKING([for $CC __attribute__ directives])
1973 cat > conftest.$ac_ext <<EOF
1974 #line __oline__ "${as_me:-configure}"
1975 #include "confdefs.h"
1976 #include "conftest.h"
1977 #include "conftest.i"
1979 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1981 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1984 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1986 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1988 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1989 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1990 extern void foo(void) GCC_NORETURN;
1991 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1993 cf_printf_attribute=no
1994 cf_scanf_attribute=no
1995 for cf_attribute in scanf printf unused noreturn
1997 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1998 cf_directive="__attribute__(($cf_attribute))"
1999 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
2001 case $cf_attribute in
2003 cf_printf_attribute=yes
2004 cat >conftest.h <<EOF
2005 #define GCC_$cf_ATTRIBUTE 1
2009 cf_scanf_attribute=yes
2010 cat >conftest.h <<EOF
2011 #define GCC_$cf_ATTRIBUTE 1
2015 cat >conftest.h <<EOF
2016 #define GCC_$cf_ATTRIBUTE $cf_directive
2021 if AC_TRY_EVAL(ac_compile); then
2022 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
2023 cat conftest.h >>confdefs.h
2024 case $cf_attribute in
2026 AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
2029 cf_value='/* nothing */'
2030 if test "$cf_printf_attribute" != no ; then
2031 cf_value='__attribute__((format(printf,fmt,var)))'
2032 AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
2034 AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
2037 cf_value='/* nothing */'
2038 if test "$cf_scanf_attribute" != no ; then
2039 cf_value='__attribute__((format(scanf,fmt,var)))'
2040 AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
2042 AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
2045 AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
2051 fgrep define conftest.i >>confdefs.h
2056 dnl ---------------------------------------------------------------------------
2057 dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
2059 dnl Find version of gcc
2060 AC_DEFUN([CF_GCC_VERSION],[
2061 AC_REQUIRE([AC_PROG_CC])
2063 if test "$GCC" = yes ; then
2064 AC_MSG_CHECKING(version of $CC)
2065 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
2066 test -z "$GCC_VERSION" && GCC_VERSION=unknown
2067 AC_MSG_RESULT($GCC_VERSION)
2070 dnl ---------------------------------------------------------------------------
2071 dnl CF_GCC_WARNINGS version: 32 updated: 2015/04/12 15:39:00
2073 dnl Check if the compiler supports useful warning options. There's a few that
2074 dnl we don't use, simply because they're too noisy:
2076 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
2077 dnl -Wredundant-decls (system headers make this too noisy)
2078 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
2079 dnl -Wwrite-strings (too noisy, but should review occasionally). This
2080 dnl is enabled for ncurses using "--enable-const".
2084 dnl $1 is an optional list of gcc warning flags that a particular
2085 dnl application might want to use, e.g., "no-unused" for
2088 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
2090 AC_DEFUN([CF_GCC_WARNINGS],
2092 AC_REQUIRE([CF_GCC_VERSION])
2093 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
2094 CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
2096 cat > conftest.$ac_ext <<EOF
2097 #line __oline__ "${as_me:-configure}"
2098 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2101 if test "$INTEL_COMPILER" = yes
2103 # The "-wdXXX" options suppress warnings:
2104 # remark #1419: external declaration in primary source file
2105 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2106 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2107 # remark #193: zero used for undefined preprocessing identifier
2108 # remark #593: variable "curs_sb_left_arrow" was set but never used
2109 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2110 # remark #869: parameter "tw" was never referenced
2111 # remark #981: operands are evaluated in unspecified order
2112 # warning #279: controlling expression is constant
2114 AC_CHECKING([for $CC warning options])
2115 cf_save_CFLAGS="$CFLAGS"
2116 EXTRA_CFLAGS="-Wall"
2128 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2129 if AC_TRY_EVAL(ac_compile); then
2130 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2131 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2134 CFLAGS="$cf_save_CFLAGS"
2136 elif test "$GCC" = yes
2138 AC_CHECKING([for $CC warning options])
2139 cf_save_CFLAGS="$CFLAGS"
2142 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
2143 cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
2144 test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
2145 for cf_opt in W Wall \
2146 Wbad-function-cast \
2149 Wdeclaration-after-statement \
2152 Wmissing-declarations \
2153 Wmissing-prototypes \
2157 Wstrict-prototypes \
2158 Wundef $cf_gcc_warnings $cf_warn_CONST $1
2160 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2161 if AC_TRY_EVAL(ac_compile); then
2162 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2165 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
2168 case $GCC_VERSION in
2170 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2175 case $GCC_VERSION in
2177 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2182 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2185 CFLAGS="$cf_save_CFLAGS"
2189 AC_SUBST(EXTRA_CFLAGS)
2191 dnl ---------------------------------------------------------------------------
2192 dnl CF_GETOPT_HEADER version: 6 updated: 2014/07/22 14:45:54
2193 dnl ----------------
2194 dnl Check for getopt's variables which are commonly defined in stdlib.h,
2195 dnl unistd.h or (nonstandard) in getopt.h
2196 AC_DEFUN([CF_GETOPT_HEADER],
2198 AC_HAVE_HEADERS(unistd.h getopt.h)
2199 AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
2200 cf_cv_getopt_header=none
2201 for cf_header in stdio.h stdlib.h unistd.h getopt.h
2204 #include <$cf_header>],
2205 [int x = optind; char *y = optarg],
2206 [cf_cv_getopt_header=$cf_header
2210 if test $cf_cv_getopt_header != none ; then
2211 AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if getopt variables are declared in header])
2213 if test $cf_cv_getopt_header = getopt.h ; then
2214 AC_DEFINE(NEED_GETOPT_H,1,[Define to 1 if we must include getopt.h])
2217 dnl ---------------------------------------------------------------------------
2218 dnl CF_GNATPREP_OPT_T version: 1 updated: 2014/08/02 18:37:25
2219 dnl -----------------
2220 AC_DEFUN([CF_GNATPREP_OPT_T],[
2221 AC_CACHE_CHECK(if GNATPREP supports -T option,cf_cv_gnatprep_opt_t,[
2222 cf_cv_gnatprep_opt_t=no
2223 gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
2225 test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
2226 AC_SUBST(GNATPREP_OPTS)
2228 dnl ---------------------------------------------------------------------------
2229 dnl CF_GNAT_GENERICS version: 3 updated: 2015/04/17 21:13:04
2230 dnl ----------------
2231 AC_DEFUN([CF_GNAT_GENERICS],
2233 AC_REQUIRE([CF_GNAT_VERSION])
2235 AC_MSG_CHECKING(if GNAT supports generics)
2236 case $cf_gnat_version in
2237 (3.[[1-9]]*|[[4-9]].*)
2238 cf_gnat_generics=yes
2244 AC_MSG_RESULT($cf_gnat_generics)
2246 if test "$cf_gnat_generics" = yes
2248 cf_compile_generics=generics
2249 cf_generic_objects="\${GENOBJS}"
2251 cf_compile_generics=
2255 AC_SUBST(cf_compile_generics)
2256 AC_SUBST(cf_generic_objects)
2258 dnl ---------------------------------------------------------------------------
2259 dnl CF_GNAT_PROJECTS version: 8 updated: 2015/04/17 21:13:04
2260 dnl ----------------
2261 dnl GNAT projects are configured with ".gpr" project files.
2262 dnl GNAT libraries are a further development, using the project feature.
2263 AC_DEFUN([CF_GNAT_PROJECTS],
2265 AC_REQUIRE([CF_GNAT_VERSION])
2266 AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])
2268 cf_gnat_libraries=no
2271 if test "$enable_gnat_projects" != no ; then
2272 AC_MSG_CHECKING(if GNAT supports project files)
2273 case $cf_gnat_version in
2277 case $cf_cv_system_name in
2281 mkdir conftest.src conftest.bin conftest.lib
2283 rm -rf conftest* *~conftest*
2284 cat >>library.gpr <<CF_EOF
2286 Kind := External ("LIB_KIND");
2287 for Library_Name use "ConfTest";
2288 for Object_Dir use ".";
2289 for Library_ALI_Dir use External("LIBRARY_DIR");
2290 for Library_Version use External ("SONAME");
2291 for Library_Kind use Kind;
2292 for Library_Dir use External("BUILD_DIR");
2293 Source_Dir := External ("SOURCE_DIR");
2294 for Source_Dirs use (Source_Dir);
2297 cat >>confpackage.ads <<CF_EOF
2298 package ConfPackage is
2302 cat >>confpackage.adb <<CF_EOF
2304 package body ConfPackage is
2305 procedure conftest is
2307 Text_IO.Put ("Hello World");
2312 if ( $cf_ada_make $ADAFLAGS \
2314 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
2315 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
2316 -XSOURCE_DIR=`pwd` \
2317 -XSONAME=libConfTest.so.1 \
2318 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
2319 cf_gnat_projects=yes
2322 if test -f conftest.lib/confpackage.ali
2324 cf_gnat_libraries=yes
2326 rm -rf conftest* *~conftest*
2331 AC_MSG_RESULT($cf_gnat_projects)
2332 fi # enable_gnat_projects
2334 if test $cf_gnat_projects = yes
2336 AC_MSG_CHECKING(if GNAT supports libraries)
2337 AC_MSG_RESULT($cf_gnat_libraries)
2340 if test "$cf_gnat_projects" = yes
2342 USE_OLD_MAKERULES="#"
2343 USE_GNAT_PROJECTS=""
2345 USE_OLD_MAKERULES=""
2346 USE_GNAT_PROJECTS="#"
2349 if test "$cf_gnat_libraries" = yes
2351 USE_GNAT_LIBRARIES=""
2353 USE_GNAT_LIBRARIES="#"
2356 AC_SUBST(USE_OLD_MAKERULES)
2357 AC_SUBST(USE_GNAT_PROJECTS)
2358 AC_SUBST(USE_GNAT_LIBRARIES)
2360 dnl ---------------------------------------------------------------------------
2361 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
2363 dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
2364 dnl is noted that gnat may compile a tasking unit even for configurations which
2365 dnl fail at runtime.
2366 AC_DEFUN([CF_GNAT_SIGINT],[
2367 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
2368 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
2372 pragma Warnings (Off); -- the next pragma exists since 3.11p
2373 pragma Unreserve_All_Interrupts;
2374 pragma Warnings (On);
2376 protected Process is
2378 function Continue return Boolean;
2379 pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
2381 Done : Boolean := False;
2385 [package body ConfTest is
2386 protected body Process is
2391 function Continue return Boolean is
2397 [cf_cv_gnat_sigint=yes],
2398 [cf_cv_gnat_sigint=no])])
2400 if test $cf_cv_gnat_sigint = yes ; then
2405 AC_SUBST(USE_GNAT_SIGINT)
2407 dnl ---------------------------------------------------------------------------
2408 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
2409 dnl ----------------
2410 dnl Verify that a test program compiles/links with GNAT.
2411 dnl $cf_ada_make is set to the program that compiles/links
2412 dnl $ADAFLAGS may be set to the GNAT flags.
2414 dnl $1 is the text of the spec
2415 dnl $2 is the text of the body
2416 dnl $3 is the shell command to execute if successful
2417 dnl $4 is the shell command to execute if not successful
2418 AC_DEFUN([CF_GNAT_TRY_LINK],
2420 rm -rf conftest* *~conftest*
2421 cat >>conftest.ads <<CF_EOF
2424 cat >>conftest.adb <<CF_EOF
2427 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2428 ifelse($3,, :,[ $3])
2432 rm -rf conftest* *~conftest*
2434 dnl ---------------------------------------------------------------------------
2435 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
2437 dnl Verify that a test program compiles and runs with GNAT
2438 dnl $cf_ada_make is set to the program that compiles/links
2439 dnl $ADAFLAGS may be set to the GNAT flags.
2441 dnl $1 is the text of the spec
2442 dnl $2 is the text of the body
2443 dnl $3 is the shell command to execute if successful
2444 dnl $4 is the shell command to execute if not successful
2445 AC_DEFUN([CF_GNAT_TRY_RUN],
2447 rm -rf conftest* *~conftest*
2448 cat >>conftest.ads <<CF_EOF
2451 cat >>conftest.adb <<CF_EOF
2454 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2455 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
2456 ifelse($3,, :,[ $3])
2463 rm -rf conftest* *~conftest*
2465 dnl ---------------------------------------------------------------------------
2466 dnl CF_GNAT_VERSION version: 20 updated: 2015/04/18 08:56:57
2468 dnl Verify version of GNAT.
2469 AC_DEFUN([CF_GNAT_VERSION],
2471 AC_MSG_CHECKING(for gnat version)
2472 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
2473 grep '[[0-9]].[[0-9]][[0-9]]*' |\
2474 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
2475 AC_MSG_RESULT($cf_gnat_version)
2477 case $cf_gnat_version in
2478 (3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]])
2479 cf_cv_prog_gnat_correct=yes
2482 AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
2483 cf_cv_prog_gnat_correct=no
2487 dnl ---------------------------------------------------------------------------
2488 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
2490 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2491 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
2492 dnl (or misfeature) of glibc2, which breaks portability of many applications,
2493 dnl since it is interwoven with GNU extensions.
2495 dnl Well, yes we could work around it...
2496 AC_DEFUN([CF_GNU_SOURCE],
2498 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2499 AC_TRY_COMPILE([#include <sys/types.h>],[
2500 #ifndef _XOPEN_SOURCE
2503 [cf_cv_gnu_source=no],
2504 [cf_save="$CPPFLAGS"
2505 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2506 AC_TRY_COMPILE([#include <sys/types.h>],[
2507 #ifdef _XOPEN_SOURCE
2510 [cf_cv_gnu_source=no],
2511 [cf_cv_gnu_source=yes])
2515 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2517 dnl ---------------------------------------------------------------------------
2518 dnl CF_GPP_LIBRARY version: 12 updated: 2015/04/17 21:13:04
2520 dnl If we're trying to use g++, test if libg++ is installed (a rather common
2521 dnl problem :-). If we have the compiler but no library, we'll be able to
2522 dnl configure, but won't be able to build the c++ demo program.
2523 AC_DEFUN([CF_GPP_LIBRARY],
2525 cf_cxx_library=unknown
2526 case $cf_cv_system_name in
2534 if test "$GXX" = yes; then
2535 AC_MSG_CHECKING([for lib$cf_gpp_libname])
2537 CF_ADD_LIB($cf_gpp_libname)
2539 #include <$cf_gpp_libname/builtin.h>
2541 [two_arg_error_handler_t foo2 = lib_error_handler],
2543 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2544 if test "$cf_gpp_libname" = cpp ; then
2545 AC_DEFINE(HAVE_GPP_BUILTIN_H,1,[Define to 1 if we have gpp builtin.h])
2547 AC_DEFINE(HAVE_GXX_BUILTIN_H,1,[Define to 1 if we have g++ builtin.h])
2550 #include <builtin.h>
2552 [two_arg_error_handler_t foo2 = lib_error_handler],
2554 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2555 AC_DEFINE(HAVE_BUILTIN_H,1,[Define to 1 if we have builtin.h])],
2556 [cf_cxx_library=no])])
2558 AC_MSG_RESULT($cf_cxx_library)
2561 dnl ---------------------------------------------------------------------------
2562 dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
2564 dnl Check for version of g++
2565 AC_DEFUN([CF_GXX_VERSION],[
2566 AC_REQUIRE([AC_PROG_CPP])
2568 if test "$GXX" = yes; then
2569 AC_MSG_CHECKING(version of ${CXX:-g++})
2570 GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
2571 test -z "$GXX_VERSION" && GXX_VERSION=unknown
2572 AC_MSG_RESULT($GXX_VERSION)
2575 dnl ---------------------------------------------------------------------------
2576 dnl CF_GXX_WARNINGS version: 9 updated: 2015/04/17 21:13:04
2578 dnl Check if the compiler supports useful warning options.
2580 dnl Most of gcc's options apply to g++, except:
2581 dnl -Wbad-function-cast
2582 dnl -Wmissing-declarations
2583 dnl -Wnested-externs
2585 dnl Omit a few (for now):
2589 dnl $1 is an optional list of g++ warning flags that a particular
2590 dnl application might want to use, e.g., "no-unused" for
2593 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
2595 AC_DEFUN([CF_GXX_WARNINGS],
2598 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
2599 CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS)
2601 AC_REQUIRE([CF_GXX_VERSION])
2606 cat > conftest.$ac_ext <<EOF
2607 #line __oline__ "configure"
2608 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2611 if test "$INTEL_CPLUSPLUS" = yes
2613 # The "-wdXXX" options suppress warnings:
2614 # remark #1419: external declaration in primary source file
2615 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2616 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2617 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2618 # remark #193: zero used for undefined preprocessing identifier
2619 # remark #593: variable "curs_sb_left_arrow" was set but never used
2620 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2621 # remark #869: parameter "tw" was never referenced
2622 # remark #981: operands are evaluated in unspecified order
2623 # warning #269: invalid format string conversion
2625 AC_CHECKING([for $CC warning options])
2626 cf_save_CXXFLAGS="$CXXFLAGS"
2627 EXTRA_CXXFLAGS="-Wall"
2640 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
2641 if AC_TRY_EVAL(ac_compile); then
2642 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2643 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2646 CXXFLAGS="$cf_save_CXXFLAGS"
2648 elif test "$GXX" = yes
2650 AC_CHECKING([for $CXX warning options])
2651 cf_save_CXXFLAGS="$CXXFLAGS"
2652 EXTRA_CXXFLAGS="-W -Wall"
2653 cf_gxx_extra_warnings=""
2654 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
2655 case "$GCC_VERSION" in
2659 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
2666 Wignored-qualifiers \
2668 Woverloaded-virtual \
2676 Wundef $cf_gxx_extra_warnings $1
2678 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
2679 if AC_TRY_EVAL(ac_compile); then
2680 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2681 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2683 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
2686 CXXFLAGS="$cf_save_CXXFLAGS"
2691 AC_SUBST(EXTRA_CXXFLAGS)
2693 dnl ---------------------------------------------------------------------------
2694 dnl CF_HASHED_DB version: 7 updated: 2015/04/18 08:56:57
2696 dnl Look for an instance of the Berkeley hashed database.
2698 dnl $1 = optional parameter, to specify install-prefix for the database.
2699 AC_DEFUN([CF_HASHED_DB],
2706 if test -d "$1" ; then
2707 CF_ADD_INCDIR($1/include)
2708 CF_ADD_LIBDIR($1/lib)
2712 AC_MSG_WARN(no such directory $1)
2715 CF_FIND_SUB_INCDIR($1)
2716 CF_FIND_SUB_LIBDIR($1)
2722 AC_CHECK_HEADER(db.h,[
2723 CF_HASHED_DB_VERSION
2724 if test "$cf_cv_hashed_db_version" = unknown ; then
2725 AC_MSG_ERROR(Cannot determine version of db)
2728 if test "$cf_cv_hashed_db_libs" = unknown ; then
2729 AC_MSG_ERROR(Cannot determine library for db)
2730 elif test "$cf_cv_hashed_db_libs" != default ; then
2731 CF_ADD_LIB($cf_cv_hashed_db_libs)
2735 AC_MSG_ERROR(Cannot find db.h)
2738 dnl ---------------------------------------------------------------------------
2739 dnl CF_HASHED_DB_LIBS version: 9 updated: 2010/05/29 16:31:02
2740 dnl -----------------
2741 dnl Given that we have the header and version for hashed database, find the
2742 dnl library information.
2743 AC_DEFUN([CF_HASHED_DB_LIBS],
2745 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2746 cf_cv_hashed_db_libs=unknown
2747 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2749 cf_save_libs="$LIBS"
2750 if test -n "$cf_db_libs"; then
2751 CF_ADD_LIB($cf_db_libs)
2753 CF_MSG_LOG(checking for library "$cf_db_libs")
2755 $ac_includes_default
2758 char *path = "/tmp/foo";
2759 #ifdef DB_VERSION_MAJOR
2760 #if DB_VERSION_MAJOR >= 4
2762 db_create(&result, NULL, 0);
2763 result->open(result,
2770 #elif DB_VERSION_MAJOR >= 3
2772 db_create(&result, NULL, 0);
2773 result->open(result,
2779 #elif DB_VERSION_MAJOR >= 2
2788 #endif /* DB_VERSION_MAJOR */
2790 DB *result = dbopen(path,
2796 ${cf_cv_main_return:-return}(result != 0)
2798 if test -n "$cf_db_libs" ; then
2799 cf_cv_hashed_db_libs=$cf_db_libs
2801 cf_cv_hashed_db_libs=default
2803 LIBS="$cf_save_libs"
2806 LIBS="$cf_save_libs"
2810 dnl ---------------------------------------------------------------------------
2811 dnl CF_HASHED_DB_VERSION version: 4 updated: 2014/04/12 16:47:01
2812 dnl --------------------
2813 dnl Given that we have the header file for hashed database, find the version
2815 AC_DEFUN([CF_HASHED_DB_VERSION],
2817 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2818 cf_cv_hashed_db_version=unknown
2820 for cf_db_version in 1 2 3 4 5 6
2822 CF_MSG_LOG(checking for db version $cf_db_version)
2824 $ac_includes_default
2827 #ifdef DB_VERSION_MAJOR
2828 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2829 #if $cf_db_version == DB_VERSION_MAJOR
2835 #if $cf_db_version == 1
2836 /* ok: assuming this is DB 1.8.5 */
2842 cf_cv_hashed_db_version=$cf_db_version
2848 dnl ---------------------------------------------------------------------------
2849 dnl CF_HEADER_PATH version: 13 updated: 2015/04/15 19:08:48
2851 dnl Construct a search-list of directories for a nonstandard header-file
2854 dnl $1 = the variable to return as result
2855 dnl $2 = the package name
2856 AC_DEFUN([CF_HEADER_PATH],
2860 # collect the current set of include-directories from compiler flags
2861 cf_header_path_list=""
2862 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2863 for cf_header_path in $CPPFLAGS $CFLAGS
2865 case $cf_header_path in
2867 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2868 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2869 cf_header_path_list="$cf_header_path_list [$]$1"
2875 # add the variations for the package we are looking for
2876 CF_SUBDIR_PATH($1,$2,include)
2878 test "$includedir" != NONE && \
2879 test "$includedir" != "/usr/include" && \
2880 test -d "$includedir" && {
2881 test -d $includedir && $1="[$]$1 $includedir"
2882 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2885 test "$oldincludedir" != NONE && \
2886 test "$oldincludedir" != "/usr/include" && \
2887 test -d "$oldincludedir" && {
2888 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
2889 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2892 $1="[$]$1 $cf_header_path_list"
2894 dnl ---------------------------------------------------------------------------
2895 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2897 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2898 AC_DEFUN([CF_HELP_MESSAGE],
2899 [AC_DIVERT_HELP([$1])dnl
2901 dnl ---------------------------------------------------------------------------
2902 dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42
2904 dnl Construct the list of include-options according to whether we're building
2905 dnl in the source directory or using '--srcdir=DIR' option.
2906 AC_DEFUN([CF_INCLUDE_DIRS],
2908 if test "$srcdir" != "."; then
2909 CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
2911 CPPFLAGS="-I../include $CPPFLAGS"
2912 if test "$srcdir" != "."; then
2913 CPPFLAGS="-I\${srcdir} $CPPFLAGS"
2915 CPPFLAGS="-I. $CPPFLAGS"
2918 dnl ---------------------------------------------------------------------------
2919 dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00
2920 dnl -----------------
2921 dnl Check if the given compiler is really the Intel compiler for Linux. It
2922 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2923 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2925 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2926 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
2927 dnl the wrappers for gcc and g++ warnings.
2929 dnl $1 = GCC (default) or GXX
2930 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2931 dnl $3 = CFLAGS (default) or CXXFLAGS
2932 AC_DEFUN([CF_INTEL_COMPILER],[
2933 AC_REQUIRE([AC_CANONICAL_HOST])
2934 ifelse([$2],,INTEL_COMPILER,[$2])=no
2936 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2939 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2940 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2941 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2943 #ifdef __INTEL_COMPILER
2947 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2948 cf_save_CFLAGS="$cf_save_CFLAGS -we147"
2950 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2951 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2956 dnl ---------------------------------------------------------------------------
2957 dnl CF_ISASCII version: 4 updated: 2012/10/06 17:56:13
2959 dnl Check if we have either a function or macro for 'isascii()'.
2960 AC_DEFUN([CF_ISASCII],
2962 AC_MSG_CHECKING(for isascii)
2963 AC_CACHE_VAL(cf_cv_have_isascii,[
2964 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2965 [cf_cv_have_isascii=yes],
2966 [cf_cv_have_isascii=no])
2968 AC_MSG_RESULT($cf_cv_have_isascii)
2969 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
2971 dnl ---------------------------------------------------------------------------
2972 dnl CF_LARGEFILE version: 9 updated: 2015/04/18 08:56:57
2974 dnl Add checks for large file support.
2975 AC_DEFUN([CF_LARGEFILE],[
2976 ifdef([AC_FUNC_FSEEKO],[
2978 if test "$enable_largefile" != no ; then
2981 # Normally we would collect these definitions in the config.h,
2982 # but (like _XOPEN_SOURCE), some environments rely on having these
2983 # defined before any of the system headers are included. Another
2984 # case comes up with C++, e.g., on AIX the compiler compiles the
2985 # header files by themselves before looking at the body files it is
2986 # told to compile. For ncurses, those header files do not include
2988 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2989 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2990 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2992 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2994 #include <sys/types.h>
2997 /* if transitional largefile support is setup, this is true */
2998 extern struct dirent64 * readdir(DIR *);
2999 struct dirent64 *x = readdir((DIR *)0);
3000 struct dirent *y = readdir((DIR *)0);
3003 [cf_cv_struct_dirent64=yes],
3004 [cf_cv_struct_dirent64=no])
3006 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
3010 dnl ---------------------------------------------------------------------------
3011 dnl CF_LDFLAGS_STATIC version: 12 updated: 2015/04/18 08:56:57
3012 dnl -----------------
3013 dnl Check for compiler/linker flags used to temporarily force usage of static
3014 dnl libraries. This depends on the compiler and platform. Use this to help
3015 dnl ensure that the linker picks up a given library based on its position in
3016 dnl the list of linker options and libraries.
3017 AC_DEFUN([CF_LDFLAGS_STATIC],[
3019 if test "$GCC" = yes ; then
3020 case $cf_cv_system_name in
3021 (OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*)
3025 (*) # normally, except when broken
3026 LDFLAGS_STATIC=-static
3027 LDFLAGS_SHARED=-dynamic
3031 case $cf_cv_system_name in
3032 (aix[[4-7]]*) # from ld manpage
3033 LDFLAGS_STATIC=-bstatic
3034 LDFLAGS_SHARED=-bdynamic
3036 (hpux*) # from ld manpage for hpux10.20, hpux11.11
3037 # We could also use just "archive" and "shared".
3038 LDFLAGS_STATIC=-Wl,-a,archive_shared
3039 LDFLAGS_SHARED=-Wl,-a,shared_archive
3041 (irix*) # from ld manpage IRIX64
3042 LDFLAGS_STATIC=-Bstatic
3043 LDFLAGS_SHARED=-Bdynamic
3045 (osf[[45]]*) # from ld manpage osf4.0d, osf5.1
3046 # alternative "-oldstyle_liblookup" (not in cc manpage)
3047 LDFLAGS_STATIC=-noso
3048 LDFLAGS_SHARED=-so_archive
3051 LDFLAGS_STATIC=-Bstatic
3052 LDFLAGS_SHARED=-Bdynamic
3057 if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
3059 AC_MSG_CHECKING(if linker supports switching between static/dynamic)
3062 cat >conftest.$ac_ext <<EOF
3063 #line __oline__ "configure"
3065 int cf_ldflags_static(FILE *fp) { return fflush(fp); }
3067 if AC_TRY_EVAL(ac_compile) ; then
3068 ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&AC_FD_CC 1>/dev/null
3069 ( eval $RANLIB libconftest.a ) 2>&AC_FD_CC >/dev/null
3073 cf_save_LIBS="$LIBS"
3075 LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
3077 #line __oline__ "configure"
3079 int cf_ldflags_static(FILE *fp);
3081 return cf_ldflags_static(stdin);
3083 # some linkers simply ignore the -dynamic
3084 case x`file conftest$ac_exeext 2>/dev/null` in
3086 cf_ldflags_static=no
3089 cf_ldflags_static=yes
3092 ],[cf_ldflags_static=no])
3095 LIBS="$cf_save_LIBS"
3097 AC_MSG_RESULT($cf_ldflags_static)
3099 if test $cf_ldflags_static != yes
3109 AC_SUBST(LDFLAGS_STATIC)
3110 AC_SUBST(LDFLAGS_SHARED)
3112 dnl ---------------------------------------------------------------------------
3113 dnl CF_LD_RPATH_OPT version: 6 updated: 2015/04/12 15:39:00
3115 dnl For the given system and compiler, find the compiler flags to pass to the
3116 dnl loader to use the "rpath" feature.
3117 AC_DEFUN([CF_LD_RPATH_OPT],
3119 AC_REQUIRE([CF_CHECK_CACHE])
3122 AC_MSG_CHECKING(for an rpath option)
3123 case $cf_cv_system_name in
3125 if test "$GCC" = yes; then
3126 LD_RPATH_OPT="-Wl,-rpath,"
3128 LD_RPATH_OPT="-rpath "
3131 (linux*|gnu*|k*bsd*-gnu)
3132 LD_RPATH_OPT="-Wl,-rpath,"
3134 (openbsd[[2-9]].*|mirbsd*)
3135 LD_RPATH_OPT="-Wl,-rpath,"
3137 (dragonfly*|freebsd*)
3138 LD_RPATH_OPT="-rpath "
3141 LD_RPATH_OPT="-Wl,-rpath,"
3144 LD_RPATH_OPT="-rpath "
3152 AC_MSG_RESULT($LD_RPATH_OPT)
3154 case "x$LD_RPATH_OPT" in
3156 AC_MSG_CHECKING(if we need a space after rpath option)
3157 cf_save_LIBS="$LIBS"
3158 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
3159 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
3160 LIBS="$cf_save_LIBS"
3161 AC_MSG_RESULT($cf_rpath_space)
3162 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
3166 dnl ---------------------------------------------------------------------------
3167 dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48
3169 dnl Construct a search-list of directories for a nonstandard library-file
3172 dnl $1 = the variable to return as result
3173 dnl $2 = the package name
3174 AC_DEFUN([CF_LIBRARY_PATH],
3177 cf_library_path_list=""
3178 if test -n "${LDFLAGS}${LIBS}" ; then
3179 for cf_library_path in $LDFLAGS $LIBS
3181 case $cf_library_path in
3183 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
3184 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
3185 cf_library_path_list="$cf_library_path_list [$]$1"
3191 CF_SUBDIR_PATH($1,$2,lib)
3193 $1="$cf_library_path_list [$]$1"
3195 dnl ---------------------------------------------------------------------------
3196 dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
3197 dnl ------------------
3198 AC_DEFUN([CF_LIBTOOL_VERSION],[
3199 if test -n "$LIBTOOL" && test "$LIBTOOL" != none
3201 cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
3203 cf_cv_libtool_version=
3205 test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
3207 dnl ---------------------------------------------------------------------------
3208 dnl CF_LIB_PREFIX version: 11 updated: 2015/04/18 08:56:57
3210 dnl Compute the library-prefix for the given host system
3211 dnl $1 = variable to set
3212 define([CF_LIB_PREFIX],
3214 case $cf_cv_system_name in
3218 (*) LIB_PREFIX='lib'
3221 ifelse($1,,,[$1=$LIB_PREFIX])
3222 AC_SUBST(LIB_PREFIX)
3224 dnl ---------------------------------------------------------------------------
3225 dnl CF_LIB_RULES version: 81 updated: 2015/04/30 20:30:18
3227 dnl Append definitions and rules for the given models to the subdirectory
3228 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
3229 dnl subdirectory is a library-source directory, modify the Libs_To_Make list in
3230 dnl the corresponding makefile to list the models that we'll generate.
3232 dnl For shared libraries, make a list of symbolic links to construct when
3233 dnl generating each library. The convention used for Linux is the simplest
3236 dnl lib<name>.so.<major> ->
3237 dnl lib<name>.so.<maj>.<minor>
3239 dnl Note: Libs_To_Make is mixed case, since it is not a pure autoconf variable.
3240 AC_DEFUN([CF_LIB_RULES],
3242 cf_prefix=$LIB_PREFIX
3243 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3245 case $cf_cv_shlib_version in
3246 (cygdll|msysdll|mingw)
3247 TINFO_NAME=$TINFO_ARG_SUFFIX
3252 if test -n "$TINFO_SUFFIX" ; then
3253 case $TINFO_SUFFIX in
3255 TINFO_NAME="${TINFO_NAME}tw${EXTRA_SUFFIX}"
3256 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^tw'$EXTRA_SUFFIX'//'`
3259 TINFO_NAME="${TINFO_NAME}t${EXTRA_SUFFIX}"
3260 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^t'$EXTRA_SUFFIX'//'`
3263 TINFO_NAME="${TINFO_NAME}w${EXTRA_SUFFIX}"
3264 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^w'$EXTRA_SUFFIX'//'`
3269 for cf_dir in $SRC_SUBDIRS
3271 if test ! -d $srcdir/$cf_dir ; then
3273 elif test -f $srcdir/$cf_dir/modules; then
3279 if test -n "${cf_cv_abi_version}" && test "x${cf_cv_abi_version}" != "x5"
3281 cf_sed_options="$cf_sed_options -e \"s/NCURSES\\([[WT]]\\+\\)\?_/NCURSES\\1${cf_cv_abi_version}_/g\""
3284 if test "x$WILDCARD_SYMS" = xno
3286 cf_sed_options="$cf_sed_options -e \"s/_\*;//g\""
3289 if test "x$cf_sed_options" != "x"
3291 cat >>$cf_dir/Makefile <<CF_EOF
3293 # Generated by CF_LIB_RULES
3294 resulting.map: $UNALTERED_SYMS
3295 sed $cf_sed_options < $UNALTERED_SYMS >\[$]@
3302 for cf_item in $cf_LIST_MODELS
3304 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3306 test "$cf_dir" = c++ && cf_libname=ncurses++
3307 if test $cf_item = shared ; then
3308 if test -n "${LIB_SUFFIX}"
3310 cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${USE_LIB_SUFFIX}"'//'`
3312 cf_shared_suffix="$cf_suffix"
3314 if test "$cf_cv_do_symlinks" = yes ; then
3317 case "$cf_cv_shlib_version" in
3319 cf_version_name=REL_VERSION
3322 cf_version_name=ABI_VERSION
3326 if test -n "$cf_version_name"
3328 case "$cf_cv_system_name" in
3331 cf_suffix="${USE_LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
3334 cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
3338 if test -n "${USE_LIB_SUFFIX}"
3340 cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${USE_LIB_SUFFIX}"'//'`
3342 cf_shared_suffix="$cf_suffix"
3345 # cygwin needs import library, and has unique naming convention
3346 # use autodetected ${cf_prefix} for import lib and static lib, but
3347 # use 'cyg' prefix for shared lib.
3348 case $cf_cv_shlib_version in
3350 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3351 cf_add_lib="../lib/cyg${cf_libname}${cf_cygsuf}"
3354 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3355 cf_add_lib="../lib/msys-${cf_libname}${cf_cygsuf}"
3358 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3359 cf_add_lib="../lib/lib${cf_libname}${cf_cygsuf}"
3365 if test -n "$cf_add_lib"
3367 Libs_To_Make="$Libs_To_Make $cf_add_lib"
3371 cf_add_lib="../lib/${cf_prefix}${cf_libname}${cf_suffix}"
3372 Libs_To_Make="$Libs_To_Make $cf_add_lib"
3375 if test $cf_dir = ncurses ; then
3376 cf_subsets="$LIB_SUBSETS"
3377 cf_r_parts="$cf_subsets"
3378 cf_liblist="$Libs_To_Make"
3380 while test -n "$cf_r_parts"
3382 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
3383 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
3384 if test "$cf_l_parts" != "$cf_r_parts" ; then
3388 cf_add_lib=`echo $cf_liblist |sed -e s%${LIB_NAME}${USE_LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
3391 cf_add_lib=`echo $cf_liblist |sed -e s%${LIB_NAME}${USE_LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
3397 if test -n "$cf_add_lib"; then
3398 Libs_To_Make="$cf_add_lib $Libs_To_Make"
3405 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
3408 if test $cf_dir = c++; then
3409 if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
3411 for cf_item in $Libs_To_Make
3417 cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
3420 for cf_test in $cf_list
3422 if test "$cf_test" = "$cf_item"
3424 cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
3429 test -n "$cf_item" && cf_list="$cf_list $cf_item"
3431 Libs_To_Make="$cf_list"
3435 sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
3436 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
3437 $cf_dir/Makefile >$cf_dir/Makefile.out
3438 mv $cf_dir/Makefile.out $cf_dir/Makefile
3440 $AWK -f $srcdir/mk-0th.awk \
3441 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
3442 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3444 for cf_subset in $cf_subsets
3447 for cf_item in $cf_LIST_MODELS
3450 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
3451 CF_UPPER(cf_ITEM,$cf_item)
3454 if test "$CXX_MODEL" = SHARED; then
3455 case $cf_cv_shlib_version in
3456 (cygdll|msysdll|mingw)
3457 test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED)
3461 test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
3466 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3467 CF_OBJ_SUBDIR($cf_item,cf_subdir)
3469 # Test for case where we build libtinfo with a different name.
3471 if test $cf_dir = ncurses ; then
3474 cf_libname=${cf_libname}$USE_LIB_SUFFIX
3477 cf_libname=$TINFO_LIB_SUFFIX
3480 cf_libname=$TICS_LIB_SUFFIX
3483 elif test $cf_dir = c++ ; then
3484 cf_libname=ncurses++$USE_LIB_SUFFIX
3486 cf_libname=${cf_libname}$USE_LIB_SUFFIX
3488 if test -n "${USE_ARG_SUFFIX}" ; then
3489 # undo $USE_LIB_SUFFIX add-on in CF_LIB_SUFFIX
3490 cf_suffix=`echo $cf_suffix |sed -e "s%^${USE_LIB_SUFFIX}%%"`
3493 # These dependencies really are for development, not
3494 # builds, but they are useful in porting, too.
3495 cf_depend="../include/ncurses_cfg.h"
3496 if test "$srcdir" = "."; then
3499 cf_reldir="\${srcdir}"
3502 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
3503 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
3504 elif test -f $srcdir/$cf_dir/curses.priv.h; then
3505 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
3509 old_cf_suffix="$cf_suffix"
3510 if test "$cf_cv_shlib_version_infix" = yes ; then
3511 if test -n "$USE_LIB_SUFFIX" ; then
3512 case $USE_LIB_SUFFIX in
3514 cf_libname=`echo $cf_libname | sed 's/tw'$EXTRA_SUFFIX'$//'`
3515 cf_suffix=`echo $cf_suffix | sed 's/^tw'$EXTRA_SUFFIX'//'`
3516 cf_dir_suffix=tw$EXTRA_SUFFIX
3519 cf_libname=`echo $cf_libname | sed 's/t'$EXTRA_SUFFIX'$//'`
3520 cf_suffix=`echo $cf_suffix | sed 's/^t'$EXTRA_SUFFIX'//'`
3521 cf_dir_suffix=t$EXTRA_SUFFIX
3524 cf_libname=`echo $cf_libname | sed 's/w'$EXTRA_SUFFIX'$//'`
3525 cf_suffix=`echo $cf_suffix | sed 's/^w'$EXTRA_SUFFIX'//'`
3526 cf_dir_suffix=w$EXTRA_SUFFIX
3529 cf_libname=`echo $cf_libname | sed 's/'$EXTRA_SUFFIX'$//'`
3530 cf_suffix=`echo $cf_suffix | sed 's/^'$EXTRA_SUFFIX'//'`
3531 cf_dir_suffix=$EXTRA_SUFFIX
3537 $AWK -f $srcdir/mk-1st.awk \
3538 name=${cf_libname}${cf_dir_suffix} \
3539 traces=$LIB_TRACING \
3541 CXX_MODEL=$CXX_MODEL \
3546 driver=$cf_cv_term_driver \
3548 TermlibRoot=$TINFO_NAME \
3549 TermlibSuffix=$TINFO_SUFFIX \
3550 ShlibVer=$cf_cv_shlib_version \
3551 ShlibVerInfix=$cf_cv_shlib_version_infix \
3552 ReLink=${cf_cv_do_relink:-no} \
3553 DoLinks=$cf_cv_do_symlinks \
3554 rmSoLocs=$cf_cv_rm_so_locs \
3555 ldconfig="$LDCONFIG" \
3556 overwrite=$WITH_OVERWRITE \
3557 depend="$cf_depend" \
3559 libtool_version="$LIBTOOL_VERSION" \
3560 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3562 cf_suffix="$old_cf_suffix"
3564 for cf_subdir2 in $cf_subdirs lib
3566 test $cf_subdir = $cf_subdir2 && break
3568 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
3569 $AWK -f $srcdir/mk-2nd.awk \
3571 traces=$LIB_TRACING \
3577 crenames=$cf_cv_prog_CC_c_o \
3578 cxxrenames=$cf_cv_prog_CXX_c_o \
3579 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3580 cf_subdirs="$cf_subdirs $cf_subdir"
3585 echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >>Makefile
3588 for cf_dir in $SRC_SUBDIRS
3590 if test ! -d $srcdir/$cf_dir ; then
3594 if test -f $cf_dir/Makefile ; then
3597 echo 'libs \' >> Makefile
3598 echo 'install.libs \' >> Makefile
3599 echo 'uninstall.libs ::' >> Makefile
3600 echo ' cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >> Makefile
3605 if test -f $srcdir/$cf_dir/modules; then
3607 if test -f $srcdir/$cf_dir/headers; then
3608 cat >> Makefile <<CF_EOF
3610 uninstall.includes \\
3613 if test "$cf_dir" != "c++" ; then
3614 echo 'lint \' >> Makefile
3616 cat >> Makefile <<CF_EOF
3622 uninstall.$cf_dir ::
3623 cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
3625 elif test -f $srcdir/$cf_dir/headers; then
3626 cat >> Makefile <<CF_EOF
3632 uninstall.includes ::
3633 cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
3638 if test "x$cf_with_db_install" = xyes; then
3639 cat >> Makefile <<CF_EOF
3641 install.libs uninstall.libs \\
3642 install.data uninstall.data ::
3643 $MAKE_TERMINFO cd misc && \${MAKE} \${TOP_MFLAGS} \[$]@
3646 cat >> Makefile <<CF_EOF
3648 install.libs uninstall.libs ::
3649 cd misc && \${MAKE} \${TOP_MFLAGS} \[$]@
3653 if test "x$cf_with_manpages" = xyes; then
3654 cat >> Makefile <<CF_EOF
3658 cd man && \${MAKE} \${TOP_MFLAGS} \[$]@
3662 cat >> Makefile <<CF_EOF
3665 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
3666 rm -f headers.sh headers.sed mk_shared_lib.sh
3667 rm -f edit_man.* man_alias.*
3668 rm -rf \${DIRS_TO_MAKE}