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}
3671 # Special case: tack's manpage lives in its own directory.
3672 if test "x$cf_with_manpages" = xyes; then
3673 if test -d tack ; then
3674 if test -f $srcdir/$tack.h; then
3675 cat >> Makefile <<CF_EOF
3679 cd tack && \${MAKE} \${TOP_MFLAGS} \[$]@
3685 dnl If we're installing into a subdirectory of /usr/include, etc., we should
3686 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
3687 dnl anything, and will make it more standardized. It's awkward to decide this
3688 dnl at configuration because of quoting, so we'll simply make all headers
3689 dnl installed via a script that can do the right thing.
3691 rm -f headers.sed headers.sh
3693 dnl ( generating this script makes the makefiles a little tidier :-)
3694 echo creating headers.sh
3695 cat >headers.sh <<CF_EOF
3697 # This shell script is generated by the 'configure' script. It is invoked in a
3698 # subdirectory of the build tree. It generates a sed-script in the parent
3699 # directory that is used to adjust includes for header files that reside in a
3700 # subdirectory of /usr/include, etc.
3702 while test \[$]# != 3
3704 PRG="\$PRG \[$]1"; shift
3709 TMPSRC=\${TMPDIR:-/tmp}/\`basename \$SRC\`\$\$
3710 TMPSED=\${TMPDIR:-/tmp}/headers.sed\$\$
3711 echo installing \$SRC in \$DST
3714 if test $WITH_CURSES_H = yes; then
3715 cat >>headers.sh <<CF_EOF
3718 END=\`basename \$DST\`
3719 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3721 NAME=\`basename \$i\`
3722 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3732 cat >>headers.sh <<CF_EOF
3735 END=\`basename \$DST\`
3736 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3738 NAME=\`basename \$i\`
3739 if test "\$NAME" = "curses.h"
3741 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3744 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3748 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3753 cat >>headers.sh <<CF_EOF
3755 sed -f \$TMPSED \$SRC > \$TMPSRC
3756 NAME=\`basename \$SRC\`
3758 if test $WITH_CURSES_H != yes; then
3759 cat >>headers.sh <<CF_EOF
3760 test "\$NAME" = "curses.h" && NAME=ncurses.h
3763 cat >>headers.sh <<CF_EOF
3764 # Just in case someone gzip'd manpages, remove the conflicting copy.
3765 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
3767 eval \$PRG \$TMPSRC \$DST/\$NAME
3768 rm -f \$TMPSRC \$TMPSED
3771 chmod 0755 headers.sh
3773 for cf_dir in $SRC_SUBDIRS
3775 if test ! -d $srcdir/$cf_dir ; then
3779 if test -f $srcdir/$cf_dir/headers; then
3780 $AWK -f $srcdir/mk-hdr.awk \
3781 subset="$LIB_SUBSETS" \
3782 compat="$WITH_CURSES_H" \
3783 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
3786 if test -f $srcdir/$cf_dir/modules; then
3787 if test "$cf_dir" != "c++" ; then
3788 cat >>$cf_dir/Makefile <<"CF_EOF"
3789 depend : ${AUTO_SRC}
3790 makedepend -- ${CPPFLAGS} -- ${C_SRC}
3792 # DO NOT DELETE THIS LINE -- make depend depends on it.
3797 AC_SUBST(Libs_To_Make)
3799 dnl ---------------------------------------------------------------------------
3800 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
3802 dnl Find the and soname for the given shared library. Set the cache variable
3803 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
3804 dnl variable to "unknown".
3808 dnl $3 = library name
3809 AC_DEFUN([CF_LIB_SONAME],
3811 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
3813 cf_cv_$3_soname=unknown
3814 if test "$cross_compiling" != yes ; then
3815 cat >conftest.$ac_ext <<CF_EOF
3820 ${cf_cv_main_return:-return}(0);
3823 cf_save_LIBS="$LIBS"
3825 if AC_TRY_EVAL(ac_compile) ; then
3826 if AC_TRY_EVAL(ac_link) ; then
3827 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
3828 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
3832 LIBS="$cf_save_LIBS"
3836 dnl ---------------------------------------------------------------------------
3837 dnl CF_LIB_SUFFIX version: 25 updated: 2015/04/17 21:13:04
3839 dnl Compute the library file-suffix from the given model name
3841 dnl $2 = variable to set (the nominal library suffix)
3842 dnl $3 = dependency variable to set (actual filename)
3843 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3844 AC_DEFUN([CF_LIB_SUFFIX],
3860 case $cf_cv_system_name in
3865 (cygwin*|msys*|mingw*)
3896 if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}"
3898 $2="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$2}"
3899 $3="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$3}"
3902 dnl ---------------------------------------------------------------------------
3903 dnl CF_LIB_TYPE version: 5 updated: 2015/04/17 21:13:04
3905 dnl Compute the string to append to -library from the given model name
3907 dnl $2 = variable to set
3908 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3909 AC_DEFUN([CF_LIB_TYPE],
3915 (profile) $2='_p' ;;
3918 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3920 dnl ---------------------------------------------------------------------------
3921 dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
3922 dnl ----------------
3923 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3924 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
3925 dnl have to provide wrappers for global tables to ensure they're linked
3927 AC_DEFUN([CF_LINK_DATAONLY],
3929 AC_MSG_CHECKING([if data-only library module links])
3930 AC_CACHE_VAL(cf_cv_link_dataonly,[
3932 cat >conftest.$ac_ext <<EOF
3933 #line __oline__ "configure"
3934 int testdata[[3]] = { 123, 456, 789 };
3936 if AC_TRY_EVAL(ac_compile) ; then
3937 mv conftest.o data.o && \
3938 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3940 rm -f conftest.$ac_ext data.o
3941 cat >conftest.$ac_ext <<EOF
3942 #line __oline__ "configure"
3946 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
3948 extern int testdata[[3]];
3949 return testdata[[0]] == 123
3950 && testdata[[1]] == 456
3951 && testdata[[2]] == 789;
3955 if AC_TRY_EVAL(ac_compile); then
3956 mv conftest.o func.o && \
3957 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3959 rm -f conftest.$ac_ext func.o
3960 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3962 LIBS="conftest.a $LIBS"
3966 extern int testfunc();
3967 ${cf_cv_main_return:-return} (!testfunc());
3970 [cf_cv_link_dataonly=yes],
3971 [cf_cv_link_dataonly=no],
3972 [cf_cv_link_dataonly=unknown])
3975 AC_MSG_RESULT($cf_cv_link_dataonly)
3977 if test "$cf_cv_link_dataonly" = no ; then
3978 AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
3983 dnl ---------------------------------------------------------------------------
3984 dnl CF_LINK_FUNCS version: 8 updated: 2012/10/06 17:56:13
3986 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3987 dnl A few non-Unix systems implement symlink, but not link.
3988 dnl A few non-systems implement neither (or have nonfunctional versions).
3989 AC_DEFUN([CF_LINK_FUNCS],
3995 if test "$cross_compiling" = yes ; then
4000 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
4002 for cf_func in link symlink ; do
4004 #include <sys/types.h>
4005 #include <sys/stat.h>
4006 #ifdef HAVE_UNISTD_H
4012 char *src = "config.log";
4013 char *dst = "conftest.chk";
4018 fail = ($cf_func("config.log", "conftest.chk") < 0)
4019 || (stat(dst, &dst_sb) < 0)
4020 || (dst_sb.st_mtime != src_sb.st_mtime);
4026 ${cf_cv_main_return:-return} (fail);
4029 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
4030 eval 'ac_cv_func_'$cf_func'=yes'],[
4031 eval 'ac_cv_func_'$cf_func'=no'],[
4032 eval 'ac_cv_func_'$cf_func'=error'])
4034 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
4036 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK,1,[Define to 1 if we have link() function])
4037 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK,1,[Define to 1 if we have symlink() function])
4040 dnl ---------------------------------------------------------------------------
4041 dnl CF_MAKEFLAGS version: 16 updated: 2015/04/15 19:08:48
4043 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
4044 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
4045 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
4046 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
4047 AC_DEFUN([CF_MAKEFLAGS],
4049 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
4051 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
4053 cat >cf_makeflags.tmp <<CF_EOF
4056 @ echo '.$cf_option'
4058 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
4059 case "$cf_result" in
4061 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
4062 case "$cf_result" in
4063 (.*CC=*) cf_cv_makeflags=
4065 (*) cf_cv_makeflags=$cf_option
4071 (*) echo "given option \"$cf_option\", no match \"$cf_result\""
4075 rm -f cf_makeflags.tmp
4078 AC_SUBST(cf_cv_makeflags)
4080 dnl ---------------------------------------------------------------------------
4081 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
4083 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
4084 dnl a monocase filesystem.
4085 AC_DEFUN([CF_MAKE_TAGS],[
4086 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
4088 AC_CHECK_PROGS(CTAGS, exctags ctags)
4089 AC_CHECK_PROGS(ETAGS, exetags etags)
4091 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
4093 if test "$cf_cv_mixedcase" = yes ; then
4094 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
4099 if test "$MAKE_UPPER_TAGS" = yes ; then
4105 if test "$MAKE_LOWER_TAGS" = yes ; then
4114 AC_SUBST(MAKE_UPPER_TAGS)
4115 AC_SUBST(MAKE_LOWER_TAGS)
4117 dnl ---------------------------------------------------------------------------
4118 dnl CF_MANPAGE_FORMAT version: 11 updated: 2015/04/18 08:56:57
4119 dnl -----------------
4120 dnl Option to allow user to override automatic configuration of manpage format.
4121 dnl There are several special cases:
4123 dnl gzip - man checks for, can display gzip'd files
4124 dnl compress - man checks for, can display compressed files
4125 dnl BSDI - files in the cat-directories are suffixed ".0"
4126 dnl formatted - installer should format (put files in cat-directory)
4127 dnl catonly - installer should only format, e.g., for a turnkey system.
4129 dnl There are other configurations which this macro does not test, e.g., HPUX's
4130 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
4131 dnl convention would not match our use).
4132 AC_DEFUN([CF_MANPAGE_FORMAT],
4134 AC_REQUIRE([CF_PATHSEP])
4135 AC_MSG_CHECKING(format of man-pages)
4137 AC_ARG_WITH(manpage-format,
4138 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
4139 optionally formatted/catonly, e.g., gzip,formatted],
4140 [MANPAGE_FORMAT=$withval],
4141 [MANPAGE_FORMAT=unknown])
4143 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
4144 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
4148 case $MANPAGE_FORMAT in
4150 if test -z "$MANPATH" ; then
4151 MANPATH="/usr/man:/usr/share/man"
4154 # look for the 'date' man-page (it's most likely to be installed!)
4160 IFS="${IFS:- }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
4161 for cf_dir in $MANPATH; do
4162 test -z "$cf_dir" && cf_dir=/usr/man
4163 for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
4165 cf_test=`echo $cf_name | sed -e 's/*//'`
4166 if test "x$cf_test" = "x$cf_name" ; then
4169 (*.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
4170 (*.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
4171 (*.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
4172 (*) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
4186 # if we found a match in either man* or cat*, stop looking
4187 if test -n "$MANPAGE_FORMAT" ; then
4189 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
4190 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
4196 test $cf_found=yes && break
4199 # only check the first directory in $MANPATH where we find manpages
4200 if test -n "$MANPAGE_FORMAT" ; then
4204 # if we did not find the example, just assume it is normal
4205 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
4209 for cf_option in $MANPAGE_FORMAT; do
4211 (gzip|compress|BSDI|normal|formatted|catonly)
4214 cf_unknown="$cf_unknown $cf_option"
4221 AC_MSG_RESULT($MANPAGE_FORMAT)
4222 if test -n "$cf_unknown" ; then
4223 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
4226 dnl ---------------------------------------------------------------------------
4227 dnl CF_MANPAGE_RENAMES version: 9 updated: 2015/04/18 08:56:57
4228 dnl ------------------
4229 dnl The Debian people have their own naming convention for manpages. This
4230 dnl option lets us override the name of the file containing renaming, or
4231 dnl disable it altogether.
4232 AC_DEFUN([CF_MANPAGE_RENAMES],
4234 AC_MSG_CHECKING(for manpage renaming)
4236 AC_ARG_WITH(manpage-renames,
4237 [ --with-manpage-renames specify manpage-renaming],
4238 [MANPAGE_RENAMES=$withval],
4239 [MANPAGE_RENAMES=yes])
4241 case ".$MANPAGE_RENAMES" in
4245 # Debian 'man' program?
4246 if test -f /etc/debian_version ; then
4247 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
4254 if test "$MANPAGE_RENAMES" != no ; then
4255 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
4256 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
4257 elif test ! -f $MANPAGE_RENAMES ; then
4258 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
4261 test ! -d man && mkdir man
4263 # Construct a sed-script to perform renaming within man-pages
4264 if test -n "$MANPAGE_RENAMES" ; then
4265 test ! -d man && mkdir man
4266 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
4270 AC_MSG_RESULT($MANPAGE_RENAMES)
4271 AC_SUBST(MANPAGE_RENAMES)
4273 dnl ---------------------------------------------------------------------------
4274 dnl CF_MANPAGE_SYMLINKS version: 6 updated: 2015/04/17 21:13:04
4275 dnl -------------------
4276 dnl Some people expect each tool to make all aliases for manpages in the
4277 dnl man-directory. This accommodates the older, less-capable implementations
4278 dnl of 'man', and is optional.
4279 AC_DEFUN([CF_MANPAGE_SYMLINKS],
4281 AC_MSG_CHECKING(if manpage aliases will be installed)
4283 AC_ARG_WITH(manpage-aliases,
4284 [ --with-manpage-aliases specify manpage-aliases using .so],
4285 [MANPAGE_ALIASES=$withval],
4286 [MANPAGE_ALIASES=yes])
4288 AC_MSG_RESULT($MANPAGE_ALIASES)
4300 if test "$MANPAGE_ALIASES" = yes ; then
4301 AC_MSG_CHECKING(if manpage symlinks should be used)
4303 AC_ARG_WITH(manpage-symlinks,
4304 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
4305 [MANPAGE_SYMLINKS=$withval],
4306 [MANPAGE_SYMLINKS=$cf_use_symlinks])
4308 if test "$$cf_use_symlinks" = no; then
4309 if test "$MANPAGE_SYMLINKS" = yes ; then
4310 AC_MSG_WARN(cannot make symlinks, will use .so files)
4315 AC_MSG_RESULT($MANPAGE_SYMLINKS)
4319 dnl ---------------------------------------------------------------------------
4320 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
4322 dnl This option causes manpages to be run through tbl(1) to generate tables
4324 AC_DEFUN([CF_MANPAGE_TBL],
4326 AC_MSG_CHECKING(for manpage tbl)
4328 AC_ARG_WITH(manpage-tbl,
4329 [ --with-manpage-tbl specify manpage processing with tbl],
4330 [MANPAGE_TBL=$withval],
4333 AC_MSG_RESULT($MANPAGE_TBL)
4335 dnl ---------------------------------------------------------------------------
4336 dnl CF_MAN_PAGES version: 45 updated: 2015/04/18 08:56:57
4338 dnl Try to determine if the man-pages on the system are compressed, and if
4339 dnl so, what format is used. Use this information to construct a script that
4340 dnl will install man-pages.
4341 AC_DEFUN([CF_MAN_PAGES],
4343 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
4349 if test "$prefix" = "NONE" ; then
4350 cf_prefix="$ac_default_prefix"
4355 case "$MANPAGE_FORMAT" in
4370 test ! -d man && mkdir man
4374 case "$MANPAGE_FORMAT" in
4377 cf_compress=compress
4385 cf_edit_man=./edit_man.sh
4386 cf_man_alias=`pwd`/man_alias.sed
4388 cat >$cf_edit_man <<CF_EOF
4390 # this script is generated by the configure-script CF_MAN_PAGES macro.
4393 datarootdir="$datarootdir"
4396 NCURSES_MAJOR="$NCURSES_MAJOR"
4397 NCURSES_MINOR="$NCURSES_MINOR"
4398 NCURSES_PATCH="$NCURSES_PATCH"
4400 NCURSES_OSPEED="$NCURSES_OSPEED"
4401 TERMINFO="$TERMINFO"
4404 INSTALL_DATA="$INSTALL_DATA"
4406 transform="$program_transform_name"
4408 TMP=\${TMPDIR:=/tmp}/man\$\$
4409 trap "rm -f \$TMP" 0 1 2 5 15
4421 top_srcdir=\[$]srcdir/..
4424 if test "\$form" = normal ; then
4425 if test "$cf_format" = yes ; then
4426 if test "$cf_inboth" = no ; then
4427 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4431 cf_subdir=\$mandir/man
4432 cf_tables=$MANPAGE_TBL
4434 cf_subdir=\$mandir/cat
4438 # process the list of source-files
4443 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
4444 if test \$verb = installing ; then
4445 if test ! -d \$cf_subdir\${section} ; then
4446 mkdir -p \$cf_subdir\$section
4450 # replace variables in man page
4451 if test ! -f $cf_man_alias ; then
4452 cat >>$cf_man_alias <<-CF_EOF2
4453 s,@DATADIR@,\$datadir,g
4454 s,@TERMINFO@,\${TERMINFO:="no default value"},g
4455 s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
4456 s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
4457 s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
4458 s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
4459 s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
4464 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
4465 cf_name=`echo $cf_name|sed "$program_transform_name"`
4466 cat >>$cf_edit_man <<-CF_EOF
4467 s,@$cf_NAME@,$cf_name,g
4471 cat >>$cf_edit_man <<CF_EOF
4473 echo "...made $cf_man_alias"
4477 cf_source=\`basename \$i\`
4479 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
4480 if test ! -f \$inalias ; then
4481 echo .. skipped \$cf_source
4486 if test "$MANPAGE_ALIASES" != no ; then
4487 cat >>$cf_edit_man <<CF_EOF
4489 test $with_curses_h = yes && nCurses=ncurses.3x
4490 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
4494 if test "$MANPAGE_RENAMES" = no ; then
4495 cat >>$cf_edit_man <<CF_EOF
4496 # perform program transformations for section 1 man pages
4497 if test \$section = 1 ; then
4498 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
4500 cf_target=\$cf_subdir\${section}/\$cf_source
4504 cat >>$cf_edit_man <<CF_EOF
4505 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
4506 if test -z "\$cf_target" ; then
4507 echo '? missing rename for '\$cf_source
4508 cf_target="\$cf_source"
4510 cf_target="\$cf_subdir\${section}/\${cf_target}"
4515 cat >>$cf_edit_man <<CF_EOF
4516 sed -f $cf_man_alias \\
4519 if test -f $MANPAGE_RENAMES ; then
4520 cat >>$cf_edit_man <<CF_EOF
4521 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
4524 cat >>$cf_edit_man <<CF_EOF
4529 cat >>$cf_edit_man <<CF_EOF
4530 if test \$cf_tables = yes ; then
4531 tbl \$TMP >\$TMP.out
4536 if test $with_overwrite != yes ; then
4537 cat >>$cf_edit_man <<CF_EOF
4538 sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
4543 if test $with_curses_h != yes ; then
4544 cat >>$cf_edit_man <<CF_EOF
4545 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
4550 cat >>$cf_edit_man <<CF_EOF
4551 if test \$form = format ; then
4552 nroff -man \$TMP >\$TMP.out
4557 if test -n "$cf_compress" ; then
4558 cat >>$cf_edit_man <<CF_EOF
4559 if test \$verb = installing ; then
4560 if ( $cf_compress -f \$TMP )
4562 mv \$TMP.$cf_so_strip \$TMP
4565 cf_target="\$cf_target.$cf_so_strip"
4569 case "$MANPAGE_FORMAT" in
4571 cat >>$cf_edit_man <<CF_EOF
4572 if test \$form = format ; then
4573 # BSDI installs only .0 suffixes in the cat directories
4574 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
4580 cat >>$cf_edit_man <<CF_EOF
4581 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
4582 if test \$verb = installing ; then
4583 echo \$verb \$cf_target
4584 \$INSTALL_DATA \$TMP \$cf_target
4585 test -d \$cf_subdir\${section} &&
4586 test -n "\$aliases" && (
4587 cd \$cf_subdir\${section} && (
4588 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
4589 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
4590 cf_target=\`basename \$cf_target\`
4591 for cf_alias in \$aliases
4593 if test \$section = 1 ; then
4594 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4597 if test "$MANPAGE_SYMLINKS" = yes ; then
4598 if test -f \$cf_alias\${suffix} ; then
4599 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
4604 echo .. \$verb alias \$cf_alias\${suffix}
4608 cat >>$cf_edit_man <<CF_EOF
4609 $LN_S \$cf_target \$cf_alias\${suffix}
4613 cat >>$cf_edit_man <<CF_EOF
4614 rm -f \$cf_alias\${suffix}
4615 $LN_S \$cf_target \$cf_alias\${suffix}
4619 cat >>$cf_edit_man <<CF_EOF
4620 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
4621 echo ".so \$cf_source" >\$TMP
4623 if test -n "$cf_compress" ; then
4624 cat >>$cf_edit_man <<CF_EOF
4625 if test -n "$cf_so_strip" ; then
4626 $cf_compress -f \$TMP
4627 mv \$TMP.$cf_so_strip \$TMP
4631 cat >>$cf_edit_man <<CF_EOF
4632 echo .. \$verb alias \$cf_alias\${suffix}
4633 rm -f \$cf_alias\${suffix}
4634 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
4639 elif test \$verb = removing ; then
4640 test -f \$cf_target && (
4641 echo \$verb \$cf_target
4644 test -d \$cf_subdir\${section} &&
4645 test -n "\$aliases" && (
4646 cd \$cf_subdir\${section} && (
4647 for cf_alias in \$aliases
4649 if test \$section = 1 ; then
4650 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4653 echo .. \$verb alias \$cf_alias\${suffix}
4654 rm -f \$cf_alias\${suffix}
4666 if test $cf_inboth = yes ; then
4667 if test \$form != format ; then
4668 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4674 chmod 755 $cf_edit_man
4677 dnl ---------------------------------------------------------------------------
4678 dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
4680 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
4681 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
4682 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
4683 AC_DEFUN([CF_MATH_LIB],
4685 AC_CACHE_CHECK(if -lm needed for math functions,
4691 [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
4692 [cf_cv_need_libm=no],
4693 [cf_cv_need_libm=yes])])
4694 if test "$cf_cv_need_libm" = yes
4701 dnl ---------------------------------------------------------------------------
4702 dnl CF_MIXEDCASE_FILENAMES version: 7 updated: 2015/04/12 15:39:00
4703 dnl ----------------------
4704 dnl Check if the file-system supports mixed-case filenames. If we're able to
4705 dnl create a lowercase name and see it as uppercase, it doesn't support that.
4706 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
4708 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
4709 if test "$cross_compiling" = yes ; then
4710 case $target_alias in
4711 (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*)
4719 rm -f conftest CONFTEST
4721 if test -f CONFTEST ; then
4726 rm -f conftest CONFTEST
4729 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
4731 dnl ---------------------------------------------------------------------------
4732 dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
4734 dnl Check for a working mkstemp. This creates two files, checks that they are
4735 dnl successfully created and distinct (AmigaOS apparently fails on the last).
4736 AC_DEFUN([CF_MKSTEMP],[
4737 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
4740 #include <sys/types.h>
4744 #include <sys/stat.h>
4747 char *tmpl = "conftestXXXXXX";
4755 for (n = 0; n < 2; ++n) {
4756 strcpy(name[n], tmpl);
4757 if ((fd = mkstemp(name[n])) >= 0) {
4758 if (!strcmp(name[n], tmpl)
4759 || stat(name[n], &sb) != 0
4760 || (sb.st_mode & S_IFMT) != S_IFREG
4761 || (sb.st_mode & 077) != 0) {
4768 && !strcmp(name[0], name[1]))
4770 ${cf_cv_main_return:-return}(result);
4772 ],[cf_cv_func_mkstemp=yes
4773 ],[cf_cv_func_mkstemp=no
4774 ],[cf_cv_func_mkstemp=maybe])
4776 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
4777 AC_CHECK_FUNC(mkstemp)
4779 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
4780 AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
4783 dnl ---------------------------------------------------------------------------
4784 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
4786 dnl Write a debug message to config.log, along with the line number in the
4787 dnl configure script.
4788 AC_DEFUN([CF_MSG_LOG],[
4789 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
4791 dnl ---------------------------------------------------------------------------
4792 dnl CF_NCURSES_ABI_6 version: 2 updated: 2015/04/17 21:13:04
4793 dnl ----------------
4794 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
4795 dnl warn about this.
4796 AC_DEFUN([CF_NCURSES_ABI_6],[
4797 if test "${with_abi_version+set}" != set; then
4798 case $cf_cv_rel_version in
4800 cf_cv_rel_version=6.0
4802 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
4807 dnl ---------------------------------------------------------------------------
4808 dnl CF_NO_LEAKS_OPTION version: 6 updated: 2015/04/12 15:39:00
4809 dnl ------------------
4810 dnl see CF_WITH_NO_LEAKS
4811 AC_DEFUN([CF_NO_LEAKS_OPTION],[
4812 AC_MSG_CHECKING(if you want to use $1 for testing)
4815 [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
4818 : ${with_cflags:=-g}
4819 : ${with_no_leaks:=yes}
4822 AC_MSG_RESULT(${with_$1:-no})
4824 case .$with_cflags in
4836 dnl ---------------------------------------------------------------------------
4837 dnl CF_NUMBER_SYNTAX version: 2 updated: 2015/04/17 21:13:04
4838 dnl ----------------
4839 dnl Check if the given variable is a number. If not, report an error.
4840 dnl $1 is the variable
4841 dnl $2 is the message
4842 AC_DEFUN([CF_NUMBER_SYNTAX],[
4843 if test -n "$1" ; then
4848 AC_MSG_ERROR($2 is not a number: $1)
4852 AC_MSG_ERROR($2 value is empty)
4855 dnl ---------------------------------------------------------------------------
4856 dnl CF_OBJ_SUBDIR version: 7 updated: 2015/04/17 21:13:04
4858 dnl Compute the object-directory name from the given model name
4859 AC_DEFUN([CF_OBJ_SUBDIR],
4862 (libtool) $2='obj_lo' ;;
4863 (normal) $2='objects' ;;
4864 (debug) $2='obj_g' ;;
4865 (profile) $2='obj_p' ;;
4867 case $cf_cv_system_name in
4875 dnl ---------------------------------------------------------------------------
4876 dnl CF_PATHSEP version: 7 updated: 2015/04/12 15:39:00
4878 dnl Provide a value for the $PATH and similar separator (or amend the value
4879 dnl as provided in autoconf 2.5x).
4880 AC_DEFUN([CF_PATHSEP],
4882 AC_MSG_CHECKING(for PATH separator)
4883 case $cf_cv_system_name in
4884 (os2*) PATH_SEPARATOR=';' ;;
4885 (*) ${PATH_SEPARATOR:=':'} ;;
4887 ifelse([$1],,,[$1=$PATH_SEPARATOR])
4888 AC_SUBST(PATH_SEPARATOR)
4889 AC_MSG_RESULT($PATH_SEPARATOR)
4891 dnl ---------------------------------------------------------------------------
4892 dnl CF_PATH_SYNTAX version: 16 updated: 2015/04/18 08:56:57
4894 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
4895 dnl begins with one of the prefix/exec_prefix variables, and then again if the
4896 dnl result begins with 'NONE'. This is necessary to work around autoconf's
4897 dnl delayed evaluation of those symbols.
4898 AC_DEFUN([CF_PATH_SYNTAX],[
4899 if test "x$prefix" != xNONE; then
4900 cf_path_syntax="$prefix"
4902 cf_path_syntax="$ac_default_prefix"
4906 (.\[$]\(*\)*|.\'*\'*)
4910 (.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX
4912 (.\[$]{*prefix}*|.\[$]{*dir}*)
4916 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4921 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4924 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
4928 dnl ---------------------------------------------------------------------------
4929 dnl CF_PKG_CONFIG version: 10 updated: 2015/04/26 18:06:58
4931 dnl Check for the package-config program, unless disabled by command-line.
4932 AC_DEFUN([CF_PKG_CONFIG],
4934 AC_MSG_CHECKING(if you want to use pkg-config)
4935 AC_ARG_WITH(pkg-config,
4936 [ --with-pkg-config{=path} enable/disable use of pkg-config],
4937 [cf_pkg_config=$withval],
4938 [cf_pkg_config=yes])
4939 AC_MSG_RESULT($cf_pkg_config)
4941 case $cf_pkg_config in
4946 CF_ACVERSION_CHECK(2.52,
4947 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
4948 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
4955 test -z "$PKG_CONFIG" && PKG_CONFIG=none
4956 if test "$PKG_CONFIG" != none ; then
4957 CF_PATH_SYNTAX(PKG_CONFIG)
4958 elif test "x$cf_pkg_config" != xno ; then
4959 AC_MSG_WARN(pkg-config is not installed)
4962 AC_SUBST(PKG_CONFIG)
4964 dnl ---------------------------------------------------------------------------
4965 dnl CF_POSIX_C_SOURCE version: 9 updated: 2015/04/12 15:39:00
4966 dnl -----------------
4967 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
4969 dnl POSIX.1-1990 _POSIX_SOURCE
4970 dnl POSIX.1-1990 and _POSIX_SOURCE and
4971 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
4973 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
4974 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
4975 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
4978 dnl $1 is the nominal value for _POSIX_C_SOURCE
4979 AC_DEFUN([CF_POSIX_C_SOURCE],
4981 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
4983 cf_save_CFLAGS="$CFLAGS"
4984 cf_save_CPPFLAGS="$CPPFLAGS"
4986 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
4987 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
4989 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
4990 CF_MSG_LOG(if the symbol is already defined go no further)
4991 AC_TRY_COMPILE([#include <sys/types.h>],[
4992 #ifndef _POSIX_C_SOURCE
4995 [cf_cv_posix_c_source=no],
4996 [cf_want_posix_source=no
4997 case .$cf_POSIX_C_SOURCE in
4999 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
5002 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
5003 cf_want_posix_source=yes
5006 cf_want_posix_source=yes
5009 if test "$cf_want_posix_source" = yes ; then
5010 AC_TRY_COMPILE([#include <sys/types.h>],[
5011 #ifdef _POSIX_SOURCE
5014 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
5016 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
5017 CFLAGS="$cf_trim_CFLAGS"
5018 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
5019 CF_MSG_LOG(if the second compile does not leave our definition intact error)
5020 AC_TRY_COMPILE([#include <sys/types.h>],[
5021 #ifndef _POSIX_C_SOURCE
5024 [cf_cv_posix_c_source=no])
5025 CFLAGS="$cf_save_CFLAGS"
5026 CPPFLAGS="$cf_save_CPPFLAGS"
5030 if test "$cf_cv_posix_c_source" != no ; then
5031 CFLAGS="$cf_trim_CFLAGS"
5032 CPPFLAGS="$cf_trim_CPPFLAGS"
5033 CF_ADD_CFLAGS($cf_cv_posix_c_source)
5037 dnl ---------------------------------------------------------------------------
5038 dnl CF_PREDEFINE version: 2 updated: 2010/05/26 16:44:57
5040 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
5042 dnl $1 = symbol to test
5043 dnl $2 = value (if any) to use for a predefinition
5044 AC_DEFUN([CF_PREDEFINE],
5046 AC_MSG_CHECKING(if we must define $1)
5047 AC_TRY_COMPILE([#include <sys/types.h>
5051 #endif],[cf_result=no],[cf_result=yes])
5052 AC_MSG_RESULT($cf_result)
5054 if test "$cf_result" = yes ; then
5055 CPPFLAGS="$CPPFLAGS ifelse([$2],,-D$1,[-D$1=$2])"
5056 elif test "x$2" != "x" ; then
5057 AC_MSG_CHECKING(checking for compatible value versus $2)
5058 AC_TRY_COMPILE([#include <sys/types.h>
5062 #endif],[cf_result=yes],[cf_result=no])
5063 AC_MSG_RESULT($cf_result)
5064 if test "$cf_result" = no ; then
5065 # perhaps we can override it - try...
5066 CPPFLAGS="$CPPFLAGS -D$1=$2"
5070 dnl ---------------------------------------------------------------------------
5071 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
5073 dnl Append definitions and rules for the given programs to the subdirectory
5074 dnl Makefiles, and the recursion rule for the top-level Makefile.
5077 dnl $1 = script to run
5078 dnl $2 = list of subdirectories
5082 AC_DEFUN([CF_PRG_RULES],
5086 if test ! -d $srcdir/$cf_dir; then
5088 elif test -f $srcdir/$cf_dir/programs; then
5089 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
5094 dnl ---------------------------------------------------------------------------
5095 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
5097 dnl Check for archiver "ar".
5098 AC_DEFUN([CF_PROG_AR],[
5099 AC_CHECK_TOOL(AR, ar, ar)
5101 dnl ---------------------------------------------------------------------------
5102 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
5104 dnl Check for awk, ensure that the check found something.
5105 AC_DEFUN([CF_PROG_AWK],
5108 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
5110 dnl ---------------------------------------------------------------------------
5111 dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
5113 dnl standard check for CC, plus followup sanity checks
5114 dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
5115 AC_DEFUN([CF_PROG_CC],[
5116 ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
5118 CF_ACVERSION_CHECK(2.52,
5123 dnl ---------------------------------------------------------------------------
5124 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
5126 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
5127 dnl the output file can be renamed, and allows for a shell variable that can
5128 dnl be used later. The parameter is either CC or CXX. The result is the
5130 dnl $cf_cv_prog_CC_c_o
5131 dnl $cf_cv_prog_CXX_c_o
5132 AC_DEFUN([CF_PROG_CC_C_O],
5133 [AC_REQUIRE([AC_PROG_CC])dnl
5134 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
5135 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
5137 cat > conftest.$ac_ext <<CF_EOF
5141 ${cf_cv_main_return:-return}(0);
5144 # We do the test twice because some compilers refuse to overwrite an
5145 # existing .o file with -o, though they will create one.
5146 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
5147 if AC_TRY_EVAL(ac_try) &&
5148 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
5150 eval cf_cv_prog_$1_c_o=yes
5152 eval cf_cv_prog_$1_c_o=no
5156 if test $cf_cv_prog_$1_c_o = yes; then
5157 AC_MSG_RESULT([yes])
5162 dnl ---------------------------------------------------------------------------
5163 dnl CF_PROG_EGREP version: 2 updated: 2015/04/18 08:56:57
5165 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
5166 dnl This macro adds a check to ensure the script found something.
5167 AC_DEFUN([CF_PROG_EGREP],
5168 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
5169 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
5170 then ac_cv_prog_egrep='grep -E'
5171 else ac_cv_prog_egrep='egrep'
5173 EGREP=$ac_cv_prog_egrep
5175 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
5177 dnl ---------------------------------------------------------------------------
5178 dnl CF_PROG_GNAT version: 3 updated: 2015/04/18 08:56:57
5180 dnl Check for gnatmake, ensure that it is complete.
5181 AC_DEFUN([CF_PROG_GNAT],[
5182 cf_ada_make=gnatmake
5183 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
5184 if test "$ac_cv_prog_gnat_exists" = no; then
5186 cf_cv_prog_gnat_correct=no
5189 AC_CHECK_PROG(M4_exists, m4, yes, no)
5190 if test "$ac_cv_prog_M4_exists" = no; then
5191 cf_cv_prog_gnat_correct=no
5192 echo Ada95 binding required program m4 not found. Ada95 binding disabled.
5194 if test "$cf_cv_prog_gnat_correct" = yes; then
5195 AC_MSG_CHECKING(if GNAT works)
5196 CF_GNAT_TRY_RUN([procedure conftest;],
5199 procedure conftest is
5201 Text_IO.Put ("Hello World");
5203 GNAT.OS_Lib.OS_Exit (0);
5204 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
5205 AC_MSG_RESULT($cf_cv_prog_gnat_correct)
5209 AC_SUBST(cf_ada_make)
5211 dnl ---------------------------------------------------------------------------
5212 dnl CF_PROG_INSTALL version: 7 updated: 2015/04/18 08:56:57
5214 dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
5215 dnl misc/tabset install won't work properly. Usually this happens only when
5216 dnl using the fallback mkinstalldirs script
5217 AC_DEFUN([CF_PROG_INSTALL],
5223 CF_DIRNAME(cf_dir,$INSTALL)
5224 test -z "$cf_dir" && cf_dir=.
5225 INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
5229 dnl ---------------------------------------------------------------------------
5230 dnl CF_PROG_LDCONFIG version: 5 updated: 2015/04/18 08:56:57
5231 dnl ----------------
5232 dnl Check for ldconfig, needed to fixup shared libraries that would be built
5233 dnl and then used in the install.
5234 AC_DEFUN([CF_PROG_LDCONFIG],[
5235 if test "$cross_compiling" = yes ; then
5238 case "$cf_cv_system_name" in
5239 (dragonfly*|mirbsd*|freebsd*)
5240 test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
5242 (*) LDPATH=$PATH:/sbin:/usr/sbin
5243 AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
5249 dnl ---------------------------------------------------------------------------
5250 dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
5252 AC_DEFUN([CF_PROG_LINT],
5254 AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
5257 dnl ---------------------------------------------------------------------------
5258 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
5260 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
5261 dnl option if it is supported.
5262 AC_DEFUN([CF_PROG_LN_S],[
5264 AC_MSG_CHECKING(if $LN_S -f options work)
5266 rm -f conf$$.src conf$$dst
5268 echo first >conf$$.src
5269 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
5274 rm -f conf$$.dst conf$$src
5275 AC_MSG_RESULT($cf_prog_ln_sf)
5277 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
5279 dnl ---------------------------------------------------------------------------
5280 dnl CF_REGEX version: 12 updated: 2015/04/18 08:56:57
5282 dnl Attempt to determine if we've got one of the flavors of regular-expression
5283 dnl code that we can support.
5284 AC_DEFUN([CF_REGEX],
5289 cf_regex_libs="regex re"
5292 cf_regex_libs="gnurx $cf_regex_libs"
5296 AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
5297 for cf_regex_lib in $cf_regex_libs
5299 AC_CHECK_LIB($cf_regex_lib,regcomp,[
5300 CF_ADD_LIB($cf_regex_lib)
5301 cf_regex_func=regcomp
5306 if test "$cf_regex_func" = no ; then
5307 AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
5308 AC_CHECK_LIB(gen,compile,[
5310 cf_regex_func=compile])])
5313 if test "$cf_regex_func" = no ; then
5314 AC_MSG_WARN(cannot find regular expression library)
5317 AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
5320 case $cf_regex_func in
5322 for cf_regex_hdr in regexp.h regexpr.h
5324 AC_TRY_LINK([#include <$cf_regex_hdr>],[
5325 char *p = compile("", "", "", 0);
5326 int x = step("", "");
5328 cf_cv_regex_hdrs=$cf_regex_hdr
5334 for cf_regex_hdr in regex.h
5336 AC_TRY_LINK([#include <sys/types.h>
5337 #include <$cf_regex_hdr>],[
5339 int x = regcomp(p, "", 0);
5340 int y = regexec(p, "", 0, 0, 0);
5343 cf_cv_regex_hdrs=$cf_regex_hdr
5352 case $cf_cv_regex_hdrs in
5353 (no) AC_MSG_WARN(no regular expression header found) ;;
5354 (regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS,1,[Define to 1 to include regex.h for regular expressions]) ;;
5355 (regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS,1,[Define to 1 to include regexp.h for regular expressions]) ;;
5356 (regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS,1,[Define to 1 to include regexpr.h for regular expressions]) ;;
5359 dnl ---------------------------------------------------------------------------
5360 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
5361 dnl ----------------
5362 dnl Remove all -U and -D options that refer to the given symbol from a list
5363 dnl of C compiler options. This works around the problem that not all
5364 dnl compilers process -U and -D options from left-to-right, so a -U option
5365 dnl cannot be used to cancel the effect of a preceding -D option.
5367 dnl $1 = target (which could be the same as the source variable)
5368 dnl $2 = source (including '$')
5369 dnl $3 = symbol to remove
5370 define([CF_REMOVE_DEFINE],
5373 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
5374 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
5376 dnl ---------------------------------------------------------------------------
5377 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
5379 dnl Remove the given library from the symbol
5381 dnl $1 = target (which could be the same as the source variable)
5382 dnl $2 = source (including '$')
5383 dnl $3 = library to remove
5384 define([CF_REMOVE_LIB],
5386 # remove $3 library from $2
5387 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
5389 dnl ---------------------------------------------------------------------------
5390 dnl CF_RPATH_HACK version: 11 updated: 2013/09/01 13:02:00
5392 AC_DEFUN([CF_RPATH_HACK],
5394 AC_REQUIRE([CF_LD_RPATH_OPT])
5395 AC_MSG_CHECKING(for updated LDFLAGS)
5396 if test -n "$LD_RPATH_OPT" ; then
5397 AC_MSG_RESULT(maybe)
5399 AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
5400 cf_rpath_list="/usr/lib /lib"
5401 if test "$cf_ldd_prog" != no
5405 AC_TRY_LINK([#include <stdio.h>],
5407 [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort | uniq`
5408 cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`])
5410 # If we passed the link-test, but get a "not found" on a given library,
5411 # this could be due to inept reconfiguration of gcc to make it only
5412 # partly honor /usr/local/lib (or whatever). Sometimes this behavior
5413 # is intentional, e.g., installing gcc in /usr/bin and suppressing the
5414 # /usr/local libraries.
5415 if test -n "$cf_rpath_oops"
5417 for cf_rpath_src in $cf_rpath_oops
5419 for cf_rpath_dir in \
5424 if test -f $cf_rpath_dir/lib/$cf_rpath_src
5426 CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
5427 LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
5435 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
5437 CF_RPATH_HACK_2(LDFLAGS)
5438 CF_RPATH_HACK_2(LIBS)
5440 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
5444 AC_SUBST(EXTRA_LDFLAGS)
5446 dnl ---------------------------------------------------------------------------
5447 dnl CF_RPATH_HACK_2 version: 7 updated: 2015/04/12 15:39:00
5449 dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
5450 dnl EXTRA_LDFLAGS for each -L option found.
5452 dnl $cf_rpath_list contains a list of directories to ignore.
5454 dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
5455 dnl but LIBS often has misplaced -L options.
5456 AC_DEFUN([CF_RPATH_HACK_2],
5458 CF_VERBOSE(...checking $1 [$]$1)
5461 for cf_rpath_src in [$]$1
5463 case $cf_rpath_src in
5466 # check if this refers to a directory which we will ignore
5468 if test -n "$cf_rpath_list"
5470 for cf_rpath_item in $cf_rpath_list
5472 if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
5480 if test "$cf_rpath_skip" = no
5482 # transform the option
5483 if test "$LD_RPATH_OPT" = "-R " ; then
5484 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
5486 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
5489 # if we have not already added this, add it now
5490 cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
5491 if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
5493 CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
5494 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
5499 cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
5503 CF_VERBOSE(...checked $1 [$]$1)
5504 AC_SUBST(EXTRA_LDFLAGS)
5506 dnl ---------------------------------------------------------------------------
5507 dnl CF_SHARED_OPTS version: 87 updated: 2015/04/17 21:13:04
5510 dnl Attempt to determine the appropriate CC/LD options for creating a shared
5514 dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within
5515 dnl the build-tree, i.e., by making use of the libraries that are compiled in
5516 dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the
5517 dnl shared library since that can lead to unexpected results at runtime.
5518 dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared
5519 dnl libraries are compiled in ../../lib
5521 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
5522 dnl to install symbolic links to the rel/abi versions of shared libraries.
5524 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
5525 dnl version when making symbolic links.
5527 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
5528 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
5529 dnl (ex: libncurses.so.<ver>).
5531 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
5532 AC_DEFUN([CF_SHARED_OPTS],
5534 AC_REQUIRE([CF_LD_RPATH_OPT])
5539 INSTALL_LIB="-m 644"
5540 : ${rel_builddir:=.}
5548 cf_cv_do_symlinks=no
5550 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
5552 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
5553 AC_ARG_WITH(shlib-version,
5554 [ --with-shlib-version=X Specify rel or abi version for shared libs],
5555 [test -z "$withval" && withval=auto
5558 cf_cv_shlib_version=auto
5561 cf_cv_shlib_version=$withval
5564 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
5567 ],[cf_cv_shlib_version=auto])
5568 AC_MSG_RESULT($cf_cv_shlib_version)
5573 # Some less-capable ports of gcc support only -fpic
5575 if test "$GCC" = yes
5577 AC_MSG_CHECKING(which $CC option to use)
5578 cf_save_CFLAGS="$CFLAGS"
5579 for CC_SHARED_OPTS in -fPIC -fpic ''
5581 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
5582 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
5584 AC_MSG_RESULT($CC_SHARED_OPTS)
5585 CFLAGS="$cf_save_CFLAGS"
5588 cf_cv_shlib_version_infix=no
5590 case $cf_cv_system_name in
5591 (aix4.[3-9]*|aix[[5-7]]*)
5592 if test "$GCC" = yes; then
5593 CC_SHARED_OPTS='-Wl,-brtl'
5594 MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
5596 CC_SHARED_OPTS='-brtl'
5597 # as well as '-qpic=large -G' or perhaps "-bM:SRE -bnoentry -bexpall"
5598 MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
5602 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
5606 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5607 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5608 cf_cv_shlib_version=cygdll
5609 cf_cv_shlib_version_infix=cygdll
5612 cat >mk_shared_lib.sh <<-CF_EOF
5615 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5618 Linking shared library
5619 ** SHARED_LIB \[$]SHARED_LIB
5620 ** IMPORT_LIB \[$]IMPORT_LIB
5622 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5624 chmod +x mk_shared_lib.sh
5628 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5629 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5630 cf_cv_shlib_version=msysdll
5631 cf_cv_shlib_version_infix=msysdll
5634 cat >mk_shared_lib.sh <<-CF_EOF
5637 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5640 Linking shared library
5641 ** SHARED_LIB \[$]SHARED_LIB
5642 ** IMPORT_LIB \[$]IMPORT_LIB
5644 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5646 chmod +x mk_shared_lib.sh
5649 cf_try_cflags="no-cpp-precomp"
5650 CC_SHARED_OPTS="-dynamic"
5651 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
5652 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
5653 cf_cv_shlib_version_infix=yes
5654 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
5655 cf_save_LDFLAGS=$LDFLAGS
5656 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5657 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
5658 LDFLAGS=$cf_save_LDFLAGS])
5659 if test $cf_cv_ldflags_search_paths_first = yes; then
5660 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5664 # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
5665 if test "$GCC" != yes; then
5668 MK_SHARED_LIB='${LD} -b -o $[@]'
5669 INSTALL_LIB="-m 555"
5672 # (tested with gcc 2.7.2 -- I don't have c89)
5673 if test "$GCC" = yes; then
5674 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
5677 LD_SHARED_OPTS='-Wl,+b,${libdir}'
5679 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
5680 # HP-UX shared libraries must be executable, and should be
5681 # readonly to exploit a quirk in the memory manager.
5682 INSTALL_LIB="-m 555"
5685 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5686 if test "$cf_cv_shlib_version" = rel; then
5687 cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
5689 cf_shared_soname='`basename $@`'
5692 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
5695 if test "$cf_cv_enable_rpath" = yes ; then
5696 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5698 # tested with IRIX 5.2 and 'cc'.
5699 if test "$GCC" != yes; then
5700 CC_SHARED_OPTS='-KPIC'
5701 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
5703 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
5705 cf_cv_rm_so_locs=yes
5707 (linux*|gnu*|k*bsd*-gnu)
5708 if test "$DFT_LWR_MODEL" = "shared" ; then
5709 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5710 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5712 if test "$cf_cv_enable_rpath" = yes ; then
5713 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5716 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5719 cf_cv_shlib_version=mingw
5720 cf_cv_shlib_version_infix=mingw
5723 if test "$DFT_LWR_MODEL" = "shared" ; then
5724 LOCAL_LDFLAGS="-Wl,--enable-auto-import"
5725 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5726 EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
5729 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5730 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5731 cat >mk_shared_lib.sh <<-CF_EOF
5734 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5737 Linking shared library
5738 ** SHARED_LIB \[$]SHARED_LIB
5739 ** IMPORT_LIB \[$]IMPORT_LIB
5741 exec \[$]* -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5743 chmod +x mk_shared_lib.sh
5745 (openbsd[[2-9]].*|mirbsd*)
5746 if test "$DFT_LWR_MODEL" = "shared" ; then
5747 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5748 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5750 if test "$cf_cv_enable_rpath" = yes ; then
5751 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5753 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5755 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5757 (nto-qnx*|openbsd*|freebsd[[12]].*)
5758 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5759 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
5760 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5762 (dragonfly*|freebsd*)
5763 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5764 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5765 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5766 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
5767 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5770 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5773 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5774 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5775 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5776 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5777 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5778 if test "$cf_cv_shlib_version" = auto; then
5779 if test -f /usr/libexec/ld.elf_so; then
5780 cf_cv_shlib_version=abi
5782 cf_cv_shlib_version=rel
5786 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
5788 MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]'
5792 # tested with OSF/1 V3.2 and 'cc'
5793 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
5794 # link with shared libs).
5795 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
5798 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
5801 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
5802 if test "$DFT_LWR_MODEL" = "shared" ; then
5803 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5804 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5806 cf_cv_rm_so_locs=yes
5808 (sco3.2v5*) # also uw2* and UW7: hops 13-Apr-98
5809 # tested with osr5.0.5
5810 if test "$GCC" != yes; then
5811 CC_SHARED_OPTS='-belf -KPIC'
5813 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
5814 if test "$cf_cv_enable_rpath" = yes ; then
5815 # only way is to set LD_RUN_PATH but no switch for it
5818 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5819 LINK_PROGS='LD_RUN_PATH=${libdir}'
5820 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
5823 # tested with SunOS 4.1.1 and gcc 2.7.0
5824 if test "$GCC" != yes; then
5825 CC_SHARED_OPTS='-KPIC'
5827 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
5828 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5831 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
5832 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
5833 if test "$DFT_LWR_MODEL" = "shared" ; then
5834 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
5835 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5837 if test "$cf_cv_enable_rpath" = yes ; then
5838 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
5841 if test "$GCC" != yes; then
5842 cf_save_CFLAGS="$CFLAGS"
5843 for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
5845 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
5846 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
5848 CFLAGS="$cf_save_CFLAGS"
5849 CC_SHARED_OPTS=$cf_shared_opts
5850 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5852 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5855 (sysv5uw7*|unix_sv*)
5856 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
5857 if test "$GCC" != yes; then
5858 CC_SHARED_OPTS='-KPIC'
5860 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
5863 CC_SHARED_OPTS='unknown'
5864 MK_SHARED_LIB='echo unknown'
5868 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
5869 case "$cf_cv_shlib_version" in
5871 case "$MK_SHARED_LIB" in
5873 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
5876 AC_MSG_WARN(ignored --with-shlib-version)
5882 if test -n "$cf_try_cflags"
5884 cat > conftest.$ac_ext <<EOF
5885 #line __oline__ "${as_me:-configure}"
5887 int main(int argc, char *argv[[]])
5890 return (argv[[argc-1]] == 0) ;
5893 cf_save_CFLAGS="$CFLAGS"
5894 for cf_opt in $cf_try_cflags
5896 CFLAGS="$cf_save_CFLAGS -$cf_opt"
5897 AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
5898 if AC_TRY_EVAL(ac_compile); then
5900 cf_save_CFLAGS="$CFLAGS"
5905 CFLAGS="$cf_save_CFLAGS"
5909 # RPATH_LIST is a colon-separated list of directories
5910 test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
5911 test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
5913 test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations"
5915 CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
5916 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
5918 AC_SUBST(CC_SHARED_OPTS)
5919 AC_SUBST(LD_RPATH_OPT)
5920 AC_SUBST(LD_SHARED_OPTS)
5921 AC_SUBST(MK_SHARED_LIB)
5922 AC_SUBST(RM_SHARED_OPTS)
5924 AC_SUBST(LINK_PROGS)
5925 AC_SUBST(LINK_TESTS)
5927 AC_SUBST(EXTRA_LDFLAGS)
5928 AC_SUBST(LOCAL_LDFLAGS)
5929 AC_SUBST(LOCAL_LDFLAGS2)
5931 AC_SUBST(INSTALL_LIB)
5932 AC_SUBST(RPATH_LIST)
5934 dnl ---------------------------------------------------------------------------
5935 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
5936 dnl ----------------
5937 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
5938 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
5941 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
5942 dnl If missing, use "rel".
5943 define([CF_SHARED_SONAME],
5945 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
5946 if test "$cf_cv_shlib_version" = rel; then
5947 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
5949 cf_cv_shared_soname='`basename $[@]`'
5952 dnl ---------------------------------------------------------------------------
5953 dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
5955 dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
5956 dnl programs need this test).
5958 dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
5959 dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
5960 dnl winsize declaration is left alone - we may revisit this if Apple choose to
5961 dnl break that part of the interface as well.
5962 AC_DEFUN([CF_SIGWINCH],
5964 AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
5966 #include <sys/types.h>
5967 #include <sys/signal.h>
5968 ],[int x = SIGWINCH],
5969 [cf_cv_define_sigwinch=yes],
5971 #undef _XOPEN_SOURCE
5972 #undef _POSIX_SOURCE
5973 #undef _POSIX_C_SOURCE
5974 #include <sys/types.h>
5975 #include <sys/signal.h>
5976 ],[int x = SIGWINCH],
5977 [cf_cv_define_sigwinch=maybe],
5978 [cf_cv_define_sigwinch=no])
5982 if test "$cf_cv_define_sigwinch" = maybe ; then
5983 AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
5984 cf_cv_fixup_sigwinch=unknown
5986 while test $cf_sigwinch != 1
5989 #undef _XOPEN_SOURCE
5990 #undef _POSIX_SOURCE
5991 #undef _POSIX_C_SOURCE
5992 #include <sys/types.h>
5993 #include <sys/signal.h>
5995 #if SIGWINCH != $cf_sigwinch
5999 [cf_cv_fixup_sigwinch=$cf_sigwinch
6002 cf_sigwinch=`expr $cf_sigwinch - 1`
6006 if test "$cf_cv_fixup_sigwinch" != unknown ; then
6007 CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
6011 dnl ---------------------------------------------------------------------------
6012 dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
6014 dnl signal handler, but there are some gcc depedencies in that recommendation.
6016 AC_DEFUN([CF_SIG_ATOMIC_T],
6018 AC_MSG_CHECKING(for signal global datatype)
6019 AC_CACHE_VAL(cf_cv_sig_atomic_t,[
6021 "volatile sig_atomic_t" \
6026 #include <sys/types.h>
6032 static void handler(int sig)
6036 [signal(SIGINT, handler);
6038 [cf_cv_sig_atomic_t=$cf_type],
6039 [cf_cv_sig_atomic_t=no])
6040 test "$cf_cv_sig_atomic_t" != no && break
6043 AC_MSG_RESULT($cf_cv_sig_atomic_t)
6044 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
6046 dnl ---------------------------------------------------------------------------
6047 dnl CF_SIZECHANGE version: 11 updated: 2015/04/18 08:56:57
6049 dnl Check for definitions & structures needed for window size-changing
6050 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
6051 AC_DEFUN([CF_SIZECHANGE],
6053 AC_REQUIRE([CF_STRUCT_TERMIOS])
6054 AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
6055 cf_cv_sizechange=unknown
6056 cf_save_CPPFLAGS="$CPPFLAGS"
6058 for cf_opts in "" "NEED_PTEM_H"
6061 CPPFLAGS="$cf_save_CPPFLAGS"
6062 test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
6063 AC_TRY_COMPILE([#include <sys/types.h>
6064 #ifdef HAVE_TERMIOS_H
6065 #include <termios.h>
6067 #ifdef HAVE_TERMIO_H
6072 /* This is a workaround for SCO: they neglected to define struct winsize in
6073 * termios.h -- it's only in termio.h and ptem.h
6075 #include <sys/stream.h>
6076 #include <sys/ptem.h>
6078 #if !defined(sun) || !defined(HAVE_TERMIOS_H)
6079 #include <sys/ioctl.h>
6083 struct ttysize win; /* FIXME: what system is this? */
6084 int y = win.ts_lines;
6085 int x = win.ts_cols;
6092 no TIOCGSIZE or TIOCGWINSZ
6093 #endif /* TIOCGWINSZ */
6094 #endif /* TIOCGSIZE */
6096 [cf_cv_sizechange=yes],
6097 [cf_cv_sizechange=no])
6099 CPPFLAGS="$cf_save_CPPFLAGS"
6100 if test "$cf_cv_sizechange" = yes ; then
6101 echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
6102 test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
6107 if test "$cf_cv_sizechange" != no ; then
6108 AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided])
6109 case $cf_cv_sizechange in
6111 AC_DEFINE_UNQUOTED($cf_cv_sizechange )
6116 dnl ---------------------------------------------------------------------------
6117 dnl CF_SRC_MODULES version: 29 updated: 2015/04/12 11:42:01
6119 dnl For each parameter, test if the source-directory exists, and if it contains
6120 dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
6121 dnl use in CF_LIB_RULES.
6123 dnl This uses the configured value to make the lists SRC_SUBDIRS and
6124 dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
6125 AC_DEFUN([CF_SRC_MODULES],
6127 AC_MSG_CHECKING(for src modules)
6129 # dependencies and linker-arguments for test-programs
6130 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
6131 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2"
6132 if test "$DFT_LWR_MODEL" = "libtool"; then
6133 TEST_ARGS="${TEST_DEPS}"
6134 TEST_ARG2="${TEST_DEP2}"
6136 TEST_ARGS="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARGS"
6137 TEST_ARG2="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARG2"
6140 PC_MODULES_TO_MAKE="ncurses${USE_ARG_SUFFIX}"
6144 if test -f $srcdir/$cf_dir/modules; then
6146 # We may/may not have tack in the distribution, though the
6148 if test $cf_dir = tack ; then
6149 if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
6154 if test -z "$cf_cv_src_modules"; then
6155 cf_cv_src_modules=$cf_dir
6157 cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
6160 # Make the ncurses_cfg.h file record the library interface files as
6161 # well. These are header files that are the same name as their
6162 # directory. Ncurses is the only library that does not follow
6164 if test $cf_dir = tack ; then
6166 elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
6167 CF_UPPER(cf_have_include,$cf_dir)
6168 AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
6169 AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
6170 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
6171 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2"
6172 if test "$DFT_LWR_MODEL" = "libtool"; then
6173 TEST_ARGS="${TEST_DEPS}"
6174 TEST_ARG2="${TEST_DEP2}"
6176 TEST_ARGS="-l${cf_dir}${USE_ARG_SUFFIX} $TEST_ARGS"
6177 TEST_ARG2="-l${cf_dir}${USE_ARG_SUFFIX} $TEST_ARG2"
6179 PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${USE_ARG_SUFFIX}"
6183 AC_MSG_RESULT($cf_cv_src_modules)
6185 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
6186 TEST_ARG2="-L${LIB_2ND} $TEST_ARG2"
6195 if test "x$cf_with_manpages" != xno ; then
6196 SRC_SUBDIRS="$SRC_SUBDIRS man"
6198 SRC_SUBDIRS="$SRC_SUBDIRS include"
6199 for cf_dir in $cf_cv_src_modules
6201 SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
6203 if test "x$cf_with_tests" != "xno" ; then
6204 SRC_SUBDIRS="$SRC_SUBDIRS test"
6206 # always make this, to install the ncurses-config script
6207 SRC_SUBDIRS="$SRC_SUBDIRS misc"
6208 if test "$cf_with_cxx_binding" != no; then
6209 PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${USE_ARG_SUFFIX}"
6210 SRC_SUBDIRS="$SRC_SUBDIRS c++"
6213 test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
6214 test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
6216 AC_SUBST(PC_MODULES_TO_MAKE)
6219 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
6220 SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
6221 ADA_SUBDIRS="gen src"
6222 if test "x$cf_with_tests" != "xno" ; then
6223 ADA_SUBDIRS="$ADA_SUBDIRS samples"
6228 for cf_dir in $SRC_SUBDIRS
6230 SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
6233 if test -n "$ADA_SUBDIRS"; then
6234 for cf_dir in $ADA_SUBDIRS
6236 SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
6238 AC_SUBST(ADA_SUBDIRS)
6241 dnl ---------------------------------------------------------------------------
6242 dnl CF_STDCPP_LIBRARY version: 8 updated: 2015/04/17 21:13:04
6243 dnl -----------------
6244 dnl Check for -lstdc++, which is GNU's standard C++ library.
6245 AC_DEFUN([CF_STDCPP_LIBRARY],
6247 if test -n "$GXX" ; then
6248 case $cf_cv_system_name in
6250 cf_stdcpp_libname=stdcpp
6253 cf_stdcpp_libname=stdc++
6256 AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
6258 CF_ADD_LIB($cf_stdcpp_libname)
6260 #include <strstream.h>],[
6262 strstreambuf foo(buf, sizeof(buf))
6264 [cf_cv_libstdcpp=yes],
6265 [cf_cv_libstdcpp=no])
6268 test "$cf_cv_libstdcpp" = yes && CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS)
6271 dnl ---------------------------------------------------------------------------
6272 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
6274 dnl Remove "-g" option from the compiler options
6275 AC_DEFUN([CF_STRIP_G_OPT],
6276 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
6277 dnl ---------------------------------------------------------------------------
6278 dnl CF_STRUCT_SIGACTION version: 5 updated: 2012/10/06 17:56:13
6279 dnl -------------------
6280 dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
6281 dnl do this if we've found the sigaction function.
6282 AC_DEFUN([CF_STRUCT_SIGACTION],[
6283 AC_REQUIRE([CF_XOPEN_SOURCE])
6285 if test "$ac_cv_func_sigaction" = yes; then
6286 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
6288 #include <sys/types.h>
6289 #include <signal.h>],
6290 [struct sigaction act],
6294 #define _POSIX_SOURCE
6295 #include <sys/types.h>
6296 #include <signal.h>],
6297 [struct sigaction act],
6299 AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])],
6300 [sigact_bad=unknown])])
6301 AC_MSG_RESULT($sigact_bad)
6304 dnl ---------------------------------------------------------------------------
6305 dnl CF_STRUCT_TERMIOS version: 8 updated: 2015/04/15 19:08:48
6306 dnl -----------------
6307 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
6308 AC_DEFUN([CF_STRUCT_TERMIOS],[
6309 AC_REQUIRE([CF_XOPEN_SOURCE])
6317 if test "$ISC" = yes ; then
6318 AC_CHECK_HEADERS( sys/termio.h )
6320 if test "$ac_cv_header_termios_h" = yes ; then
6321 case "$CFLAGS $CPPFLAGS" in
6323 termios_bad=dunno ;;
6324 (*) termios_bad=maybe ;;
6326 if test "$termios_bad" = maybe ; then
6327 AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
6328 AC_TRY_COMPILE([#include <termios.h>],
6329 [struct termios foo; int x = foo.c_iflag],
6332 #define _POSIX_SOURCE
6333 #include <termios.h>],
6334 [struct termios foo; int x = foo.c_iflag],
6335 termios_bad=unknown,
6336 termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE]))
6338 AC_MSG_RESULT($termios_bad)
6342 dnl ---------------------------------------------------------------------------
6343 dnl CF_SUBDIR_PATH version: 7 updated: 2014/12/04 04:33:06
6345 dnl Construct a search-list for a nonstandard header/lib-file
6346 dnl $1 = the variable to return as result
6347 dnl $2 = the package name
6348 dnl $3 = the subdirectory, e.g., bin, include or lib
6349 AC_DEFUN([CF_SUBDIR_PATH],
6353 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
6355 for cf_subdir_prefix in \
6363 CF_ADD_SUBDIR_PATH($1,$2,$3,$cf_subdir_prefix,$prefix)
6366 dnl ---------------------------------------------------------------------------
6367 dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
6369 dnl Shorthand macro for substituting things that the user may override
6370 dnl with an environment variable.
6372 dnl $1 = condition to pass to "test"
6373 dnl $2 = environment variable
6374 dnl $3 = value if the test succeeds
6375 dnl $4 = value if the test fails
6376 AC_DEFUN([CF_SUBST_IF],
6385 dnl ---------------------------------------------------------------------------
6386 dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59
6387 dnl ------------------------
6388 dnl Get the version-number for use in shared-library naming, etc.
6389 AC_DEFUN([CF_SUBST_NCURSES_VERSION],
6391 AC_REQUIRE([CF_PROG_EGREP])
6392 NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6393 NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6394 NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6395 cf_cv_abi_version=${NCURSES_MAJOR}
6396 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
6397 dnl Show the computed version, for logging
6398 cf_cv_timestamp=`date`
6399 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
6400 dnl We need these values in the generated headers
6401 AC_SUBST(NCURSES_MAJOR)
6402 AC_SUBST(NCURSES_MINOR)
6403 AC_SUBST(NCURSES_PATCH)
6404 dnl We need these values in the generated makefiles
6405 AC_SUBST(cf_cv_rel_version)
6406 AC_SUBST(cf_cv_abi_version)
6407 AC_SUBST(cf_cv_builtin_bool)
6408 AC_SUBST(cf_cv_header_stdbool_h)
6409 AC_SUBST(cf_cv_type_of_bool)dnl
6411 dnl ---------------------------------------------------------------------------
6412 dnl CF_SYS_TIME_SELECT version: 6 updated: 2015/04/18 08:56:57
6413 dnl ------------------
6414 dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
6415 dnl older SCO configurations.
6416 AC_DEFUN([CF_SYS_TIME_SELECT],
6418 AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
6419 AC_CACHE_VAL(cf_cv_sys_time_select,[
6421 #include <sys/types.h>
6422 #ifdef HAVE_SYS_TIME_H
6423 #include <sys/time.h>
6425 #ifdef HAVE_SYS_SELECT_H
6426 #include <sys/select.h>
6428 ],[],[cf_cv_sys_time_select=yes],
6429 [cf_cv_sys_time_select=no])
6431 AC_MSG_RESULT($cf_cv_sys_time_select)
6432 test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
6434 dnl ---------------------------------------------------------------------------
6435 dnl CF_TOP_BUILDDIR version: 2 updated: 2013/07/27 17:38:32
6437 dnl Define a top_builddir symbol, for applications that need an absolute path.
6438 AC_DEFUN([CF_TOP_BUILDDIR],
6440 top_builddir=ifelse($1,,`pwd`,$1)
6441 AC_SUBST(top_builddir)
6443 dnl ---------------------------------------------------------------------------
6444 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
6445 dnl -------------------
6446 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
6447 dnl can define it successfully.
6448 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
6449 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
6453 #include <sys/types.h>
6455 #ifndef _XOPEN_SOURCE
6458 [cf_cv_xopen_source=no],
6459 [cf_save="$CPPFLAGS"
6460 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6464 #include <sys/types.h>
6466 #ifdef _XOPEN_SOURCE
6469 [cf_cv_xopen_source=no],
6470 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
6475 if test "$cf_cv_xopen_source" != no ; then
6476 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
6477 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
6478 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
6479 CF_ADD_CFLAGS($cf_temp_xopen_source)
6482 dnl ---------------------------------------------------------------------------
6483 dnl CF_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13
6484 dnl ----------------
6485 dnl Determine the type we should use for chtype (and attr_t, which is treated
6486 dnl as the same thing). We want around 32 bits, so on most machines want a
6487 dnl long, but on newer 64-bit machines, probably want an int. If we're using
6488 dnl wide characters, we have to have a type compatible with that, as well.
6489 AC_DEFUN([CF_TYPEOF_CHTYPE],
6491 AC_MSG_CHECKING([for type of chtype])
6492 AC_CACHE_VAL(cf_cv_typeof_chtype,[
6494 #define WANT_BITS 31
6498 FILE *fp = fopen("cf_test.out", "w");
6500 char *result = "long";
6501 if (sizeof(unsigned long) > sizeof(unsigned int)) {
6504 for (n = 0; n < WANT_BITS; n++) {
6507 if (y != 1 || x == 0) {
6513 * If x is nonzero, an int is big enough for the bits
6516 result = (x != 0) ? "int" : "long";
6521 ${cf_cv_main_return:-return}(0);
6524 [cf_cv_typeof_chtype=`cat cf_test.out`],
6525 [cf_cv_typeof_chtype=long],
6526 [cf_cv_typeof_chtype=long])
6529 AC_MSG_RESULT($cf_cv_typeof_chtype)
6531 AC_SUBST(cf_cv_typeof_chtype)
6532 AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype,[Define to actual type if needed for chtype])
6534 dnl ---------------------------------------------------------------------------
6535 dnl CF_TYPE_SIGACTION version: 4 updated: 2012/10/06 17:56:13
6536 dnl -----------------
6538 AC_DEFUN([CF_TYPE_SIGACTION],
6540 AC_MSG_CHECKING([for type sigaction_t])
6541 AC_CACHE_VAL(cf_cv_type_sigaction,[
6543 #include <signal.h>],
6545 [cf_cv_type_sigaction=yes],
6546 [cf_cv_type_sigaction=no])])
6547 AC_MSG_RESULT($cf_cv_type_sigaction)
6548 test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION,1,[Define to 1 if we have the sigaction_t type])
6550 dnl ---------------------------------------------------------------------------
6551 dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
6552 dnl --------------------
6553 dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
6554 dnl won't, but they're still there.
6555 AC_DEFUN([CF_UNSIGNED_LITERALS],
6557 AC_MSG_CHECKING([if unsigned literals are legal])
6558 AC_CACHE_VAL(cf_cv_unsigned_literals,[
6559 AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
6560 [cf_cv_unsigned_literals=yes],
6561 [cf_cv_unsigned_literals=no])
6563 AC_MSG_RESULT($cf_cv_unsigned_literals)
6565 dnl ---------------------------------------------------------------------------
6566 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
6568 dnl Make an uppercase version of a variable
6569 dnl $1=uppercase($2)
6570 AC_DEFUN([CF_UPPER],
6572 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
6574 dnl ---------------------------------------------------------------------------
6575 dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
6577 dnl Check for multibyte support, and if not found, utf8 compatibility library
6578 AC_DEFUN([CF_UTF8_LIB],
6580 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
6581 cf_save_LIBS="$LIBS"
6583 #include <stdlib.h>],[putwc(0,0);],
6584 [cf_cv_utf8_lib=yes],
6586 #include <libutf8.h>],[putwc(0,0);],utf8,
6587 [cf_cv_utf8_lib=add-on],
6588 [cf_cv_utf8_lib=no])
6591 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
6593 if test "$cf_cv_utf8_lib" = "add-on" ; then
6594 AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
6595 CF_ADD_INCDIR($cf_cv_header_path_utf8)
6596 CF_ADD_LIBDIR($cf_cv_library_path_utf8)
6597 CF_ADD_LIBS($cf_cv_library_file_utf8)
6600 dnl ---------------------------------------------------------------------------
6601 dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15
6603 dnl check for va_copy, part of stdarg.h
6604 dnl Also, workaround for glibc's __va_copy, by checking for both.
6605 AC_DEFUN([CF_VA_COPY],[
6606 AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
6613 cf_cv_have_va_copy=yes,
6614 cf_cv_have_va_copy=no)])
6616 test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
6618 AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
6624 __va_copy(dst, src)],
6625 cf_cv_have___va_copy=yes,
6626 cf_cv_have___va_copy=no)])
6628 test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
6630 dnl ---------------------------------------------------------------------------
6631 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
6633 dnl Use AC_VERBOSE w/o the warnings
6634 AC_DEFUN([CF_VERBOSE],
6635 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
6638 dnl ---------------------------------------------------------------------------
6639 dnl CF_VERSION_INFO version: 7 updated: 2015/04/17 21:13:04
6641 dnl Define several useful symbols derived from the VERSION file. A separate
6642 dnl file is preferred to embedding the version numbers in various scripts.
6643 dnl (automake is a textbook-example of why the latter is a bad idea, but there
6646 dnl The file contents are:
6647 dnl libtool-version release-version patch-version
6651 dnl libtool-version (see ?) consists of 3 integers separated by '.'
6652 dnl release-version consists of a major version and minor version
6653 dnl separated by '.', optionally followed by a patch-version
6654 dnl separated by '-'. The minor version need not be an
6655 dnl integer (but it is preferred).
6656 dnl patch-version is an integer in the form yyyymmdd, so ifdef's and
6657 dnl scripts can easily compare versions.
6659 dnl If libtool is used, the first form is required, since CF_WITH_LIBTOOL
6660 dnl simply extracts the first field using 'cut -f1'.
6662 dnl Optional parameters:
6663 dnl $1 = internal name for package
6664 dnl $2 = external name for package
6665 AC_DEFUN([CF_VERSION_INFO],
6667 if test -f $srcdir/VERSION ; then
6668 AC_MSG_CHECKING(for package version)
6670 # if there are not enough fields, cut returns the last one...
6671 cf_field1=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
6672 cf_field2=`sed -e '2,$d' $srcdir/VERSION|cut -f2`
6673 cf_field3=`sed -e '2,$d' $srcdir/VERSION|cut -f3`
6675 # this is how CF_BUNDLED_INTL uses $VERSION:
6676 VERSION="$cf_field1"
6678 VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'`
6679 test -z "$VERSION_MAJOR" && AC_MSG_ERROR(missing major-version)
6681 VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[[^.]]*\.//' -e 's/-.*//'`
6682 test -z "$VERSION_MINOR" && AC_MSG_ERROR(missing minor-version)
6684 AC_MSG_RESULT(${VERSION_MAJOR}.${VERSION_MINOR})
6686 AC_MSG_CHECKING(for package patch date)
6687 VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[[^-]]*-//'`
6688 case .$VERSION_PATCH in
6690 AC_MSG_ERROR(missing patch-date $VERSION_PATCH)
6692 (.[[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]])
6695 AC_MSG_ERROR(illegal patch-date $VERSION_PATCH)
6698 AC_MSG_RESULT($VERSION_PATCH)
6700 AC_MSG_ERROR(did not find $srcdir/VERSION)
6703 # show the actual data that we have for versions:
6704 CF_VERBOSE(ABI VERSION $VERSION)
6705 CF_VERBOSE(VERSION_MAJOR $VERSION_MAJOR)
6706 CF_VERBOSE(VERSION_MINOR $VERSION_MINOR)
6707 CF_VERBOSE(VERSION_PATCH $VERSION_PATCH)
6710 AC_SUBST(VERSION_MAJOR)
6711 AC_SUBST(VERSION_MINOR)
6712 AC_SUBST(VERSION_PATCH)
6714 dnl if a package name is given, define its corresponding version info. We
6715 dnl need the package name to ensure that the defined symbols are unique.
6718 PACKAGE=ifelse($2,,$1,$2)
6719 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",[Define to the package-name])
6721 CF_UPPER(cf_PACKAGE,$cf_PACKAGE)
6722 AC_DEFINE_UNQUOTED(${cf_PACKAGE}_VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}")
6723 AC_DEFINE_UNQUOTED(${cf_PACKAGE}_PATCHDATE,${VERSION_PATCH})
6726 dnl ---------------------------------------------------------------------------
6727 dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
6729 dnl Check if type wide-character type $1 is declared, and if so, which header
6730 dnl file is needed. The second parameter is used to set a shell variable when
6731 dnl the type is not found. The first parameter sets a shell variable for the
6733 AC_DEFUN([CF_WCHAR_TYPE],
6735 # This is needed on Tru64 5.0 to declare $1
6736 AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
6741 #ifdef HAVE_LIBUTF8_H
6742 #include <libutf8.h>
6751 #ifdef HAVE_LIBUTF8_H
6752 #include <libutf8.h>
6756 [cf_cv_$1=unknown])])])
6758 if test "$cf_cv_$1" = yes ; then
6759 AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
6764 # if we do not find $1 in either place, use substitution to provide a fallback.
6765 if test "$cf_cv_$1" = unknown ; then
6770 # if we find $1 in either place, use substitution to provide a fallback.
6771 if test "$cf_cv_$1" != unknown ; then
6776 dnl ---------------------------------------------------------------------------
6777 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
6779 dnl Check for compiler-support for weak symbols.
6780 dnl This works with "recent" gcc.
6781 AC_DEFUN([CF_WEAK_SYMBOLS],[
6782 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
6785 #include <stdio.h>],
6787 #if defined(__GNUC__)
6788 # if defined __USE_ISOC99
6789 # define _cat_pragma(exp) _Pragma(#exp)
6790 # define _weak_pragma(exp) _cat_pragma(weak name)
6792 # define _weak_pragma(exp)
6794 # define _declare(name) __extension__ extern __typeof__(name) name
6795 # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
6799 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
6802 dnl ---------------------------------------------------------------------------
6803 dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
6804 dnl -------------------
6805 dnl Allow library's ABI to be overridden. Generally this happens when a
6806 dnl packager has incremented the ABI past that used in the original package,
6807 dnl and wishes to keep doing this.
6809 dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
6811 AC_DEFUN([CF_WITH_ABI_VERSION],[
6812 test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
6813 AC_ARG_WITH(abi-version,
6814 [ --with-abi-version=XXX override derived ABI version],
6815 [AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
6816 cf_cv_abi_version=$withval])
6817 CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
6819 $1_ABI=$cf_cv_abi_version
6822 dnl ---------------------------------------------------------------------------
6823 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
6824 dnl --------------------
6825 dnl Command-line option to specify the Ada95 compiler.
6826 AC_DEFUN([CF_WITH_ADA_COMPILER],[
6827 AC_MSG_CHECKING(for ada-compiler)
6828 AC_ARG_WITH(ada-compiler,
6829 [ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
6830 [cf_ada_compiler=$withval],
6831 [cf_ada_compiler=gnatmake])
6832 AC_SUBST(cf_ada_compiler)
6833 AC_MSG_RESULT($cf_ada_compiler)
6835 dnl ---------------------------------------------------------------------------
6836 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
6837 dnl -------------------
6838 dnl Command-line option to specify where Ada includes will install.
6839 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
6840 AC_MSG_CHECKING(for ada-include)
6841 CF_WITH_PATH(ada-include,
6842 [ --with-ada-include=DIR Ada includes are in DIR],
6844 PREFIX/share/ada/adainclude,
6845 [$]prefix/share/ada/adainclude)
6846 AC_SUBST(ADA_INCLUDE)
6847 AC_MSG_RESULT($ADA_INCLUDE)
6849 dnl ---------------------------------------------------------------------------
6850 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
6851 dnl -------------------
6852 dnl Command-line option to specify where Ada objects will install.
6853 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
6854 AC_MSG_CHECKING(for ada-objects)
6855 CF_WITH_PATH(ada-objects,
6856 [ --with-ada-objects=DIR Ada objects are in DIR],
6858 PREFIX/lib/ada/adalib,
6859 [$]prefix/lib/ada/adalib)
6860 AC_SUBST(ADA_OBJECTS)
6861 AC_MSG_RESULT($ADA_OBJECTS)
6863 dnl ---------------------------------------------------------------------------
6864 dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
6865 dnl ---------------------
6866 dnl Command-line option to specify if an Ada95 shared-library should be built,
6867 dnl and optionally what its soname should be.
6868 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
6869 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
6870 AC_ARG_WITH(ada-sharedlib,
6871 [ --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
6872 [with_ada_sharedlib=$withval],
6873 [with_ada_sharedlib=no])
6874 AC_MSG_RESULT($with_ada_sharedlib)
6876 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
6877 MAKE_ADA_SHAREDLIB="#"
6879 if test "x$with_ada_sharedlib" != xno
6882 if test "x$with_ada_sharedlib" != xyes
6884 ADA_SHAREDLIB="$with_ada_sharedlib"
6888 AC_SUBST(ADA_SHAREDLIB)
6889 AC_SUBST(MAKE_ADA_SHAREDLIB)
6891 dnl ---------------------------------------------------------------------------
6892 dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
6893 dnl ----------------
6894 dnl Configure-option for dbmalloc. The optional parameter is used to override
6895 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6896 AC_DEFUN([CF_WITH_DBMALLOC],[
6897 CF_NO_LEAKS_OPTION(dbmalloc,
6898 [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
6901 if test "$with_dbmalloc" = yes ; then
6902 AC_CHECK_HEADER(dbmalloc.h,
6903 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
6906 dnl ---------------------------------------------------------------------------
6907 dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
6909 dnl Configure-option for dmalloc. The optional parameter is used to override
6910 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6911 AC_DEFUN([CF_WITH_DMALLOC],[
6912 CF_NO_LEAKS_OPTION(dmalloc,
6913 [ --with-dmalloc test: use Gray Watson's dmalloc library],
6916 if test "$with_dmalloc" = yes ; then
6917 AC_CHECK_HEADER(dmalloc.h,
6918 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
6921 dnl ---------------------------------------------------------------------------
6922 dnl CF_WITH_EXPORT_SYMS version: 3 updated: 2014/12/20 19:16:08
6923 dnl -------------------
6924 dnl Use this with libtool to specify the list of symbols that may be exported.
6925 dnl The input file contains one symbol per line; comments work with "#".
6927 dnl $1 = basename of the ".sym" file (default $PACKAGE)
6928 AC_DEFUN([CF_WITH_EXPORT_SYMS],
6930 AC_MSG_CHECKING(if exported-symbols file should be used)
6931 AC_ARG_WITH(export-syms,
6932 [ --with-export-syms=XXX limit exported symbols using libtool],
6933 [with_export_syms=$withval],
6934 [with_export_syms=no])
6935 if test "x$with_export_syms" = xyes
6937 with_export_syms='${top_srcdir}/package/ifelse($1,,${PACKAGE},[$1]).sym'
6940 AC_MSG_RESULT($with_export_syms)
6941 if test "x$with_export_syms" != xno
6943 EXPORT_SYMS="-export-symbols $with_export_syms"
6944 AC_SUBST(EXPORT_SYMS)
6947 dnl ---------------------------------------------------------------------------
6948 dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
6951 dnl The option parameter (if neither yes/no) is assumed to be the name of
6952 dnl the gpm library, e.g., for dynamic loading.
6953 AC_DEFUN([CF_WITH_GPM],
6955 AC_MSG_CHECKING(if you want to link with the GPM mouse library)
6957 [ --with-gpm use Alessandro Rubini's GPM library],
6958 [with_gpm=$withval],
6960 AC_MSG_RESULT($with_gpm)
6962 if test "$with_gpm" != no ; then
6963 AC_CHECK_HEADER(gpm.h,[
6964 AC_DEFINE(HAVE_GPM_H,1,[Define to 1 if we have gpm.h header])
6965 if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
6966 CF_VERBOSE(assuming we really have GPM library)
6967 AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
6969 AC_CHECK_LIB(gpm,Gpm_Open,[:],[
6970 AC_MSG_ERROR(Cannot link with GPM library)
6975 test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
6980 dnl ---------------------------------------------------------------------------
6981 dnl CF_WITH_LIBTOOL version: 32 updated: 2015/04/17 21:13:04
6983 dnl Provide a configure option to incorporate libtool. Define several useful
6984 dnl symbols for the makefile rules.
6986 dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
6987 dnl macros from libtool.m4 which is in the aclocal directory of automake.
6988 dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
6989 dnl But that still does not work properly since the macro is expanded outside
6990 dnl the CF_WITH_LIBTOOL macro:
6993 dnl ACLOCAL=`aclocal --print-ac-dir`
6994 dnl if test -z "$ACLOCAL" ; then
6995 dnl echo cannot find aclocal directory
6997 dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
6998 dnl echo cannot find libtool.m4 file
7002 dnl LOCAL=aclocal.m4
7003 dnl ORIG=aclocal.m4.orig
7005 dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
7009 dnl # sed the LIBTOOL= assignment to omit the current directory?
7010 dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
7011 dnl cat $ORIG >>$LOCAL
7015 AC_DEFUN([CF_WITH_LIBTOOL],
7017 AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION])
7018 ifdef([AC_PROG_LIBTOOL],,[
7021 # common library maintenance symbols that are convenient for libtool scripts:
7022 LIB_CREATE='${AR} -cr'
7023 LIB_OBJECT='${OBJECTS}'
7027 # symbols used to prop libtool up to enable it to determine what it should be
7035 AC_MSG_CHECKING(if you want to build libraries with libtool)
7036 AC_ARG_WITH(libtool,
7037 [ --with-libtool generate libraries with libtool],
7038 [with_libtool=$withval],
7040 AC_MSG_RESULT($with_libtool)
7041 if test "$with_libtool" != "no"; then
7042 ifdef([AC_PROG_LIBTOOL],[
7043 # missing_content_AC_PROG_LIBTOOL{{
7045 # missing_content_AC_PROG_LIBTOOL}}
7047 if test "$with_libtool" != "yes" ; then
7048 CF_PATH_SYNTAX(with_libtool)
7049 LIBTOOL=$with_libtool
7051 AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none)
7053 if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
7055 CF_FORGET_TOOL(LIBTOOL)
7056 AC_CHECK_TOOLS(LIBTOOL,[glibtool],none)
7060 if test -z "$LIBTOOL" ; then
7061 AC_MSG_ERROR(Cannot find libtool)
7064 LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${top_srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
7065 LIB_OBJECT='${OBJECTS:.o=.lo}'
7067 LIB_CLEAN='${LIBTOOL} --mode=clean'
7068 LIB_COMPILE='${LIBTOOL} --mode=compile'
7069 LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
7070 LIB_INSTALL='${LIBTOOL} --mode=install'
7071 LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
7074 CF_CHECK_LIBTOOL_VERSION
7076 # special hack to add -no-undefined (which libtool should do for itself)
7078 case "$cf_cv_system_name" in
7079 (cygwin*|msys*|mingw32*|uwin*|aix[[4-7]])
7080 LT_UNDEF=-no-undefined
7083 AC_SUBST([LT_UNDEF])
7085 # special hack to add --tag option for C++ compiler
7086 case $cf_cv_libtool_version in
7087 (1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*)
7088 LIBTOOL_CXX="$LIBTOOL --tag=CXX"
7089 LIBTOOL="$LIBTOOL --tag=CC"
7092 LIBTOOL_CXX="$LIBTOOL"
7100 test -z "$LIBTOOL" && ECHO_LT=
7103 AC_SUBST(LIBTOOL_CXX)
7104 AC_SUBST(LIBTOOL_OPTS)
7106 AC_SUBST(LIB_CREATE)
7107 AC_SUBST(LIB_OBJECT)
7108 AC_SUBST(LIB_SUFFIX)
7112 AC_SUBST(LIB_COMPILE)
7114 AC_SUBST(LIB_INSTALL)
7115 AC_SUBST(LIB_UNINSTALL)
7118 dnl ---------------------------------------------------------------------------
7119 dnl CF_WITH_LIBTOOL_OPTS version: 4 updated: 2015/04/17 21:13:04
7120 dnl --------------------
7121 dnl Allow user to pass additional libtool options into the library creation
7122 dnl and link steps. The main use for this is to do something like
7123 dnl ./configure --with-libtool-opts=-static
7124 dnl to get the same behavior as automake-flavored
7125 dnl ./configure --enable-static
7126 AC_DEFUN([CF_WITH_LIBTOOL_OPTS],[
7127 AC_MSG_CHECKING(for additional libtool options)
7128 AC_ARG_WITH(libtool-opts,
7129 [ --with-libtool-opts=XXX specify additional libtool options],
7130 [with_libtool_opts=$withval],
7131 [with_libtool_opts=no])
7132 AC_MSG_RESULT($with_libtool_opts)
7134 case .$with_libtool_opts in
7138 LIBTOOL_OPTS="$LIBTOOL_OPTS $with_libtool_opts"
7142 AC_SUBST(LIBTOOL_OPTS)
7144 dnl ---------------------------------------------------------------------------
7145 dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
7146 dnl ------------------
7147 dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
7148 dnl "lib" prefix, e.g., because it used the dll naming convention.
7150 dnl $1 = variable to set
7151 AC_DEFUN([CF_WITH_LIB_PREFIX],
7153 AC_MSG_CHECKING(if you want to have a library-prefix)
7154 AC_ARG_WITH(lib-prefix,
7155 [ --with-lib-prefix override library-prefix],
7156 [with_lib_prefix=$withval],
7157 [with_lib_prefix=auto])
7158 AC_MSG_RESULT($with_lib_prefix)
7160 if test $with_lib_prefix = auto
7163 elif test $with_lib_prefix = no
7167 LIB_PREFIX=$with_lib_prefix
7170 dnl ---------------------------------------------------------------------------
7171 dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
7173 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
7174 dnl defaulting to yes/no.
7176 dnl $1 = option name
7178 dnl $3 = environment variable to set
7179 dnl $4 = default value, shown in the help-message, must be a constant
7180 dnl $5 = default value, if it's an expression & cannot be in the help-message
7182 AC_DEFUN([CF_WITH_PATH],
7183 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
7184 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
7185 if ifelse([$5],,true,[test -n "$5"]) ; then
7186 CF_PATH_SYNTAX(withval)
7191 dnl ---------------------------------------------------------------------------
7192 dnl CF_WITH_PATHLIST version: 10 updated: 2015/04/17 21:13:04
7193 dnl ----------------
7194 dnl Process an option specifying a list of colon-separated paths.
7196 dnl $1 = option name
7198 dnl $3 = environment variable to set
7199 dnl $4 = default value, shown in the help-message, must be a constant
7200 dnl $5 = default value, if it's an expression & cannot be in the help-message
7201 dnl $6 = flag to tell if we want to define or substitute
7203 AC_DEFUN([CF_WITH_PATHLIST],[
7204 AC_REQUIRE([CF_PATHSEP])
7205 AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
7206 ifelse($4,,[withval=${$3}],[withval=${$3:-ifelse($5,,$4,$5)}]))dnl
7208 IFS="${IFS:- }"; ac_save_ifs="$IFS"; IFS="${PATH_SEPARATOR}"
7210 for cf_src_path in $withval
7212 CF_PATH_SYNTAX(cf_src_path)
7213 test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
7214 cf_dst_path="${cf_dst_path}${cf_src_path}"
7219 # Strip single quotes from the value, e.g., when it was supplied as a literal
7221 case $cf_dst_path in
7223 cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
7226 cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
7229 # This may use the prefix/exec_prefix symbols which will only yield "NONE"
7230 # so we have to check/work around. We do prefer the result of "eval"...
7231 eval cf_dst_eval="$cf_dst_path"
7232 case "x$cf_dst_eval" in
7243 dnl ---------------------------------------------------------------------------
7244 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 7 updated: 2015/04/26 18:06:58
7245 dnl -------------------------
7246 dnl Allow the choice of the pkg-config library directory to be overridden.
7247 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
7248 AC_MSG_CHECKING(for $PKG_CONFIG library directory)
7249 if test "x$PKG_CONFIG" = xnone ; then
7250 PKG_CONFIG_LIBDIR=none
7252 AC_ARG_WITH(pkg-config-libdir,
7253 [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
7254 [PKG_CONFIG_LIBDIR=$withval],
7255 [PKG_CONFIG_LIBDIR=yes])
7258 case x$PKG_CONFIG_LIBDIR in
7262 # Look for the library directory using the same prefix as the executable
7263 if test "x$PKG_CONFIG" = xnone
7267 cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
7270 # If you don't like using the default architecture, you have to specify the
7271 # intended library directory and corresponding compiler/linker options.
7273 # This case allows for Debian's 2014-flavor of multiarch, along with the
7274 # most common variations before that point. Some other variants spell the
7275 # directory differently, e.g., "pkg-config", and put it in unusual places.
7276 # pkg-config has always been poorly standardized, which is ironic...
7277 case x`(arch) 2>/dev/null` in
7280 $cf_path/lib/*64-linux-gnu \
7288 $cf_path/lib/*-linux-gnu \
7297 for cf_config in $cf_search_path
7299 CF_VERBOSE(checking $cf_config/pkgconfig)
7300 if test -d $cf_config/pkgconfig
7302 PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
7303 AC_MSG_CHECKING(done)
7312 if test "x$PKG_CONFIG" != xnone ; then
7313 AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
7316 AC_SUBST(PKG_CONFIG_LIBDIR)
7318 dnl ---------------------------------------------------------------------------
7319 dnl CF_WITH_PTHREAD version: 7 updated: 2015/04/18 08:56:57
7321 dnl Check for POSIX thread library.
7322 AC_DEFUN([CF_WITH_PTHREAD],
7324 AC_MSG_CHECKING(if you want to link with the pthread library)
7325 AC_ARG_WITH(pthread,
7326 [ --with-pthread use POSIX thread library],
7327 [with_pthread=$withval],
7329 AC_MSG_RESULT($with_pthread)
7331 if test "$with_pthread" != no ; then
7332 AC_CHECK_HEADER(pthread.h,[
7333 AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
7335 for cf_lib_pthread in pthread c_r
7337 AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
7338 cf_save_LIBS="$LIBS"
7339 CF_ADD_LIB($cf_lib_pthread)
7341 #include <pthread.h>
7343 int rc = pthread_create(0,0,0,0);
7344 int r2 = pthread_mutexattr_settype(0, 0);
7345 ],[with_pthread=yes],[with_pthread=no])
7346 LIBS="$cf_save_LIBS"
7347 AC_MSG_RESULT($with_pthread)
7348 test "$with_pthread" = yes && break
7351 if test "$with_pthread" = yes ; then
7352 CF_ADD_LIB($cf_lib_pthread)
7353 AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
7355 AC_MSG_ERROR(Cannot link with pthread library)
7360 dnl ---------------------------------------------------------------------------
7361 dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
7362 dnl -------------------
7363 dnl Allow library's release-version to be overridden. Generally this happens when a
7364 dnl packager has incremented the release-version past that used in the original package,
7365 dnl and wishes to keep doing this.
7367 dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
7368 dnl and {package}_MINOR symbols
7370 AC_DEFUN([CF_WITH_REL_VERSION],[
7371 test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
7372 AC_ARG_WITH(rel-version,
7373 [ --with-rel-version=XXX override derived release version],
7374 [AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
7375 cf_cv_rel_version=$withval])
7377 CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
7379 $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
7380 $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
7381 CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
7382 CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
7385 dnl ---------------------------------------------------------------------------
7386 dnl CF_WITH_SYSMOUSE version: 3 updated: 2012/10/06 17:56:13
7387 dnl ----------------
7388 dnl If we can compile with sysmouse, make it available unless it is not wanted.
7389 AC_DEFUN([CF_WITH_SYSMOUSE],[
7390 # not everyone has "test -c"
7391 if test -c /dev/sysmouse 2>/dev/null ; then
7392 AC_MSG_CHECKING(if you want to use sysmouse)
7393 AC_ARG_WITH(sysmouse,
7394 [ --with-sysmouse use sysmouse (FreeBSD console)],
7395 [cf_with_sysmouse=$withval],
7396 [cf_with_sysmouse=maybe])
7397 if test "$cf_with_sysmouse" != no ; then
7399 #include <osreldate.h>
7400 #if (__FreeBSD_version >= 400017)
7401 #include <sys/consio.h>
7402 #include <sys/fbio.h>
7404 #include <machine/console.h>
7407 struct mouse_info the_mouse;
7408 ioctl(0, CONS_MOUSECTL, &the_mouse);
7409 ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
7411 AC_MSG_RESULT($cf_with_sysmouse)
7412 test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE,1,[Define to 1 if we can/should use the sysmouse interface])
7415 dnl ---------------------------------------------------------------------------
7416 dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
7418 dnl For testing, override the derived host system-type which is used to decide
7419 dnl things such as the linker commands used to build shared libraries. This is
7420 dnl normally chosen automatically based on the type of system which you are
7421 dnl building on. We use it for testing the configure script.
7423 dnl This is different from the --host option: it is used only for testing parts
7424 dnl of the configure script which would not be reachable with --host since that
7425 dnl relies on the build environment being real, rather than mocked up.
7426 AC_DEFUN([CF_WITH_SYSTYPE],[
7427 CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
7428 AC_ARG_WITH(system-type,
7429 [ --with-system-type=XXX test: override derived host system-type],
7430 [AC_MSG_WARN(overriding system type to $withval)
7431 cf_cv_system_name=$withval
7435 dnl ---------------------------------------------------------------------------
7436 dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
7437 dnl ----------------
7438 AC_DEFUN([CF_WITH_VALGRIND],[
7439 CF_NO_LEAKS_OPTION(valgrind,
7440 [ --with-valgrind test: use valgrind],
7443 dnl ---------------------------------------------------------------------------
7444 dnl CF_WITH_VERSIONED_SYMS version: 5 updated: 2015/04/17 21:13:04
7445 dnl ----------------------
7446 dnl Use this when building shared library with ELF, to markup symbols with the
7447 dnl version identifier from the given input file. Generally that identifier is
7448 dnl the same as the SONAME at which the symbol was first introduced.
7450 dnl $1 = basename of the ".map" file (default $PACKAGE)
7451 AC_DEFUN([CF_WITH_VERSIONED_SYMS],
7453 AC_MSG_CHECKING(if versioned-symbols file should be used)
7454 AC_ARG_WITH(versioned-syms,
7455 [ --with-versioned-syms=X markup versioned symbols using ld],
7456 [with_versioned_syms=$withval],
7457 [with_versioned_syms=no])
7458 if test "x$with_versioned_syms" = xyes
7460 with_versioned_syms='${top_srcdir}/package/ifelse($1,,${PACKAGE},[$1]).map'
7463 AC_MSG_RESULT($with_versioned_syms)
7469 if test "x$with_versioned_syms" != xno
7471 RESULTING_SYMS=$with_versioned_syms
7472 case "x$MK_SHARED_LIB" in
7474 VERSIONED_SYMS="-Wl,--version-script,\${RESULTING_SYMS}"
7475 MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-Wl,%\\[$]{VERSIONED_SYMS} -Wl,%"`
7476 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
7479 VERSIONED_SYMS="-Wl,-M,\${RESULTING_SYMS}"
7480 MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-dy%\\[$]{VERSIONED_SYMS} -dy%"`
7481 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
7484 AC_MSG_WARN(this system does not support versioned-symbols)
7488 # Linux ld can selectively override scope, e.g., of symbols beginning with
7489 # "_" by first declaring some as global, and then using a wildcard to
7490 # declare the others as local. Some other loaders cannot do this. Check
7491 # by constructing a (very) simple shared library and inspecting its
7493 if test "x$VERSIONED_SYMS" != "x"
7495 AC_MSG_CHECKING(if wildcards can be used to selectively omit symbols)
7501 cat >conftest.ver <<EOF
7530 cat >conftest.$ac_ext <<EOF
7531 #line __oline__ "configure"
7532 int _ismissing(void) { return 1; }
7533 int _localf1(void) { return 1; }
7534 int _localf2(void) { return 2; }
7535 int globalf1(void) { return 1; }
7536 int globalf2(void) { return 2; }
7537 int _sublocalf1(void) { return 1; }
7538 int _sublocalf2(void) { return 2; }
7539 int subglobalf1(void) { return 1; }
7540 int subglobalf2(void) { return 2; }
7542 cat >conftest.mk <<EOF
7545 CPPFLAGS=${CPPFLAGS}
7548 VERSIONED_SYMS=${VERSIONED_SYMS}
7549 RESULTING_SYMS=conftest.ver
7550 MK_SHARED_LIB=${MK_SHARED_LIB}
7551 conftest.so: conftest.$ac_cv_objext
7552 \$(MK_SHARED_LIB) conftest.$ac_cv_objext
7555 # compile source, make library
7556 if make -f conftest.mk 2>&AC_FD_CC >/dev/null
7558 # test for missing symbol
7559 cf_missing=`nm -P conftest.so 2>&AC_FD_CC |fgrep _ismissing | egrep '[[ ]]T[[ ]]'`
7560 test -n "$cf_missing" && WILDCARD_SYMS=yes
7562 AC_MSG_RESULT($WILDCARD_SYMS)
7566 AC_SUBST(RESULTING_SYMS)
7567 AC_SUBST(VERSIONED_SYMS)
7568 AC_SUBST(WILDCARD_SYMS)
7570 dnl ---------------------------------------------------------------------------
7571 dnl CF_XOPEN_SOURCE version: 49 updated: 2015/04/12 15:39:00
7573 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
7574 dnl or adapt to the vendor's definitions to get equivalent functionality,
7575 dnl without losing the common non-POSIX features.
7578 dnl $1 is the nominal value for _XOPEN_SOURCE
7579 dnl $2 is the nominal value for _POSIX_C_SOURCE
7580 AC_DEFUN([CF_XOPEN_SOURCE],[
7581 AC_REQUIRE([AC_CANONICAL_HOST])
7583 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
7584 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
7589 cf_xopen_source="-D_ALL_SOURCE"
7595 cf_xopen_source="-D_APPLE_C_SOURCE"
7598 cf_xopen_source="-D_DARWIN_C_SOURCE"
7601 (freebsd*|dragonfly*)
7602 # 5.x headers associate
7603 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
7604 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
7605 cf_POSIX_C_SOURCE=200112L
7607 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
7610 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
7613 cf_xopen_source="-D_HPUX_SOURCE"
7616 cf_xopen_source="-D_SGI_SOURCE"
7619 (linux*|gnu*|mint*|k*bsd*-gnu)
7623 cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
7626 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
7628 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
7631 cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
7634 # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
7635 cf_xopen_source="-D_BSD_SOURCE"
7639 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
7642 cf_xopen_source="-D_OSF_SOURCE"
7645 cf_xopen_source="-D_QNX_SOURCE"
7648 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
7651 cf_xopen_source="-D__EXTENSIONS__"
7652 cf_cv_xopen_source=broken
7654 (sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
7660 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
7664 if test -n "$cf_xopen_source" ; then
7665 CF_ADD_CFLAGS($cf_xopen_source,true)
7668 dnl In anything but the default case, we may have system-specific setting
7669 dnl which is still not guaranteed to provide all of the entrypoints that
7670 dnl _XOPEN_SOURCE would yield.
7671 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
7672 AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
7673 AC_TRY_COMPILE([#include <stdlib.h>],[
7674 #ifndef _XOPEN_SOURCE
7677 [cf_XOPEN_SOURCE_set=yes],
7678 [cf_XOPEN_SOURCE_set=no])
7679 AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
7680 if test $cf_XOPEN_SOURCE_set = yes
7682 AC_TRY_COMPILE([#include <stdlib.h>],[
7683 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
7686 [cf_XOPEN_SOURCE_set_ok=yes],
7687 [cf_XOPEN_SOURCE_set_ok=no])
7688 if test $cf_XOPEN_SOURCE_set_ok = no
7690 AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)