1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2009,2010 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.530 2010/05/29 20:59:18 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: 3 updated: 2002/10/27 23:21:42
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_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
66 dnl -------------------
67 dnl Construct the list of include-options for the C programs in the Ada95
69 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
71 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
72 if test "$srcdir" != "."; then
73 ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
75 if test "$GCC" != yes; then
76 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
77 elif test "$includedir" != "/usr/include"; then
78 if test "$includedir" = '${prefix}/include' ; then
79 if test $prefix != /usr ; then
80 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
83 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
88 dnl ---------------------------------------------------------------------------
89 dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
91 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
92 dnl The second parameter if given makes this macro verbose.
94 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
95 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
96 dnl confused by the quotes (which require backslashes to keep them usable).
97 AC_DEFUN([CF_ADD_CFLAGS],
102 cf_new_extra_cppflags=
104 for cf_add_cflags in $1
106 case $cf_fix_cppflags in
108 case $cf_add_cflags in #(vi
109 -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
110 case $cf_add_cflags in
112 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
114 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
115 && test -z "${cf_tst_cflags}" \
116 && cf_fix_cppflags=yes
118 if test $cf_fix_cppflags = yes ; then
119 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
121 elif test "${cf_tst_cflags}" = "\"'" ; then
122 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
128 *$cf_add_cflags) #(vi
131 case $cf_add_cflags in #(vi
133 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
134 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
137 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
142 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
147 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
149 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
151 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
152 && test -z "${cf_tst_cflags}" \
153 && cf_fix_cppflags=no
158 if test -n "$cf_new_cflags" ; then
159 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
160 CFLAGS="$CFLAGS $cf_new_cflags"
163 if test -n "$cf_new_cppflags" ; then
164 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
165 CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
168 if test -n "$cf_new_extra_cppflags" ; then
169 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
170 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
173 AC_SUBST(EXTRA_CPPFLAGS)
176 dnl ---------------------------------------------------------------------------
177 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
179 dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
180 dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
181 dnl but old versions (and some misinstalled ones) need that. To make things
182 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
183 dnl the include-path).
184 AC_DEFUN([CF_ADD_INCDIR],
186 if test -n "$1" ; then
187 for cf_add_incdir in $1
189 while test $cf_add_incdir != /usr/include
191 if test -d $cf_add_incdir
194 if test -n "$CFLAGS$CPPFLAGS" ; then
195 # a loop is needed to ensure we can add subdirs of existing dirs
196 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
197 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
198 cf_have_incdir=yes; break
203 if test "$cf_have_incdir" = no ; then
204 if test "$cf_add_incdir" = /usr/local/include ; then
207 cf_save_CPPFLAGS=$CPPFLAGS
208 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
209 AC_TRY_COMPILE([#include <stdio.h>],
212 [cf_have_incdir=yes])
213 CPPFLAGS=$cf_save_CPPFLAGS
218 if test "$cf_have_incdir" = no ; then
219 CF_VERBOSE(adding $cf_add_incdir to include-path)
220 ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
222 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
223 test "$cf_top_incdir" = "$cf_add_incdir" && break
224 cf_add_incdir="$cf_top_incdir"
233 dnl ---------------------------------------------------------------------------
234 dnl CF_ADD_LIB version: 1 updated: 2010/05/29 16:02:10
236 dnl Add a library, used to enforce consistency.
238 dnl $1 = library to add, without the "-l"
239 dnl $2 = variable to update (default $LIBS)
240 AC_DEFUN([CF_ADD_LIB],[ifelse($2,,LIBS,[$2])="-l$1 [$]ifelse($2,,LIBS,[$2])"])dnl
241 dnl ---------------------------------------------------------------------------
242 dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
244 dnl Adds to the library-path
246 dnl Some machines have trouble with multiple -L options.
248 dnl $1 is the (list of) directory(s) to add
249 dnl $2 is the optional name of the variable to update (default LDFLAGS)
251 AC_DEFUN([CF_ADD_LIBDIR],
253 if test -n "$1" ; then
254 for cf_add_libdir in $1
256 if test $cf_add_libdir = /usr/lib ; then
258 elif test -d $cf_add_libdir
261 if test -n "$LDFLAGS$LIBS" ; then
262 # a loop is needed to ensure we can add subdirs of existing dirs
263 for cf_test_libdir in $LDFLAGS $LIBS ; do
264 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
265 cf_have_libdir=yes; break
269 if test "$cf_have_libdir" = no ; then
270 CF_VERBOSE(adding $cf_add_libdir to library-path)
271 ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
277 dnl ---------------------------------------------------------------------------
278 dnl CF_ADD_SUBDIR_PATH version: 2 updated: 2007/07/29 10:12:59
279 dnl ------------------
280 dnl Append to a search-list for a nonstandard header/lib-file
281 dnl $1 = the variable to return as result
282 dnl $2 = the package name
283 dnl $3 = the subdirectory, e.g., bin, include or lib
284 dnl $4 = the directory under which we will test for subdirectories
285 dnl $5 = a directory that we do not want $4 to match
286 AC_DEFUN([CF_ADD_SUBDIR_PATH],
288 test "$4" != "$5" && \
290 ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
291 test -n "$verbose" && echo " ... testing for $3-directories under $4"
292 test -d $4/$3 && $1="[$]$1 $4/$3"
293 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
294 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
295 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
296 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
299 dnl ---------------------------------------------------------------------------
300 dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
302 dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
303 dnl in the sharutils 4.2 distribution.
304 AC_DEFUN([CF_ANSI_CC_CHECK],
306 AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
308 cf_save_CFLAGS="$CFLAGS"
309 cf_save_CPPFLAGS="$CPPFLAGS"
310 # Don't try gcc -ansi; that turns off useful extensions and
311 # breaks some systems' header files.
313 # Ultrix and OSF/1 -std1
314 # HP-UX -Aa -D_HPUX_SOURCE
316 # UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
317 for cf_arg in "-DCC_HAS_PROTOS" \
322 "-Aa -D_HPUX_SOURCE" \
325 CF_ADD_CFLAGS($cf_arg)
328 #ifndef CC_HAS_PROTOS
329 #if !defined(__STDC__) || (__STDC__ != 1)
334 int test (int i, double x);
335 struct s1 {int (*f) (int a);};
336 struct s2 {int (*f) (double a);};],
337 [cf_cv_ansi_cc="$cf_arg"; break])
339 CFLAGS="$cf_save_CFLAGS"
340 CPPFLAGS="$cf_save_CPPFLAGS"
343 if test "$cf_cv_ansi_cc" != "no"; then
344 if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
345 CF_ADD_CFLAGS($cf_cv_ansi_cc)
347 AC_DEFINE(CC_HAS_PROTOS)
351 dnl ---------------------------------------------------------------------------
352 dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
354 dnl For programs that must use an ANSI compiler, obtain compiler options that
355 dnl will make it recognize prototypes. We'll do preprocessor checks in other
356 dnl macros, since tools such as unproto can fake prototypes, but only part of
357 dnl the preprocessor.
358 AC_DEFUN([CF_ANSI_CC_REQD],
359 [AC_REQUIRE([CF_ANSI_CC_CHECK])
360 if test "$cf_cv_ansi_cc" = "no"; then
362 [Your compiler does not appear to recognize prototypes.
363 You have the following choices:
364 a. adjust your compiler options
365 b. get an up-to-date compiler
366 c. use a wrapper such as unproto])
369 dnl ---------------------------------------------------------------------------
370 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
372 dnl Allow user to disable a normally-on option.
373 AC_DEFUN([CF_ARG_DISABLE],
374 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
375 dnl ---------------------------------------------------------------------------
376 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
378 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
384 dnl $3 = action to perform if option is not default
385 dnl $4 = action if perform if option is default
386 dnl $5 = default option value (either 'yes' or 'no')
387 AC_DEFUN([CF_ARG_OPTION],
388 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
389 if test "$enableval" != "$5" ; then
391 ,[ $3]) ifelse([$4],,,[
394 fi],[enableval=$5 ifelse([$4],,,[
398 dnl ---------------------------------------------------------------------------
399 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
401 dnl Check for suitable "ar" (archiver) options for updating an archive.
402 AC_DEFUN([CF_AR_FLAGS],[
403 AC_REQUIRE([CF_PROG_AR])
405 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
406 cf_cv_ar_flags=unknown
407 for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
410 # check if $ARFLAGS already contains this choice
411 if test "x$ARFLAGS" != "x" ; then
412 cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
413 if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
419 rm -f conftest.$ac_cv_objext
422 cat >conftest.$ac_ext <<EOF
423 #line __oline__ "configure"
424 int testdata[[3]] = { 123, 456, 789 };
426 if AC_TRY_EVAL(ac_compile) ; then
427 echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
428 $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
429 if test -f conftest.a ; then
430 cf_cv_ar_flags=$cf_ar_flags
434 CF_VERBOSE(cannot compile test-program)
438 rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
441 if test -n "$ARFLAGS" ; then
442 if test -n "$cf_cv_ar_flags" ; then
443 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
446 ARFLAGS=$cf_cv_ar_flags
451 dnl ---------------------------------------------------------------------------
452 dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03
453 dnl -----------------
454 dnl Check if awk can handle big strings using printf. Some older versions of
455 dnl awk choke on large strings passed via "%s".
457 dnl $1 = desired string size
458 dnl $2 = variable to set with result
459 AC_DEFUN([CF_AWK_BIG_PRINTF],
466 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
467 | $AWK '{ printf "%d\n", length([$]0); }' | $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
475 dnl ---------------------------------------------------------------------------
476 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
478 dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
479 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
480 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
482 dnl Treat the configuration-variable specially here, since we're directly
483 dnl substituting its value (i.e., 1/0).
485 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
486 AC_DEFUN([CF_BOOL_DECL],
488 AC_MSG_CHECKING(if we should include stdbool.h)
490 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
491 AC_TRY_COMPILE([],[bool foo = false],
492 [cf_cv_header_stdbool_h=0],
497 ],[bool foo = false],
498 [cf_cv_header_stdbool_h=1],
499 [cf_cv_header_stdbool_h=0])])])
501 if test "$cf_cv_header_stdbool_h" = 1
502 then AC_MSG_RESULT(yes)
503 else AC_MSG_RESULT(no)
506 AC_MSG_CHECKING([for builtin bool type])
508 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
511 #include <sys/types.h>
513 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
514 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
517 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
518 then AC_MSG_RESULT(yes)
519 else AC_MSG_RESULT(no)
522 dnl ---------------------------------------------------------------------------
523 dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
525 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
526 dnl Don't bother looking for bool.h, since it's been deprecated.
528 dnl If the current compiler is C rather than C++, we get the bool definition
529 dnl from <stdbool.h>.
530 AC_DEFUN([CF_BOOL_SIZE],
532 AC_MSG_CHECKING([for size of bool])
533 AC_CACHE_VAL(cf_cv_type_of_bool,[
539 #if defined(__cplusplus)
541 #ifdef HAVE_GXX_BUILTIN_H
542 #include <g++/builtin.h>
543 #elif HAVE_GPP_BUILTIN_H
544 #include <gpp/builtin.h>
551 #if $cf_cv_header_stdbool_h
559 FILE *fp = fopen("cf_test.out", "w");
563 fputs("unsigned ", fp);
564 if (sizeof(x) == sizeof(int)) fputs("int", fp);
565 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
566 else if (sizeof(x) == sizeof(short))fputs("short",fp);
567 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
570 ${cf_cv_main_return:-return}(0);
573 [cf_cv_type_of_bool=`cat cf_test.out`
574 if test -z "$cf_cv_type_of_bool"; then
575 cf_cv_type_of_bool=unknown
577 [cf_cv_type_of_bool=unknown],
578 [cf_cv_type_of_bool=unknown])
581 AC_MSG_RESULT($cf_cv_type_of_bool)
582 if test "$cf_cv_type_of_bool" = unknown ; then
583 case .$NCURSES_BOOL in #(vi
584 .auto|.) NCURSES_BOOL=unsigned;;
586 AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
587 cf_cv_type_of_bool=$NCURSES_BOOL
590 dnl ---------------------------------------------------------------------------
591 dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
593 dnl If we're cross-compiling, allow the user to override the tools and their
594 dnl options. The configure script is oriented toward identifying the host
595 dnl compiler, etc., but we need a build compiler to generate parts of the
598 dnl $1 = default for $CPPFLAGS
599 dnl $2 = default for $LIBS
600 AC_DEFUN([CF_BUILD_CC],[
601 AC_REQUIRE([CF_PROG_EXT])
602 if test "$cross_compiling" = yes ; then
604 # defaults that we might want to override
605 : ${BUILD_CFLAGS:=''}
606 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
607 : ${BUILD_LDFLAGS:=''}
608 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
609 : ${BUILD_EXEEXT:='$x'}
610 : ${BUILD_OBJEXT:='o'}
612 AC_ARG_WITH(build-cc,
613 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
614 [BUILD_CC="$withval"],
615 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
616 AC_MSG_CHECKING(for native build C compiler)
617 AC_MSG_RESULT($BUILD_CC)
619 AC_MSG_CHECKING(for native build C preprocessor)
620 AC_ARG_WITH(build-cpp,
621 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
622 [BUILD_CPP="$withval"],
623 [BUILD_CPP='${BUILD_CC} -E'])
624 AC_MSG_RESULT($BUILD_CPP)
626 AC_MSG_CHECKING(for native build C flags)
627 AC_ARG_WITH(build-cflags,
628 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
629 [BUILD_CFLAGS="$withval"])
630 AC_MSG_RESULT($BUILD_CFLAGS)
632 AC_MSG_CHECKING(for native build C preprocessor-flags)
633 AC_ARG_WITH(build-cppflags,
634 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
635 [BUILD_CPPFLAGS="$withval"])
636 AC_MSG_RESULT($BUILD_CPPFLAGS)
638 AC_MSG_CHECKING(for native build linker-flags)
639 AC_ARG_WITH(build-ldflags,
640 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
641 [BUILD_LDFLAGS="$withval"])
642 AC_MSG_RESULT($BUILD_LDFLAGS)
644 AC_MSG_CHECKING(for native build linker-libraries)
645 AC_ARG_WITH(build-libs,
646 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
647 [BUILD_LIBS="$withval"])
648 AC_MSG_RESULT($BUILD_LIBS)
650 # this assumes we're on Unix.
654 : ${BUILD_CC:='${CC}'}
656 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
657 AC_MSG_ERROR([Cross-build requires two compilers.
658 Use --with-build-cc to specify the native compiler.])
662 : ${BUILD_CC:='${CC}'}
663 : ${BUILD_CPP:='${CPP}'}
664 : ${BUILD_CFLAGS:='${CFLAGS}'}
665 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
666 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
667 : ${BUILD_LIBS:='${LIBS}'}
668 : ${BUILD_EXEEXT:='$x'}
669 : ${BUILD_OBJEXT:='o'}
674 AC_SUBST(BUILD_CFLAGS)
675 AC_SUBST(BUILD_CPPFLAGS)
676 AC_SUBST(BUILD_LDFLAGS)
678 AC_SUBST(BUILD_EXEEXT)
679 AC_SUBST(BUILD_OBJEXT)
681 dnl ---------------------------------------------------------------------------
682 dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
684 dnl Determine the default configuration into which we'll install ncurses. This
685 dnl can be overridden by the user's command-line options. There's two items to
687 dnl 1. the prefix (e.g., /usr)
688 dnl 2. the header files (e.g., /usr/include/ncurses)
689 dnl We'll look for a previous installation of ncurses and use the same defaults.
691 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
692 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
693 dnl programs from a vendor's.
694 AC_DEFUN([CF_CFG_DEFAULTS],
696 AC_MSG_CHECKING(for prefix)
697 if test "x$prefix" = "xNONE" ; then
698 case "$cf_cv_system_name" in
699 # non-vendor systems don't have a conflict
700 openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
703 *) prefix=$ac_default_prefix
707 AC_MSG_RESULT($prefix)
709 if test "x$prefix" = "xNONE" ; then
710 AC_MSG_CHECKING(for default include-directory)
711 test -n "$verbose" && echo 1>&AC_FD_MSG
714 $includedir/ncurses \
716 $prefix/include/ncurses \
718 /usr/local/include/ncurses \
722 cf_dir=`eval echo $cf_symbol`
723 if test -f $cf_dir/curses.h ; then
724 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
725 includedir="$cf_symbol"
726 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
730 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
732 AC_MSG_RESULT($includedir)
735 dnl ---------------------------------------------------------------------------
736 dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
738 dnl Check if the terminal-capability database functions are available. If not,
739 dnl ncurses has a much-reduced version.
740 AC_DEFUN([CF_CGETENT],[
741 AC_MSG_CHECKING(for terminal-capability database functions)
742 AC_CACHE_VAL(cf_cv_cgetent,[
744 #include <stdlib.h>],[
747 char *db_array = temp;
748 cgetent(&buf, /* int *, */ &db_array, "vt100");
749 cgetcap(buf, "tc", '=');
750 cgetmatch(buf, "tc");
755 AC_MSG_RESULT($cf_cv_cgetent)
756 test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
758 dnl ---------------------------------------------------------------------------
759 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
761 dnl Check if we're accidentally using a cache from a different machine.
762 dnl Derive the system name, as a check for reusing the autoconf cache.
764 dnl If we've packaged config.guess and config.sub, run that (since it does a
765 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
766 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
767 dnl which is useful in cross-compiles.
769 dnl Note: we would use $ac_config_sub, but that is one of the places where
770 dnl autoconf 2.5x broke compatibility with autoconf 2.13
771 AC_DEFUN([CF_CHECK_CACHE],
773 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
774 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
775 system_name="$host_os"
777 system_name="`(uname -s -r) 2>/dev/null`"
778 if test -z "$system_name" ; then
779 system_name="`(hostname) 2>/dev/null`"
782 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
783 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
785 test -z "$system_name" && system_name="$cf_cv_system_name"
786 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
788 if test ".$system_name" != ".$cf_cv_system_name" ; then
789 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
790 AC_MSG_ERROR("Please remove config.cache and try again.")
793 dnl ---------------------------------------------------------------------------
794 dnl CF_CHECK_ERRNO version: 11 updated: 2010/05/26 05:38:42
796 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
797 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
800 dnl $1 = the name to check
801 dnl $2 = the assumed type
802 AC_DEFUN([CF_CHECK_ERRNO],
804 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
810 #include <sys/types.h>
811 #include <errno.h> ],
812 ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1,
817 if test "$cf_cv_dcl_$1" = no ; then
818 CF_UPPER(cf_result,decl_$1)
819 AC_DEFINE_UNQUOTED($cf_result)
822 # It's possible (for near-UNIX clones) that the data doesn't exist
823 CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2]))
825 dnl ---------------------------------------------------------------------------
826 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
827 dnl --------------------
828 dnl Check for existence of external data in the current set of libraries. If
829 dnl we can modify it, it's real enough.
830 dnl $1 = the name to check
832 AC_DEFUN([CF_CHECK_EXTERN_DATA],
834 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
844 if test "$cf_cv_have_$1" = yes ; then
845 CF_UPPER(cf_result,have_$1)
846 AC_DEFINE_UNQUOTED($cf_result)
850 dnl ---------------------------------------------------------------------------
851 dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06
852 dnl -------------------
853 dnl Check if GPM is already linked with curses. If so - and if the linkage
854 dnl is not "weak" - warn about this because it can create problems linking
855 dnl applications with ncurses.
856 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
857 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
859 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
860 cf_cv_check_gpm_wgetch=unknown
861 if test "$cross_compiling" != yes ; then
863 cat >conftest.$ac_ext <<CF_EOF
868 ${cf_cv_main_return:-return}(0);
873 # This only works if we can look at the symbol table. If a shared
874 # library is stripped for install, we cannot use that. So we're forced
875 # to rely on the static library, noting that some packagers may not
877 LIBS="-static -lgpm -dynamic $LIBS"
878 if AC_TRY_EVAL(ac_compile) ; then
879 if AC_TRY_EVAL(ac_link) ; then
880 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
881 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
882 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
890 if test "$cf_cv_check_gpm_wgetch" != yes ; then
891 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
894 dnl ---------------------------------------------------------------------------
895 dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
896 dnl -----------------
897 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
898 dnl is a late feature for the standard and is not in some recent compilers
900 AC_DEFUN([CF_CPP_PARAM_INIT],
902 if test -n "$CXX"; then
903 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
915 TEST::TEST(int x = 1) // some compilers do not like second initializer
921 [cf_cv_cpp_param_init=yes],
922 [cf_cv_cpp_param_init=no],
923 [cf_cv_cpp_param_init=unknown])
927 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
929 dnl ---------------------------------------------------------------------------
930 dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
931 dnl ------------------
932 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
933 dnl not be supported in g++ before 3.0
934 AC_DEFUN([CF_CPP_STATIC_CAST],
936 if test -n "$CXX"; then
938 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
946 NCursesPanel(int nlines,
956 template<class T> class NCursesUserPanel : public NCursesPanel
959 NCursesUserPanel (int nlines,
963 const T* p_UserData = static_cast<T*>(0))
964 : NCursesPanel (nlines, ncols, begin_y, begin_x)
967 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
971 virtual ~NCursesUserPanel() {};
974 const char* p_UserData = static_cast<char*>(0)],
975 [cf_cv_cpp_static_cast=yes],
976 [cf_cv_cpp_static_cast=no])
983 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
985 dnl ---------------------------------------------------------------------------
986 dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
988 dnl Check if the C compiler supports "inline".
989 dnl $1 is the name of a shell variable to set if inline is supported
990 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
991 AC_DEFUN([CF_C_INLINE],[
994 if test "$ac_cv_c_inline" != no ; then
996 if test "$INTEL_COMPILER" = yes
999 elif test "$GCC" = yes
1001 AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
1002 cf_save_CFLAGS=$CFLAGS
1003 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
1004 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
1005 [${cf_cv_main_return:-return} foo()],
1006 [cf_cv_gcc_inline=yes],
1007 [cf_cv_gcc_inline=no])
1008 CFLAGS=$cf_save_CFLAGS
1010 if test "$cf_cv_gcc_inline" = yes ; then
1011 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
1017 dnl ---------------------------------------------------------------------------
1018 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1020 dnl "dirname" is not portable, so we fake it with a shell script.
1021 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1022 dnl ---------------------------------------------------------------------------
1023 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1025 AC_DEFUN([CF_DIRS_TO_MAKE],
1028 for cf_item in $cf_list_models
1030 CF_OBJ_SUBDIR($cf_item,cf_subdir)
1031 for cf_item2 in $DIRS_TO_MAKE
1033 test $cf_item2 = $cf_subdir && break
1035 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1037 for cf_dir in $DIRS_TO_MAKE
1039 test ! -d $cf_dir && mkdir $cf_dir
1041 AC_SUBST(DIRS_TO_MAKE)
1043 dnl ---------------------------------------------------------------------------
1044 dnl CF_DISABLE_LEAKS version: 5 updated: 2010/03/13 15:14:55
1045 dnl ----------------
1046 dnl Combine no-leak checks with the libraries or tools that are used for the
1048 AC_DEFUN([CF_DISABLE_LEAKS],[
1050 AC_REQUIRE([CF_WITH_DMALLOC])
1051 AC_REQUIRE([CF_WITH_DBMALLOC])
1052 AC_REQUIRE([CF_WITH_VALGRIND])
1054 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1055 AC_ARG_ENABLE(leaks,
1056 [ --disable-leaks test: free permanent memory, analyze leaks],
1057 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1058 : ${with_no_leaks:=no})
1059 AC_MSG_RESULT($with_no_leaks)
1061 if test "$with_no_leaks" = yes ; then
1065 dnl ---------------------------------------------------------------------------
1066 dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59
1067 dnl --------------------------
1068 dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1069 dnl the older "-version-info" feature. The newer feature allows us to use
1070 dnl version numbering on shared libraries which make them compatible with
1071 dnl various systems.
1072 AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1074 AC_MSG_CHECKING(if libtool -version-number should be used)
1075 CF_ARG_DISABLE(libtool-version,
1076 [ --disable-libtool-version enable to use libtool's incompatible naming scheme],
1077 [cf_libtool_version=no],
1078 [cf_libtool_version=yes])
1079 AC_MSG_RESULT($cf_libtool_version)
1081 if test "$cf_libtool_version" = yes ; then
1082 LIBTOOL_VERSION="-version-number"
1084 LIBTOOL_VERSION="-version-info"
1087 AC_SUBST(LIBTOOL_VERSION)
1089 dnl ---------------------------------------------------------------------------
1090 dnl CF_DISABLE_RPATH_HACK version: 1 updated: 2010/04/11 10:54:00
1091 dnl ---------------------
1092 dnl The rpath-hack makes it simpler to build programs, particularly with the
1093 dnl *BSD ports which may have essential libraries in unusual places. But it
1094 dnl can interfere with building an executable for the base system. Use this
1095 dnl option in that case.
1096 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1098 AC_MSG_CHECKING(if rpath should be not be set)
1099 CF_ARG_DISABLE(rpath-hack,
1100 [ --disable-rpath-hack don't add rpath options for additional libraries],
1101 [cf_disable_rpath_hack=yes],
1102 [cf_disable_rpath_hack=no])
1103 AC_MSG_RESULT($cf_disable_rpath_hack)
1104 if test "$cf_disable_rpath_hack" = no ; then
1108 dnl ---------------------------------------------------------------------------
1109 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1111 dnl Check if the rpath option should be used, setting cache variable
1112 dnl cf_cv_enable_rpath if so.
1113 AC_DEFUN([CF_ENABLE_RPATH],
1115 AC_MSG_CHECKING(if rpath option should be used)
1116 AC_ARG_ENABLE(rpath,
1117 [ --enable-rpath use rpath option when generating shared libraries],
1118 [cf_cv_enable_rpath=$enableval],
1119 [cf_cv_enable_rpath=no])
1120 AC_MSG_RESULT($cf_cv_enable_rpath)
1122 dnl ---------------------------------------------------------------------------
1123 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1125 dnl Check if 'errno' is declared in <errno.h>
1126 AC_DEFUN([CF_ERRNO],
1128 CF_CHECK_ERRNO(errno)
1130 dnl ---------------------------------------------------------------------------
1131 dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
1133 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1134 dnl math.h and builtin.h, only for ncurses
1135 AC_DEFUN([CF_ETIP_DEFINES],
1137 AC_MSG_CHECKING(for special defines needed for etip.h)
1138 cf_save_CXXFLAGS="$CXXFLAGS"
1140 for cf_math in "" MATH_H
1142 for cf_excp in "" MATH_EXCEPTION
1144 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
1145 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1146 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1148 #include <etip.h.in>
1150 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1151 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1152 cf_result="$cf_math $cf_excp"
1157 AC_MSG_RESULT($cf_result)
1158 CXXFLAGS="$cf_save_CXXFLAGS"
1160 dnl ---------------------------------------------------------------------------
1161 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
1163 dnl Find a library (specifically the linkage used in the code fragment),
1164 dnl searching for it if it is not already in the library path.
1165 dnl See also CF_ADD_SEARCHPATH.
1167 dnl Parameters (4-on are optional):
1168 dnl $1 = headers for library entrypoint
1169 dnl $2 = code fragment for library entrypoint
1170 dnl $3 = the library name without the "-l" option or ".so" suffix.
1171 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
1172 dnl $5 = action to perform if not successful
1173 dnl $6 = module name, if not the same as the library name
1174 dnl $7 = extra libraries
1176 dnl Sets these variables:
1177 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1178 dnl $cf_cv_header_path_$3 - include-directory if needed
1179 dnl $cf_cv_library_path_$3 - library-directory if needed
1180 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1181 AC_DEFUN([CF_FIND_LINKAGE],[
1183 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1184 # will be set on completion of the AC_TRY_LINK below.
1185 cf_cv_header_path_$3=
1186 cf_cv_library_path_$3=
1188 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1190 cf_save_LIBS="$LIBS"
1192 AC_TRY_LINK([$1],[$2],[
1193 cf_cv_find_linkage_$3=yes
1194 cf_cv_header_path_$3=/usr/include
1195 cf_cv_library_path_$3=/usr/lib
1198 LIBS="-l$3 $7 $cf_save_LIBS"
1200 AC_TRY_LINK([$1],[$2],[
1201 cf_cv_find_linkage_$3=yes
1202 cf_cv_header_path_$3=/usr/include
1203 cf_cv_library_path_$3=/usr/lib
1204 cf_cv_library_file_$3="-l$3"
1206 cf_cv_find_linkage_$3=no
1207 LIBS="$cf_save_LIBS"
1209 CF_VERBOSE(find linkage for $3 library)
1210 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1212 cf_save_CPPFLAGS="$CPPFLAGS"
1213 cf_test_CPPFLAGS="$CPPFLAGS"
1215 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1216 for cf_cv_header_path_$3 in $cf_search
1218 if test -d $cf_cv_header_path_$3 ; then
1219 CF_VERBOSE(... testing $cf_cv_header_path_$3)
1220 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1221 AC_TRY_COMPILE([$1],[$2],[
1222 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1223 cf_cv_find_linkage_$3=maybe
1224 cf_test_CPPFLAGS="$CPPFLAGS"
1226 CPPFLAGS="$cf_save_CPPFLAGS"
1231 if test "$cf_cv_find_linkage_$3" = maybe ; then
1233 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1235 cf_save_LIBS="$LIBS"
1236 cf_save_LDFLAGS="$LDFLAGS"
1239 CPPFLAGS="$cf_test_CPPFLAGS"
1240 LIBS="-l$3 $7 $cf_save_LIBS"
1241 AC_TRY_LINK([$1],[$2],[
1242 CF_VERBOSE(... found $3 library in system)
1243 cf_cv_find_linkage_$3=yes])
1244 CPPFLAGS="$cf_save_CPPFLAGS"
1245 LIBS="$cf_save_LIBS"
1248 if test "$cf_cv_find_linkage_$3" != yes ; then
1249 CF_LIBRARY_PATH(cf_search,$3)
1250 for cf_cv_library_path_$3 in $cf_search
1252 if test -d $cf_cv_library_path_$3 ; then
1253 CF_VERBOSE(... testing $cf_cv_library_path_$3)
1254 CPPFLAGS="$cf_test_CPPFLAGS"
1255 LIBS="-l$3 $7 $cf_save_LIBS"
1256 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1257 AC_TRY_LINK([$1],[$2],[
1258 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1259 cf_cv_find_linkage_$3=yes
1260 cf_cv_library_file_$3="-l$3"
1262 CPPFLAGS="$cf_save_CPPFLAGS"
1263 LIBS="$cf_save_LIBS"
1264 LDFLAGS="$cf_save_LDFLAGS"
1268 CPPFLAGS="$cf_save_CPPFLAGS"
1269 LDFLAGS="$cf_save_LDFLAGS"
1273 cf_cv_find_linkage_$3=no
1278 LIBS="$cf_save_LIBS"
1280 if test "$cf_cv_find_linkage_$3" = yes ; then
1282 CF_ADD_INCDIR($cf_cv_header_path_$3)
1283 CF_ADD_LIBDIR($cf_cv_library_path_$3)
1287 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1290 dnl ---------------------------------------------------------------------------
1291 dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
1293 dnl Test for dlsym() and related functions, as well as libdl.
1298 AC_DEFUN([CF_FUNC_DLSYM],[
1300 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1303 AC_CHECK_LIB(dl,dlsym,[
1305 cf_have_libdl=yes])])
1307 if test "$cf_have_dlsym" = yes ; then
1308 test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
1310 AC_MSG_CHECKING(whether able to link to dl*() functions)
1311 AC_TRY_LINK([#include <dlfcn.h>],[
1313 if ((obj = dlopen("filename", 0)) != 0) {
1314 if (dlsym(obj, "symbolname") == 0) {
1318 AC_DEFINE(HAVE_LIBDL)],[
1319 AC_MSG_ERROR(Cannot link test program for libdl)])
1322 AC_MSG_ERROR(Cannot find dlsym function)
1325 dnl ---------------------------------------------------------------------------
1326 dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
1328 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1329 dnl is found, add our own version of memmove to the list of objects.
1330 AC_DEFUN([CF_FUNC_MEMMOVE],
1332 AC_CHECK_FUNC(memmove,,[
1333 AC_CHECK_FUNC(bcopy,[
1334 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1337 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1339 bcopy(data, temp, sizeof(data));
1340 bcopy(temp+10, temp, 15);
1341 bcopy(temp+5, temp+15, 10);
1342 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1345 [cf_cv_good_bcopy=yes],
1346 [cf_cv_good_bcopy=no],
1347 [cf_cv_good_bcopy=unknown])
1349 ],[cf_cv_good_bcopy=no])
1350 if test "$cf_cv_good_bcopy" = yes ; then
1351 AC_DEFINE(USE_OK_BCOPY)
1353 AC_DEFINE(USE_MY_MEMMOVE)
1356 dnl ---------------------------------------------------------------------------
1357 dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
1358 dnl -----------------
1359 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1360 dnl AIX 4.x, provide a non-working version.
1361 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1362 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1368 #ifdef HAVE_SYS_TIME_H
1369 #include <sys/time.h>
1373 struct timespec ts1, ts2;
1376 ts1.tv_nsec = 750000000;
1380 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1381 ${cf_cv_main_return:-return}(code != 0);
1384 [cf_cv_func_nanosleep=yes],
1385 [cf_cv_func_nanosleep=no],
1386 [cf_cv_func_nanosleep=unknown])])
1388 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
1390 dnl ---------------------------------------------------------------------------
1391 dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
1393 dnl Check for openpty() function, along with <pty.h> header. It may need the
1394 dnl "util" library as well.
1395 AC_DEFUN([CF_FUNC_OPENPTY],
1397 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1398 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1399 cf_save_LIBS="$LIBS"
1400 test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
1401 for cf_header in pty.h libutil.h util.h
1404 #include <$cf_header>
1406 int x = openpty((int *)0, (int *)0, (char *)0,
1407 (struct termios *)0, (struct winsize *)0);
1409 cf_cv_func_openpty=$cf_header
1412 cf_cv_func_openpty=no
1415 LIBS="$cf_save_LIBS"
1418 dnl ---------------------------------------------------------------------------
1419 dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
1421 dnl See if the poll function really works. Some platforms have poll(), but
1422 dnl it does not work for terminals or files.
1423 AC_DEFUN([CF_FUNC_POLL],[
1424 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1430 #include <sys/poll.h>
1433 struct pollfd myfds;
1437 myfds.events = POLLIN;
1439 ret = poll(&myfds, 1, 100);
1440 ${cf_cv_main_return:-return}(ret != 0);
1442 [cf_cv_working_poll=yes],
1443 [cf_cv_working_poll=no],
1444 [cf_cv_working_poll=unknown])])
1445 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1447 dnl ---------------------------------------------------------------------------
1448 dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1450 dnl Some old/broken variations define tcgetattr() only as a macro in
1452 AC_DEFUN([CF_FUNC_TERMIOS],[
1453 AC_REQUIRE([CF_STRUCT_TERMIOS])
1454 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1456 #include <sys/types.h>
1457 #ifdef HAVE_UNISTD_H
1460 #ifdef HAVE_TERMIOS_H
1461 #include <termios.h>
1462 #define TTY struct termios
1464 #ifdef HAVE_TERMIO_H
1466 #define TTY struct termio
1471 tcgetattr(1, &foo);],
1472 [cf_cv_have_tcgetattr=yes],
1473 [cf_cv_have_tcgetattr=no])])
1474 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1476 dnl ---------------------------------------------------------------------------
1477 dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1479 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1480 dnl versions of C. It is in the GNU C library, and can often be simulated by
1481 dnl other functions.
1482 AC_DEFUN([CF_FUNC_VSSCANF],
1484 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1487 #include <stdio.h>],[
1489 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1492 #include <stdio.h>],[
1496 strbuf._flag = _IOREAD;
1497 strbuf._ptr = strbuf._base = (unsigned char *) str;
1498 strbuf._cnt = strlen(str);
1499 strbuf._file = _NFILE;
1500 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1503 #include <stdio.h>],[
1507 strbuf._flag = _IOREAD;
1508 strbuf._ptr = strbuf._base = (unsigned char *) str;
1509 strbuf._cnt = strlen(str);
1510 strbuf._file = _NFILE;
1511 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1512 cf_cv_func_vsscanf=no])])])])
1514 case $cf_cv_func_vsscanf in #(vi
1515 vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1516 vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1517 _doscan) AC_DEFINE(HAVE__DOSCAN);;
1521 dnl ---------------------------------------------------------------------------
1522 dnl CF_GCC_ATTRIBUTES version: 13 updated: 2009/08/11 20:19:56
1523 dnl -----------------
1524 dnl Test for availability of useful gcc __attribute__ directives to quiet
1525 dnl compiler warnings. Though useful, not all are supported -- and contrary
1526 dnl to documentation, unrecognized directives cause older compilers to barf.
1527 AC_DEFUN([CF_GCC_ATTRIBUTES],
1529 if test "$GCC" = yes
1531 cat > conftest.i <<EOF
1533 #define GCC_PRINTF 0
1538 #ifndef GCC_NORETURN
1539 #define GCC_NORETURN /* nothing */
1542 #define GCC_UNUSED /* nothing */
1545 if test "$GCC" = yes
1547 AC_CHECKING([for $CC __attribute__ directives])
1548 cat > conftest.$ac_ext <<EOF
1549 #line __oline__ "${as_me-configure}"
1550 #include "confdefs.h"
1551 #include "conftest.h"
1552 #include "conftest.i"
1554 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1556 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1559 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1561 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1563 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1564 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1565 extern void foo(void) GCC_NORETURN;
1566 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1568 cf_printf_attribute=no
1569 cf_scanf_attribute=no
1570 for cf_attribute in scanf printf unused noreturn
1572 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1573 cf_directive="__attribute__(($cf_attribute))"
1574 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1576 case $cf_attribute in #(vi
1578 cf_printf_attribute=yes
1579 cat >conftest.h <<EOF
1580 #define GCC_$cf_ATTRIBUTE 1
1584 cf_scanf_attribute=yes
1585 cat >conftest.h <<EOF
1586 #define GCC_$cf_ATTRIBUTE 1
1590 cat >conftest.h <<EOF
1591 #define GCC_$cf_ATTRIBUTE $cf_directive
1596 if AC_TRY_EVAL(ac_compile); then
1597 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1598 cat conftest.h >>confdefs.h
1599 case $cf_attribute in #(vi
1601 if test "$cf_printf_attribute" = no ; then
1602 cat >>confdefs.h <<EOF
1603 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1606 cat >>confdefs.h <<EOF
1607 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1612 if test "$cf_scanf_attribute" = no ; then
1613 cat >>confdefs.h <<EOF
1614 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1617 cat >>confdefs.h <<EOF
1618 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1626 fgrep define conftest.i >>confdefs.h
1631 dnl ---------------------------------------------------------------------------
1632 dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1634 dnl Find version of gcc
1635 AC_DEFUN([CF_GCC_VERSION],[
1636 AC_REQUIRE([AC_PROG_CC])
1638 if test "$GCC" = yes ; then
1639 AC_MSG_CHECKING(version of $CC)
1640 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1641 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1642 AC_MSG_RESULT($GCC_VERSION)
1645 dnl ---------------------------------------------------------------------------
1646 dnl CF_GCC_WARNINGS version: 25 updated: 2010/04/24 11:03:31
1648 dnl Check if the compiler supports useful warning options. There's a few that
1649 dnl we don't use, simply because they're too noisy:
1651 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1652 dnl -Wredundant-decls (system headers make this too noisy)
1653 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1654 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1655 dnl is enabled for ncurses using "--enable-const".
1659 dnl $1 is an optional list of gcc warning flags that a particular
1660 dnl application might want to use, e.g., "no-unused" for
1663 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1665 AC_DEFUN([CF_GCC_WARNINGS],
1667 AC_REQUIRE([CF_GCC_VERSION])
1668 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1670 cat > conftest.$ac_ext <<EOF
1671 #line __oline__ "${as_me-configure}"
1672 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1675 if test "$INTEL_COMPILER" = yes
1677 # The "-wdXXX" options suppress warnings:
1678 # remark #1419: external declaration in primary source file
1679 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1680 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1681 # remark #193: zero used for undefined preprocessing identifier
1682 # remark #593: variable "curs_sb_left_arrow" was set but never used
1683 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1684 # remark #869: parameter "tw" was never referenced
1685 # remark #981: operands are evaluated in unspecified order
1686 # warning #279: controlling expression is constant
1688 AC_CHECKING([for $CC warning options])
1689 cf_save_CFLAGS="$CFLAGS"
1690 EXTRA_CFLAGS="-Wall"
1702 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1703 if AC_TRY_EVAL(ac_compile); then
1704 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1705 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1708 CFLAGS="$cf_save_CFLAGS"
1710 elif test "$GCC" = yes
1712 AC_CHECKING([for $CC warning options])
1713 cf_save_CFLAGS="$CFLAGS"
1716 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1717 for cf_opt in W Wall \
1718 Wbad-function-cast \
1722 Wmissing-declarations \
1723 Wmissing-prototypes \
1727 Wstrict-prototypes \
1728 Wundef $cf_warn_CONST $1
1730 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1731 if AC_TRY_EVAL(ac_compile); then
1732 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1733 case $cf_opt in #(vi
1735 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1738 case $GCC_VERSION in
1740 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1745 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1748 CFLAGS="$cf_save_CFLAGS"
1752 AC_SUBST(EXTRA_CFLAGS)
1754 dnl ---------------------------------------------------------------------------
1755 dnl CF_GNAT_TRY_LINK version: 1 updated: 2004/08/21 19:02:08
1756 dnl ----------------
1757 dnl Verify that a test program compiles/links with GNAT.
1758 dnl $cf_ada_make is set to the program that compiles/links
1759 dnl $ADAFLAGS may be set to the GNAT flags.
1761 dnl $1 is the text of the spec
1762 dnl $2 is the text of the body
1763 dnl $3 is the shell command to execute if successful
1764 dnl $4 is the shell command to execute if not successful
1765 AC_DEFUN([CF_GNAT_TRY_LINK],
1768 cat >>conftest.ads <<CF_EOF
1771 cat >>conftest.adb <<CF_EOF
1774 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1775 ifelse($3,, :,[ $3])
1781 dnl ---------------------------------------------------------------------------
1782 dnl CF_GNAT_TRY_RUN version: 3 updated: 2004/08/21 19:02:08
1784 dnl Verify that a test program compiles and runs with GNAT
1785 dnl $cf_ada_make is set to the program that compiles/links
1786 dnl $ADAFLAGS may be set to the GNAT flags.
1788 dnl $1 is the text of the spec
1789 dnl $2 is the text of the body
1790 dnl $3 is the shell command to execute if successful
1791 dnl $4 is the shell command to execute if not successful
1792 AC_DEFUN([CF_GNAT_TRY_RUN],
1795 cat >>conftest.ads <<CF_EOF
1798 cat >>conftest.adb <<CF_EOF
1801 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1802 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1803 ifelse($3,, :,[ $3])
1812 dnl ---------------------------------------------------------------------------
1813 dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15
1815 dnl Verify version of GNAT.
1816 AC_DEFUN([CF_GNAT_VERSION],
1818 AC_MSG_CHECKING(for gnat version)
1819 cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
1820 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1821 AC_MSG_RESULT($cf_gnat_version)
1823 case $cf_gnat_version in
1824 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
1825 cf_cv_prog_gnat_correct=yes
1827 *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
1828 cf_cv_prog_gnat_correct=no
1831 case $cf_gnat_version in
1832 3.[[1-9]]*|[[4-9]].*)
1833 cf_compile_generics=generics
1834 cf_generic_objects="\${GENOBJS}"
1836 *) cf_compile_generics=
1841 dnl ---------------------------------------------------------------------------
1842 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1844 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1845 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
1846 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1847 dnl since it is interwoven with GNU extensions.
1849 dnl Well, yes we could work around it...
1850 AC_DEFUN([CF_GNU_SOURCE],
1852 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1853 AC_TRY_COMPILE([#include <sys/types.h>],[
1854 #ifndef _XOPEN_SOURCE
1857 [cf_cv_gnu_source=no],
1858 [cf_save="$CPPFLAGS"
1859 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1860 AC_TRY_COMPILE([#include <sys/types.h>],[
1861 #ifdef _XOPEN_SOURCE
1864 [cf_cv_gnu_source=no],
1865 [cf_cv_gnu_source=yes])
1869 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1871 dnl ---------------------------------------------------------------------------
1872 dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02
1874 dnl If we're trying to use g++, test if libg++ is installed (a rather common
1875 dnl problem :-). If we have the compiler but no library, we'll be able to
1876 dnl configure, but won't be able to build the c++ demo program.
1877 AC_DEFUN([CF_GPP_LIBRARY],
1879 cf_cxx_library=unknown
1880 case $cf_cv_system_name in #(vi
1888 if test "$GXX" = yes; then
1889 AC_MSG_CHECKING([for lib$cf_gpp_libname])
1891 CF_ADD_LIB($cf_gpp_libname)
1893 #include <$cf_gpp_libname/builtin.h>
1895 [two_arg_error_handler_t foo2 = lib_error_handler],
1897 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
1898 if test "$cf_gpp_libname" = cpp ; then
1899 AC_DEFINE(HAVE_GPP_BUILTIN_H)
1901 AC_DEFINE(HAVE_GXX_BUILTIN_H)
1904 #include <builtin.h>
1906 [two_arg_error_handler_t foo2 = lib_error_handler],
1908 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
1909 AC_DEFINE(HAVE_BUILTIN_H)],
1910 [cf_cxx_library=no])])
1912 AC_MSG_RESULT($cf_cxx_library)
1915 dnl ---------------------------------------------------------------------------
1916 dnl CF_GXX_VERSION version: 5 updated: 2005/08/27 09:53:42
1918 dnl Check for version of g++
1919 AC_DEFUN([CF_GXX_VERSION],[
1920 AC_REQUIRE([AC_PROG_CPP])
1922 if test "$GXX" = yes; then
1923 AC_MSG_CHECKING(version of g++)
1924 GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1925 test -z "$GXX_VERSION" && GXX_VERSION=unknown
1926 AC_MSG_RESULT($GXX_VERSION)
1929 dnl ---------------------------------------------------------------------------
1930 dnl CF_GXX_WARNINGS version: 5 updated: 2005/08/13 14:54:38
1932 dnl Check if the compiler supports useful warning options.
1934 dnl Most of gcc's options apply to g++, except:
1935 dnl -Wbad-function-cast
1936 dnl -Wmissing-declarations
1937 dnl -Wnested-externs
1939 dnl Omit a few (for now):
1943 dnl $1 is an optional list of g++ warning flags that a particular
1944 dnl application might want to use, e.g., "no-unused" for
1947 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1949 AC_DEFUN([CF_GXX_WARNINGS],
1952 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
1954 AC_REQUIRE([CF_GXX_VERSION])
1959 cat > conftest.$ac_ext <<EOF
1960 #line __oline__ "configure"
1961 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1964 if test "$INTEL_CPLUSPLUS" = yes
1966 # The "-wdXXX" options suppress warnings:
1967 # remark #1419: external declaration in primary source file
1968 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1969 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1970 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1971 # remark #193: zero used for undefined preprocessing identifier
1972 # remark #593: variable "curs_sb_left_arrow" was set but never used
1973 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1974 # remark #869: parameter "tw" was never referenced
1975 # remark #981: operands are evaluated in unspecified order
1976 # warning #269: invalid format string conversion
1978 AC_CHECKING([for $CC warning options])
1979 cf_save_CXXFLAGS="$CXXFLAGS"
1980 EXTRA_CXXFLAGS="-Wall"
1993 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
1994 if AC_TRY_EVAL(ac_compile); then
1995 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1996 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
1999 CXXFLAGS="$cf_save_CXXFLAGS"
2001 elif test "$GXX" = yes
2003 AC_CHECKING([for $CXX warning options])
2004 cf_save_CXXFLAGS="$CXXFLAGS"
2005 EXTRA_CXXFLAGS="-W -Wall"
2006 cf_gxx_extra_warnings=""
2007 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
2008 case "$GCC_VERSION" in
2012 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
2018 Woverloaded-virtual \
2024 Wmissing-prototypes \
2027 Wstrict-prototypes \
2028 Wundef $cf_gxx_extra_warnings $1
2030 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
2031 if AC_TRY_EVAL(ac_compile); then
2032 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2033 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2035 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
2038 CXXFLAGS="$cf_save_CXXFLAGS"
2043 AC_SUBST(EXTRA_CXXFLAGS)
2045 dnl ---------------------------------------------------------------------------
2046 dnl CF_HASHED_DB version: 4 updated: 2010/05/29 16:31:02
2048 dnl Look for an instance of the Berkeley hashed database.
2050 dnl $1 = optional parameter, to specify install-prefix for the database.
2051 AC_DEFUN([CF_HASHED_DB],
2058 if test -d "$1" ; then
2059 CF_ADD_INCDIR($1/include)
2060 CF_ADD_LIBDIR($1/lib)
2064 AC_CHECK_HEADER(db.h,[
2065 CF_HASHED_DB_VERSION
2066 if test "$cf_cv_hashed_db_version" = unknown ; then
2067 AC_MSG_ERROR(Cannot determine version of db)
2070 if test "$cf_cv_hashed_db_libs" = unknown ; then
2071 AC_MSG_ERROR(Cannot determine library for db)
2072 elif test "$cf_cv_hashed_db_libs" != default ; then
2073 CF_ADD_LIB($cf_cv_hashed_db_libs)
2077 AC_MSG_ERROR(Cannot find db.h)
2080 dnl ---------------------------------------------------------------------------
2081 dnl CF_HASHED_DB_LIBS version: 9 updated: 2010/05/29 16:31:02
2082 dnl -----------------
2083 dnl Given that we have the header and version for hashed database, find the
2084 dnl library information.
2085 AC_DEFUN([CF_HASHED_DB_LIBS],
2087 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2088 cf_cv_hashed_db_libs=unknown
2089 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2091 cf_save_libs="$LIBS"
2092 if test -n "$cf_db_libs"; then
2093 CF_ADD_LIB($cf_db_libs)
2095 CF_MSG_LOG(checking for library "$cf_db_libs")
2097 $ac_includes_default
2100 char *path = "/tmp/foo";
2101 #ifdef DB_VERSION_MAJOR
2102 #if DB_VERSION_MAJOR >= 4
2104 db_create(&result, NULL, 0);
2105 result->open(result,
2112 #elif DB_VERSION_MAJOR >= 3
2114 db_create(&result, NULL, 0);
2115 result->open(result,
2121 #elif DB_VERSION_MAJOR >= 2
2130 #endif /* DB_VERSION_MAJOR */
2132 DB *result = dbopen(path,
2138 ${cf_cv_main_return:-return}(result != 0)
2140 if test -n "$cf_db_libs" ; then
2141 cf_cv_hashed_db_libs=$cf_db_libs
2143 cf_cv_hashed_db_libs=default
2145 LIBS="$cf_save_libs"
2148 LIBS="$cf_save_libs"
2152 dnl ---------------------------------------------------------------------------
2153 dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
2154 dnl --------------------
2155 dnl Given that we have the header file for hashed database, find the version
2157 AC_DEFUN([CF_HASHED_DB_VERSION],
2159 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2160 cf_cv_hashed_db_version=unknown
2162 for cf_db_version in 1 2 3 4 5
2164 CF_MSG_LOG(checking for db version $cf_db_version)
2166 $ac_includes_default
2169 #ifdef DB_VERSION_MAJOR
2170 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2171 #if $cf_db_version == DB_VERSION_MAJOR
2177 #if $cf_db_version == 1
2178 /* ok: assuming this is DB 1.8.5 */
2184 cf_cv_hashed_db_version=$cf_db_version
2190 dnl ---------------------------------------------------------------------------
2191 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
2193 dnl Construct a search-list of directories for a nonstandard header-file
2196 dnl $1 = the variable to return as result
2197 dnl $2 = the package name
2198 AC_DEFUN([CF_HEADER_PATH],
2202 # collect the current set of include-directories from compiler flags
2203 cf_header_path_list=""
2204 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2205 for cf_header_path in $CPPFLAGS $CFLAGS
2207 case $cf_header_path in #(vi
2209 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2210 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2211 cf_header_path_list="$cf_header_path_list [$]$1"
2217 # add the variations for the package we are looking for
2218 CF_SUBDIR_PATH($1,$2,include)
2220 test "$includedir" != NONE && \
2221 test "$includedir" != "/usr/include" && \
2222 test -d "$includedir" && {
2223 test -d $includedir && $1="[$]$1 $includedir"
2224 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2227 test "$oldincludedir" != NONE && \
2228 test "$oldincludedir" != "/usr/include" && \
2229 test -d "$oldincludedir" && {
2230 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
2231 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2234 $1="[$]$1 $cf_header_path_list"
2236 dnl ---------------------------------------------------------------------------
2237 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2239 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2240 AC_DEFUN([CF_HELP_MESSAGE],
2241 [AC_DIVERT_HELP([$1])dnl
2243 dnl ---------------------------------------------------------------------------
2244 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
2246 dnl Construct the list of include-options according to whether we're building
2247 dnl in the source directory or using '--srcdir=DIR' option. If we're building
2248 dnl with gcc, don't append the includedir if it happens to be /usr/include,
2249 dnl since that usually breaks gcc's shadow-includes.
2250 AC_DEFUN([CF_INCLUDE_DIRS],
2252 CPPFLAGS="$CPPFLAGS -I. -I../include"
2253 if test "$srcdir" != "."; then
2254 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
2256 if test "$GCC" != yes; then
2257 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2258 elif test "$includedir" != "/usr/include"; then
2259 if test "$includedir" = '${prefix}/include' ; then
2260 if test $prefix != /usr ; then
2261 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2264 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2269 dnl ---------------------------------------------------------------------------
2270 dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
2271 dnl -----------------
2272 dnl Check if the given compiler is really the Intel compiler for Linux. It
2273 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2274 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2276 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2277 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
2278 dnl the wrappers for gcc and g++ warnings.
2280 dnl $1 = GCC (default) or GXX
2281 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2282 dnl $3 = CFLAGS (default) or CXXFLAGS
2283 AC_DEFUN([CF_INTEL_COMPILER],[
2284 ifelse([$2],,INTEL_COMPILER,[$2])=no
2286 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2289 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2290 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2291 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2293 #ifdef __INTEL_COMPILER
2297 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2298 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
2300 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2301 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2306 dnl ---------------------------------------------------------------------------
2307 dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
2309 dnl Check if we have either a function or macro for 'isascii()'.
2310 AC_DEFUN([CF_ISASCII],
2312 AC_MSG_CHECKING(for isascii)
2313 AC_CACHE_VAL(cf_cv_have_isascii,[
2314 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2315 [cf_cv_have_isascii=yes],
2316 [cf_cv_have_isascii=no])
2318 AC_MSG_RESULT($cf_cv_have_isascii)
2319 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
2321 dnl ---------------------------------------------------------------------------
2322 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
2324 dnl Add checks for large file support.
2325 AC_DEFUN([CF_LARGEFILE],[
2326 ifdef([AC_FUNC_FSEEKO],[
2328 if test "$enable_largefile" != no ; then
2331 # Normally we would collect these definitions in the config.h,
2332 # but (like _XOPEN_SOURCE), some environments rely on having these
2333 # defined before any of the system headers are included. Another
2334 # case comes up with C++, e.g., on AIX the compiler compiles the
2335 # header files by themselves before looking at the body files it is
2336 # told to compile. For ncurses, those header files do not include
2338 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2339 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2340 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2342 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2344 #include <sys/types.h>
2347 /* if transitional largefile support is setup, this is true */
2348 extern struct dirent64 * readdir(DIR *);
2349 struct dirent64 *x = readdir((DIR *)0);
2350 struct dirent *y = readdir((DIR *)0);
2353 [cf_cv_struct_dirent64=yes],
2354 [cf_cv_struct_dirent64=no])
2356 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
2360 dnl ---------------------------------------------------------------------------
2361 dnl CF_LDFLAGS_STATIC version: 7 updated: 2009/04/04 18:31:04
2362 dnl -----------------
2363 dnl Check for compiler/linker flags used to temporarily force usage of static
2364 dnl libraries. This depends on the compiler and platform. Use this to help
2365 dnl ensure that the linker picks up a given library based on its position in
2366 dnl the list of linker options and libraries.
2367 AC_DEFUN([CF_LDFLAGS_STATIC],[
2369 if test "$GCC" = yes ; then
2370 case $cf_cv_system_name in #(
2371 OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*) #( vi
2375 *) #( normally, except when broken
2376 LDFLAGS_STATIC=-static
2377 LDFLAGS_SHARED=-dynamic
2381 case $cf_cv_system_name in #(
2382 aix[[456]]*) #( from ld manpage
2383 LDFLAGS_STATIC=-bstatic
2384 LDFLAGS_SHARED=-bdynamic
2386 hpux*) #( from ld manpage for hpux10.20, hpux11.11
2387 # We could also use just "archive" and "shared".
2388 LDFLAGS_STATIC=-Wl,-a,archive_shared
2389 LDFLAGS_SHARED=-Wl,-a,shared_archive
2391 irix*) #( from ld manpage IRIX64
2392 LDFLAGS_STATIC=-Bstatic
2393 LDFLAGS_SHARED=-Bdynamic
2395 osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
2396 # alternative "-oldstyle_liblookup" (not in cc manpage)
2397 LDFLAGS_STATIC=-noso
2398 LDFLAGS_SHARED=-so_archive
2401 LDFLAGS_STATIC=-Bstatic
2402 LDFLAGS_SHARED=-Bdynamic
2407 AC_SUBST(LDFLAGS_STATIC)
2408 AC_SUBST(LDFLAGS_SHARED)
2410 dnl ---------------------------------------------------------------------------
2411 dnl CF_LD_RPATH_OPT version: 2 updated: 2010/03/27 19:27:54
2413 dnl For the given system and compiler, find the compiler flags to pass to the
2414 dnl loader to use the "rpath" feature.
2415 AC_DEFUN([CF_LD_RPATH_OPT],
2417 AC_REQUIRE([CF_CHECK_CACHE])
2420 AC_MSG_CHECKING(for an rpath option)
2421 case $cf_cv_system_name in #(vi
2423 if test "$GCC" = yes; then
2424 LD_RPATH_OPT="-Wl,-rpath,"
2426 LD_RPATH_OPT="-rpath "
2429 linux*|gnu*|k*bsd*-gnu) #(vi
2430 LD_RPATH_OPT="-Wl,-rpath,"
2432 openbsd[[2-9]].*) #(vi
2433 LD_RPATH_OPT="-Wl,-rpath,"
2436 LD_RPATH_OPT="-rpath "
2439 LD_RPATH_OPT="-Wl,-rpath,"
2442 LD_RPATH_OPT="-rpath "
2450 AC_MSG_RESULT($LD_RPATH_OPT)
2452 case "x$LD_RPATH_OPT" in #(vi
2454 AC_MSG_CHECKING(if we need a space after rpath option)
2455 cf_save_LIBS="$LIBS"
2456 LIBS="${LD_RPATH_OPT}$libdir $LIBS"
2457 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
2458 LIBS="$cf_save_LIBS"
2459 AC_MSG_RESULT($cf_rpath_space)
2460 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
2464 dnl ---------------------------------------------------------------------------
2465 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
2467 dnl Construct a search-list of directories for a nonstandard library-file
2470 dnl $1 = the variable to return as result
2471 dnl $2 = the package name
2472 AC_DEFUN([CF_LIBRARY_PATH],
2475 cf_library_path_list=""
2476 if test -n "${LDFLAGS}${LIBS}" ; then
2477 for cf_library_path in $LDFLAGS $LIBS
2479 case $cf_library_path in #(vi
2481 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
2482 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
2483 cf_library_path_list="$cf_library_path_list [$]$1"
2489 CF_SUBDIR_PATH($1,$2,lib)
2491 $1="$cf_library_path_list [$]$1"
2493 dnl ---------------------------------------------------------------------------
2494 dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
2496 dnl Compute the library-prefix for the given host system
2497 dnl $1 = variable to set
2498 AC_DEFUN([CF_LIB_PREFIX],
2500 case $cf_cv_system_name in #(vi
2507 ifelse($1,,,[$1=$LIB_PREFIX])
2508 AC_SUBST(LIB_PREFIX)
2510 dnl ---------------------------------------------------------------------------
2511 dnl CF_LIB_RULES version: 56 updated: 2010/05/15 15:19:46
2513 dnl Append definitions and rules for the given models to the subdirectory
2514 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
2515 dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
2516 dnl the corresponding makefile to list the models that we'll generate.
2518 dnl For shared libraries, make a list of symbolic links to construct when
2519 dnl generating each library. The convention used for Linux is the simplest
2522 dnl lib<name>.so.<major> ->
2523 dnl lib<name>.so.<maj>.<minor>
2524 AC_DEFUN([CF_LIB_RULES],
2526 CF_LIB_PREFIX(cf_prefix)
2527 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2529 if test $cf_cv_shlib_version = cygdll ; then
2530 TINFO_NAME=$TINFO_ARG_SUFFIX
2534 for cf_dir in $SRC_SUBDIRS
2536 if test ! -d $srcdir/$cf_dir ; then
2538 elif test -f $srcdir/$cf_dir/modules; then
2542 for cf_item in $cf_LIST_MODELS
2544 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2545 if test $cf_item = shared ; then
2546 if test "$cf_cv_do_symlinks" = yes ; then
2547 case "$cf_cv_shlib_version" in #(vi
2549 case "$cf_cv_system_name" in #(vi
2551 case .${LIB_SUFFIX} in
2553 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2554 cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
2557 cf_suffix='.${REL_VERSION}'"$cf_suffix"
2561 *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
2565 case "$cf_cv_system_name" in #(vi
2567 case .${LIB_SUFFIX} in
2569 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2570 cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
2573 cf_suffix='.${ABI_VERSION}'"$cf_suffix"
2577 *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
2582 # cygwin needs import library, and has unique naming convention
2583 # use autodetected ${cf_prefix} for import lib and static lib, but
2584 # use 'cyg' prefix for shared lib.
2585 if test $cf_cv_shlib_version = cygdll ; then
2586 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
2587 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
2591 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
2594 if test $cf_dir = ncurses ; then
2595 cf_subsets="$LIB_SUBSETS"
2596 cf_r_parts="$cf_subsets"
2597 cf_liblist="$LIBS_TO_MAKE"
2599 while test -n "$cf_r_parts"
2601 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
2602 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
2603 if test "$cf_l_parts" != "$cf_r_parts" ; then
2605 case $cf_l_parts in #(vi
2607 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
2610 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
2616 if test -n "$cf_item"; then
2617 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
2624 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
2627 sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
2628 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
2629 $cf_dir/Makefile >$cf_dir/Makefile.out
2630 mv $cf_dir/Makefile.out $cf_dir/Makefile
2632 $AWK -f $srcdir/mk-0th.awk \
2633 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
2634 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2636 for cf_subset in $cf_subsets
2639 for cf_item in $cf_LIST_MODELS
2641 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
2642 CF_UPPER(cf_ITEM,$cf_item)
2643 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2644 CF_OBJ_SUBDIR($cf_item,cf_subdir)
2646 # Test for case where we build libtinfo with a different name.
2648 if test $cf_dir = ncurses ; then
2651 cf_libname=${cf_libname}$LIB_SUFFIX
2654 cf_libname=$TINFO_LIB_SUFFIX
2657 cf_libname=$TICS_LIB_SUFFIX
2661 cf_libname=${cf_libname}$LIB_SUFFIX
2663 if test -n "${DFT_ARG_SUFFIX}" ; then
2664 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
2665 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
2668 # These dependencies really are for development, not
2669 # builds, but they are useful in porting, too.
2670 cf_depend="../include/ncurses_cfg.h"
2671 if test "$srcdir" = "."; then
2674 cf_reldir="\${srcdir}"
2677 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
2678 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
2679 elif test -f $srcdir/$cf_dir/curses.priv.h; then
2680 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
2684 old_cf_suffix="$cf_suffix"
2685 if test "$cf_cv_shlib_version_infix" = yes ; then
2686 if test -n "$LIB_SUFFIX" ; then
2689 cf_libname=`echo $cf_libname | sed 's/w$//'`
2690 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2697 $AWK -f $srcdir/mk-1st.awk \
2698 name=${cf_libname}${cf_dir_suffix} \
2699 traces=$LIB_TRACING \
2705 TermlibRoot=$TINFO_NAME \
2706 TermlibSuffix=$TINFO_SUFFIX \
2707 ShlibVer=$cf_cv_shlib_version \
2708 ShlibVerInfix=$cf_cv_shlib_version_infix \
2709 ReLink=${cf_cv_do_relink-no} \
2710 DoLinks=$cf_cv_do_symlinks \
2711 rmSoLocs=$cf_cv_rm_so_locs \
2712 ldconfig="$LDCONFIG" \
2713 overwrite=$WITH_OVERWRITE \
2714 depend="$cf_depend" \
2716 libtool_version="$LIBTOOL_VERSION" \
2717 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2719 cf_suffix="$old_cf_suffix"
2721 for cf_subdir2 in $cf_subdirs lib
2723 test $cf_subdir = $cf_subdir2 && break
2725 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
2726 $AWK -f $srcdir/mk-2nd.awk \
2728 traces=$LIB_TRACING \
2734 crenames=$cf_cv_prog_CC_c_o \
2735 cxxrenames=$cf_cv_prog_CXX_c_o \
2736 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2737 cf_subdirs="$cf_subdirs $cf_subdir"
2742 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
2745 for cf_dir in $SRC_SUBDIRS
2747 if test ! -d $srcdir/$cf_dir ; then
2751 if test -f $cf_dir/Makefile ; then
2754 echo 'libs \' >> Makefile
2755 echo 'install.libs \' >> Makefile
2756 echo 'uninstall.libs ::' >> Makefile
2757 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
2762 if test -f $srcdir/$cf_dir/modules; then
2764 if test -f $srcdir/$cf_dir/headers; then
2765 cat >> Makefile <<CF_EOF
2767 uninstall.includes \\
2770 if test "$cf_dir" != "c++" ; then
2771 echo 'lint \' >> Makefile
2773 cat >> Makefile <<CF_EOF
2779 uninstall.$cf_dir ::
2780 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2782 elif test -f $srcdir/$cf_dir/headers; then
2783 cat >> Makefile <<CF_EOF
2789 uninstall.includes ::
2790 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2795 cat >> Makefile <<CF_EOF
2797 install.libs uninstall.libs \\
2798 install.data uninstall.data ::
2799 $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
2802 if test "x$cf_with_manpages" = xyes; then
2803 cat >> Makefile <<CF_EOF
2807 cd man && \${MAKE} \${CF_MFLAGS} \[$]@
2811 cat >> Makefile <<CF_EOF
2814 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
2815 rm -f headers.sh headers.sed mk_shared_lib.sh
2816 rm -f edit_man.* man_alias.*
2817 rm -rf \${DIRS_TO_MAKE}
2820 # Special case: tack's manpage lives in its own directory.
2821 if test "x$cf_with_manpages" = xyes; then
2822 if test -d tack ; then
2823 if test -f $srcdir/$tack.h; then
2824 cat >> Makefile <<CF_EOF
2828 cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
2834 dnl If we're installing into a subdirectory of /usr/include, etc., we should
2835 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
2836 dnl anything, and will make it more standardized. It's awkward to decide this
2837 dnl at configuration because of quoting, so we'll simply make all headers
2838 dnl installed via a script that can do the right thing.
2840 rm -f headers.sed headers.sh
2842 dnl ( generating this script makes the makefiles a little tidier :-)
2843 echo creating headers.sh
2844 cat >headers.sh <<CF_EOF
2846 # This shell script is generated by the 'configure' script. It is invoked in a
2847 # subdirectory of the build tree. It generates a sed-script in the parent
2848 # directory that is used to adjust includes for header files that reside in a
2849 # subdirectory of /usr/include, etc.
2851 while test \[$]# != 3
2853 PRG="\$PRG \[$]1"; shift
2858 TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
2859 TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
2860 echo installing \$SRC in \$DST
2863 if test $WITH_CURSES_H = yes; then
2864 cat >>headers.sh <<CF_EOF
2867 END=\`basename \$DST\`
2868 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2870 NAME=\`basename \$i\`
2871 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2881 cat >>headers.sh <<CF_EOF
2884 END=\`basename \$DST\`
2885 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2887 NAME=\`basename \$i\`
2888 if test "\$NAME" = "curses.h"
2890 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2893 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2897 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2902 cat >>headers.sh <<CF_EOF
2904 sed -f \$TMPSED \$SRC > \$TMPSRC
2905 NAME=\`basename \$SRC\`
2907 if test $WITH_CURSES_H != yes; then
2908 cat >>headers.sh <<CF_EOF
2909 test "\$NAME" = "curses.h" && NAME=ncurses.h
2912 cat >>headers.sh <<CF_EOF
2913 # Just in case someone gzip'd manpages, remove the conflicting copy.
2914 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
2916 eval \$PRG \$TMPSRC \$DST/\$NAME
2917 rm -f \$TMPSRC \$TMPSED
2920 chmod 0755 headers.sh
2922 for cf_dir in $SRC_SUBDIRS
2924 if test ! -d $srcdir/$cf_dir ; then
2928 if test -f $srcdir/$cf_dir/headers; then
2929 $AWK -f $srcdir/mk-hdr.awk \
2930 subset="$LIB_SUBSETS" \
2931 compat="$WITH_CURSES_H" \
2932 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
2935 if test -f $srcdir/$cf_dir/modules; then
2936 if test "$cf_dir" != "c++" ; then
2937 cat >>$cf_dir/Makefile <<"CF_EOF"
2938 depend : ${AUTO_SRC}
2939 makedepend -- ${CPPFLAGS} -- ${C_SRC}
2941 # DO NOT DELETE THIS LINE -- make depend depends on it.
2948 dnl ---------------------------------------------------------------------------
2949 dnl CF_LIB_SONAME version: 4 updated: 2010/05/29 16:31:02
2951 dnl Find the and soname for the given shared library. Set the cache variable
2952 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
2953 dnl variable to "unknown".
2957 dnl $3 = library name
2958 AC_DEFUN([CF_LIB_SONAME],
2960 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
2962 cf_cv_$3_soname=unknown
2963 if test "$cross_compiling" != yes ; then
2964 cat >conftest.$ac_ext <<CF_EOF
2969 ${cf_cv_main_return:-return}(0);
2972 cf_save_LIBS="$LIBS"
2974 if AC_TRY_EVAL(ac_compile) ; then
2975 if AC_TRY_EVAL(ac_link) ; then
2976 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
2977 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
2981 LIBS="$cf_save_LIBS"
2985 dnl ---------------------------------------------------------------------------
2986 dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
2988 dnl Compute the library file-suffix from the given model name
2990 dnl $2 = variable to set (the nominal library suffix)
2991 dnl $3 = dependency variable to set (actual filename)
2992 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2993 AC_DEFUN([CF_LIB_SUFFIX],
2995 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3014 case $cf_cv_system_name in
3044 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3045 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
3047 dnl ---------------------------------------------------------------------------
3048 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
3050 dnl Compute the string to append to -library from the given model name
3052 dnl $2 = variable to set
3053 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3054 AC_DEFUN([CF_LIB_TYPE],
3063 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3065 dnl ---------------------------------------------------------------------------
3066 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
3067 dnl ----------------
3068 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3069 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
3070 dnl have to provide wrappers for global tables to ensure they're linked
3072 AC_DEFUN([CF_LINK_DATAONLY],
3074 AC_MSG_CHECKING([if data-only library module links])
3075 AC_CACHE_VAL(cf_cv_link_dataonly,[
3077 cat >conftest.$ac_ext <<EOF
3078 #line __oline__ "configure"
3079 int testdata[[3]] = { 123, 456, 789 };
3081 if AC_TRY_EVAL(ac_compile) ; then
3082 mv conftest.o data.o && \
3083 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3085 rm -f conftest.$ac_ext data.o
3086 cat >conftest.$ac_ext <<EOF
3087 #line __oline__ "configure"
3091 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
3093 extern int testdata[[3]];
3094 return testdata[[0]] == 123
3095 && testdata[[1]] == 456
3096 && testdata[[2]] == 789;
3100 if AC_TRY_EVAL(ac_compile); then
3101 mv conftest.o func.o && \
3102 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3104 rm -f conftest.$ac_ext func.o
3105 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3107 LIBS="conftest.a $LIBS"
3111 extern int testfunc();
3112 ${cf_cv_main_return:-return} (!testfunc());
3115 [cf_cv_link_dataonly=yes],
3116 [cf_cv_link_dataonly=no],
3117 [cf_cv_link_dataonly=unknown])
3120 AC_MSG_RESULT($cf_cv_link_dataonly)
3122 if test "$cf_cv_link_dataonly" = no ; then
3123 AC_DEFINE(BROKEN_LINKER)
3128 dnl ---------------------------------------------------------------------------
3129 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
3131 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3132 dnl A few non-Unix systems implement symlink, but not link.
3133 dnl A few non-systems implement neither (or have nonfunctional versions).
3134 AC_DEFUN([CF_LINK_FUNCS],
3140 if test "$cross_compiling" = yes ; then
3145 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
3147 for cf_func in link symlink ; do
3149 #include <sys/types.h>
3150 #include <sys/stat.h>
3151 #ifdef HAVE_UNISTD_H
3157 char *src = "config.log";
3158 char *dst = "conftest.chk";
3163 fail = ($cf_func("config.log", "conftest.chk") < 0)
3164 || (stat(dst, &dst_sb) < 0)
3165 || (dst_sb.st_mtime != src_sb.st_mtime);
3171 ${cf_cv_main_return:-return} (fail);
3174 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
3175 eval 'ac_cv_func_'$cf_func'=yes'],[
3176 eval 'ac_cv_func_'$cf_func'=no'],[
3177 eval 'ac_cv_func_'$cf_func'=error'])
3179 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
3181 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
3182 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
3185 dnl ---------------------------------------------------------------------------
3186 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
3188 dnl Check if a return from main to the shell actually returns the same exit
3189 dnl code. This is true for almost any POSIX environment.
3191 dnl Some very old environments did not flush stdout, etc., on an exit. That
3192 dnl would be a useful case to test for also.
3193 AC_DEFUN([CF_MAIN_RETURN],
3195 cf_cv_main_return=return
3197 dnl ---------------------------------------------------------------------------
3198 dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
3200 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
3201 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
3202 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
3203 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
3204 AC_DEFUN([CF_MAKEFLAGS],
3206 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
3208 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
3210 cat >cf_makeflags.tmp <<CF_EOF
3213 @ echo '.$cf_option'
3215 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'`
3216 case "$cf_result" in
3218 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
3219 case "$cf_result" in
3220 .*CC=*) cf_cv_makeflags=
3222 *) cf_cv_makeflags=$cf_option
3228 *) echo "given option \"$cf_option\", no match \"$cf_result\""
3232 rm -f cf_makeflags.tmp
3235 AC_SUBST(cf_cv_makeflags)
3237 dnl ---------------------------------------------------------------------------
3238 dnl CF_MAKE_TAGS version: 5 updated: 2010/04/03 20:07:32
3240 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
3241 dnl a monocase filesystem.
3242 AC_DEFUN([CF_MAKE_TAGS],[
3243 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
3245 AC_CHECK_PROGS(CTAGS, exctags ctags)
3246 AC_CHECK_PROGS(ETAGS, exetags etags)
3248 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS-ctags}, yes, no)
3250 if test "$cf_cv_mixedcase" = yes ; then
3251 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS-etags}, yes, no)
3256 if test "$MAKE_UPPER_TAGS" = yes ; then
3262 if test "$MAKE_LOWER_TAGS" = yes ; then
3271 AC_SUBST(MAKE_UPPER_TAGS)
3272 AC_SUBST(MAKE_LOWER_TAGS)
3274 dnl ---------------------------------------------------------------------------
3275 dnl CF_MANPAGE_FORMAT version: 8 updated: 2009/01/11 20:30:50
3276 dnl -----------------
3277 dnl Option to allow user to override automatic configuration of manpage format.
3278 dnl There are several special cases:
3280 dnl gzip - man checks for, can display gzip'd files
3281 dnl compress - man checks for, can display compressed files
3282 dnl BSDI - files in the cat-directories are suffixed ".0"
3283 dnl formatted - installer should format (put files in cat-directory)
3284 dnl catonly - installer should only format, e.g., for a turnkey system.
3286 dnl There are other configurations which this macro does not test, e.g., HPUX's
3287 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
3288 dnl convention would not match our use).
3289 AC_DEFUN([CF_MANPAGE_FORMAT],
3291 AC_REQUIRE([CF_PATHSEP])
3292 AC_MSG_CHECKING(format of man-pages)
3294 AC_ARG_WITH(manpage-format,
3295 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
3296 optionally formatted/catonly, e.g., gzip,formatted],
3297 [MANPAGE_FORMAT=$withval],
3298 [MANPAGE_FORMAT=unknown])
3300 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
3301 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
3305 case $MANPAGE_FORMAT in
3307 if test -z "$MANPATH" ; then
3308 MANPATH="/usr/man:/usr/share/man"
3311 # look for the 'date' man-page (it's most likely to be installed!)
3317 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
3318 for cf_dir in $MANPATH; do
3319 test -z "$cf_dir" && cf_dir=/usr/man
3320 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
3322 cf_test=`echo $cf_name | sed -e 's/*//'`
3323 if test "x$cf_test" = "x$cf_name" ; then
3326 *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
3327 *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
3328 *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
3329 *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
3343 # if we found a match in either man* or cat*, stop looking
3344 if test -n "$MANPAGE_FORMAT" ; then
3346 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
3347 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
3353 test $cf_found=yes && break
3356 # only check the first directory in $MANPATH where we find manpages
3357 if test -n "$MANPAGE_FORMAT" ; then
3361 # if we did not find the example, just assume it is normal
3362 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
3366 for cf_option in $MANPAGE_FORMAT; do
3367 case $cf_option in #(vi
3368 gzip|compress|BSDI|normal|formatted|catonly)
3371 cf_unknown="$cf_unknown $cf_option"
3378 AC_MSG_RESULT($MANPAGE_FORMAT)
3379 if test -n "$cf_unknown" ; then
3380 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
3383 dnl ---------------------------------------------------------------------------
3384 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
3385 dnl ------------------
3386 dnl The Debian people have their own naming convention for manpages. This
3387 dnl option lets us override the name of the file containing renaming, or
3388 dnl disable it altogether.
3389 AC_DEFUN([CF_MANPAGE_RENAMES],
3391 AC_MSG_CHECKING(for manpage renaming)
3393 AC_ARG_WITH(manpage-renames,
3394 [ --with-manpage-renames specify manpage-renaming],
3395 [MANPAGE_RENAMES=$withval],
3396 [MANPAGE_RENAMES=yes])
3398 case ".$MANPAGE_RENAMES" in #(vi
3402 # Debian 'man' program?
3403 if test -f /etc/debian_version ; then
3404 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
3411 if test "$MANPAGE_RENAMES" != no ; then
3412 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
3413 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
3414 elif test ! -f $MANPAGE_RENAMES ; then
3415 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
3418 test ! -d man && mkdir man
3420 # Construct a sed-script to perform renaming within man-pages
3421 if test -n "$MANPAGE_RENAMES" ; then
3422 test ! -d man && mkdir man
3423 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
3427 AC_MSG_RESULT($MANPAGE_RENAMES)
3428 AC_SUBST(MANPAGE_RENAMES)
3430 dnl ---------------------------------------------------------------------------
3431 dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
3432 dnl -------------------
3433 dnl Some people expect each tool to make all aliases for manpages in the
3434 dnl man-directory. This accommodates the older, less-capable implementations
3435 dnl of 'man', and is optional.
3436 AC_DEFUN([CF_MANPAGE_SYMLINKS],
3438 AC_MSG_CHECKING(if manpage aliases will be installed)
3440 AC_ARG_WITH(manpage-aliases,
3441 [ --with-manpage-aliases specify manpage-aliases using .so],
3442 [MANPAGE_ALIASES=$withval],
3443 [MANPAGE_ALIASES=yes])
3445 AC_MSG_RESULT($MANPAGE_ALIASES)
3447 if test "$LN_S" = "ln -s"; then
3454 if test "$MANPAGE_ALIASES" = yes ; then
3455 AC_MSG_CHECKING(if manpage symlinks should be used)
3457 AC_ARG_WITH(manpage-symlinks,
3458 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
3459 [MANPAGE_SYMLINKS=$withval],
3460 [MANPAGE_SYMLINKS=$cf_use_symlinks])
3462 if test "$$cf_use_symlinks" = no; then
3463 if test "$MANPAGE_SYMLINKS" = yes ; then
3464 AC_MSG_WARN(cannot make symlinks, will use .so files)
3469 AC_MSG_RESULT($MANPAGE_SYMLINKS)
3473 dnl ---------------------------------------------------------------------------
3474 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
3476 dnl This option causes manpages to be run through tbl(1) to generate tables
3478 AC_DEFUN([CF_MANPAGE_TBL],
3480 AC_MSG_CHECKING(for manpage tbl)
3482 AC_ARG_WITH(manpage-tbl,
3483 [ --with-manpage-tbl specify manpage processing with tbl],
3484 [MANPAGE_TBL=$withval],
3487 AC_MSG_RESULT($MANPAGE_TBL)
3489 dnl ---------------------------------------------------------------------------
3490 dnl CF_MAN_PAGES version: 37 updated: 2010/05/15 16:05:34
3492 dnl Try to determine if the man-pages on the system are compressed, and if
3493 dnl so, what format is used. Use this information to construct a script that
3494 dnl will install man-pages.
3495 AC_DEFUN([CF_MAN_PAGES],
3497 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
3503 if test "$prefix" = "NONE" ; then
3504 cf_prefix="$ac_default_prefix"
3509 case "$MANPAGE_FORMAT" in # (vi
3524 test ! -d man && mkdir man
3528 case "$MANPAGE_FORMAT" in #(vi
3531 cf_compress=compress
3539 cf_edit_man=./edit_man.sh
3540 cf_man_alias=`pwd`/man_alias.sed
3542 cat >$cf_edit_man <<CF_EOF
3544 # this script is generated by the configure-script CF_MAN_PAGES macro.
3549 NCURSES_MAJOR="$NCURSES_MAJOR"
3550 NCURSES_MINOR="$NCURSES_MINOR"
3551 NCURSES_PATCH="$NCURSES_PATCH"
3553 NCURSES_OSPEED="$NCURSES_OSPEED"
3554 TERMINFO="$TERMINFO"
3557 INSTALL_DATA="$INSTALL_DATA"
3559 transform="$program_transform_name"
3561 TMP=\${TMPDIR-/tmp}/man\$\$
3562 trap "rm -f \$TMP" 0 1 2 5 15
3574 top_srcdir=\[$]srcdir/..
3577 if test "\$form" = normal ; then
3578 if test "$cf_format" = yes ; then
3579 if test "$cf_inboth" = no ; then
3580 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3584 cf_subdir=\$mandir/man
3585 cf_tables=$MANPAGE_TBL
3587 cf_subdir=\$mandir/cat
3591 # process the list of source-files
3594 *.orig|*.rej) ;; #(vi
3596 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
3597 if test \$verb = installing ; then
3598 if test ! -d \$cf_subdir\${section} ; then
3599 mkdir -p \$cf_subdir\$section
3603 # replace variables in man page
3604 if test ! -f $cf_man_alias ; then
3605 cat >>$cf_man_alias <<-CF_EOF2
3606 s,@DATADIR@,\$datadir,g
3607 s,@TERMINFO@,\$TERMINFO,g
3608 s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
3609 s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
3610 s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
3611 s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
3616 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3617 cf_name=`echo $cf_name|sed "$program_transform_name"`
3618 cat >>$cf_edit_man <<-CF_EOF
3619 s,@$cf_NAME@,$cf_name,g
3623 cat >>$cf_edit_man <<CF_EOF
3625 echo "...made $cf_man_alias"
3629 cf_source=\`basename \$i\`
3631 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
3632 if test ! -f \$inalias ; then
3633 echo .. skipped \$cf_source
3638 if test "$MANPAGE_ALIASES" != no ; then
3639 cat >>$cf_edit_man <<CF_EOF
3640 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
3644 if test "$MANPAGE_RENAMES" = no ; then
3645 cat >>$cf_edit_man <<CF_EOF
3646 # perform program transformations for section 1 man pages
3647 if test \$section = 1 ; then
3648 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
3650 cf_target=\$cf_subdir\${section}/\$cf_source
3654 cat >>$cf_edit_man <<CF_EOF
3655 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
3656 if test -z "\$cf_target" ; then
3657 echo '? missing rename for '\$cf_source
3658 cf_target="\$cf_source"
3660 cf_target="\$cf_subdir\${section}/\${cf_target}"
3665 cat >>$cf_edit_man <<CF_EOF
3666 sed -f $cf_man_alias \\
3669 if test -f $MANPAGE_RENAMES ; then
3670 cat >>$cf_edit_man <<CF_EOF
3671 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
3674 cat >>$cf_edit_man <<CF_EOF
3679 cat >>$cf_edit_man <<CF_EOF
3680 if test \$cf_tables = yes ; then
3681 tbl \$TMP >\$TMP.out
3686 if test $with_curses_h != yes ; then
3687 cat >>$cf_edit_man <<CF_EOF
3688 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
3693 cat >>$cf_edit_man <<CF_EOF
3694 if test \$form = format ; then
3695 nroff -man \$TMP >\$TMP.out
3700 if test -n "$cf_compress" ; then
3701 cat >>$cf_edit_man <<CF_EOF
3702 if test \$verb = installing ; then
3703 if ( $cf_compress -f \$TMP )
3705 mv \$TMP.$cf_so_strip \$TMP
3708 cf_target="\$cf_target.$cf_so_strip"
3712 case "$MANPAGE_FORMAT" in #(vi
3714 cat >>$cf_edit_man <<CF_EOF
3715 if test \$form = format ; then
3716 # BSDI installs only .0 suffixes in the cat directories
3717 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
3723 cat >>$cf_edit_man <<CF_EOF
3724 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
3725 if test \$verb = installing ; then
3726 echo \$verb \$cf_target
3727 \$INSTALL_DATA \$TMP \$cf_target
3728 test -d \$cf_subdir\${section} &&
3729 test -n "\$aliases" && (
3730 cd \$cf_subdir\${section} && (
3731 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
3732 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
3733 cf_target=\`basename \$cf_target\`
3734 for cf_alias in \$aliases
3736 if test \$section = 1 ; then
3737 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3740 if test "$MANPAGE_SYMLINKS" = yes ; then
3741 if test -f \$cf_alias\${suffix} ; then
3742 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
3747 echo .. \$verb alias \$cf_alias\${suffix}
3748 rm -f \$cf_alias\${suffix}
3749 $LN_S \$cf_target \$cf_alias\${suffix}
3750 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
3751 echo ".so \$cf_source" >\$TMP
3753 if test -n "$cf_compress" ; then
3754 cat >>$cf_edit_man <<CF_EOF
3755 if test -n "$cf_so_strip" ; then
3756 $cf_compress -f \$TMP
3757 mv \$TMP.$cf_so_strip \$TMP
3761 cat >>$cf_edit_man <<CF_EOF
3762 echo .. \$verb alias \$cf_alias\${suffix}
3763 rm -f \$cf_alias\${suffix}
3764 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
3769 elif test \$verb = removing ; then
3770 test -f \$cf_target && (
3771 echo \$verb \$cf_target
3774 test -d \$cf_subdir\${section} &&
3775 test -n "\$aliases" && (
3776 cd \$cf_subdir\${section} && (
3777 for cf_alias in \$aliases
3779 if test \$section = 1 ; then
3780 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3783 echo .. \$verb alias \$cf_alias\${suffix}
3784 rm -f \$cf_alias\${suffix}
3796 if test $cf_inboth = yes ; then
3797 if test \$form != format ; then
3798 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3804 chmod 755 $cf_edit_man
3807 dnl ---------------------------------------------------------------------------
3808 dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
3810 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
3811 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
3812 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
3813 AC_DEFUN([CF_MATH_LIB],
3815 AC_CACHE_CHECK(if -lm needed for math functions,
3821 [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
3822 [cf_cv_need_libm=no],
3823 [cf_cv_need_libm=yes])])
3824 if test "$cf_cv_need_libm" = yes
3831 dnl ---------------------------------------------------------------------------
3832 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
3833 dnl ----------------------
3834 dnl Check if the file-system supports mixed-case filenames. If we're able to
3835 dnl create a lowercase name and see it as uppercase, it doesn't support that.
3836 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
3838 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
3839 if test "$cross_compiling" = yes ; then
3840 case $target_alias in #(vi
3841 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
3849 rm -f conftest CONFTEST
3851 if test -f CONFTEST ; then
3856 rm -f conftest CONFTEST
3859 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
3861 dnl ---------------------------------------------------------------------------
3862 dnl CF_MKSTEMP version: 6 updated: 2010/05/22 14:44:30
3864 dnl Check for a working mkstemp. This creates two files, checks that they are
3865 dnl successfully created and distinct (AmigaOS apparently fails on the last).
3866 AC_DEFUN([CF_MKSTEMP],[
3867 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
3870 #include <sys/types.h>
3874 #include <sys/stat.h>
3877 char *tmpl = "conftestXXXXXX";
3885 for (n = 0; n < 2; ++n) {
3886 strcpy(name[n], tmpl);
3887 if ((fd = mkstemp(name[n])) >= 0) {
3888 if (!strcmp(name[n], tmpl)
3889 || stat(name[n], &sb) != 0
3890 || (sb.st_mode & S_IFMT) != S_IFREG
3891 || (sb.st_mode & 077) != 0) {
3898 && !strcmp(name[0], name[1]))
3900 ${cf_cv_main_return:-return}(result);
3902 ],[cf_cv_func_mkstemp=yes
3903 ],[cf_cv_func_mkstemp=no
3904 ],[AC_CHECK_FUNC(mkstemp)
3907 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
3908 AC_DEFINE(HAVE_MKSTEMP)
3911 dnl ---------------------------------------------------------------------------
3912 dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
3914 dnl Write a debug message to config.log, along with the line number in the
3915 dnl configure script.
3916 AC_DEFUN([CF_MSG_LOG],[
3917 echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
3919 dnl ---------------------------------------------------------------------------
3920 dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
3921 dnl ----------------
3922 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
3923 dnl warn about this.
3924 AC_DEFUN([CF_NCURSES_ABI_6],[
3925 if test "${with_abi_version+set}" != set; then
3926 case $cf_cv_rel_version in
3928 cf_cv_rel_version=6.0
3930 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
3935 dnl ---------------------------------------------------------------------------
3936 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
3937 dnl ------------------
3938 dnl see CF_WITH_NO_LEAKS
3939 AC_DEFUN([CF_NO_LEAKS_OPTION],[
3940 AC_MSG_CHECKING(if you want to use $1 for testing)
3943 [AC_DEFINE($3)ifelse([$4],,[
3946 : ${with_cflags:=-g}
3947 : ${with_no_leaks:=yes}
3950 AC_MSG_RESULT(${with_$1:-no})
3952 case .$with_cflags in #(vi
3954 case .$CFLAGS in #(vi
3964 dnl ---------------------------------------------------------------------------
3965 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
3966 dnl ----------------
3967 dnl Check if the given variable is a number. If not, report an error.
3968 dnl $1 is the variable
3969 dnl $2 is the message
3970 AC_DEFUN([CF_NUMBER_SYNTAX],[
3971 if test -n "$1" ; then
3976 AC_MSG_ERROR($2 is not a number: $1)
3980 AC_MSG_ERROR($2 value is empty)
3983 dnl ---------------------------------------------------------------------------
3984 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
3986 dnl Compute the object-directory name from the given model name
3987 AC_DEFUN([CF_OBJ_SUBDIR],
3990 libtool) $2='obj_lo' ;;
3991 normal) $2='objects' ;;
3992 debug) $2='obj_g' ;;
3993 profile) $2='obj_p' ;;
3995 case $cf_cv_system_name in #(vi
4003 dnl ---------------------------------------------------------------------------
4004 dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
4006 dnl Provide a value for the $PATH and similar separator
4007 AC_DEFUN([CF_PATHSEP],
4009 case $cf_cv_system_name in
4010 os2*) PATH_SEPARATOR=';' ;;
4011 *) PATH_SEPARATOR=':' ;;
4013 ifelse([$1],,,[$1=$PATH_SEPARATOR])
4014 AC_SUBST(PATH_SEPARATOR)
4016 dnl ---------------------------------------------------------------------------
4017 dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
4019 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
4020 dnl begins with one of the prefix/exec_prefix variables, and then again if the
4021 dnl result begins with 'NONE'. This is necessary to work around autoconf's
4022 dnl delayed evaluation of those symbols.
4023 AC_DEFUN([CF_PATH_SYNTAX],[
4024 if test "x$prefix" != xNONE; then
4025 cf_path_syntax="$prefix"
4027 cf_path_syntax="$ac_default_prefix"
4030 case ".[$]$1" in #(vi
4031 .\[$]\(*\)*|.\'*\'*) #(vi
4035 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
4037 .\[$]{*prefix}*) #(vi
4039 case ".[$]$1" in #(vi
4041 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4046 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4049 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
4053 dnl ---------------------------------------------------------------------------
4054 dnl CF_PKG_CONFIG version: 3 updated: 2009/01/25 10:55:09
4056 dnl Check for the package-config program, unless disabled by command-line.
4057 AC_DEFUN([CF_PKG_CONFIG],
4059 AC_MSG_CHECKING(if you want to use pkg-config)
4060 AC_ARG_WITH(pkg-config,
4061 [ --with-pkg-config{=path} enable/disable use of pkg-config],
4062 [cf_pkg_config=$withval],
4063 [cf_pkg_config=yes])
4064 AC_MSG_RESULT($cf_pkg_config)
4066 case $cf_pkg_config in #(vi
4071 AC_PATH_PROG(PKG_CONFIG, pkg-config, none)
4078 test -z "$PKG_CONFIG" && PKG_CONFIG=none
4079 if test "$PKG_CONFIG" != none ; then
4080 CF_PATH_SYNTAX(PKG_CONFIG)
4083 AC_SUBST(PKG_CONFIG)
4085 dnl ---------------------------------------------------------------------------
4086 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
4087 dnl -----------------
4088 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
4090 dnl POSIX.1-1990 _POSIX_SOURCE
4091 dnl POSIX.1-1990 and _POSIX_SOURCE and
4092 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
4094 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
4095 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
4096 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
4099 dnl $1 is the nominal value for _POSIX_C_SOURCE
4100 AC_DEFUN([CF_POSIX_C_SOURCE],
4102 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
4104 cf_save_CFLAGS="$CFLAGS"
4105 cf_save_CPPFLAGS="$CPPFLAGS"
4107 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
4108 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
4110 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
4111 CF_MSG_LOG(if the symbol is already defined go no further)
4112 AC_TRY_COMPILE([#include <sys/types.h>],[
4113 #ifndef _POSIX_C_SOURCE
4116 [cf_cv_posix_c_source=no],
4117 [cf_want_posix_source=no
4118 case .$cf_POSIX_C_SOURCE in #(vi
4120 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4123 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4124 cf_want_posix_source=yes
4127 cf_want_posix_source=yes
4130 if test "$cf_want_posix_source" = yes ; then
4131 AC_TRY_COMPILE([#include <sys/types.h>],[
4132 #ifdef _POSIX_SOURCE
4135 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
4137 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
4138 CFLAGS="$cf_trim_CFLAGS"
4139 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
4140 CF_MSG_LOG(if the second compile does not leave our definition intact error)
4141 AC_TRY_COMPILE([#include <sys/types.h>],[
4142 #ifndef _POSIX_C_SOURCE
4145 [cf_cv_posix_c_source=no])
4146 CFLAGS="$cf_save_CFLAGS"
4147 CPPFLAGS="$cf_save_CPPFLAGS"
4151 if test "$cf_cv_posix_c_source" != no ; then
4152 CFLAGS="$cf_trim_CFLAGS"
4153 CPPFLAGS="$cf_trim_CPPFLAGS"
4154 CF_ADD_CFLAGS($cf_cv_posix_c_source)
4158 dnl ---------------------------------------------------------------------------
4159 dnl CF_PREDEFINE version: 2 updated: 2010/05/26 16:44:57
4161 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
4163 dnl $1 = symbol to test
4164 dnl $2 = value (if any) to use for a predefinition
4165 AC_DEFUN([CF_PREDEFINE],
4167 AC_MSG_CHECKING(if we must define $1)
4168 AC_TRY_COMPILE([#include <sys/types.h>
4172 #endif],[cf_result=no],[cf_result=yes])
4173 AC_MSG_RESULT($cf_result)
4175 if test "$cf_result" = yes ; then
4176 CPPFLAGS="$CPPFLAGS ifelse([$2],,-D$1,[-D$1=$2])"
4177 elif test "x$2" != "x" ; then
4178 AC_MSG_CHECKING(checking for compatible value versus $2)
4179 AC_TRY_COMPILE([#include <sys/types.h>
4183 #endif],[cf_result=yes],[cf_result=no])
4184 AC_MSG_RESULT($cf_result)
4185 if test "$cf_result" = no ; then
4186 # perhaps we can override it - try...
4187 CPPFLAGS="$CPPFLAGS -D$1=$2"
4191 dnl ---------------------------------------------------------------------------
4192 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
4194 dnl Append definitions and rules for the given programs to the subdirectory
4195 dnl Makefiles, and the recursion rule for the top-level Makefile.
4198 dnl $1 = script to run
4199 dnl $2 = list of subdirectories
4203 AC_DEFUN([CF_PRG_RULES],
4207 if test ! -d $srcdir/$cf_dir; then
4209 elif test -f $srcdir/$cf_dir/programs; then
4210 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
4215 dnl ---------------------------------------------------------------------------
4216 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
4218 dnl Check for archiver "ar".
4219 AC_DEFUN([CF_PROG_AR],[
4220 AC_CHECK_TOOL(AR, ar, ar)
4222 dnl ---------------------------------------------------------------------------
4223 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
4225 dnl Check for awk, ensure that the check found something.
4226 AC_DEFUN([CF_PROG_AWK],
4229 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
4231 dnl ---------------------------------------------------------------------------
4232 dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46
4234 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
4235 dnl the output file can be renamed, and allows for a shell variable that can
4236 dnl be used later. The parameter is either CC or CXX. The result is the
4238 dnl $cf_cv_prog_CC_c_o
4239 dnl $cf_cv_prog_CXX_c_o
4240 AC_DEFUN([CF_PROG_CC_C_O],
4241 [AC_REQUIRE([AC_PROG_CC])dnl
4242 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
4243 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
4245 cat > conftest.$ac_ext <<CF_EOF
4249 ${cf_cv_main_return:-return}(0);
4252 # We do the test twice because some compilers refuse to overwrite an
4253 # existing .o file with -o, though they will create one.
4254 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
4255 if AC_TRY_EVAL(ac_try) &&
4256 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
4258 eval cf_cv_prog_$1_c_o=yes
4260 eval cf_cv_prog_$1_c_o=no
4264 if test $cf_cv_prog_$1_c_o = yes; then
4265 AC_MSG_RESULT([yes])
4270 dnl ---------------------------------------------------------------------------
4271 dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
4273 dnl Check if C (preprocessor) -U and -D options are processed in the order
4274 dnl given rather than by type of option. Some compilers insist on apply all
4275 dnl of the -U options after all of the -D options. Others allow mixing them,
4276 dnl and may predefine symbols that conflict with those we define.
4277 AC_DEFUN([CF_PROG_CC_U_D],
4279 AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
4280 cf_save_CPPFLAGS="$CPPFLAGS"
4281 CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
4284 make an undefined-error
4287 make a defined-error
4290 cf_cv_cc_u_d_options=yes],[
4291 cf_cv_cc_u_d_options=no])
4292 CPPFLAGS="$cf_save_CPPFLAGS"
4295 dnl ---------------------------------------------------------------------------
4296 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
4298 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
4299 dnl This macro adds a check to ensure the script found something.
4300 AC_DEFUN([CF_PROG_EGREP],
4301 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
4302 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
4303 then ac_cv_prog_egrep='grep -E'
4304 else ac_cv_prog_egrep='egrep'
4306 EGREP=$ac_cv_prog_egrep
4308 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
4310 dnl ---------------------------------------------------------------------------
4311 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
4313 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
4314 AC_DEFUN([CF_PROG_EXT],
4316 AC_REQUIRE([CF_CHECK_CACHE])
4317 case $cf_cv_system_name in
4319 CFLAGS="$CFLAGS -Zmt"
4320 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
4321 CXXFLAGS="$CXXFLAGS -Zmt"
4322 # autoconf's macro sets -Zexe and suffix both, which conflict:w
4323 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
4333 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
4335 dnl ---------------------------------------------------------------------------
4336 dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
4338 dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
4339 dnl misc/tabset install won't work properly. Usually this happens only when
4340 dnl using the fallback mkinstalldirs script
4341 AC_DEFUN([CF_PROG_INSTALL],
4347 CF_DIRNAME(cf_dir,$INSTALL)
4348 test -z "$cf_dir" && cf_dir=.
4349 INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
4353 dnl ---------------------------------------------------------------------------
4354 dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40
4355 dnl ----------------
4356 dnl Check for ldconfig, needed to fixup shared libraries that would be built
4357 dnl and then used in the install.
4358 AC_DEFUN([CF_PROG_LDCONFIG],[
4359 if test "$cross_compiling" = yes ; then
4362 case "$cf_cv_system_name" in #(vi
4363 dragonfly*|freebsd*) #(vi
4364 test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
4366 *) LDPATH=$PATH:/sbin:/usr/sbin
4367 AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
4373 dnl ---------------------------------------------------------------------------
4374 dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
4376 AC_DEFUN([CF_PROG_LINT],
4378 AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
4381 dnl ---------------------------------------------------------------------------
4382 dnl CF_REGEX version: 7 updated: 2010/05/29 16:31:02
4384 dnl Attempt to determine if we've got one of the flavors of regular-expression
4385 dnl code that we can support.
4386 AC_DEFUN([CF_REGEX],
4391 AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
4392 for cf_regex_lib in regex re
4394 AC_CHECK_LIB($cf_regex_lib,regcomp,[
4395 CF_ADD_LIB($cf_regex_lib)
4396 cf_regex_func=regcomp
4401 if test "$cf_regex_func" = no ; then
4402 AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
4403 AC_CHECK_LIB(gen,compile,[
4405 cf_regex_func=compile])])
4408 if test "$cf_regex_func" = no ; then
4409 AC_MSG_WARN(cannot find regular expression library)
4412 AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
4415 case $cf_regex_func in #(vi
4417 for cf_regex_hdr in regexp.h regexpr.h
4419 AC_TRY_LINK([#include <$cf_regex_hdr>],[
4420 char *p = compile("", "", "", 0);
4421 int x = step("", "");
4423 cf_cv_regex_hdrs=$cf_regex_hdr
4429 for cf_regex_hdr in regex.h
4431 AC_TRY_LINK([#include <sys/types.h>
4432 #include <$cf_regex_hdr>],[
4434 int x = regcomp(p, "", 0);
4435 int y = regexec(p, "", 0, 0, 0);
4438 cf_cv_regex_hdrs=$cf_regex_hdr
4447 case $cf_cv_regex_hdrs in #(vi
4448 no) AC_MSG_WARN(no regular expression header found) ;; #(vi
4449 regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
4450 regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
4451 regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
4454 dnl ---------------------------------------------------------------------------
4455 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
4456 dnl ----------------
4457 dnl Remove all -U and -D options that refer to the given symbol from a list
4458 dnl of C compiler options. This works around the problem that not all
4459 dnl compilers process -U and -D options from left-to-right, so a -U option
4460 dnl cannot be used to cancel the effect of a preceding -D option.
4462 dnl $1 = target (which could be the same as the source variable)
4463 dnl $2 = source (including '$')
4464 dnl $3 = symbol to remove
4465 define([CF_REMOVE_DEFINE],
4468 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
4469 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
4471 dnl ---------------------------------------------------------------------------
4472 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
4474 dnl Remove the given library from the symbol
4476 dnl $1 = target (which could be the same as the source variable)
4477 dnl $2 = source (including '$')
4478 dnl $3 = library to remove
4479 define([CF_REMOVE_LIB],
4481 # remove $3 library from $2
4482 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
4484 dnl ---------------------------------------------------------------------------
4485 dnl CF_RPATH_HACK version: 8 updated: 2010/04/17 15:38:58
4487 AC_DEFUN([CF_RPATH_HACK],
4489 AC_REQUIRE([CF_LD_RPATH_OPT])
4490 AC_MSG_CHECKING(for updated LDFLAGS)
4491 if test -n "$LD_RPATH_OPT" ; then
4492 AC_MSG_RESULT(maybe)
4494 AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
4495 cf_rpath_list="/usr/lib /lib"
4496 if test "$cf_ldd_prog" != no
4498 AC_TRY_LINK([#include <stdio.h>],
4500 [cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
4503 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4505 CF_RPATH_HACK_2(LDFLAGS)
4506 CF_RPATH_HACK_2(LIBS)
4508 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4510 AC_SUBST(EXTRA_LDFLAGS)
4512 dnl ---------------------------------------------------------------------------
4513 dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
4515 dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
4516 dnl EXTRA_LDFLAGS for each -L option found.
4518 dnl $cf_rpath_list contains a list of directories to ignore.
4520 dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
4521 dnl but LIBS often has misplaced -L options.
4522 AC_DEFUN([CF_RPATH_HACK_2],
4524 CF_VERBOSE(...checking $1 [$]$1)
4527 for cf_rpath_src in [$]$1
4529 case $cf_rpath_src in #(vi
4532 # check if this refers to a directory which we will ignore
4534 if test -n "$cf_rpath_list"
4536 for cf_rpath_item in $cf_rpath_list
4538 if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
4546 if test "$cf_rpath_skip" = no
4548 # transform the option
4549 if test "$LD_RPATH_OPT" = "-R " ; then
4550 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
4552 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
4555 # if we have not already added this, add it now
4556 cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
4557 if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
4559 CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
4560 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
4565 cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
4569 CF_VERBOSE(...checked $1 [$]$1)
4570 AC_SUBST(EXTRA_LDFLAGS)
4572 dnl ---------------------------------------------------------------------------
4573 dnl CF_SHARED_OPTS version: 62 updated: 2010/03/28 16:12:30
4576 dnl Attempt to determine the appropriate CC/LD options for creating a shared
4579 dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
4580 dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
4581 dnl We avoid compiling-in a ../lib path for the shared library since that can
4582 dnl lead to unexpected results at runtime.
4583 dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
4584 dnl are compiled in ../../lib
4586 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
4587 dnl to install symbolic links to the rel/abi versions of shared libraries.
4589 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
4590 dnl version when making symbolic links.
4592 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
4593 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
4594 dnl (ex: libncurses.so.<ver>).
4596 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
4597 AC_DEFUN([CF_SHARED_OPTS],
4599 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
4600 AC_REQUIRE([CF_LD_RPATH_OPT])
4604 INSTALL_LIB="-m 644"
4606 cf_cv_do_symlinks=no
4608 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
4610 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
4611 AC_ARG_WITH(shlib-version,
4612 [ --with-shlib-version=X Specify rel or abi version for shared libs],
4613 [test -z "$withval" && withval=auto
4614 case $withval in #(vi
4616 cf_cv_shlib_version=auto
4618 rel|abi|auto|no) #(vi
4619 cf_cv_shlib_version=$withval
4622 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
4625 ],[cf_cv_shlib_version=auto])
4626 AC_MSG_RESULT($cf_cv_shlib_version)
4630 # Some less-capable ports of gcc support only -fpic
4632 if test "$GCC" = yes
4634 AC_MSG_CHECKING(which $CC option to use)
4635 cf_save_CFLAGS="$CFLAGS"
4636 for CC_SHARED_OPTS in -fPIC -fpic ''
4638 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
4639 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
4641 AC_MSG_RESULT($CC_SHARED_OPTS)
4642 CFLAGS="$cf_save_CFLAGS"
4645 cf_cv_shlib_version_infix=no
4647 case $cf_cv_system_name in #(vi
4649 if test "$GCC" = yes; then
4651 MK_SHARED_LIB="$(CC) -shared"
4655 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
4659 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
4660 cf_cv_shlib_version=cygdll
4661 cf_cv_shlib_version_infix=cygdll
4662 cat >mk_shared_lib.sh <<-CF_EOF
4665 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
4668 Linking shared library
4669 ** SHARED_LIB \[$]SHARED_LIB
4670 ** IMPORT_LIB \[$]IMPORT_LIB
4672 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
4674 chmod +x mk_shared_lib.sh
4677 EXTRA_CFLAGS="-no-cpp-precomp"
4678 CC_SHARED_OPTS="-dynamic"
4679 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
4680 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
4681 cf_cv_shlib_version_infix=yes
4682 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
4683 cf_save_LDFLAGS=$LDFLAGS
4684 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
4685 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
4686 LDFLAGS=$cf_save_LDFLAGS])
4687 if test $cf_cv_ldflags_search_paths_first = yes; then
4688 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
4692 # (tested with gcc 2.7.2 -- I don't have c89)
4693 if test "$GCC" = yes; then
4694 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
4697 LD_SHARED_OPTS='-Wl,+b,${libdir}'
4699 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
4700 # HP-UX shared libraries must be executable, and should be
4701 # readonly to exploit a quirk in the memory manager.
4702 INSTALL_LIB="-m 555"
4705 if test "$cf_cv_enable_rpath" = yes ; then
4706 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
4708 # tested with IRIX 5.2 and 'cc'.
4709 if test "$GCC" != yes; then
4710 CC_SHARED_OPTS='-KPIC'
4711 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
4713 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
4715 cf_cv_rm_so_locs=yes
4717 linux*|gnu*|k*bsd*-gnu) #(vi
4718 if test "$DFT_LWR_MODEL" = "shared" ; then
4719 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
4720 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4722 if test "$cf_cv_enable_rpath" = yes ; then
4723 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
4726 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
4728 openbsd[[2-9]].*) #(vi
4729 if test "$DFT_LWR_MODEL" = "shared" ; then
4730 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
4731 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4733 if test "$cf_cv_enable_rpath" = yes ; then
4734 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
4736 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4738 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
4740 nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
4741 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4742 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
4743 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4746 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4747 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
4748 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
4749 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
4750 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
4753 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
4756 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4757 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
4758 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
4759 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4760 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
4761 if test "$cf_cv_shlib_version" = auto; then
4762 if test -f /usr/libexec/ld.elf_so; then
4763 cf_cv_shlib_version=abi
4765 cf_cv_shlib_version=rel
4769 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
4771 MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
4775 # tested with OSF/1 V3.2 and 'cc'
4776 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
4777 # link with shared libs).
4778 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
4779 case $host_os in #(vi
4781 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
4784 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
4785 if test "$DFT_LWR_MODEL" = "shared" ; then
4786 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
4787 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4789 cf_cv_rm_so_locs=yes
4791 sco3.2v5*) # (also uw2* and UW7: hops 13-Apr-98
4792 # tested with osr5.0.5
4793 if test "$GCC" != yes; then
4794 CC_SHARED_OPTS='-belf -KPIC'
4796 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
4797 if test "$cf_cv_enable_rpath" = yes ; then
4798 # only way is to set LD_RUN_PATH but no switch for it
4801 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4802 LINK_PROGS='LD_RUN_PATH=${libdir}'
4803 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
4806 # tested with SunOS 4.1.1 and gcc 2.7.0
4807 if test "$GCC" != yes; then
4808 CC_SHARED_OPTS='-KPIC'
4810 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
4811 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4814 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
4815 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
4816 if test "$DFT_LWR_MODEL" = "shared" ; then
4817 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
4818 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4820 if test "$cf_cv_enable_rpath" = yes ; then
4821 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
4824 if test "$GCC" != yes; then
4825 cf_save_CFLAGS="$CFLAGS"
4826 for cf_shared_opts in -xcode=pic13 -xcode=pic32 -Kpic -KPIC -O
4828 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
4829 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
4831 CFLAGS="$cf_save_CFLAGS"
4832 CC_SHARED_OPTS=$cf_shared_opts
4833 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
4835 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
4838 sysv5uw7*|unix_sv*) #(vi
4839 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
4840 if test "$GCC" != yes; then
4841 CC_SHARED_OPTS='-KPIC'
4843 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
4846 CC_SHARED_OPTS='unknown'
4847 MK_SHARED_LIB='echo unknown'
4851 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
4852 case "$cf_cv_shlib_version" in #(vi
4854 case "$MK_SHARED_LIB" in #(vi
4856 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
4859 AC_MSG_WARN(ignored --with-shlib-version)
4865 if test -n "$cf_ld_rpath_opt" ; then
4866 MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
4869 AC_SUBST(CC_SHARED_OPTS)
4870 AC_SUBST(LD_RPATH_OPT)
4871 AC_SUBST(LD_SHARED_OPTS)
4872 AC_SUBST(MK_SHARED_LIB)
4873 AC_SUBST(LINK_PROGS)
4874 AC_SUBST(LINK_TESTS)
4875 AC_SUBST(EXTRA_LDFLAGS)
4876 AC_SUBST(LOCAL_LDFLAGS)
4877 AC_SUBST(LOCAL_LDFLAGS2)
4878 AC_SUBST(INSTALL_LIB)
4880 dnl ---------------------------------------------------------------------------
4881 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
4882 dnl ----------------
4883 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
4884 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
4887 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
4888 dnl If missing, use "rel".
4889 define([CF_SHARED_SONAME],
4891 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
4892 if test "$cf_cv_shlib_version" = rel; then
4893 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
4895 cf_cv_shared_soname='`basename $[@]`'
4898 dnl ---------------------------------------------------------------------------
4899 dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
4901 dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
4902 dnl programs need this test).
4904 dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
4905 dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
4906 dnl winsize declaration is left alone - we may revisit this if Apple choose to
4907 dnl break that part of the interface as well.
4908 AC_DEFUN([CF_SIGWINCH],
4910 AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
4912 #include <sys/types.h>
4913 #include <sys/signal.h>
4914 ],[int x = SIGWINCH],
4915 [cf_cv_define_sigwinch=yes],
4917 #undef _XOPEN_SOURCE
4918 #undef _POSIX_SOURCE
4919 #undef _POSIX_C_SOURCE
4920 #include <sys/types.h>
4921 #include <sys/signal.h>
4922 ],[int x = SIGWINCH],
4923 [cf_cv_define_sigwinch=maybe],
4924 [cf_cv_define_sigwinch=no])
4928 if test "$cf_cv_define_sigwinch" = maybe ; then
4929 AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
4930 cf_cv_fixup_sigwinch=unknown
4932 while test $cf_sigwinch != 1
4935 #undef _XOPEN_SOURCE
4936 #undef _POSIX_SOURCE
4937 #undef _POSIX_C_SOURCE
4938 #include <sys/types.h>
4939 #include <sys/signal.h>
4941 #if SIGWINCH != $cf_sigwinch
4945 [cf_cv_fixup_sigwinch=$cf_sigwinch
4948 cf_sigwinch=`expr $cf_sigwinch - 1`
4952 if test "$cf_cv_fixup_sigwinch" != unknown ; then
4953 CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
4957 dnl ---------------------------------------------------------------------------
4958 dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
4960 dnl signal handler, but there are some gcc depedencies in that recommendation.
4962 AC_DEFUN([CF_SIG_ATOMIC_T],
4964 AC_MSG_CHECKING(for signal global datatype)
4965 AC_CACHE_VAL(cf_cv_sig_atomic_t,[
4967 "volatile sig_atomic_t" \
4972 #include <sys/types.h>
4978 static void handler(int sig)
4982 [signal(SIGINT, handler);
4984 [cf_cv_sig_atomic_t=$cf_type],
4985 [cf_cv_sig_atomic_t=no])
4986 test "$cf_cv_sig_atomic_t" != no && break
4989 AC_MSG_RESULT($cf_cv_sig_atomic_t)
4990 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
4992 dnl ---------------------------------------------------------------------------
4993 dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
4995 dnl Check for definitions & structures needed for window size-changing
4996 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
4997 AC_DEFUN([CF_SIZECHANGE],
4999 AC_REQUIRE([CF_STRUCT_TERMIOS])
5000 AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
5001 cf_cv_sizechange=unknown
5002 cf_save_CPPFLAGS="$CPPFLAGS"
5004 for cf_opts in "" "NEED_PTEM_H"
5007 CPPFLAGS="$cf_save_CPPFLAGS"
5008 test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
5009 AC_TRY_COMPILE([#include <sys/types.h>
5010 #ifdef HAVE_TERMIOS_H
5011 #include <termios.h>
5013 #ifdef HAVE_TERMIO_H
5018 /* This is a workaround for SCO: they neglected to define struct winsize in
5019 * termios.h -- it's only in termio.h and ptem.h
5021 #include <sys/stream.h>
5022 #include <sys/ptem.h>
5024 #if !defined(sun) || !defined(HAVE_TERMIOS_H)
5025 #include <sys/ioctl.h>
5029 struct ttysize win; /* FIXME: what system is this? */
5030 int y = win.ts_lines;
5031 int x = win.ts_cols;
5038 no TIOCGSIZE or TIOCGWINSZ
5039 #endif /* TIOCGWINSZ */
5040 #endif /* TIOCGSIZE */
5042 [cf_cv_sizechange=yes],
5043 [cf_cv_sizechange=no])
5045 CPPFLAGS="$cf_save_CPPFLAGS"
5046 if test "$cf_cv_sizechange" = yes ; then
5047 echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
5048 test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
5053 if test "$cf_cv_sizechange" != no ; then
5054 AC_DEFINE(HAVE_SIZECHANGE)
5055 case $cf_cv_sizechange in #(vi
5057 AC_DEFINE_UNQUOTED($cf_cv_sizechange )
5062 dnl ---------------------------------------------------------------------------
5063 dnl CF_SRC_MODULES version: 20 updated: 2008/12/27 12:30:03
5065 dnl For each parameter, test if the source-directory exists, and if it contains
5066 dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
5067 dnl use in CF_LIB_RULES.
5069 dnl This uses the configured value to make the lists SRC_SUBDIRS and
5070 dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
5071 AC_DEFUN([CF_SRC_MODULES],
5073 AC_MSG_CHECKING(for src modules)
5075 # dependencies and linker-arguments for test-programs
5076 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
5077 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2"
5078 if test "$DFT_LWR_MODEL" = "libtool"; then
5079 TEST_ARGS="${TEST_DEPS}"
5080 TEST_ARG2="${TEST_DEP2}"
5082 TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
5083 TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
5089 if test -f $srcdir/$cf_dir/modules; then
5091 # We may/may not have tack in the distribution, though the
5093 if test $cf_dir = tack ; then
5094 if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
5099 if test -z "$cf_cv_src_modules"; then
5100 cf_cv_src_modules=$cf_dir
5102 cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
5105 # Make the ncurses_cfg.h file record the library interface files as
5106 # well. These are header files that are the same name as their
5107 # directory. Ncurses is the only library that does not follow
5109 if test $cf_dir = tack ; then
5111 elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
5112 CF_UPPER(cf_have_include,$cf_dir)
5113 AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
5114 AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
5115 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
5116 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2"
5117 if test "$DFT_LWR_MODEL" = "libtool"; then
5118 TEST_ARGS="${TEST_DEPS}"
5119 TEST_ARG2="${TEST_DEP2}"
5121 TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
5122 TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
5127 AC_MSG_RESULT($cf_cv_src_modules)
5129 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
5130 TEST_ARG2="-L${LIB_2ND} $TEST_ARG2"
5139 if test "x$cf_with_manpages" != xno ; then
5140 SRC_SUBDIRS="$SRC_SUBDIRS man"
5142 SRC_SUBDIRS="$SRC_SUBDIRS include"
5143 for cf_dir in $cf_cv_src_modules
5145 SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
5147 SRC_SUBDIRS="$SRC_SUBDIRS test"
5148 test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
5149 test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
5152 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
5153 SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
5154 ADA_SUBDIRS="gen src samples"
5158 for cf_dir in $SRC_SUBDIRS
5160 SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
5163 if test -n "$ADA_SUBDIRS"; then
5164 for cf_dir in $ADA_SUBDIRS
5166 SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
5168 AC_SUBST(ADA_SUBDIRS)
5171 dnl ---------------------------------------------------------------------------
5172 dnl CF_STDCPP_LIBRARY version: 7 updated: 2010/05/29 16:31:02
5173 dnl -----------------
5174 dnl Check for -lstdc++, which is GNU's standard C++ library.
5175 AC_DEFUN([CF_STDCPP_LIBRARY],
5177 if test -n "$GXX" ; then
5178 case $cf_cv_system_name in #(vi
5180 cf_stdcpp_libname=stdcpp
5183 cf_stdcpp_libname=stdc++
5186 AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
5188 CF_ADD_LIB($cf_stdcpp_libname)
5190 #include <strstream.h>],[
5192 strstreambuf foo(buf, sizeof(buf))
5194 [cf_cv_libstdcpp=yes],
5195 [cf_cv_libstdcpp=no])
5198 test "$cf_cv_libstdcpp" = yes && CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS)
5201 dnl ---------------------------------------------------------------------------
5202 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
5204 dnl Remove "-g" option from the compiler options
5205 AC_DEFUN([CF_STRIP_G_OPT],
5206 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
5207 dnl ---------------------------------------------------------------------------
5208 dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
5209 dnl -------------------
5210 dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
5211 dnl do this if we've found the sigaction function.
5213 dnl If needed, define SVR4_ACTION.
5214 AC_DEFUN([CF_STRUCT_SIGACTION],[
5215 if test "$ac_cv_func_sigaction" = yes; then
5216 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
5218 #include <sys/types.h>
5219 #include <signal.h>],
5220 [struct sigaction act],
5224 #define _POSIX_SOURCE
5225 #include <sys/types.h>
5226 #include <signal.h>],
5227 [struct sigaction act],
5229 AC_DEFINE(SVR4_ACTION)],
5230 [sigact_bad=unknown])])
5231 AC_MSG_RESULT($sigact_bad)
5234 dnl ---------------------------------------------------------------------------
5235 dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
5236 dnl -----------------
5237 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
5238 dnl If so, define SVR4_TERMIO
5239 AC_DEFUN([CF_STRUCT_TERMIOS],[
5245 if test "$ISC" = yes ; then
5246 AC_CHECK_HEADERS( sys/termio.h )
5248 if test "$ac_cv_header_termios_h" = yes ; then
5249 case "$CFLAGS $CPPFLAGS" in
5251 termios_bad=dunno ;;
5252 *) termios_bad=maybe ;;
5254 if test "$termios_bad" = maybe ; then
5255 AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
5256 AC_TRY_COMPILE([#include <termios.h>],
5257 [struct termios foo; int x = foo.c_iflag],
5260 #define _POSIX_SOURCE
5261 #include <termios.h>],
5262 [struct termios foo; int x = foo.c_iflag],
5263 termios_bad=unknown,
5264 termios_bad=yes AC_DEFINE(SVR4_TERMIO))
5266 AC_MSG_RESULT($termios_bad)
5270 dnl ---------------------------------------------------------------------------
5271 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
5273 dnl Construct a search-list for a nonstandard header/lib-file
5274 dnl $1 = the variable to return as result
5275 dnl $2 = the package name
5276 dnl $3 = the subdirectory, e.g., bin, include or lib
5277 AC_DEFUN([CF_SUBDIR_PATH],
5281 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
5282 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
5283 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
5284 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
5285 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
5287 dnl ---------------------------------------------------------------------------
5288 dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
5290 dnl Shorthand macro for substituting things that the user may override
5291 dnl with an environment variable.
5293 dnl $1 = long/descriptive name
5294 dnl $2 = environment variable
5295 dnl $3 = default value
5296 AC_DEFUN([CF_SUBST],
5297 [AC_CACHE_VAL(cf_cv_subst_$2,[
5298 AC_MSG_CHECKING(for $1 (symbol $2))
5299 CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
5300 cf_cv_subst_$2=[$]$2
5301 AC_MSG_RESULT([$]$2)
5304 dnl ---------------------------------------------------------------------------
5305 dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
5307 dnl Shorthand macro for substituting things that the user may override
5308 dnl with an environment variable.
5310 dnl $1 = condition to pass to "test"
5311 dnl $2 = environment variable
5312 dnl $3 = value if the test succeeds
5313 dnl $4 = value if the test fails
5314 AC_DEFUN([CF_SUBST_IF],
5323 dnl ---------------------------------------------------------------------------
5324 dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59
5325 dnl ------------------------
5326 dnl Get the version-number for use in shared-library naming, etc.
5327 AC_DEFUN([CF_SUBST_NCURSES_VERSION],
5329 AC_REQUIRE([CF_PROG_EGREP])
5330 NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5331 NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5332 NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5333 cf_cv_abi_version=${NCURSES_MAJOR}
5334 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
5335 dnl Show the computed version, for logging
5336 cf_cv_timestamp=`date`
5337 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
5338 dnl We need these values in the generated headers
5339 AC_SUBST(NCURSES_MAJOR)
5340 AC_SUBST(NCURSES_MINOR)
5341 AC_SUBST(NCURSES_PATCH)
5342 dnl We need these values in the generated makefiles
5343 AC_SUBST(cf_cv_rel_version)
5344 AC_SUBST(cf_cv_abi_version)
5345 AC_SUBST(cf_cv_builtin_bool)
5346 AC_SUBST(cf_cv_header_stdbool_h)
5347 AC_SUBST(cf_cv_type_of_bool)dnl
5349 dnl ---------------------------------------------------------------------------
5350 dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
5351 dnl ------------------
5352 dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
5353 dnl older SCO configurations.
5354 AC_DEFUN([CF_SYS_TIME_SELECT],
5356 AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
5357 AC_CACHE_VAL(cf_cv_sys_time_select,[
5359 #include <sys/types.h>
5360 #ifdef HAVE_SYS_TIME_H
5361 #include <sys/time.h>
5363 #ifdef HAVE_SYS_SELECT_H
5364 #include <sys/select.h>
5366 ],[],[cf_cv_sys_time_select=yes],
5367 [cf_cv_sys_time_select=no])
5369 AC_MSG_RESULT($cf_cv_sys_time_select)
5370 test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
5372 dnl ---------------------------------------------------------------------------
5373 dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
5375 dnl Define a top_builddir symbol, for applications that need an absolute path.
5376 AC_DEFUN([CF_TOP_BUILDDIR],
5379 AC_SUBST(top_builddir)
5381 dnl ---------------------------------------------------------------------------
5382 dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30
5383 dnl ----------------
5384 dnl Determine the type we should use for chtype (and attr_t, which is treated
5385 dnl as the same thing). We want around 32 bits, so on most machines want a
5386 dnl long, but on newer 64-bit machines, probably want an int. If we're using
5387 dnl wide characters, we have to have a type compatible with that, as well.
5388 AC_DEFUN([CF_TYPEOF_CHTYPE],
5390 AC_MSG_CHECKING([for type of chtype])
5391 AC_CACHE_VAL(cf_cv_typeof_chtype,[
5393 #define WANT_BITS 31
5397 FILE *fp = fopen("cf_test.out", "w");
5399 char *result = "long";
5400 if (sizeof(unsigned long) > sizeof(unsigned int)) {
5403 for (n = 0; n < WANT_BITS; n++) {
5406 if (y != 1 || x == 0) {
5412 * If x is nonzero, an int is big enough for the bits
5415 result = (x != 0) ? "int" : "long";
5420 ${cf_cv_main_return:-return}(0);
5423 [cf_cv_typeof_chtype=`cat cf_test.out`],
5424 [cf_cv_typeof_chtype=long],
5425 [cf_cv_typeof_chtype=long])
5428 AC_MSG_RESULT($cf_cv_typeof_chtype)
5430 AC_SUBST(cf_cv_typeof_chtype)
5431 AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
5433 dnl ---------------------------------------------------------------------------
5434 dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
5435 dnl -----------------
5437 AC_DEFUN([CF_TYPE_SIGACTION],
5439 AC_MSG_CHECKING([for type sigaction_t])
5440 AC_CACHE_VAL(cf_cv_type_sigaction,[
5442 #include <signal.h>],
5444 [cf_cv_type_sigaction=yes],
5445 [cf_cv_type_sigaction=no])])
5446 AC_MSG_RESULT($cf_cv_type_sigaction)
5447 test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
5449 dnl ---------------------------------------------------------------------------
5450 dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
5451 dnl --------------------
5452 dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
5453 dnl won't, but they're still there.
5454 AC_DEFUN([CF_UNSIGNED_LITERALS],
5456 AC_MSG_CHECKING([if unsigned literals are legal])
5457 AC_CACHE_VAL(cf_cv_unsigned_literals,[
5458 AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
5459 [cf_cv_unsigned_literals=yes],
5460 [cf_cv_unsigned_literals=no])
5462 AC_MSG_RESULT($cf_cv_unsigned_literals)
5464 dnl ---------------------------------------------------------------------------
5465 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
5467 dnl Make an uppercase version of a variable
5468 dnl $1=uppercase($2)
5469 AC_DEFUN([CF_UPPER],
5471 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
5473 dnl ---------------------------------------------------------------------------
5474 dnl CF_UTF8_LIB version: 6 updated: 2010/04/21 06:20:50
5476 dnl Check for multibyte support, and if not found, utf8 compatibility library
5477 AC_DEFUN([CF_UTF8_LIB],
5479 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
5480 cf_save_LIBS="$LIBS"
5482 #include <stdlib.h>],[putwc(0,0);],
5483 [cf_cv_utf8_lib=yes],
5485 #include <libutf8.h>],[putwc(0,0);],utf8,
5486 [cf_cv_utf8_lib=add-on],
5487 [cf_cv_utf8_lib=no])
5490 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
5492 if test "$cf_cv_utf8_lib" = "add-on" ; then
5493 AC_DEFINE(HAVE_LIBUTF8_H)
5494 CF_ADD_INCDIR($cf_cv_header_path_utf8)
5495 CF_ADD_LIBDIR($cf_cv_library_path_utf8)
5496 LIBS="$cf_cv_library_file_utf8 $LIBS"
5499 dnl ---------------------------------------------------------------------------
5500 dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
5502 dnl check for va_copy, part of stdarg.h
5503 dnl Also, workaround for glibc's __va_copy, by checking for both.
5504 AC_DEFUN([CF_VA_COPY],[
5505 AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
5512 cf_cv_have_va_copy=yes,
5513 cf_cv_have_va_copy=no)])
5515 test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
5517 AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
5523 __va_copy(dst, src)],
5524 cf_cv_have___va_copy=yes,
5525 cf_cv_have___va_copy=no)])
5527 test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
5529 dnl ---------------------------------------------------------------------------
5530 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
5532 dnl Use AC_VERBOSE w/o the warnings
5533 AC_DEFUN([CF_VERBOSE],
5534 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
5537 dnl ---------------------------------------------------------------------------
5538 dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
5540 dnl Check if type wide-character type $1 is declared, and if so, which header
5541 dnl file is needed. The second parameter is used to set a shell variable when
5542 dnl the type is not found. The first parameter sets a shell variable for the
5544 AC_DEFUN([CF_WCHAR_TYPE],
5546 # This is needed on Tru64 5.0 to declare $1
5547 AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
5552 #ifdef HAVE_LIBUTF8_H
5553 #include <libutf8.h>
5562 #ifdef HAVE_LIBUTF8_H
5563 #include <libutf8.h>
5567 [cf_cv_$1=unknown])])])
5569 if test "$cf_cv_$1" = yes ; then
5570 AC_DEFINE(NEED_WCHAR_H)
5575 # if we do not find $1 in either place, use substitution to provide a fallback.
5576 if test "$cf_cv_$1" = unknown ; then
5581 # if we find $1 in either place, use substitution to provide a fallback.
5582 if test "$cf_cv_$1" != unknown ; then
5587 dnl ---------------------------------------------------------------------------
5588 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
5590 dnl Check for compiler-support for weak symbols.
5591 dnl This works with "recent" gcc.
5592 AC_DEFUN([CF_WEAK_SYMBOLS],[
5593 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
5596 #include <stdio.h>],
5598 #if defined(__GNUC__)
5599 # if defined __USE_ISOC99
5600 # define _cat_pragma(exp) _Pragma(#exp)
5601 # define _weak_pragma(exp) _cat_pragma(weak name)
5603 # define _weak_pragma(exp)
5605 # define _declare(name) __extension__ extern __typeof__(name) name
5606 # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
5610 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
5613 dnl ---------------------------------------------------------------------------
5614 dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
5615 dnl -------------------
5616 dnl Allow library's ABI to be overridden. Generally this happens when a
5617 dnl packager has incremented the ABI past that used in the original package,
5618 dnl and wishes to keep doing this.
5620 dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
5622 AC_DEFUN([CF_WITH_ABI_VERSION],[
5623 test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
5624 AC_ARG_WITH(abi-version,
5625 [ --with-abi-version=XXX override derived ABI version],
5626 [AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
5627 cf_cv_abi_version=$withval])
5628 CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
5630 $1_ABI=$cf_cv_abi_version
5633 dnl ---------------------------------------------------------------------------
5634 dnl CF_WITH_DBMALLOC version: 6 updated: 2006/12/16 14:24:05
5635 dnl ----------------
5636 dnl Configure-option for dbmalloc. The optional parameter is used to override
5637 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
5638 AC_DEFUN([CF_WITH_DBMALLOC],[
5639 CF_NO_LEAKS_OPTION(dbmalloc,
5640 [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
5643 if test "$with_dbmalloc" = yes ; then
5644 AC_CHECK_HEADER(dbmalloc.h,
5645 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))])
5648 dnl ---------------------------------------------------------------------------
5649 dnl CF_WITH_DMALLOC version: 6 updated: 2006/12/16 14:24:05
5651 dnl Configure-option for dmalloc. The optional parameter is used to override
5652 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
5653 AC_DEFUN([CF_WITH_DMALLOC],[
5654 CF_NO_LEAKS_OPTION(dmalloc,
5655 [ --with-dmalloc test: use Gray Watson's dmalloc library],
5658 if test "$with_dmalloc" = yes ; then
5659 AC_CHECK_HEADER(dmalloc.h,
5660 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))])
5663 dnl ---------------------------------------------------------------------------
5664 dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54
5667 dnl The option parameter (if neither yes/no) is assumed to be the name of
5668 dnl the gpm library, e.g., for dynamic loading.
5669 AC_DEFUN([CF_WITH_GPM],
5671 AC_MSG_CHECKING(if you want to link with the GPM mouse library)
5673 [ --with-gpm use Alessandro Rubini's GPM library],
5674 [with_gpm=$withval],
5676 AC_MSG_RESULT($with_gpm)
5678 if test "$with_gpm" != no ; then
5679 AC_CHECK_HEADER(gpm.h,[
5680 AC_DEFINE(HAVE_GPM_H)
5681 if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
5682 CF_VERBOSE(assuming we really have GPM library)
5683 AC_DEFINE(HAVE_LIBGPM)
5685 AC_CHECK_LIB(gpm,Gpm_Open,[:],[
5686 AC_MSG_ERROR(Cannot link with GPM library)
5691 test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
5696 dnl ---------------------------------------------------------------------------
5697 dnl CF_WITH_LIBTOOL version: 25 updated: 2010/05/15 15:45:59
5699 dnl Provide a configure option to incorporate libtool. Define several useful
5700 dnl symbols for the makefile rules.
5702 dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
5703 dnl macros from libtool.m4 which is in the aclocal directory of automake.
5704 dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
5705 dnl But that still does not work properly since the macro is expanded outside
5706 dnl the CF_WITH_LIBTOOL macro:
5709 dnl ACLOCAL=`aclocal --print-ac-dir`
5710 dnl if test -z "$ACLOCAL" ; then
5711 dnl echo cannot find aclocal directory
5713 dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
5714 dnl echo cannot find libtool.m4 file
5718 dnl LOCAL=aclocal.m4
5719 dnl ORIG=aclocal.m4.orig
5721 dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
5725 dnl # sed the LIBTOOL= assignment to omit the current directory?
5726 dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
5727 dnl cat $ORIG >>$LOCAL
5731 AC_DEFUN([CF_WITH_LIBTOOL],
5733 AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION])
5734 ifdef([AC_PROG_LIBTOOL],,[
5737 # common library maintenance symbols that are convenient for libtool scripts:
5738 LIB_CREATE='${AR} -cr'
5739 LIB_OBJECT='${OBJECTS}'
5743 # symbols used to prop libtool up to enable it to determine what it should be
5751 AC_MSG_CHECKING(if you want to build libraries with libtool)
5752 AC_ARG_WITH(libtool,
5753 [ --with-libtool generate libraries with libtool],
5754 [with_libtool=$withval],
5756 AC_MSG_RESULT($with_libtool)
5757 if test "$with_libtool" != "no"; then
5758 ifdef([AC_PROG_LIBTOOL],[
5759 # missing_content_AC_PROG_LIBTOOL{{
5761 # missing_content_AC_PROG_LIBTOOL}}
5763 if test "$with_libtool" != "yes" ; then
5764 CF_PATH_SYNTAX(with_libtool)
5765 LIBTOOL=$with_libtool
5767 AC_PATH_PROG(LIBTOOL,libtool)
5769 if test -z "$LIBTOOL" ; then
5770 AC_MSG_ERROR(Cannot find libtool)
5773 LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} -o'
5774 LIB_OBJECT='${OBJECTS:.o=.lo}'
5776 LIB_CLEAN='${LIBTOOL} --mode=clean'
5777 LIB_COMPILE='${LIBTOOL} --mode=compile'
5778 LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
5779 LIB_INSTALL='${LIBTOOL} --mode=install'
5780 LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
5783 # Show the version of libtool
5784 AC_MSG_CHECKING(version of libtool)
5786 # Save the version in a cache variable - this is not entirely a good
5787 # thing, but the version string from libtool is very ugly, and for
5788 # bug reports it might be useful to have the original string. "("
5789 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.]].*//'`
5790 AC_MSG_RESULT($cf_cv_libtool_version)
5791 if test -z "$cf_cv_libtool_version" ; then
5792 AC_MSG_ERROR(This is not GNU libtool)
5795 # special hack to add -no-undefined (which libtool should do for itself)
5797 case "$cf_cv_system_name" in #(vi
5798 cygwin*|mingw32*|uwin*|aix[[456]]) #(vi
5799 LT_UNDEF=-no-undefined
5802 AC_SUBST([LT_UNDEF])
5804 # special hack to add --tag option for C++ compiler
5805 case $cf_cv_libtool_version in #(vi
5806 1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi
5807 LIBTOOL_CXX="$LIBTOOL --tag=CXX"
5808 LIBTOOL="$LIBTOOL --tag=CC"
5811 LIBTOOL_CXX="$LIBTOOL"
5819 test -z "$LIBTOOL" && ECHO_LT=
5822 AC_SUBST(LIBTOOL_CXX)
5823 AC_SUBST(LIBTOOL_OPTS)
5825 AC_SUBST(LIB_CREATE)
5826 AC_SUBST(LIB_OBJECT)
5827 AC_SUBST(LIB_SUFFIX)
5831 AC_SUBST(LIB_COMPILE)
5833 AC_SUBST(LIB_INSTALL)
5834 AC_SUBST(LIB_UNINSTALL)
5837 dnl ---------------------------------------------------------------------------
5838 dnl CF_WITH_PATH version: 9 updated: 2010/05/26 05:38:42
5840 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
5841 dnl defaulting to yes/no.
5843 dnl $1 = option name
5845 dnl $3 = environment variable to set
5846 dnl $4 = default value, shown in the help-message, must be a constant
5847 dnl $5 = default value, if it's an expression & cannot be in the help-message
5849 AC_DEFUN([CF_WITH_PATH],
5850 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
5851 ifelse([$4],,[withval="${$3}"],[withval="${$3-ifelse([$5],,[$4],[$5])}"]))dnl
5852 if ifelse([$5],,true,[test -n "$5"]) ; then
5853 CF_PATH_SYNTAX(withval)
5858 dnl ---------------------------------------------------------------------------
5859 dnl CF_WITH_PATHLIST version: 6 updated: 2009/01/11 20:30:23
5860 dnl ----------------
5861 dnl Process an option specifying a list of colon-separated paths.
5863 dnl $1 = option name
5865 dnl $3 = environment variable to set
5866 dnl $4 = default value, shown in the help-message, must be a constant
5867 dnl $5 = default value, if it's an expression & cannot be in the help-message
5868 dnl $6 = flag to tell if we want to define or substitute
5870 AC_DEFUN([CF_WITH_PATHLIST],[
5871 AC_REQUIRE([CF_PATHSEP])
5872 AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
5873 ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
5875 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATH_SEPARATOR}"
5877 for cf_src_path in $withval
5879 CF_PATH_SYNTAX(cf_src_path)
5880 test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
5881 cf_dst_path="${cf_dst_path}${cf_src_path}"
5886 # Strip single quotes from the value, e.g., when it was supplied as a literal
5888 case $cf_dst_path in #(vi
5890 cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
5893 cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
5896 eval '$3="$cf_dst_path"'
5900 dnl ---------------------------------------------------------------------------
5901 dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
5903 dnl Check for POSIX thread library.
5904 AC_DEFUN([CF_WITH_PTHREAD],
5906 AC_MSG_CHECKING(if you want to link with the pthread library)
5907 AC_ARG_WITH(pthread,
5908 [ --with-pthread use POSIX thread library],
5909 [with_pthread=$withval],
5911 AC_MSG_RESULT($with_pthread)
5913 if test "$with_pthread" != no ; then
5914 AC_CHECK_HEADER(pthread.h,[
5915 AC_DEFINE(HAVE_PTHREADS_H)
5917 AC_MSG_CHECKING(if we can link with the pthread library)
5918 cf_save_LIBS="$LIBS"
5921 #include <pthread.h>
5923 int rc = pthread_create(0,0,0,0);
5924 ],[with_pthread=yes],[with_pthread=no])
5925 LIBS="$cf_save_LIBS"
5926 AC_MSG_RESULT($with_pthread)
5928 if test "$with_pthread" = yes ; then
5930 AC_DEFINE(HAVE_LIBPTHREADS)
5932 AC_MSG_ERROR(Cannot link with pthread library)
5937 dnl ---------------------------------------------------------------------------
5938 dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
5939 dnl -------------------
5940 dnl Allow library's release-version to be overridden. Generally this happens when a
5941 dnl packager has incremented the release-version past that used in the original package,
5942 dnl and wishes to keep doing this.
5944 dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
5945 dnl and {package}_MINOR symbols
5947 AC_DEFUN([CF_WITH_REL_VERSION],[
5948 test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
5949 AC_ARG_WITH(rel-version,
5950 [ --with-rel-version=XXX override derived release version],
5951 [AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
5952 cf_cv_rel_version=$withval])
5954 CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
5956 $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
5957 $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
5958 CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
5959 CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
5962 dnl ---------------------------------------------------------------------------
5963 dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
5964 dnl ----------------
5965 dnl If we can compile with sysmouse, make it available unless it is not wanted.
5966 AC_DEFUN([CF_WITH_SYSMOUSE],[
5967 # not everyone has "test -c"
5968 if test -c /dev/sysmouse 2>/dev/null ; then
5969 AC_MSG_CHECKING(if you want to use sysmouse)
5970 AC_ARG_WITH(sysmouse,
5971 [ --with-sysmouse use sysmouse (FreeBSD console)],
5972 [cf_with_sysmouse=$withval],
5973 [cf_with_sysmouse=maybe])
5974 if test "$cf_with_sysmouse" != no ; then
5976 #include <osreldate.h>
5977 #if (__FreeBSD_version >= 400017)
5978 #include <sys/consio.h>
5979 #include <sys/fbio.h>
5981 #include <machine/console.h>
5984 struct mouse_info the_mouse;
5985 ioctl(0, CONS_MOUSECTL, &the_mouse);
5986 ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
5988 AC_MSG_RESULT($cf_with_sysmouse)
5989 test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
5992 dnl ---------------------------------------------------------------------------
5993 dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
5994 dnl ----------------
5995 AC_DEFUN([CF_WITH_VALGRIND],[
5996 CF_NO_LEAKS_OPTION(valgrind,
5997 [ --with-valgrind test: use valgrind],
6000 dnl ---------------------------------------------------------------------------
6001 dnl CF_XOPEN_SOURCE version: 34 updated: 2010/05/26 05:38:42
6003 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
6004 dnl or adapt to the vendor's definitions to get equivalent functionality,
6005 dnl without losing the common non-POSIX features.
6008 dnl $1 is the nominal value for _XOPEN_SOURCE
6009 dnl $2 is the nominal value for _POSIX_C_SOURCE
6010 AC_DEFUN([CF_XOPEN_SOURCE],[
6012 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
6013 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
6016 case $host_os in #(vi
6018 cf_xopen_source="-D_ALL_SOURCE"
6020 darwin[[0-8]].*) #(vi
6021 cf_xopen_source="-D_APPLE_C_SOURCE"
6024 cf_xopen_source="-D_DARWIN_C_SOURCE"
6026 freebsd*|dragonfly*) #(vi
6027 # 5.x headers associate
6028 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
6029 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
6030 cf_POSIX_C_SOURCE=200112L
6032 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6035 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
6038 cf_xopen_source="-D_HPUX_SOURCE"
6041 cf_xopen_source="-D_SGI_SOURCE"
6043 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
6047 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
6050 # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
6053 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
6056 cf_xopen_source="-D_OSF_SOURCE"
6059 cf_xopen_source="-D_QNX_SOURCE"
6062 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
6064 solaris2.1[[0-9]]) #(vi
6065 cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6067 solaris2.[[1-9]]) #(vi
6068 cf_xopen_source="-D__EXTENSIONS__"
6071 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
6072 AC_TRY_COMPILE([#include <sys/types.h>],[
6073 #ifndef _XOPEN_SOURCE
6076 [cf_cv_xopen_source=no],
6077 [cf_save="$CPPFLAGS"
6078 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6079 AC_TRY_COMPILE([#include <sys/types.h>],[
6080 #ifdef _XOPEN_SOURCE
6083 [cf_cv_xopen_source=no],
6084 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
6088 if test "$cf_cv_xopen_source" != no ; then
6089 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
6090 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
6091 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
6092 CF_ADD_CFLAGS($cf_temp_xopen_source)
6094 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
6098 if test -n "$cf_xopen_source" ; then
6099 CF_ADD_CFLAGS($cf_xopen_source)