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.513 2010/04/17 20:33:27 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: 9 updated: 2010/01/09 11:05:50
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: 12 updated: 2009/01/18 10:00:47
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_LIBDIR version: 8 updated: 2009/01/18 10:01:08
236 dnl Adds to the library-path
238 dnl Some machines have trouble with multiple -L options.
240 dnl $1 is the (list of) directory(s) to add
241 dnl $2 is the optional name of the variable to update (default LDFLAGS)
243 AC_DEFUN([CF_ADD_LIBDIR],
245 if test -n "$1" ; then
246 for cf_add_libdir in $1
248 if test $cf_add_libdir = /usr/lib ; then
250 elif test -d $cf_add_libdir
253 if test -n "$LDFLAGS$LIBS" ; then
254 # a loop is needed to ensure we can add subdirs of existing dirs
255 for cf_test_libdir in $LDFLAGS $LIBS ; do
256 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
257 cf_have_libdir=yes; break
261 if test "$cf_have_libdir" = no ; then
262 CF_VERBOSE(adding $cf_add_libdir to library-path)
263 ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,$2)"
269 dnl ---------------------------------------------------------------------------
270 dnl CF_ADD_SUBDIR_PATH version: 2 updated: 2007/07/29 10:12:59
271 dnl ------------------
272 dnl Append to a search-list for a nonstandard header/lib-file
273 dnl $1 = the variable to return as result
274 dnl $2 = the package name
275 dnl $3 = the subdirectory, e.g., bin, include or lib
276 dnl $4 = the directory under which we will test for subdirectories
277 dnl $5 = a directory that we do not want $4 to match
278 AC_DEFUN([CF_ADD_SUBDIR_PATH],
280 test "$4" != "$5" && \
282 ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
283 test -n "$verbose" && echo " ... testing for $3-directories under $4"
284 test -d $4/$3 && $1="[$]$1 $4/$3"
285 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
286 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
287 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
288 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
291 dnl ---------------------------------------------------------------------------
292 dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
294 dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
295 dnl in the sharutils 4.2 distribution.
296 AC_DEFUN([CF_ANSI_CC_CHECK],
298 AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
300 cf_save_CFLAGS="$CFLAGS"
301 cf_save_CPPFLAGS="$CPPFLAGS"
302 # Don't try gcc -ansi; that turns off useful extensions and
303 # breaks some systems' header files.
305 # Ultrix and OSF/1 -std1
306 # HP-UX -Aa -D_HPUX_SOURCE
308 # UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
309 for cf_arg in "-DCC_HAS_PROTOS" \
314 "-Aa -D_HPUX_SOURCE" \
317 CF_ADD_CFLAGS($cf_arg)
320 #ifndef CC_HAS_PROTOS
321 #if !defined(__STDC__) || (__STDC__ != 1)
326 int test (int i, double x);
327 struct s1 {int (*f) (int a);};
328 struct s2 {int (*f) (double a);};],
329 [cf_cv_ansi_cc="$cf_arg"; break])
331 CFLAGS="$cf_save_CFLAGS"
332 CPPFLAGS="$cf_save_CPPFLAGS"
335 if test "$cf_cv_ansi_cc" != "no"; then
336 if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
337 CF_ADD_CFLAGS($cf_cv_ansi_cc)
339 AC_DEFINE(CC_HAS_PROTOS)
343 dnl ---------------------------------------------------------------------------
344 dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
346 dnl For programs that must use an ANSI compiler, obtain compiler options that
347 dnl will make it recognize prototypes. We'll do preprocessor checks in other
348 dnl macros, since tools such as unproto can fake prototypes, but only part of
349 dnl the preprocessor.
350 AC_DEFUN([CF_ANSI_CC_REQD],
351 [AC_REQUIRE([CF_ANSI_CC_CHECK])
352 if test "$cf_cv_ansi_cc" = "no"; then
354 [Your compiler does not appear to recognize prototypes.
355 You have the following choices:
356 a. adjust your compiler options
357 b. get an up-to-date compiler
358 c. use a wrapper such as unproto])
361 dnl ---------------------------------------------------------------------------
362 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
364 dnl Allow user to disable a normally-on option.
365 AC_DEFUN([CF_ARG_DISABLE],
366 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
367 dnl ---------------------------------------------------------------------------
368 dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41
370 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
376 dnl $3 = action to perform if option is not default
377 dnl $4 = action if perform if option is default
378 dnl $5 = default option value (either 'yes' or 'no')
379 AC_DEFUN([CF_ARG_OPTION],
380 [AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)
381 if test "$enableval" != "$5" ; then
383 ,[ $3]) ifelse($4,,,[
386 fi],[enableval=$5 ifelse($4,,,[
390 dnl ---------------------------------------------------------------------------
391 dnl CF_AR_FLAGS version: 4 updated: 2009/02/07 13:42:23
393 dnl Check for suitable "ar" (archiver) options for updating an archive.
394 AC_DEFUN([CF_AR_FLAGS],[
395 AC_REQUIRE([CF_PROG_AR])
397 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
398 cf_cv_ar_flags=unknown
399 for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
401 rm -f conftest.$ac_cv_objext
404 cat >conftest.$ac_ext <<EOF
405 #line __oline__ "configure"
406 int testdata[[3]] = { 123, 456, 789 };
408 if AC_TRY_EVAL(ac_compile) ; then
409 $AR $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
410 if test -f conftest.a ; then
411 cf_cv_ar_flags=$cf_ar_flags
415 CF_VERBOSE(cannot compile test-program)
419 rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
421 test -z "$ARFLAGS" && ARFLAGS=$cf_cv_ar_flags
422 AC_SUBST(ARFLAGS,$cf_cv_ar_flags)
424 dnl ---------------------------------------------------------------------------
425 dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03
426 dnl -----------------
427 dnl Check if awk can handle big strings using printf. Some older versions of
428 dnl awk choke on large strings passed via "%s".
430 dnl $1 = desired string size
431 dnl $2 = variable to set with result
432 AC_DEFUN([CF_AWK_BIG_PRINTF],
439 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
440 | $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
448 dnl ---------------------------------------------------------------------------
449 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
451 dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
452 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
453 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
455 dnl Treat the configuration-variable specially here, since we're directly
456 dnl substituting its value (i.e., 1/0).
458 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
459 AC_DEFUN([CF_BOOL_DECL],
461 AC_MSG_CHECKING(if we should include stdbool.h)
463 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
464 AC_TRY_COMPILE([],[bool foo = false],
465 [cf_cv_header_stdbool_h=0],
470 ],[bool foo = false],
471 [cf_cv_header_stdbool_h=1],
472 [cf_cv_header_stdbool_h=0])])])
474 if test "$cf_cv_header_stdbool_h" = 1
475 then AC_MSG_RESULT(yes)
476 else AC_MSG_RESULT(no)
479 AC_MSG_CHECKING([for builtin bool type])
481 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
484 #include <sys/types.h>
486 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
487 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
490 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
491 then AC_MSG_RESULT(yes)
492 else AC_MSG_RESULT(no)
495 dnl ---------------------------------------------------------------------------
496 dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
498 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
499 dnl Don't bother looking for bool.h, since it's been deprecated.
501 dnl If the current compiler is C rather than C++, we get the bool definition
502 dnl from <stdbool.h>.
503 AC_DEFUN([CF_BOOL_SIZE],
505 AC_MSG_CHECKING([for size of bool])
506 AC_CACHE_VAL(cf_cv_type_of_bool,[
512 #if defined(__cplusplus)
514 #ifdef HAVE_GXX_BUILTIN_H
515 #include <g++/builtin.h>
516 #elif HAVE_GPP_BUILTIN_H
517 #include <gpp/builtin.h>
524 #if $cf_cv_header_stdbool_h
532 FILE *fp = fopen("cf_test.out", "w");
536 fputs("unsigned ", fp);
537 if (sizeof(x) == sizeof(int)) fputs("int", fp);
538 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
539 else if (sizeof(x) == sizeof(short))fputs("short",fp);
540 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
543 ${cf_cv_main_return:-return}(0);
546 [cf_cv_type_of_bool=`cat cf_test.out`
547 if test -z "$cf_cv_type_of_bool"; then
548 cf_cv_type_of_bool=unknown
550 [cf_cv_type_of_bool=unknown],
551 [cf_cv_type_of_bool=unknown])
554 AC_MSG_RESULT($cf_cv_type_of_bool)
555 if test "$cf_cv_type_of_bool" = unknown ; then
556 case .$NCURSES_BOOL in #(vi
557 .auto|.) NCURSES_BOOL=unsigned;;
559 AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
560 cf_cv_type_of_bool=$NCURSES_BOOL
563 dnl ---------------------------------------------------------------------------
564 dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
566 dnl If we're cross-compiling, allow the user to override the tools and their
567 dnl options. The configure script is oriented toward identifying the host
568 dnl compiler, etc., but we need a build compiler to generate parts of the
571 dnl $1 = default for $CPPFLAGS
572 dnl $2 = default for $LIBS
573 AC_DEFUN([CF_BUILD_CC],[
574 AC_REQUIRE([CF_PROG_EXT])
575 if test "$cross_compiling" = yes ; then
577 # defaults that we might want to override
578 : ${BUILD_CFLAGS:=''}
579 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
580 : ${BUILD_LDFLAGS:=''}
581 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
582 : ${BUILD_EXEEXT:='$x'}
583 : ${BUILD_OBJEXT:='o'}
585 AC_ARG_WITH(build-cc,
586 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
587 [BUILD_CC="$withval"],
588 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
589 AC_MSG_CHECKING(for native build C compiler)
590 AC_MSG_RESULT($BUILD_CC)
592 AC_MSG_CHECKING(for native build C preprocessor)
593 AC_ARG_WITH(build-cpp,
594 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
595 [BUILD_CPP="$withval"],
596 [BUILD_CPP='${BUILD_CC} -E'])
597 AC_MSG_RESULT($BUILD_CPP)
599 AC_MSG_CHECKING(for native build C flags)
600 AC_ARG_WITH(build-cflags,
601 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
602 [BUILD_CFLAGS="$withval"])
603 AC_MSG_RESULT($BUILD_CFLAGS)
605 AC_MSG_CHECKING(for native build C preprocessor-flags)
606 AC_ARG_WITH(build-cppflags,
607 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
608 [BUILD_CPPFLAGS="$withval"])
609 AC_MSG_RESULT($BUILD_CPPFLAGS)
611 AC_MSG_CHECKING(for native build linker-flags)
612 AC_ARG_WITH(build-ldflags,
613 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
614 [BUILD_LDFLAGS="$withval"])
615 AC_MSG_RESULT($BUILD_LDFLAGS)
617 AC_MSG_CHECKING(for native build linker-libraries)
618 AC_ARG_WITH(build-libs,
619 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
620 [BUILD_LIBS="$withval"])
621 AC_MSG_RESULT($BUILD_LIBS)
623 # this assumes we're on Unix.
627 : ${BUILD_CC:='${CC}'}
629 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
630 AC_MSG_ERROR([Cross-build requires two compilers.
631 Use --with-build-cc to specify the native compiler.])
635 : ${BUILD_CC:='${CC}'}
636 : ${BUILD_CPP:='${CPP}'}
637 : ${BUILD_CFLAGS:='${CFLAGS}'}
638 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
639 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
640 : ${BUILD_LIBS:='${LIBS}'}
641 : ${BUILD_EXEEXT:='$x'}
642 : ${BUILD_OBJEXT:='o'}
647 AC_SUBST(BUILD_CFLAGS)
648 AC_SUBST(BUILD_CPPFLAGS)
649 AC_SUBST(BUILD_LDFLAGS)
651 AC_SUBST(BUILD_EXEEXT)
652 AC_SUBST(BUILD_OBJEXT)
654 dnl ---------------------------------------------------------------------------
655 dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
657 dnl Determine the default configuration into which we'll install ncurses. This
658 dnl can be overridden by the user's command-line options. There's two items to
660 dnl 1. the prefix (e.g., /usr)
661 dnl 2. the header files (e.g., /usr/include/ncurses)
662 dnl We'll look for a previous installation of ncurses and use the same defaults.
664 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
665 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
666 dnl programs from a vendor's.
667 AC_DEFUN([CF_CFG_DEFAULTS],
669 AC_MSG_CHECKING(for prefix)
670 if test "x$prefix" = "xNONE" ; then
671 case "$cf_cv_system_name" in
672 # non-vendor systems don't have a conflict
673 openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
676 *) prefix=$ac_default_prefix
680 AC_MSG_RESULT($prefix)
682 if test "x$prefix" = "xNONE" ; then
683 AC_MSG_CHECKING(for default include-directory)
684 test -n "$verbose" && echo 1>&AC_FD_MSG
687 $includedir/ncurses \
689 $prefix/include/ncurses \
691 /usr/local/include/ncurses \
695 cf_dir=`eval echo $cf_symbol`
696 if test -f $cf_dir/curses.h ; then
697 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
698 includedir="$cf_symbol"
699 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
703 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
705 AC_MSG_RESULT($includedir)
708 dnl ---------------------------------------------------------------------------
709 dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
711 dnl Check if the terminal-capability database functions are available. If not,
712 dnl ncurses has a much-reduced version.
713 AC_DEFUN([CF_CGETENT],[
714 AC_MSG_CHECKING(for terminal-capability database functions)
715 AC_CACHE_VAL(cf_cv_cgetent,[
717 #include <stdlib.h>],[
720 char *db_array = temp;
721 cgetent(&buf, /* int *, */ &db_array, "vt100");
722 cgetcap(buf, "tc", '=');
723 cgetmatch(buf, "tc");
728 AC_MSG_RESULT($cf_cv_cgetent)
729 test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
731 dnl ---------------------------------------------------------------------------
732 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
734 dnl Check if we're accidentally using a cache from a different machine.
735 dnl Derive the system name, as a check for reusing the autoconf cache.
737 dnl If we've packaged config.guess and config.sub, run that (since it does a
738 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
739 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
740 dnl which is useful in cross-compiles.
742 dnl Note: we would use $ac_config_sub, but that is one of the places where
743 dnl autoconf 2.5x broke compatibility with autoconf 2.13
744 AC_DEFUN([CF_CHECK_CACHE],
746 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
747 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
748 system_name="$host_os"
750 system_name="`(uname -s -r) 2>/dev/null`"
751 if test -z "$system_name" ; then
752 system_name="`(hostname) 2>/dev/null`"
755 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
756 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
758 test -z "$system_name" && system_name="$cf_cv_system_name"
759 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
761 if test ".$system_name" != ".$cf_cv_system_name" ; then
762 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
763 AC_MSG_ERROR("Please remove config.cache and try again.")
766 dnl ---------------------------------------------------------------------------
767 dnl CF_CHECK_ERRNO version: 10 updated: 2008/08/22 16:33:22
769 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
770 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
773 dnl $1 = the name to check
774 dnl $2 = the assumed type
775 AC_DEFUN([CF_CHECK_ERRNO],
777 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
783 #include <sys/types.h>
784 #include <errno.h> ],
785 ifelse($2,,int,$2) x = (ifelse($2,,int,$2)) $1,
790 if test "$cf_cv_dcl_$1" = no ; then
791 CF_UPPER(cf_result,decl_$1)
792 AC_DEFINE_UNQUOTED($cf_result)
795 # It's possible (for near-UNIX clones) that the data doesn't exist
796 CF_CHECK_EXTERN_DATA($1,ifelse($2,,int,$2))
798 dnl ---------------------------------------------------------------------------
799 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
800 dnl --------------------
801 dnl Check for existence of external data in the current set of libraries. If
802 dnl we can modify it, it's real enough.
803 dnl $1 = the name to check
805 AC_DEFUN([CF_CHECK_EXTERN_DATA],
807 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
817 if test "$cf_cv_have_$1" = yes ; then
818 CF_UPPER(cf_result,have_$1)
819 AC_DEFINE_UNQUOTED($cf_result)
823 dnl ---------------------------------------------------------------------------
824 dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06
825 dnl -------------------
826 dnl Check if GPM is already linked with curses. If so - and if the linkage
827 dnl is not "weak" - warn about this because it can create problems linking
828 dnl applications with ncurses.
829 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
830 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
832 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
833 cf_cv_check_gpm_wgetch=unknown
834 if test "$cross_compiling" != yes ; then
836 cat >conftest.$ac_ext <<CF_EOF
841 ${cf_cv_main_return:-return}(0);
846 # This only works if we can look at the symbol table. If a shared
847 # library is stripped for install, we cannot use that. So we're forced
848 # to rely on the static library, noting that some packagers may not
850 LIBS="-static -lgpm -dynamic $LIBS"
851 if AC_TRY_EVAL(ac_compile) ; then
852 if AC_TRY_EVAL(ac_link) ; then
853 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
854 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
855 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
863 if test "$cf_cv_check_gpm_wgetch" != yes ; then
864 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
867 dnl ---------------------------------------------------------------------------
868 dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
869 dnl -----------------
870 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
871 dnl is a late feature for the standard and is not in some recent compilers
873 AC_DEFUN([CF_CPP_PARAM_INIT],
875 if test -n "$CXX"; then
876 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
888 TEST::TEST(int x = 1) // some compilers do not like second initializer
894 [cf_cv_cpp_param_init=yes],
895 [cf_cv_cpp_param_init=no],
896 [cf_cv_cpp_param_init=unknown])
900 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
902 dnl ---------------------------------------------------------------------------
903 dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
904 dnl ------------------
905 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
906 dnl not be supported in g++ before 3.0
907 AC_DEFUN([CF_CPP_STATIC_CAST],
909 if test -n "$CXX"; then
911 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
919 NCursesPanel(int nlines,
929 template<class T> class NCursesUserPanel : public NCursesPanel
932 NCursesUserPanel (int nlines,
936 const T* p_UserData = static_cast<T*>(0))
937 : NCursesPanel (nlines, ncols, begin_y, begin_x)
940 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
944 virtual ~NCursesUserPanel() {};
947 const char* p_UserData = static_cast<char*>(0)],
948 [cf_cv_cpp_static_cast=yes],
949 [cf_cv_cpp_static_cast=no])
956 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
958 dnl ---------------------------------------------------------------------------
959 dnl CF_C_INLINE version: 2 updated: 2007/08/11 14:09:50
961 dnl Check if the C compiler supports "inline".
962 dnl $1 is the name of a shell variable to set if inline is supported
963 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
964 AC_DEFUN([CF_C_INLINE],[
967 if test "$ac_cv_c_inline" != no ; then
969 if test "$INTEL_COMPILER" = yes
972 elif test "$GCC" = yes
974 AC_CACHE_CHECK(if gcc supports options to tune inlining,cf_cv_gcc_inline,[
975 cf_save_CFLAGS=$CFLAGS
976 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
977 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
978 [${cf_cv_main_return:-return} foo()],
979 [cf_cv_gcc_inline=yes],
980 [cf_cv_gcc_inline=no])
981 CFLAGS=$cf_save_CFLAGS
983 if test "$cf_cv_gcc_inline" = yes ; then
984 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
990 dnl ---------------------------------------------------------------------------
991 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
993 dnl "dirname" is not portable, so we fake it with a shell script.
994 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
995 dnl ---------------------------------------------------------------------------
996 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
998 AC_DEFUN([CF_DIRS_TO_MAKE],
1001 for cf_item in $cf_list_models
1003 CF_OBJ_SUBDIR($cf_item,cf_subdir)
1004 for cf_item2 in $DIRS_TO_MAKE
1006 test $cf_item2 = $cf_subdir && break
1008 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1010 for cf_dir in $DIRS_TO_MAKE
1012 test ! -d $cf_dir && mkdir $cf_dir
1014 AC_SUBST(DIRS_TO_MAKE)
1016 dnl ---------------------------------------------------------------------------
1017 dnl CF_DISABLE_LEAKS version: 5 updated: 2010/03/13 15:14:55
1018 dnl ----------------
1019 dnl Combine no-leak checks with the libraries or tools that are used for the
1021 AC_DEFUN([CF_DISABLE_LEAKS],[
1023 AC_REQUIRE([CF_WITH_DMALLOC])
1024 AC_REQUIRE([CF_WITH_DBMALLOC])
1025 AC_REQUIRE([CF_WITH_VALGRIND])
1027 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1028 AC_ARG_ENABLE(leaks,
1029 [ --disable-leaks test: free permanent memory, analyze leaks],
1030 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1031 : ${with_no_leaks:=no})
1032 AC_MSG_RESULT($with_no_leaks)
1034 if test "$with_no_leaks" = yes ; then
1038 dnl ---------------------------------------------------------------------------
1039 dnl CF_DISABLE_RPATH_HACK version: 1 updated: 2010/04/11 10:54:00
1040 dnl ---------------------
1041 dnl The rpath-hack makes it simpler to build programs, particularly with the
1042 dnl *BSD ports which may have essential libraries in unusual places. But it
1043 dnl can interfere with building an executable for the base system. Use this
1044 dnl option in that case.
1045 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1047 AC_MSG_CHECKING(if rpath should be not be set)
1048 CF_ARG_DISABLE(rpath-hack,
1049 [ --disable-rpath-hack don't add rpath options for additional libraries],
1050 [cf_disable_rpath_hack=yes],
1051 [cf_disable_rpath_hack=no])
1052 AC_MSG_RESULT($cf_disable_rpath_hack)
1053 if test "$cf_disable_rpath_hack" = no ; then
1057 dnl ---------------------------------------------------------------------------
1058 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1060 dnl Check if the rpath option should be used, setting cache variable
1061 dnl cf_cv_enable_rpath if so.
1062 AC_DEFUN([CF_ENABLE_RPATH],
1064 AC_MSG_CHECKING(if rpath option should be used)
1065 AC_ARG_ENABLE(rpath,
1066 [ --enable-rpath use rpath option when generating shared libraries],
1067 [cf_cv_enable_rpath=$enableval],
1068 [cf_cv_enable_rpath=no])
1069 AC_MSG_RESULT($cf_cv_enable_rpath)
1071 dnl ---------------------------------------------------------------------------
1072 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1074 dnl Check if 'errno' is declared in <errno.h>
1075 AC_DEFUN([CF_ERRNO],
1077 CF_CHECK_ERRNO(errno)
1079 dnl ---------------------------------------------------------------------------
1080 dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
1082 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1083 dnl math.h and builtin.h, only for ncurses
1084 AC_DEFUN([CF_ETIP_DEFINES],
1086 AC_MSG_CHECKING(for special defines needed for etip.h)
1087 cf_save_CXXFLAGS="$CXXFLAGS"
1089 for cf_math in "" MATH_H
1091 for cf_excp in "" MATH_EXCEPTION
1093 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
1094 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1095 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1097 #include <etip.h.in>
1099 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1100 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1101 cf_result="$cf_math $cf_excp"
1106 AC_MSG_RESULT($cf_result)
1107 CXXFLAGS="$cf_save_CXXFLAGS"
1109 dnl ---------------------------------------------------------------------------
1110 dnl CF_FIND_LINKAGE version: 15 updated: 2010/04/03 18:35:33
1112 dnl Find a library (specifically the linkage used in the code fragment),
1113 dnl searching for it if it is not already in the library path.
1114 dnl See also CF_ADD_SEARCHPATH.
1116 dnl Parameters (4-on are optional):
1117 dnl $1 = headers for library entrypoint
1118 dnl $2 = code fragment for library entrypoint
1119 dnl $3 = the library name without the "-l" option or ".so" suffix.
1120 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
1121 dnl $5 = action to perform if not successful
1122 dnl $6 = module name, if not the same as the library name
1123 dnl $7 = extra libraries
1125 dnl Sets these variables:
1126 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1127 dnl $cf_cv_header_path_$3 - include-directory if needed
1128 dnl $cf_cv_library_path_$3 - library-directory if needed
1129 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1130 AC_DEFUN([CF_FIND_LINKAGE],[
1132 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1133 # will be set on completion of the AC_TRY_LINK below.
1134 cf_cv_header_path_$3=
1135 cf_cv_library_path_$3=
1137 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1139 AC_TRY_LINK([$1],[$2],[
1140 cf_cv_find_linkage_$3=yes
1143 cf_save_LIBS="$LIBS"
1144 LIBS="-l$3 $7 $cf_save_LIBS"
1146 AC_TRY_LINK([$1],[$2],[
1147 cf_cv_find_linkage_$3=yes
1148 cf_cv_library_file_$3="-l$3"
1150 cf_cv_find_linkage_$3=no
1151 LIBS="$cf_save_LIBS"
1153 CF_VERBOSE(find linkage for $3 library)
1154 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1156 cf_save_CPPFLAGS="$CPPFLAGS"
1157 cf_test_CPPFLAGS="$CPPFLAGS"
1159 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1160 for cf_cv_header_path_$3 in $cf_search
1162 if test -d $cf_cv_header_path_$3 ; then
1163 CF_VERBOSE(... testing $cf_cv_header_path_$3)
1164 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1165 AC_TRY_COMPILE([$1],[$2],[
1166 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1167 cf_cv_find_linkage_$3=maybe
1168 cf_test_CPPFLAGS="$CPPFLAGS"
1170 CPPFLAGS="$cf_save_CPPFLAGS"
1175 if test "$cf_cv_find_linkage_$3" = maybe ; then
1177 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1179 cf_save_LIBS="$LIBS"
1180 cf_save_LDFLAGS="$LDFLAGS"
1183 CPPFLAGS="$cf_test_CPPFLAGS"
1184 LIBS="-l$3 $7 $cf_save_LIBS"
1185 AC_TRY_LINK([$1],[$2],[
1186 CF_VERBOSE(... found $3 library in system)
1187 cf_cv_find_linkage_$3=yes])
1188 CPPFLAGS="$cf_save_CPPFLAGS"
1189 LIBS="$cf_save_LIBS"
1192 if test "$cf_cv_find_linkage_$3" != yes ; then
1193 CF_LIBRARY_PATH(cf_search,$3)
1194 for cf_cv_library_path_$3 in $cf_search
1196 if test -d $cf_cv_library_path_$3 ; then
1197 CF_VERBOSE(... testing $cf_cv_library_path_$3)
1198 CPPFLAGS="$cf_test_CPPFLAGS"
1199 LIBS="-l$3 $7 $cf_save_LIBS"
1200 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1201 AC_TRY_LINK([$1],[$2],[
1202 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1203 cf_cv_find_linkage_$3=yes
1204 cf_cv_library_file_$3="-l$3"
1206 CPPFLAGS="$cf_save_CPPFLAGS"
1207 LIBS="$cf_save_LIBS"
1208 LDFLAGS="$cf_save_LDFLAGS"
1212 LIBS="$cf_save_LIBS"
1213 CPPFLAGS="$cf_save_CPPFLAGS"
1214 LDFLAGS="$cf_save_LDFLAGS"
1218 cf_cv_find_linkage_$3=no
1223 if test "$cf_cv_find_linkage_$3" = yes ; then
1225 CF_ADD_INCDIR($cf_cv_header_path_$3)
1226 CF_ADD_LIBDIR($cf_cv_library_path_$3)
1230 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1233 dnl ---------------------------------------------------------------------------
1234 dnl CF_FUNC_DLSYM version: 1 updated: 2004/06/16 20:52:45
1236 dnl Test for dlsym() and related functions, as well as libdl.
1241 AC_DEFUN([CF_FUNC_DLSYM],[
1243 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1246 AC_CHECK_LIB(dl,dlsym,[
1248 cf_have_libdl=yes])])
1250 if test "$cf_have_dlsym" = yes ; then
1251 test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS"
1253 AC_MSG_CHECKING(whether able to link to dl*() functions)
1254 AC_TRY_LINK([#include <dlfcn.h>],[
1256 if ((obj = dlopen("filename", 0)) != 0) {
1257 if (dlsym(obj, "symbolname") == 0) {
1261 AC_DEFINE(HAVE_LIBDL)],[
1262 AC_MSG_ERROR(Cannot link test program for libdl)])
1265 AC_MSG_ERROR(Cannot find dlsym function)
1268 dnl ---------------------------------------------------------------------------
1269 dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
1271 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1272 dnl is found, add our own version of memmove to the list of objects.
1273 AC_DEFUN([CF_FUNC_MEMMOVE],
1275 AC_CHECK_FUNC(memmove,,[
1276 AC_CHECK_FUNC(bcopy,[
1277 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1280 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1282 bcopy(data, temp, sizeof(data));
1283 bcopy(temp+10, temp, 15);
1284 bcopy(temp+5, temp+15, 10);
1285 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1288 [cf_cv_good_bcopy=yes],
1289 [cf_cv_good_bcopy=no],
1290 [cf_cv_good_bcopy=unknown])
1292 ],[cf_cv_good_bcopy=no])
1293 if test "$cf_cv_good_bcopy" = yes ; then
1294 AC_DEFINE(USE_OK_BCOPY)
1296 AC_DEFINE(USE_MY_MEMMOVE)
1299 dnl ---------------------------------------------------------------------------
1300 dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
1301 dnl -----------------
1302 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1303 dnl AIX 4.x, provide a non-working version.
1304 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1305 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1311 #ifdef HAVE_SYS_TIME_H
1312 #include <sys/time.h>
1316 struct timespec ts1, ts2;
1319 ts1.tv_nsec = 750000000;
1323 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1324 ${cf_cv_main_return:-return}(code != 0);
1327 [cf_cv_func_nanosleep=yes],
1328 [cf_cv_func_nanosleep=no],
1329 [cf_cv_func_nanosleep=unknown])])
1331 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
1333 dnl ---------------------------------------------------------------------------
1334 dnl CF_FUNC_OPENPTY version: 2 updated: 2008/04/12 19:49:01
1336 dnl Check for openpty() function, along with <pty.h> header. It may need the
1337 dnl "util" library as well.
1338 AC_DEFUN([CF_FUNC_OPENPTY],
1340 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1341 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1342 cf_save_LIBS="$LIBS"
1343 test $cf_cv_lib_util = yes && LIBS="-lutil $LIBS"
1344 for cf_header in pty.h libutil.h util.h
1347 #include <$cf_header>
1349 int x = openpty((int *)0, (int *)0, (char *)0,
1350 (struct termios *)0, (struct winsize *)0);
1352 cf_cv_func_openpty=$cf_header
1355 cf_cv_func_openpty=no
1358 LIBS="$cf_save_LIBS"
1361 dnl ---------------------------------------------------------------------------
1362 dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
1364 dnl See if the poll function really works. Some platforms have poll(), but
1365 dnl it does not work for terminals or files.
1366 AC_DEFUN([CF_FUNC_POLL],[
1367 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1373 #include <sys/poll.h>
1376 struct pollfd myfds;
1380 myfds.events = POLLIN;
1382 ret = poll(&myfds, 1, 100);
1383 ${cf_cv_main_return:-return}(ret != 0);
1385 [cf_cv_working_poll=yes],
1386 [cf_cv_working_poll=no],
1387 [cf_cv_working_poll=unknown])])
1388 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1390 dnl ---------------------------------------------------------------------------
1391 dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1393 dnl Some old/broken variations define tcgetattr() only as a macro in
1395 AC_DEFUN([CF_FUNC_TERMIOS],[
1396 AC_REQUIRE([CF_STRUCT_TERMIOS])
1397 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1399 #include <sys/types.h>
1400 #ifdef HAVE_UNISTD_H
1403 #ifdef HAVE_TERMIOS_H
1404 #include <termios.h>
1405 #define TTY struct termios
1407 #ifdef HAVE_TERMIO_H
1409 #define TTY struct termio
1414 tcgetattr(1, &foo);],
1415 [cf_cv_have_tcgetattr=yes],
1416 [cf_cv_have_tcgetattr=no])])
1417 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1419 dnl ---------------------------------------------------------------------------
1420 dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1422 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1423 dnl versions of C. It is in the GNU C library, and can often be simulated by
1424 dnl other functions.
1425 AC_DEFUN([CF_FUNC_VSSCANF],
1427 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1430 #include <stdio.h>],[
1432 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1435 #include <stdio.h>],[
1439 strbuf._flag = _IOREAD;
1440 strbuf._ptr = strbuf._base = (unsigned char *) str;
1441 strbuf._cnt = strlen(str);
1442 strbuf._file = _NFILE;
1443 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1446 #include <stdio.h>],[
1450 strbuf._flag = _IOREAD;
1451 strbuf._ptr = strbuf._base = (unsigned char *) str;
1452 strbuf._cnt = strlen(str);
1453 strbuf._file = _NFILE;
1454 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1455 cf_cv_func_vsscanf=no])])])])
1457 case $cf_cv_func_vsscanf in #(vi
1458 vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1459 vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1460 _doscan) AC_DEFINE(HAVE__DOSCAN);;
1464 dnl ---------------------------------------------------------------------------
1465 dnl CF_GCC_ATTRIBUTES version: 13 updated: 2009/08/11 20:19:56
1466 dnl -----------------
1467 dnl Test for availability of useful gcc __attribute__ directives to quiet
1468 dnl compiler warnings. Though useful, not all are supported -- and contrary
1469 dnl to documentation, unrecognized directives cause older compilers to barf.
1470 AC_DEFUN([CF_GCC_ATTRIBUTES],
1472 if test "$GCC" = yes
1474 cat > conftest.i <<EOF
1476 #define GCC_PRINTF 0
1481 #ifndef GCC_NORETURN
1482 #define GCC_NORETURN /* nothing */
1485 #define GCC_UNUSED /* nothing */
1488 if test "$GCC" = yes
1490 AC_CHECKING([for $CC __attribute__ directives])
1491 cat > conftest.$ac_ext <<EOF
1492 #line __oline__ "${as_me-configure}"
1493 #include "confdefs.h"
1494 #include "conftest.h"
1495 #include "conftest.i"
1497 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1499 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1502 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1504 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1506 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1507 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1508 extern void foo(void) GCC_NORETURN;
1509 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1511 cf_printf_attribute=no
1512 cf_scanf_attribute=no
1513 for cf_attribute in scanf printf unused noreturn
1515 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1516 cf_directive="__attribute__(($cf_attribute))"
1517 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1519 case $cf_attribute in #(vi
1521 cf_printf_attribute=yes
1522 cat >conftest.h <<EOF
1523 #define GCC_$cf_ATTRIBUTE 1
1527 cf_scanf_attribute=yes
1528 cat >conftest.h <<EOF
1529 #define GCC_$cf_ATTRIBUTE 1
1533 cat >conftest.h <<EOF
1534 #define GCC_$cf_ATTRIBUTE $cf_directive
1539 if AC_TRY_EVAL(ac_compile); then
1540 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1541 cat conftest.h >>confdefs.h
1542 case $cf_attribute in #(vi
1544 if test "$cf_printf_attribute" = no ; then
1545 cat >>confdefs.h <<EOF
1546 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1549 cat >>confdefs.h <<EOF
1550 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1555 if test "$cf_scanf_attribute" = no ; then
1556 cat >>confdefs.h <<EOF
1557 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1560 cat >>confdefs.h <<EOF
1561 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1569 fgrep define conftest.i >>confdefs.h
1574 dnl ---------------------------------------------------------------------------
1575 dnl CF_GCC_VERSION version: 4 updated: 2005/08/27 09:53:42
1577 dnl Find version of gcc
1578 AC_DEFUN([CF_GCC_VERSION],[
1579 AC_REQUIRE([AC_PROG_CC])
1581 if test "$GCC" = yes ; then
1582 AC_MSG_CHECKING(version of $CC)
1583 GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1584 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1585 AC_MSG_RESULT($GCC_VERSION)
1588 dnl ---------------------------------------------------------------------------
1589 dnl CF_GCC_WARNINGS version: 24 updated: 2009/02/01 15:21:00
1591 dnl Check if the compiler supports useful warning options. There's a few that
1592 dnl we don't use, simply because they're too noisy:
1594 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1595 dnl -Wredundant-decls (system headers make this too noisy)
1596 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1597 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1598 dnl is enabled for ncurses using "--enable-const".
1602 dnl $1 is an optional list of gcc warning flags that a particular
1603 dnl application might want to use, e.g., "no-unused" for
1606 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1608 AC_DEFUN([CF_GCC_WARNINGS],
1610 AC_REQUIRE([CF_GCC_VERSION])
1611 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1613 cat > conftest.$ac_ext <<EOF
1614 #line __oline__ "${as_me-configure}"
1615 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1618 if test "$INTEL_COMPILER" = yes
1620 # The "-wdXXX" options suppress warnings:
1621 # remark #1419: external declaration in primary source file
1622 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1623 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1624 # remark #193: zero used for undefined preprocessing identifier
1625 # remark #593: variable "curs_sb_left_arrow" was set but never used
1626 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1627 # remark #869: parameter "tw" was never referenced
1628 # remark #981: operands are evaluated in unspecified order
1629 # warning #279: controlling expression is constant
1631 AC_CHECKING([for $CC warning options])
1632 cf_save_CFLAGS="$CFLAGS"
1633 EXTRA_CFLAGS="-Wall"
1645 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1646 if AC_TRY_EVAL(ac_compile); then
1647 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1648 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1651 CFLAGS="$cf_save_CFLAGS"
1653 elif test "$GCC" = yes
1655 AC_CHECKING([for $CC warning options])
1656 cf_save_CFLAGS="$CFLAGS"
1657 EXTRA_CFLAGS="-W -Wall"
1659 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1661 Wbad-function-cast \
1665 Wmissing-declarations \
1666 Wmissing-prototypes \
1670 Wstrict-prototypes \
1671 Wundef $cf_warn_CONST $1
1673 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1674 if AC_TRY_EVAL(ac_compile); then
1675 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1676 case $cf_opt in #(vi
1678 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1681 case $GCC_VERSION in
1683 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1688 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1691 CFLAGS="$cf_save_CFLAGS"
1695 AC_SUBST(EXTRA_CFLAGS)
1697 dnl ---------------------------------------------------------------------------
1698 dnl CF_GNAT_TRY_LINK version: 1 updated: 2004/08/21 19:02:08
1699 dnl ----------------
1700 dnl Verify that a test program compiles/links with GNAT.
1701 dnl $cf_ada_make is set to the program that compiles/links
1702 dnl $ADAFLAGS may be set to the GNAT flags.
1704 dnl $1 is the text of the spec
1705 dnl $2 is the text of the body
1706 dnl $3 is the shell command to execute if successful
1707 dnl $4 is the shell command to execute if not successful
1708 AC_DEFUN([CF_GNAT_TRY_LINK],
1711 cat >>conftest.ads <<CF_EOF
1714 cat >>conftest.adb <<CF_EOF
1717 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1718 ifelse($3,, :,[ $3])
1724 dnl ---------------------------------------------------------------------------
1725 dnl CF_GNAT_TRY_RUN version: 3 updated: 2004/08/21 19:02:08
1727 dnl Verify that a test program compiles and runs with GNAT
1728 dnl $cf_ada_make is set to the program that compiles/links
1729 dnl $ADAFLAGS may be set to the GNAT flags.
1731 dnl $1 is the text of the spec
1732 dnl $2 is the text of the body
1733 dnl $3 is the shell command to execute if successful
1734 dnl $4 is the shell command to execute if not successful
1735 AC_DEFUN([CF_GNAT_TRY_RUN],
1738 cat >>conftest.ads <<CF_EOF
1741 cat >>conftest.adb <<CF_EOF
1744 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1745 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1746 ifelse($3,, :,[ $3])
1755 dnl ---------------------------------------------------------------------------
1756 dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15
1758 dnl Verify version of GNAT.
1759 AC_DEFUN([CF_GNAT_VERSION],
1761 AC_MSG_CHECKING(for gnat version)
1762 cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
1763 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1764 AC_MSG_RESULT($cf_gnat_version)
1766 case $cf_gnat_version in
1767 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
1768 cf_cv_prog_gnat_correct=yes
1770 *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
1771 cf_cv_prog_gnat_correct=no
1774 case $cf_gnat_version in
1775 3.[[1-9]]*|[[4-9]].*)
1776 cf_compile_generics=generics
1777 cf_generic_objects="\${GENOBJS}"
1779 *) cf_compile_generics=
1784 dnl ---------------------------------------------------------------------------
1785 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1787 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1788 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
1789 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1790 dnl since it is interwoven with GNU extensions.
1792 dnl Well, yes we could work around it...
1793 AC_DEFUN([CF_GNU_SOURCE],
1795 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1796 AC_TRY_COMPILE([#include <sys/types.h>],[
1797 #ifndef _XOPEN_SOURCE
1800 [cf_cv_gnu_source=no],
1801 [cf_save="$CPPFLAGS"
1802 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1803 AC_TRY_COMPILE([#include <sys/types.h>],[
1804 #ifdef _XOPEN_SOURCE
1807 [cf_cv_gnu_source=no],
1808 [cf_cv_gnu_source=yes])
1812 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1814 dnl ---------------------------------------------------------------------------
1815 dnl CF_GPP_LIBRARY version: 9 updated: 2009/12/19 13:46:49
1817 dnl If we're trying to use g++, test if libg++ is installed (a rather common
1818 dnl problem :-). If we have the compiler but no library, we'll be able to
1819 dnl configure, but won't be able to build the c++ demo program.
1820 AC_DEFUN([CF_GPP_LIBRARY],
1822 cf_cxx_library=unknown
1823 case $cf_cv_system_name in #(vi
1831 if test "$GXX" = yes; then
1832 AC_MSG_CHECKING([for lib$cf_gpp_libname])
1834 LIBS="-l$cf_gpp_libname $LIBS"
1836 #include <$cf_gpp_libname/builtin.h>
1838 [two_arg_error_handler_t foo2 = lib_error_handler],
1840 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
1841 if test "$cf_gpp_libname" = cpp ; then
1842 AC_DEFINE(HAVE_GPP_BUILTIN_H)
1844 AC_DEFINE(HAVE_GXX_BUILTIN_H)
1847 #include <builtin.h>
1849 [two_arg_error_handler_t foo2 = lib_error_handler],
1851 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
1852 AC_DEFINE(HAVE_BUILTIN_H)],
1853 [cf_cxx_library=no])])
1855 AC_MSG_RESULT($cf_cxx_library)
1858 dnl ---------------------------------------------------------------------------
1859 dnl CF_GXX_VERSION version: 5 updated: 2005/08/27 09:53:42
1861 dnl Check for version of g++
1862 AC_DEFUN([CF_GXX_VERSION],[
1863 AC_REQUIRE([AC_PROG_CPP])
1865 if test "$GXX" = yes; then
1866 AC_MSG_CHECKING(version of g++)
1867 GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1868 test -z "$GXX_VERSION" && GXX_VERSION=unknown
1869 AC_MSG_RESULT($GXX_VERSION)
1872 dnl ---------------------------------------------------------------------------
1873 dnl CF_GXX_WARNINGS version: 5 updated: 2005/08/13 14:54:38
1875 dnl Check if the compiler supports useful warning options.
1877 dnl Most of gcc's options apply to g++, except:
1878 dnl -Wbad-function-cast
1879 dnl -Wmissing-declarations
1880 dnl -Wnested-externs
1882 dnl Omit a few (for now):
1886 dnl $1 is an optional list of g++ warning flags that a particular
1887 dnl application might want to use, e.g., "no-unused" for
1890 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1892 AC_DEFUN([CF_GXX_WARNINGS],
1895 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
1897 AC_REQUIRE([CF_GXX_VERSION])
1902 cat > conftest.$ac_ext <<EOF
1903 #line __oline__ "configure"
1904 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1907 if test "$INTEL_CPLUSPLUS" = yes
1909 # The "-wdXXX" options suppress warnings:
1910 # remark #1419: external declaration in primary source file
1911 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1912 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1913 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1914 # remark #193: zero used for undefined preprocessing identifier
1915 # remark #593: variable "curs_sb_left_arrow" was set but never used
1916 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1917 # remark #869: parameter "tw" was never referenced
1918 # remark #981: operands are evaluated in unspecified order
1919 # warning #269: invalid format string conversion
1921 AC_CHECKING([for $CC warning options])
1922 cf_save_CXXFLAGS="$CXXFLAGS"
1923 EXTRA_CXXFLAGS="-Wall"
1936 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
1937 if AC_TRY_EVAL(ac_compile); then
1938 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1939 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
1942 CXXFLAGS="$cf_save_CXXFLAGS"
1944 elif test "$GXX" = yes
1946 AC_CHECKING([for $CXX warning options])
1947 cf_save_CXXFLAGS="$CXXFLAGS"
1948 EXTRA_CXXFLAGS="-W -Wall"
1949 cf_gxx_extra_warnings=""
1950 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
1951 case "$GCC_VERSION" in
1955 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
1961 Woverloaded-virtual \
1967 Wmissing-prototypes \
1970 Wstrict-prototypes \
1971 Wundef $cf_gxx_extra_warnings $1
1973 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
1974 if AC_TRY_EVAL(ac_compile); then
1975 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1976 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
1978 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
1981 CXXFLAGS="$cf_save_CXXFLAGS"
1986 AC_SUBST(EXTRA_CXXFLAGS)
1988 dnl ---------------------------------------------------------------------------
1989 dnl CF_HASHED_DB version: 3 updated: 2007/11/24 17:43:37
1991 dnl Look for an instance of the Berkeley hashed database.
1993 dnl $1 = optional parameter, to specify install-prefix for the database.
1994 AC_DEFUN([CF_HASHED_DB],
2001 if test -d "$1" ; then
2002 CF_ADD_INCDIR($1/include)
2003 CF_ADD_LIBDIR($1/lib)
2007 AC_CHECK_HEADER(db.h,[
2008 CF_HASHED_DB_VERSION
2009 if test "$cf_cv_hashed_db_version" = unknown ; then
2010 AC_MSG_ERROR(Cannot determine version of db)
2013 if test "$cf_cv_hashed_db_libs" = unknown ; then
2014 AC_MSG_ERROR(Cannot determine library for db)
2015 elif test "$cf_cv_hashed_db_libs" != default ; then
2016 LIBS="-l$cf_cv_hashed_db_libs $LIBS"
2020 AC_MSG_ERROR(Cannot find db.h)
2023 dnl ---------------------------------------------------------------------------
2024 dnl CF_HASHED_DB_LIBS version: 8 updated: 2008/08/04 06:18:06
2025 dnl -----------------
2026 dnl Given that we have the header and version for hashed database, find the
2027 dnl library information.
2028 AC_DEFUN([CF_HASHED_DB_LIBS],
2030 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2031 cf_cv_hashed_db_libs=unknown
2032 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2034 cf_save_libs="$LIBS"
2035 if test -n "$cf_db_libs"; then
2036 LIBS="-l$cf_db_libs $LIBS"
2038 CF_MSG_LOG(checking for library "$cf_db_libs")
2040 $ac_includes_default
2043 char *path = "/tmp/foo";
2044 #ifdef DB_VERSION_MAJOR
2045 #if DB_VERSION_MAJOR >= 4
2047 db_create(&result, NULL, 0);
2048 result->open(result,
2055 #elif DB_VERSION_MAJOR >= 3
2057 db_create(&result, NULL, 0);
2058 result->open(result,
2064 #elif DB_VERSION_MAJOR >= 2
2073 #endif /* DB_VERSION_MAJOR */
2075 DB *result = dbopen(path,
2081 ${cf_cv_main_return:-return}(result != 0)
2083 if test -n "$cf_db_libs" ; then
2084 cf_cv_hashed_db_libs=$cf_db_libs
2086 cf_cv_hashed_db_libs=default
2088 LIBS="$cf_save_libs"
2091 LIBS="$cf_save_libs"
2095 dnl ---------------------------------------------------------------------------
2096 dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
2097 dnl --------------------
2098 dnl Given that we have the header file for hashed database, find the version
2100 AC_DEFUN([CF_HASHED_DB_VERSION],
2102 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2103 cf_cv_hashed_db_version=unknown
2105 for cf_db_version in 1 2 3 4 5
2107 CF_MSG_LOG(checking for db version $cf_db_version)
2109 $ac_includes_default
2112 #ifdef DB_VERSION_MAJOR
2113 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2114 #if $cf_db_version == DB_VERSION_MAJOR
2120 #if $cf_db_version == 1
2121 /* ok: assuming this is DB 1.8.5 */
2127 cf_cv_hashed_db_version=$cf_db_version
2133 dnl ---------------------------------------------------------------------------
2134 dnl CF_HEADER_PATH version: 10 updated: 2010/01/17 20:36:17
2136 dnl Construct a search-list of directories for a nonstandard header-file
2139 dnl $1 = the variable to return as result
2140 dnl $2 = the package name
2141 AC_DEFUN([CF_HEADER_PATH],
2144 cf_header_path_list=""
2145 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2146 for cf_header_path in $CPPFLAGS $CFLAGS
2148 case $cf_header_path in #(vi
2150 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2151 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2152 cf_header_path_list="$cf_header_path_list [$]$1"
2158 CF_SUBDIR_PATH($1,$2,include)
2160 test "$includedir" != NONE && \
2161 test "$includedir" != "/usr/include" && \
2162 test -d "$includedir" && {
2163 test -d $includedir && $1="[$]$1 $includedir"
2164 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2167 test "$oldincludedir" != NONE && \
2168 test "$oldincludedir" != "/usr/include" && \
2169 test -d "$oldincludedir" && {
2170 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
2171 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2174 $1="$cf_header_path_list [$]$1"
2176 dnl ---------------------------------------------------------------------------
2177 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2179 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2180 AC_DEFUN([CF_HELP_MESSAGE],
2181 [AC_DIVERT_HELP([$1])dnl
2183 dnl ---------------------------------------------------------------------------
2184 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
2186 dnl Construct the list of include-options according to whether we're building
2187 dnl in the source directory or using '--srcdir=DIR' option. If we're building
2188 dnl with gcc, don't append the includedir if it happens to be /usr/include,
2189 dnl since that usually breaks gcc's shadow-includes.
2190 AC_DEFUN([CF_INCLUDE_DIRS],
2192 CPPFLAGS="$CPPFLAGS -I. -I../include"
2193 if test "$srcdir" != "."; then
2194 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
2196 if test "$GCC" != yes; then
2197 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2198 elif test "$includedir" != "/usr/include"; then
2199 if test "$includedir" = '${prefix}/include' ; then
2200 if test $prefix != /usr ; then
2201 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2204 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2209 dnl ---------------------------------------------------------------------------
2210 dnl CF_INTEL_COMPILER version: 3 updated: 2005/08/06 18:37:29
2211 dnl -----------------
2212 dnl Check if the given compiler is really the Intel compiler for Linux. It
2213 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2214 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2216 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2217 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
2218 dnl the wrappers for gcc and g++ warnings.
2220 dnl $1 = GCC (default) or GXX
2221 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2222 dnl $3 = CFLAGS (default) or CXXFLAGS
2223 AC_DEFUN([CF_INTEL_COMPILER],[
2224 ifelse($2,,INTEL_COMPILER,[$2])=no
2226 if test "$ifelse($1,,[$1],GCC)" = yes ; then
2229 AC_MSG_CHECKING(if this is really Intel ifelse($1,GXX,C++,C) compiler)
2230 cf_save_CFLAGS="$ifelse($3,,CFLAGS,[$3])"
2231 ifelse($3,,CFLAGS,[$3])="$ifelse($3,,CFLAGS,[$3]) -no-gcc"
2233 #ifdef __INTEL_COMPILER
2237 ],[ifelse($2,,INTEL_COMPILER,[$2])=yes
2238 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
2240 ifelse($3,,CFLAGS,[$3])="$cf_save_CFLAGS"
2241 AC_MSG_RESULT($ifelse($2,,INTEL_COMPILER,[$2]))
2246 dnl ---------------------------------------------------------------------------
2247 dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
2249 dnl Check if we have either a function or macro for 'isascii()'.
2250 AC_DEFUN([CF_ISASCII],
2252 AC_MSG_CHECKING(for isascii)
2253 AC_CACHE_VAL(cf_cv_have_isascii,[
2254 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2255 [cf_cv_have_isascii=yes],
2256 [cf_cv_have_isascii=no])
2258 AC_MSG_RESULT($cf_cv_have_isascii)
2259 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
2261 dnl ---------------------------------------------------------------------------
2262 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
2264 dnl Add checks for large file support.
2265 AC_DEFUN([CF_LARGEFILE],[
2266 ifdef([AC_FUNC_FSEEKO],[
2268 if test "$enable_largefile" != no ; then
2271 # Normally we would collect these definitions in the config.h,
2272 # but (like _XOPEN_SOURCE), some environments rely on having these
2273 # defined before any of the system headers are included. Another
2274 # case comes up with C++, e.g., on AIX the compiler compiles the
2275 # header files by themselves before looking at the body files it is
2276 # told to compile. For ncurses, those header files do not include
2278 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2279 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2280 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2282 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2284 #include <sys/types.h>
2287 /* if transitional largefile support is setup, this is true */
2288 extern struct dirent64 * readdir(DIR *);
2289 struct dirent64 *x = readdir((DIR *)0);
2290 struct dirent *y = readdir((DIR *)0);
2293 [cf_cv_struct_dirent64=yes],
2294 [cf_cv_struct_dirent64=no])
2296 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
2300 dnl ---------------------------------------------------------------------------
2301 dnl CF_LDFLAGS_STATIC version: 7 updated: 2009/04/04 18:31:04
2302 dnl -----------------
2303 dnl Check for compiler/linker flags used to temporarily force usage of static
2304 dnl libraries. This depends on the compiler and platform. Use this to help
2305 dnl ensure that the linker picks up a given library based on its position in
2306 dnl the list of linker options and libraries.
2307 AC_DEFUN([CF_LDFLAGS_STATIC],[
2309 if test "$GCC" = yes ; then
2310 case $cf_cv_system_name in #(
2311 OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*) #( vi
2315 *) #( normally, except when broken
2316 LDFLAGS_STATIC=-static
2317 LDFLAGS_SHARED=-dynamic
2321 case $cf_cv_system_name in #(
2322 aix[[456]]*) #( from ld manpage
2323 LDFLAGS_STATIC=-bstatic
2324 LDFLAGS_SHARED=-bdynamic
2326 hpux*) #( from ld manpage for hpux10.20, hpux11.11
2327 # We could also use just "archive" and "shared".
2328 LDFLAGS_STATIC=-Wl,-a,archive_shared
2329 LDFLAGS_SHARED=-Wl,-a,shared_archive
2331 irix*) #( from ld manpage IRIX64
2332 LDFLAGS_STATIC=-Bstatic
2333 LDFLAGS_SHARED=-Bdynamic
2335 osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
2336 # alternative "-oldstyle_liblookup" (not in cc manpage)
2337 LDFLAGS_STATIC=-noso
2338 LDFLAGS_SHARED=-so_archive
2341 LDFLAGS_STATIC=-Bstatic
2342 LDFLAGS_SHARED=-Bdynamic
2347 AC_SUBST(LDFLAGS_STATIC)
2348 AC_SUBST(LDFLAGS_SHARED)
2350 dnl ---------------------------------------------------------------------------
2351 dnl CF_LD_RPATH_OPT version: 2 updated: 2010/03/27 19:27:54
2353 dnl For the given system and compiler, find the compiler flags to pass to the
2354 dnl loader to use the "rpath" feature.
2355 AC_DEFUN([CF_LD_RPATH_OPT],
2357 AC_REQUIRE([CF_CHECK_CACHE])
2360 AC_MSG_CHECKING(for an rpath option)
2361 case $cf_cv_system_name in #(vi
2363 if test "$GCC" = yes; then
2364 LD_RPATH_OPT="-Wl,-rpath,"
2366 LD_RPATH_OPT="-rpath "
2369 linux*|gnu*|k*bsd*-gnu) #(vi
2370 LD_RPATH_OPT="-Wl,-rpath,"
2372 openbsd[[2-9]].*) #(vi
2373 LD_RPATH_OPT="-Wl,-rpath,"
2376 LD_RPATH_OPT="-rpath "
2379 LD_RPATH_OPT="-Wl,-rpath,"
2382 LD_RPATH_OPT="-rpath "
2390 AC_MSG_RESULT($LD_RPATH_OPT)
2392 case "x$LD_RPATH_OPT" in #(vi
2394 AC_MSG_CHECKING(if we need a space after rpath option)
2395 cf_save_LIBS="$LIBS"
2396 LIBS="${LD_RPATH_OPT}$libdir $LIBS"
2397 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
2398 LIBS="$cf_save_LIBS"
2399 AC_MSG_RESULT($cf_rpath_space)
2400 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
2404 dnl ---------------------------------------------------------------------------
2405 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
2407 dnl Construct a search-list of directories for a nonstandard library-file
2410 dnl $1 = the variable to return as result
2411 dnl $2 = the package name
2412 AC_DEFUN([CF_LIBRARY_PATH],
2415 cf_library_path_list=""
2416 if test -n "${LDFLAGS}${LIBS}" ; then
2417 for cf_library_path in $LDFLAGS $LIBS
2419 case $cf_library_path in #(vi
2421 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
2422 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
2423 cf_library_path_list="$cf_library_path_list [$]$1"
2429 CF_SUBDIR_PATH($1,$2,lib)
2431 $1="$cf_library_path_list [$]$1"
2433 dnl ---------------------------------------------------------------------------
2434 dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
2436 dnl Compute the library-prefix for the given host system
2437 dnl $1 = variable to set
2438 AC_DEFUN([CF_LIB_PREFIX],
2440 case $cf_cv_system_name in #(vi
2447 ifelse($1,,,[$1=$LIB_PREFIX])
2448 AC_SUBST(LIB_PREFIX)
2450 dnl ---------------------------------------------------------------------------
2451 dnl CF_LIB_RULES version: 55 updated: 2008/12/13 16:17:38
2453 dnl Append definitions and rules for the given models to the subdirectory
2454 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
2455 dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
2456 dnl the corresponding makefile to list the models that we'll generate.
2458 dnl For shared libraries, make a list of symbolic links to construct when
2459 dnl generating each library. The convention used for Linux is the simplest
2462 dnl lib<name>.so.<major> ->
2463 dnl lib<name>.so.<maj>.<minor>
2464 AC_DEFUN([CF_LIB_RULES],
2466 CF_LIB_PREFIX(cf_prefix)
2467 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2469 if test $cf_cv_shlib_version = cygdll ; then
2470 TINFO_NAME=$TINFO_ARG_SUFFIX
2474 for cf_dir in $SRC_SUBDIRS
2476 if test ! -d $srcdir/$cf_dir ; then
2478 elif test -f $srcdir/$cf_dir/modules; then
2482 for cf_item in $cf_LIST_MODELS
2484 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2485 if test $cf_item = shared ; then
2486 if test "$cf_cv_do_symlinks" = yes ; then
2487 case "$cf_cv_shlib_version" in #(vi
2489 case "$cf_cv_system_name" in #(vi
2491 case .${LIB_SUFFIX} in
2493 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2494 cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
2497 cf_suffix='.${REL_VERSION}'"$cf_suffix"
2501 *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
2505 case "$cf_cv_system_name" in #(vi
2507 case .${LIB_SUFFIX} in
2509 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2510 cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
2513 cf_suffix='.${ABI_VERSION}'"$cf_suffix"
2517 *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
2522 # cygwin needs import library, and has unique naming convention
2523 # use autodetected ${cf_prefix} for import lib and static lib, but
2524 # use 'cyg' prefix for shared lib.
2525 if test $cf_cv_shlib_version = cygdll ; then
2526 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
2527 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
2531 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
2534 if test $cf_dir = ncurses ; then
2535 cf_subsets="$LIB_SUBSETS"
2536 cf_r_parts="$cf_subsets"
2537 cf_liblist="$LIBS_TO_MAKE"
2539 while test -n "$cf_r_parts"
2541 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
2542 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
2543 if test "$cf_l_parts" != "$cf_r_parts" ; then
2545 case $cf_l_parts in #(vi
2547 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
2550 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
2556 if test -n "$cf_item"; then
2557 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
2564 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
2567 sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
2568 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
2569 $cf_dir/Makefile >$cf_dir/Makefile.out
2570 mv $cf_dir/Makefile.out $cf_dir/Makefile
2572 $AWK -f $srcdir/mk-0th.awk \
2573 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
2574 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2576 for cf_subset in $cf_subsets
2579 for cf_item in $cf_LIST_MODELS
2581 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
2582 CF_UPPER(cf_ITEM,$cf_item)
2583 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2584 CF_OBJ_SUBDIR($cf_item,cf_subdir)
2586 # Test for case where we build libtinfo with a different name.
2588 if test $cf_dir = ncurses ; then
2591 cf_libname=${cf_libname}$LIB_SUFFIX
2594 cf_libname=$TINFO_LIB_SUFFIX
2597 cf_libname=$TICS_LIB_SUFFIX
2601 cf_libname=${cf_libname}$LIB_SUFFIX
2603 if test -n "${DFT_ARG_SUFFIX}" ; then
2604 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
2605 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
2608 # These dependencies really are for development, not
2609 # builds, but they are useful in porting, too.
2610 cf_depend="../include/ncurses_cfg.h"
2611 if test "$srcdir" = "."; then
2614 cf_reldir="\${srcdir}"
2617 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
2618 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
2619 elif test -f $srcdir/$cf_dir/curses.priv.h; then
2620 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
2624 old_cf_suffix="$cf_suffix"
2625 if test "$cf_cv_shlib_version_infix" = yes ; then
2626 if test -n "$LIB_SUFFIX" ; then
2629 cf_libname=`echo $cf_libname | sed 's/w$//'`
2630 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2637 $AWK -f $srcdir/mk-1st.awk \
2638 name=${cf_libname}${cf_dir_suffix} \
2639 traces=$LIB_TRACING \
2645 TermlibRoot=$TINFO_NAME \
2646 TermlibSuffix=$TINFO_SUFFIX \
2647 ShlibVer=$cf_cv_shlib_version \
2648 ShlibVerInfix=$cf_cv_shlib_version_infix \
2649 ReLink=${cf_cv_do_relink-no} \
2650 DoLinks=$cf_cv_do_symlinks \
2651 rmSoLocs=$cf_cv_rm_so_locs \
2652 ldconfig="$LDCONFIG" \
2653 overwrite=$WITH_OVERWRITE \
2654 depend="$cf_depend" \
2656 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2658 cf_suffix="$old_cf_suffix"
2660 for cf_subdir2 in $cf_subdirs lib
2662 test $cf_subdir = $cf_subdir2 && break
2664 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
2665 $AWK -f $srcdir/mk-2nd.awk \
2667 traces=$LIB_TRACING \
2673 crenames=$cf_cv_prog_CC_c_o \
2674 cxxrenames=$cf_cv_prog_CXX_c_o \
2675 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2676 cf_subdirs="$cf_subdirs $cf_subdir"
2681 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
2684 for cf_dir in $SRC_SUBDIRS
2686 if test ! -d $srcdir/$cf_dir ; then
2690 if test -f $cf_dir/Makefile ; then
2693 echo 'libs \' >> Makefile
2694 echo 'install.libs \' >> Makefile
2695 echo 'uninstall.libs ::' >> Makefile
2696 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
2701 if test -f $srcdir/$cf_dir/modules; then
2703 if test -f $srcdir/$cf_dir/headers; then
2704 cat >> Makefile <<CF_EOF
2706 uninstall.includes \\
2709 if test "$cf_dir" != "c++" ; then
2710 echo 'lint \' >> Makefile
2712 cat >> Makefile <<CF_EOF
2718 uninstall.$cf_dir ::
2719 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2721 elif test -f $srcdir/$cf_dir/headers; then
2722 cat >> Makefile <<CF_EOF
2728 uninstall.includes ::
2729 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2734 cat >> Makefile <<CF_EOF
2736 install.libs uninstall.libs \\
2737 install.data uninstall.data ::
2738 $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
2741 if test "x$cf_with_manpages" = xyes; then
2742 cat >> Makefile <<CF_EOF
2746 cd man && \${MAKE} \${CF_MFLAGS} \[$]@
2750 cat >> Makefile <<CF_EOF
2753 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
2754 rm -f headers.sh headers.sed mk_shared_lib.sh
2755 rm -f edit_man.* man_alias.*
2756 rm -rf \${DIRS_TO_MAKE}
2759 # Special case: tack's manpage lives in its own directory.
2760 if test "x$cf_with_manpages" = xyes; then
2761 if test -d tack ; then
2762 if test -f $srcdir/$tack.h; then
2763 cat >> Makefile <<CF_EOF
2767 cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
2773 dnl If we're installing into a subdirectory of /usr/include, etc., we should
2774 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
2775 dnl anything, and will make it more standardized. It's awkward to decide this
2776 dnl at configuration because of quoting, so we'll simply make all headers
2777 dnl installed via a script that can do the right thing.
2779 rm -f headers.sed headers.sh
2781 dnl ( generating this script makes the makefiles a little tidier :-)
2782 echo creating headers.sh
2783 cat >headers.sh <<CF_EOF
2785 # This shell script is generated by the 'configure' script. It is invoked in a
2786 # subdirectory of the build tree. It generates a sed-script in the parent
2787 # directory that is used to adjust includes for header files that reside in a
2788 # subdirectory of /usr/include, etc.
2790 while test \[$]# != 3
2792 PRG="\$PRG \[$]1"; shift
2797 TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
2798 TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
2799 echo installing \$SRC in \$DST
2802 if test $WITH_CURSES_H = yes; then
2803 cat >>headers.sh <<CF_EOF
2806 END=\`basename \$DST\`
2807 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2809 NAME=\`basename \$i\`
2810 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2820 cat >>headers.sh <<CF_EOF
2823 END=\`basename \$DST\`
2824 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2826 NAME=\`basename \$i\`
2827 if test "\$NAME" = "curses.h"
2829 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2832 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2836 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2841 cat >>headers.sh <<CF_EOF
2843 sed -f \$TMPSED \$SRC > \$TMPSRC
2844 NAME=\`basename \$SRC\`
2846 if test $WITH_CURSES_H != yes; then
2847 cat >>headers.sh <<CF_EOF
2848 test "\$NAME" = "curses.h" && NAME=ncurses.h
2851 cat >>headers.sh <<CF_EOF
2852 # Just in case someone gzip'd manpages, remove the conflicting copy.
2853 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
2855 eval \$PRG \$TMPSRC \$DST/\$NAME
2856 rm -f \$TMPSRC \$TMPSED
2859 chmod 0755 headers.sh
2861 for cf_dir in $SRC_SUBDIRS
2863 if test ! -d $srcdir/$cf_dir ; then
2867 if test -f $srcdir/$cf_dir/headers; then
2868 $AWK -f $srcdir/mk-hdr.awk \
2869 subset="$LIB_SUBSETS" \
2870 compat="$WITH_CURSES_H" \
2871 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
2874 if test -f $srcdir/$cf_dir/modules; then
2875 if test "$cf_dir" != "c++" ; then
2876 cat >>$cf_dir/Makefile <<"CF_EOF"
2877 depend : ${AUTO_SRC}
2878 makedepend -- ${CPPFLAGS} -- ${C_SRC}
2880 # DO NOT DELETE THIS LINE -- make depend depends on it.
2887 dnl ---------------------------------------------------------------------------
2888 dnl CF_LIB_SONAME version: 3 updated: 2006/12/16 15:55:46
2890 dnl Find the and soname for the given shared library. Set the cache variable
2891 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
2892 dnl variable to "unknown".
2896 dnl $3 = library name
2897 AC_DEFUN([CF_LIB_SONAME],
2899 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
2901 cf_cv_$3_soname=unknown
2902 if test "$cross_compiling" != yes ; then
2903 cat >conftest.$ac_ext <<CF_EOF
2908 ${cf_cv_main_return:-return}(0);
2911 cf_save_LIBS="$LIBS"
2913 if AC_TRY_EVAL(ac_compile) ; then
2914 if AC_TRY_EVAL(ac_link) ; then
2915 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
2916 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
2920 LIBS="$cf_save_LIBS"
2924 dnl ---------------------------------------------------------------------------
2925 dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
2927 dnl Compute the library file-suffix from the given model name
2929 dnl $2 = variable to set (the nominal library suffix)
2930 dnl $3 = dependency variable to set (actual filename)
2931 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2932 AC_DEFUN([CF_LIB_SUFFIX],
2934 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2953 case $cf_cv_system_name in
2983 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
2984 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
2986 dnl ---------------------------------------------------------------------------
2987 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
2989 dnl Compute the string to append to -library from the given model name
2991 dnl $2 = variable to set
2992 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2993 AC_DEFUN([CF_LIB_TYPE],
3002 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3004 dnl ---------------------------------------------------------------------------
3005 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
3006 dnl ----------------
3007 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3008 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
3009 dnl have to provide wrappers for global tables to ensure they're linked
3011 AC_DEFUN([CF_LINK_DATAONLY],
3013 AC_MSG_CHECKING([if data-only library module links])
3014 AC_CACHE_VAL(cf_cv_link_dataonly,[
3016 cat >conftest.$ac_ext <<EOF
3017 #line __oline__ "configure"
3018 int testdata[[3]] = { 123, 456, 789 };
3020 if AC_TRY_EVAL(ac_compile) ; then
3021 mv conftest.o data.o && \
3022 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3024 rm -f conftest.$ac_ext data.o
3025 cat >conftest.$ac_ext <<EOF
3026 #line __oline__ "configure"
3030 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
3032 extern int testdata[[3]];
3033 return testdata[[0]] == 123
3034 && testdata[[1]] == 456
3035 && testdata[[2]] == 789;
3039 if AC_TRY_EVAL(ac_compile); then
3040 mv conftest.o func.o && \
3041 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3043 rm -f conftest.$ac_ext func.o
3044 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3046 LIBS="conftest.a $LIBS"
3050 extern int testfunc();
3051 ${cf_cv_main_return:-return} (!testfunc());
3054 [cf_cv_link_dataonly=yes],
3055 [cf_cv_link_dataonly=no],
3056 [cf_cv_link_dataonly=unknown])
3059 AC_MSG_RESULT($cf_cv_link_dataonly)
3061 if test "$cf_cv_link_dataonly" = no ; then
3062 AC_DEFINE(BROKEN_LINKER)
3067 dnl ---------------------------------------------------------------------------
3068 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
3070 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3071 dnl A few non-Unix systems implement symlink, but not link.
3072 dnl A few non-systems implement neither (or have nonfunctional versions).
3073 AC_DEFUN([CF_LINK_FUNCS],
3079 if test "$cross_compiling" = yes ; then
3084 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
3086 for cf_func in link symlink ; do
3088 #include <sys/types.h>
3089 #include <sys/stat.h>
3090 #ifdef HAVE_UNISTD_H
3096 char *src = "config.log";
3097 char *dst = "conftest.chk";
3102 fail = ($cf_func("config.log", "conftest.chk") < 0)
3103 || (stat(dst, &dst_sb) < 0)
3104 || (dst_sb.st_mtime != src_sb.st_mtime);
3110 ${cf_cv_main_return:-return} (fail);
3113 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
3114 eval 'ac_cv_func_'$cf_func'=yes'],[
3115 eval 'ac_cv_func_'$cf_func'=no'],[
3116 eval 'ac_cv_func_'$cf_func'=error'])
3118 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
3120 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
3121 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
3124 dnl ---------------------------------------------------------------------------
3125 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
3127 dnl Check if a return from main to the shell actually returns the same exit
3128 dnl code. This is true for almost any POSIX environment.
3130 dnl Some very old environments did not flush stdout, etc., on an exit. That
3131 dnl would be a useful case to test for also.
3132 AC_DEFUN([CF_MAIN_RETURN],
3134 cf_cv_main_return=return
3136 dnl ---------------------------------------------------------------------------
3137 dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
3139 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
3140 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
3141 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
3142 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
3143 AC_DEFUN([CF_MAKEFLAGS],
3145 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
3147 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
3149 cat >cf_makeflags.tmp <<CF_EOF
3152 @ echo '.$cf_option'
3154 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'`
3155 case "$cf_result" in
3157 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
3158 case "$cf_result" in
3159 .*CC=*) cf_cv_makeflags=
3161 *) cf_cv_makeflags=$cf_option
3167 *) echo "given option \"$cf_option\", no match \"$cf_result\""
3171 rm -f cf_makeflags.tmp
3174 AC_SUBST(cf_cv_makeflags)
3176 dnl ---------------------------------------------------------------------------
3177 dnl CF_MAKE_TAGS version: 5 updated: 2010/04/03 20:07:32
3179 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
3180 dnl a monocase filesystem.
3181 AC_DEFUN([CF_MAKE_TAGS],[
3182 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
3184 AC_CHECK_PROGS(CTAGS, exctags ctags)
3185 AC_CHECK_PROGS(ETAGS, exetags etags)
3187 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS-ctags}, yes, no)
3189 if test "$cf_cv_mixedcase" = yes ; then
3190 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS-etags}, yes, no)
3195 if test "$MAKE_UPPER_TAGS" = yes ; then
3201 if test "$MAKE_LOWER_TAGS" = yes ; then
3210 AC_SUBST(MAKE_UPPER_TAGS)
3211 AC_SUBST(MAKE_LOWER_TAGS)
3213 dnl ---------------------------------------------------------------------------
3214 dnl CF_MANPAGE_FORMAT version: 8 updated: 2009/01/11 20:30:50
3215 dnl -----------------
3216 dnl Option to allow user to override automatic configuration of manpage format.
3217 dnl There are several special cases:
3219 dnl gzip - man checks for, can display gzip'd files
3220 dnl compress - man checks for, can display compressed files
3221 dnl BSDI - files in the cat-directories are suffixed ".0"
3222 dnl formatted - installer should format (put files in cat-directory)
3223 dnl catonly - installer should only format, e.g., for a turnkey system.
3225 dnl There are other configurations which this macro does not test, e.g., HPUX's
3226 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
3227 dnl convention would not match our use).
3228 AC_DEFUN([CF_MANPAGE_FORMAT],
3230 AC_REQUIRE([CF_PATHSEP])
3231 AC_MSG_CHECKING(format of man-pages)
3233 AC_ARG_WITH(manpage-format,
3234 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
3235 optionally formatted/catonly, e.g., gzip,formatted],
3236 [MANPAGE_FORMAT=$withval],
3237 [MANPAGE_FORMAT=unknown])
3239 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
3240 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
3244 case $MANPAGE_FORMAT in
3246 if test -z "$MANPATH" ; then
3247 MANPATH="/usr/man:/usr/share/man"
3250 # look for the 'date' man-page (it's most likely to be installed!)
3256 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
3257 for cf_dir in $MANPATH; do
3258 test -z "$cf_dir" && cf_dir=/usr/man
3259 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
3261 cf_test=`echo $cf_name | sed -e 's/*//'`
3262 if test "x$cf_test" = "x$cf_name" ; then
3265 *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
3266 *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
3267 *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
3268 *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
3282 # if we found a match in either man* or cat*, stop looking
3283 if test -n "$MANPAGE_FORMAT" ; then
3285 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
3286 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
3292 test $cf_found=yes && break
3295 # only check the first directory in $MANPATH where we find manpages
3296 if test -n "$MANPAGE_FORMAT" ; then
3300 # if we did not find the example, just assume it is normal
3301 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
3305 for cf_option in $MANPAGE_FORMAT; do
3306 case $cf_option in #(vi
3307 gzip|compress|BSDI|normal|formatted|catonly)
3310 cf_unknown="$cf_unknown $cf_option"
3317 AC_MSG_RESULT($MANPAGE_FORMAT)
3318 if test -n "$cf_unknown" ; then
3319 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
3322 dnl ---------------------------------------------------------------------------
3323 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
3324 dnl ------------------
3325 dnl The Debian people have their own naming convention for manpages. This
3326 dnl option lets us override the name of the file containing renaming, or
3327 dnl disable it altogether.
3328 AC_DEFUN([CF_MANPAGE_RENAMES],
3330 AC_MSG_CHECKING(for manpage renaming)
3332 AC_ARG_WITH(manpage-renames,
3333 [ --with-manpage-renames specify manpage-renaming],
3334 [MANPAGE_RENAMES=$withval],
3335 [MANPAGE_RENAMES=yes])
3337 case ".$MANPAGE_RENAMES" in #(vi
3341 # Debian 'man' program?
3342 if test -f /etc/debian_version ; then
3343 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
3350 if test "$MANPAGE_RENAMES" != no ; then
3351 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
3352 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
3353 elif test ! -f $MANPAGE_RENAMES ; then
3354 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
3357 test ! -d man && mkdir man
3359 # Construct a sed-script to perform renaming within man-pages
3360 if test -n "$MANPAGE_RENAMES" ; then
3361 test ! -d man && mkdir man
3362 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
3366 AC_MSG_RESULT($MANPAGE_RENAMES)
3367 AC_SUBST(MANPAGE_RENAMES)
3369 dnl ---------------------------------------------------------------------------
3370 dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
3371 dnl -------------------
3372 dnl Some people expect each tool to make all aliases for manpages in the
3373 dnl man-directory. This accommodates the older, less-capable implementations
3374 dnl of 'man', and is optional.
3375 AC_DEFUN([CF_MANPAGE_SYMLINKS],
3377 AC_MSG_CHECKING(if manpage aliases will be installed)
3379 AC_ARG_WITH(manpage-aliases,
3380 [ --with-manpage-aliases specify manpage-aliases using .so],
3381 [MANPAGE_ALIASES=$withval],
3382 [MANPAGE_ALIASES=yes])
3384 AC_MSG_RESULT($MANPAGE_ALIASES)
3386 if test "$LN_S" = "ln -s"; then
3393 if test "$MANPAGE_ALIASES" = yes ; then
3394 AC_MSG_CHECKING(if manpage symlinks should be used)
3396 AC_ARG_WITH(manpage-symlinks,
3397 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
3398 [MANPAGE_SYMLINKS=$withval],
3399 [MANPAGE_SYMLINKS=$cf_use_symlinks])
3401 if test "$$cf_use_symlinks" = no; then
3402 if test "$MANPAGE_SYMLINKS" = yes ; then
3403 AC_MSG_WARN(cannot make symlinks, will use .so files)
3408 AC_MSG_RESULT($MANPAGE_SYMLINKS)
3412 dnl ---------------------------------------------------------------------------
3413 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
3415 dnl This option causes manpages to be run through tbl(1) to generate tables
3417 AC_DEFUN([CF_MANPAGE_TBL],
3419 AC_MSG_CHECKING(for manpage tbl)
3421 AC_ARG_WITH(manpage-tbl,
3422 [ --with-manpage-tbl specify manpage processing with tbl],
3423 [MANPAGE_TBL=$withval],
3426 AC_MSG_RESULT($MANPAGE_TBL)
3428 dnl ---------------------------------------------------------------------------
3429 dnl CF_MAN_PAGES version: 36 updated: 2010/03/13 13:41:01
3431 dnl Try to determine if the man-pages on the system are compressed, and if
3432 dnl so, what format is used. Use this information to construct a script that
3433 dnl will install man-pages.
3434 AC_DEFUN([CF_MAN_PAGES],
3436 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
3442 if test "$prefix" = "NONE" ; then
3443 cf_prefix="$ac_default_prefix"
3448 case "$MANPAGE_FORMAT" in # (vi
3463 test ! -d man && mkdir man
3467 case "$MANPAGE_FORMAT" in #(vi
3470 cf_compress=compress
3478 cf_edit_man=./edit_man.sh
3479 cf_man_alias=`pwd`/man_alias.sed
3481 cat >$cf_edit_man <<CF_EOF
3483 # this script is generated by the configure-script CF_MAN_PAGES macro.
3488 NCURSES_MAJOR="$NCURSES_MAJOR"
3489 NCURSES_MINOR="$NCURSES_MINOR"
3490 NCURSES_PATCH="$NCURSES_PATCH"
3492 NCURSES_OSPEED="$NCURSES_OSPEED"
3493 TERMINFO="$TERMINFO"
3495 MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh"
3498 INSTALL_DATA="$INSTALL_DATA"
3500 transform="$program_transform_name"
3502 TMP=\${TMPDIR-/tmp}/man\$\$
3503 trap "rm -f \$TMP" 0 1 2 5 15
3515 top_srcdir=\[$]srcdir/..
3518 if test "\$form" = normal ; then
3519 if test "$cf_format" = yes ; then
3520 if test "$cf_inboth" = no ; then
3521 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3525 cf_subdir=\$mandir/man
3526 cf_tables=$MANPAGE_TBL
3528 cf_subdir=\$mandir/cat
3532 # process the list of source-files
3535 *.orig|*.rej) ;; #(vi
3537 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
3538 if test \$verb = installing ; then
3539 if test ! -d \$cf_subdir\${section} ; then
3540 \$MKDIRS \$cf_subdir\$section
3544 # replace variables in man page
3545 if test ! -f $cf_man_alias ; then
3546 cat >>$cf_man_alias <<-CF_EOF2
3547 s,@DATADIR@,\$datadir,g
3548 s,@TERMINFO@,\$TERMINFO,g
3549 s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
3550 s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
3551 s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
3552 s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
3557 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3558 cf_name=`echo $cf_name|sed "$program_transform_name"`
3559 cat >>$cf_edit_man <<-CF_EOF
3560 s,@$cf_NAME@,$cf_name,g
3564 cat >>$cf_edit_man <<CF_EOF
3566 echo "...made $cf_man_alias"
3570 cf_source=\`basename \$i\`
3572 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
3573 if test ! -f \$inalias ; then
3574 echo .. skipped \$cf_source
3579 if test "$MANPAGE_ALIASES" != no ; then
3580 cat >>$cf_edit_man <<CF_EOF
3581 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
3585 if test "$MANPAGE_RENAMES" = no ; then
3586 cat >>$cf_edit_man <<CF_EOF
3587 # perform program transformations for section 1 man pages
3588 if test \$section = 1 ; then
3589 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
3591 cf_target=\$cf_subdir\${section}/\$cf_source
3595 cat >>$cf_edit_man <<CF_EOF
3596 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
3597 if test -z "\$cf_target" ; then
3598 echo '? missing rename for '\$cf_source
3599 cf_target="\$cf_source"
3601 cf_target="\$cf_subdir\${section}/\${cf_target}"
3606 cat >>$cf_edit_man <<CF_EOF
3607 sed -f $cf_man_alias \\
3610 if test -f $MANPAGE_RENAMES ; then
3611 cat >>$cf_edit_man <<CF_EOF
3612 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
3615 cat >>$cf_edit_man <<CF_EOF
3620 cat >>$cf_edit_man <<CF_EOF
3621 if test \$cf_tables = yes ; then
3622 tbl \$TMP >\$TMP.out
3627 if test $with_curses_h != yes ; then
3628 cat >>$cf_edit_man <<CF_EOF
3629 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
3634 cat >>$cf_edit_man <<CF_EOF
3635 if test \$form = format ; then
3636 nroff -man \$TMP >\$TMP.out
3641 if test -n "$cf_compress" ; then
3642 cat >>$cf_edit_man <<CF_EOF
3643 if test \$verb = installing ; then
3644 if ( $cf_compress -f \$TMP )
3646 mv \$TMP.$cf_so_strip \$TMP
3649 cf_target="\$cf_target.$cf_so_strip"
3653 case "$MANPAGE_FORMAT" in #(vi
3655 cat >>$cf_edit_man <<CF_EOF
3656 if test \$form = format ; then
3657 # BSDI installs only .0 suffixes in the cat directories
3658 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
3664 cat >>$cf_edit_man <<CF_EOF
3665 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
3666 if test \$verb = installing ; then
3667 echo \$verb \$cf_target
3668 \$INSTALL_DATA \$TMP \$cf_target
3669 test -d \$cf_subdir\${section} &&
3670 test -n "\$aliases" && (
3671 cd \$cf_subdir\${section} && (
3672 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
3673 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
3674 cf_target=\`basename \$cf_target\`
3675 for cf_alias in \$aliases
3677 if test \$section = 1 ; then
3678 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3681 if test "$MANPAGE_SYMLINKS" = yes ; then
3682 if test -f \$cf_alias\${suffix} ; then
3683 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
3688 echo .. \$verb alias \$cf_alias\${suffix}
3689 rm -f \$cf_alias\${suffix}
3690 $LN_S \$cf_target \$cf_alias\${suffix}
3691 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
3692 echo ".so \$cf_source" >\$TMP
3694 if test -n "$cf_compress" ; then
3695 cat >>$cf_edit_man <<CF_EOF
3696 if test -n "$cf_so_strip" ; then
3697 $cf_compress -f \$TMP
3698 mv \$TMP.$cf_so_strip \$TMP
3702 cat >>$cf_edit_man <<CF_EOF
3703 echo .. \$verb alias \$cf_alias\${suffix}
3704 rm -f \$cf_alias\${suffix}
3705 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
3710 elif test \$verb = removing ; then
3711 test -f \$cf_target && (
3712 echo \$verb \$cf_target
3715 test -d \$cf_subdir\${section} &&
3716 test -n "\$aliases" && (
3717 cd \$cf_subdir\${section} && (
3718 for cf_alias in \$aliases
3720 if test \$section = 1 ; then
3721 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3724 echo .. \$verb alias \$cf_alias\${suffix}
3725 rm -f \$cf_alias\${suffix}
3737 if test $cf_inboth = yes ; then
3738 if test \$form != format ; then
3739 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3745 chmod 755 $cf_edit_man
3748 dnl ---------------------------------------------------------------------------
3749 dnl CF_MATH_LIB version: 6 updated: 2009/12/19 13:46:49
3751 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
3752 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
3753 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
3754 AC_DEFUN([CF_MATH_LIB],
3756 AC_CACHE_CHECK(if -lm needed for math functions,
3762 [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
3763 [cf_cv_need_libm=no],
3764 [cf_cv_need_libm=yes])])
3765 if test "$cf_cv_need_libm" = yes
3772 dnl ---------------------------------------------------------------------------
3773 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
3774 dnl ----------------------
3775 dnl Check if the file-system supports mixed-case filenames. If we're able to
3776 dnl create a lowercase name and see it as uppercase, it doesn't support that.
3777 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
3779 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
3780 if test "$cross_compiling" = yes ; then
3781 case $target_alias in #(vi
3782 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
3790 rm -f conftest CONFTEST
3792 if test -f CONFTEST ; then
3797 rm -f conftest CONFTEST
3800 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
3802 dnl ---------------------------------------------------------------------------
3803 dnl CF_MKSTEMP version: 5 updated: 2006/12/16 12:33:30
3805 dnl Check for a working mkstemp. This creates two files, checks that they are
3806 dnl successfully created and distinct (AmigaOS apparently fails on the last).
3807 AC_DEFUN([CF_MKSTEMP],[
3808 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
3811 #include <sys/types.h>
3815 #include <sys/stat.h>
3818 char *tmpl = "conftestXXXXXX";
3826 for (n = 0; n < 2; ++n) {
3827 strcpy(name[n], tmpl);
3828 if ((fd = mkstemp(name[n])) >= 0) {
3829 if (!strcmp(name[n], tmpl)
3830 || stat(name[n], &sb) != 0
3831 || (sb.st_mode & S_IFMT) != S_IFREG
3832 || (sb.st_mode & 077) != 0) {
3839 && !strcmp(name[0], name[1]))
3841 ${cf_cv_main_return:-return}(result);
3843 ],[cf_cv_func_mkstemp=yes
3844 ],[cf_cv_func_mkstemp=no
3845 ],[AC_CHECK_FUNC(mkstemp)
3848 if test "$cf_cv_func_mkstemp" = yes ; then
3849 AC_DEFINE(HAVE_MKSTEMP)
3852 dnl ---------------------------------------------------------------------------
3853 dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
3855 dnl Write a debug message to config.log, along with the line number in the
3856 dnl configure script.
3857 AC_DEFUN([CF_MSG_LOG],[
3858 echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
3860 dnl ---------------------------------------------------------------------------
3861 dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
3862 dnl ----------------
3863 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
3864 dnl warn about this.
3865 AC_DEFUN([CF_NCURSES_ABI_6],[
3866 if test "${with_abi_version+set}" != set; then
3867 case $cf_cv_rel_version in
3869 cf_cv_rel_version=6.0
3871 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
3876 dnl ---------------------------------------------------------------------------
3877 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
3878 dnl ------------------
3879 dnl see CF_WITH_NO_LEAKS
3880 AC_DEFUN([CF_NO_LEAKS_OPTION],[
3881 AC_MSG_CHECKING(if you want to use $1 for testing)
3884 [AC_DEFINE($3)ifelse([$4],,[
3887 : ${with_cflags:=-g}
3888 : ${with_no_leaks:=yes}
3891 AC_MSG_RESULT(${with_$1:-no})
3893 case .$with_cflags in #(vi
3895 case .$CFLAGS in #(vi
3905 dnl ---------------------------------------------------------------------------
3906 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
3907 dnl ----------------
3908 dnl Check if the given variable is a number. If not, report an error.
3909 dnl $1 is the variable
3910 dnl $2 is the message
3911 AC_DEFUN([CF_NUMBER_SYNTAX],[
3912 if test -n "$1" ; then
3917 AC_MSG_ERROR($2 is not a number: $1)
3921 AC_MSG_ERROR($2 value is empty)
3924 dnl ---------------------------------------------------------------------------
3925 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
3927 dnl Compute the object-directory name from the given model name
3928 AC_DEFUN([CF_OBJ_SUBDIR],
3931 libtool) $2='obj_lo' ;;
3932 normal) $2='objects' ;;
3933 debug) $2='obj_g' ;;
3934 profile) $2='obj_p' ;;
3936 case $cf_cv_system_name in #(vi
3944 dnl ---------------------------------------------------------------------------
3945 dnl CF_PATHSEP version: 4 updated: 2009/01/11 20:30:23
3947 dnl Provide a value for the $PATH and similar separator
3948 AC_DEFUN([CF_PATHSEP],
3950 case $cf_cv_system_name in
3951 os2*) PATH_SEPARATOR=';' ;;
3952 *) PATH_SEPARATOR=':' ;;
3954 ifelse($1,,,[$1=$PATH_SEPARATOR])
3955 AC_SUBST(PATH_SEPARATOR)
3957 dnl ---------------------------------------------------------------------------
3958 dnl CF_PATH_SYNTAX version: 12 updated: 2008/03/23 14:45:59
3960 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
3961 dnl begins with one of the prefix/exec_prefix variables, and then again if the
3962 dnl result begins with 'NONE'. This is necessary to work around autoconf's
3963 dnl delayed evaluation of those symbols.
3964 AC_DEFUN([CF_PATH_SYNTAX],[
3965 if test "x$prefix" != xNONE; then
3966 cf_path_syntax="$prefix"
3968 cf_path_syntax="$ac_default_prefix"
3971 case ".[$]$1" in #(vi
3972 .\[$]\(*\)*|.\'*\'*) #(vi
3976 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
3978 .\[$]{*prefix}*) #(vi
3980 case ".[$]$1" in #(vi
3982 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3987 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3990 ifelse($2,,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
3994 dnl ---------------------------------------------------------------------------
3995 dnl CF_PKG_CONFIG version: 3 updated: 2009/01/25 10:55:09
3997 dnl Check for the package-config program, unless disabled by command-line.
3998 AC_DEFUN([CF_PKG_CONFIG],
4000 AC_MSG_CHECKING(if you want to use pkg-config)
4001 AC_ARG_WITH(pkg-config,
4002 [ --with-pkg-config{=path} enable/disable use of pkg-config],
4003 [cf_pkg_config=$withval],
4004 [cf_pkg_config=yes])
4005 AC_MSG_RESULT($cf_pkg_config)
4007 case $cf_pkg_config in #(vi
4012 AC_PATH_PROG(PKG_CONFIG, pkg-config, none)
4019 test -z "$PKG_CONFIG" && PKG_CONFIG=none
4020 if test "$PKG_CONFIG" != none ; then
4021 CF_PATH_SYNTAX(PKG_CONFIG)
4024 AC_SUBST(PKG_CONFIG)
4026 dnl ---------------------------------------------------------------------------
4027 dnl CF_POSIX_C_SOURCE version: 7 updated: 2010/01/09 11:05:50
4028 dnl -----------------
4029 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
4031 dnl POSIX.1-1990 _POSIX_SOURCE
4032 dnl POSIX.1-1990 and _POSIX_SOURCE and
4033 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
4035 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
4036 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
4037 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
4040 dnl $1 is the nominal value for _POSIX_C_SOURCE
4041 AC_DEFUN([CF_POSIX_C_SOURCE],
4043 cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1)
4045 cf_save_CFLAGS="$CFLAGS"
4046 cf_save_CPPFLAGS="$CPPFLAGS"
4048 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
4049 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
4051 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
4052 CF_MSG_LOG(if the symbol is already defined go no further)
4053 AC_TRY_COMPILE([#include <sys/types.h>],[
4054 #ifndef _POSIX_C_SOURCE
4057 [cf_cv_posix_c_source=no],
4058 [cf_want_posix_source=no
4059 case .$cf_POSIX_C_SOURCE in #(vi
4061 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4064 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4065 cf_want_posix_source=yes
4068 cf_want_posix_source=yes
4071 if test "$cf_want_posix_source" = yes ; then
4072 AC_TRY_COMPILE([#include <sys/types.h>],[
4073 #ifdef _POSIX_SOURCE
4076 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
4078 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
4079 CFLAGS="$cf_trim_CFLAGS"
4080 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
4081 CF_MSG_LOG(if the second compile does not leave our definition intact error)
4082 AC_TRY_COMPILE([#include <sys/types.h>],[
4083 #ifndef _POSIX_C_SOURCE
4086 [cf_cv_posix_c_source=no])
4087 CFLAGS="$cf_save_CFLAGS"
4088 CPPFLAGS="$cf_save_CPPFLAGS"
4092 if test "$cf_cv_posix_c_source" != no ; then
4093 CFLAGS="$cf_trim_CFLAGS"
4094 CPPFLAGS="$cf_trim_CPPFLAGS"
4095 CF_ADD_CFLAGS($cf_cv_posix_c_source)
4099 dnl ---------------------------------------------------------------------------
4100 dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
4102 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
4104 dnl $1 = symbol to test
4105 dnl $2 = value (if any) to use for a predefinition
4106 AC_DEFUN([CF_PREDEFINE],
4108 AC_MSG_CHECKING(if we must define $1)
4109 AC_TRY_COMPILE([#include <sys/types.h>
4113 #endif],[cf_result=no],[cf_result=yes])
4114 AC_MSG_RESULT($cf_result)
4116 if test "$cf_result" = yes ; then
4117 CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
4118 elif test "x$2" != "x" ; then
4119 AC_MSG_CHECKING(checking for compatible value versus $2)
4120 AC_TRY_COMPILE([#include <sys/types.h>
4124 #endif],[cf_result=yes],[cf_result=no])
4125 AC_MSG_RESULT($cf_result)
4126 if test "$cf_result" = no ; then
4127 # perhaps we can override it - try...
4128 CPPFLAGS="$CPPFLAGS -D$1=$2"
4132 dnl ---------------------------------------------------------------------------
4133 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
4135 dnl Append definitions and rules for the given programs to the subdirectory
4136 dnl Makefiles, and the recursion rule for the top-level Makefile.
4139 dnl $1 = script to run
4140 dnl $2 = list of subdirectories
4144 AC_DEFUN([CF_PRG_RULES],
4148 if test ! -d $srcdir/$cf_dir; then
4150 elif test -f $srcdir/$cf_dir/programs; then
4151 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
4156 dnl ---------------------------------------------------------------------------
4157 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
4159 dnl Check for archiver "ar".
4160 AC_DEFUN([CF_PROG_AR],[
4161 AC_CHECK_TOOL(AR, ar, ar)
4163 dnl ---------------------------------------------------------------------------
4164 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
4166 dnl Check for awk, ensure that the check found something.
4167 AC_DEFUN([CF_PROG_AWK],
4170 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
4172 dnl ---------------------------------------------------------------------------
4173 dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46
4175 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
4176 dnl the output file can be renamed, and allows for a shell variable that can
4177 dnl be used later. The parameter is either CC or CXX. The result is the
4179 dnl $cf_cv_prog_CC_c_o
4180 dnl $cf_cv_prog_CXX_c_o
4181 AC_DEFUN([CF_PROG_CC_C_O],
4182 [AC_REQUIRE([AC_PROG_CC])dnl
4183 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
4184 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
4186 cat > conftest.$ac_ext <<CF_EOF
4190 ${cf_cv_main_return:-return}(0);
4193 # We do the test twice because some compilers refuse to overwrite an
4194 # existing .o file with -o, though they will create one.
4195 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
4196 if AC_TRY_EVAL(ac_try) &&
4197 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
4199 eval cf_cv_prog_$1_c_o=yes
4201 eval cf_cv_prog_$1_c_o=no
4205 if test $cf_cv_prog_$1_c_o = yes; then
4206 AC_MSG_RESULT([yes])
4211 dnl ---------------------------------------------------------------------------
4212 dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
4214 dnl Check if C (preprocessor) -U and -D options are processed in the order
4215 dnl given rather than by type of option. Some compilers insist on apply all
4216 dnl of the -U options after all of the -D options. Others allow mixing them,
4217 dnl and may predefine symbols that conflict with those we define.
4218 AC_DEFUN([CF_PROG_CC_U_D],
4220 AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
4221 cf_save_CPPFLAGS="$CPPFLAGS"
4222 CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
4225 make an undefined-error
4228 make a defined-error
4231 cf_cv_cc_u_d_options=yes],[
4232 cf_cv_cc_u_d_options=no])
4233 CPPFLAGS="$cf_save_CPPFLAGS"
4236 dnl ---------------------------------------------------------------------------
4237 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
4239 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
4240 dnl This macro adds a check to ensure the script found something.
4241 AC_DEFUN([CF_PROG_EGREP],
4242 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
4243 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
4244 then ac_cv_prog_egrep='grep -E'
4245 else ac_cv_prog_egrep='egrep'
4247 EGREP=$ac_cv_prog_egrep
4249 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
4251 dnl ---------------------------------------------------------------------------
4252 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
4254 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
4255 AC_DEFUN([CF_PROG_EXT],
4257 AC_REQUIRE([CF_CHECK_CACHE])
4258 case $cf_cv_system_name in
4260 CFLAGS="$CFLAGS -Zmt"
4261 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
4262 CXXFLAGS="$CXXFLAGS -Zmt"
4263 # autoconf's macro sets -Zexe and suffix both, which conflict:w
4264 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
4274 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
4276 dnl ---------------------------------------------------------------------------
4277 dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
4279 dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
4280 dnl misc/tabset install won't work properly. Usually this happens only when
4281 dnl using the fallback mkinstalldirs script
4282 AC_DEFUN([CF_PROG_INSTALL],
4288 CF_DIRNAME(cf_dir,$INSTALL)
4289 test -z "$cf_dir" && cf_dir=.
4290 INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
4294 dnl ---------------------------------------------------------------------------
4295 dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40
4296 dnl ----------------
4297 dnl Check for ldconfig, needed to fixup shared libraries that would be built
4298 dnl and then used in the install.
4299 AC_DEFUN([CF_PROG_LDCONFIG],[
4300 if test "$cross_compiling" = yes ; then
4303 case "$cf_cv_system_name" in #(vi
4304 dragonfly*|freebsd*) #(vi
4305 test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
4307 *) LDPATH=$PATH:/sbin:/usr/sbin
4308 AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
4314 dnl ---------------------------------------------------------------------------
4315 dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
4317 AC_DEFUN([CF_PROG_LINT],
4319 AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
4322 dnl ---------------------------------------------------------------------------
4323 dnl CF_REGEX version: 6 updated: 2010/03/27 13:41:56
4325 dnl Attempt to determine if we've got one of the flavors of regular-expression
4326 dnl code that we can support.
4327 AC_DEFUN([CF_REGEX],
4332 AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
4333 for cf_regex_lib in regex re
4335 AC_CHECK_LIB($cf_regex_lib,regcomp,[
4336 LIBS="-l$cf_regex_lib $LIBS"
4337 cf_regex_func=regcomp
4342 if test "$cf_regex_func" = no ; then
4343 AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
4344 AC_CHECK_LIB(gen,compile,[
4346 cf_regex_func=compile])])
4349 if test "$cf_regex_func" = no ; then
4350 AC_MSG_WARN(cannot find regular expression library)
4353 AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
4356 case $cf_regex_func in #(vi
4358 for cf_regex_hdr in regexp.h regexpr.h
4360 AC_TRY_LINK([#include <$cf_regex_hdr>],[
4361 char *p = compile("", "", "", 0);
4362 int x = step("", "");
4364 cf_cv_regex_hdrs=$cf_regex_hdr
4370 for cf_regex_hdr in regex.h
4372 AC_TRY_LINK([#include <sys/types.h>
4373 #include <$cf_regex_hdr>],[
4375 int x = regcomp(p, "", 0);
4376 int y = regexec(p, "", 0, 0, 0);
4379 cf_cv_regex_hdrs=$cf_regex_hdr
4388 case $cf_cv_regex_hdrs in #(vi
4389 no) AC_MSG_WARN(no regular expression header found) ;; #(vi
4390 regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
4391 regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
4392 regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
4395 dnl ---------------------------------------------------------------------------
4396 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
4397 dnl ----------------
4398 dnl Remove all -U and -D options that refer to the given symbol from a list
4399 dnl of C compiler options. This works around the problem that not all
4400 dnl compilers process -U and -D options from left-to-right, so a -U option
4401 dnl cannot be used to cancel the effect of a preceding -D option.
4403 dnl $1 = target (which could be the same as the source variable)
4404 dnl $2 = source (including '$')
4405 dnl $3 = symbol to remove
4406 define([CF_REMOVE_DEFINE],
4409 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
4410 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
4412 dnl ---------------------------------------------------------------------------
4413 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
4415 dnl Remove the given library from the symbol
4417 dnl $1 = target (which could be the same as the source variable)
4418 dnl $2 = source (including '$')
4419 dnl $3 = library to remove
4420 define([CF_REMOVE_LIB],
4422 # remove $3 library from $2
4423 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
4425 dnl ---------------------------------------------------------------------------
4426 dnl CF_RPATH_HACK version: 8 updated: 2010/04/17 15:38:58
4428 AC_DEFUN([CF_RPATH_HACK],
4430 AC_REQUIRE([CF_LD_RPATH_OPT])
4431 AC_MSG_CHECKING(for updated LDFLAGS)
4432 if test -n "$LD_RPATH_OPT" ; then
4433 AC_MSG_RESULT(maybe)
4435 AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
4436 cf_rpath_list="/usr/lib /lib"
4437 if test "$cf_ldd_prog" != no
4439 AC_TRY_LINK([#include <stdio.h>],
4441 [cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
4444 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4446 CF_RPATH_HACK_2(LDFLAGS)
4447 CF_RPATH_HACK_2(LIBS)
4449 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4451 AC_SUBST(EXTRA_LDFLAGS)
4453 dnl ---------------------------------------------------------------------------
4454 dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
4456 dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
4457 dnl EXTRA_LDFLAGS for each -L option found.
4459 dnl $cf_rpath_list contains a list of directories to ignore.
4461 dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
4462 dnl but LIBS often has misplaced -L options.
4463 AC_DEFUN([CF_RPATH_HACK_2],
4465 CF_VERBOSE(...checking $1 [$]$1)
4468 for cf_rpath_src in [$]$1
4470 case $cf_rpath_src in #(vi
4473 # check if this refers to a directory which we will ignore
4475 if test -n "$cf_rpath_list"
4477 for cf_rpath_item in $cf_rpath_list
4479 if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
4487 if test "$cf_rpath_skip" = no
4489 # transform the option
4490 if test "$LD_RPATH_OPT" = "-R " ; then
4491 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
4493 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
4496 # if we have not already added this, add it now
4497 cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
4498 if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"