1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2007,2008 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.463 2008/09/13 16:54:28 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: 5 updated: 2006/10/14 15:23:15
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 $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: 7 updated: 2004/04/25 17:48:30
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 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
136 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
141 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
143 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
145 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
146 && test -z "${cf_tst_cflags}" \
147 && cf_fix_cppflags=no
152 if test -n "$cf_new_cflags" ; then
153 ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
154 CFLAGS="$CFLAGS $cf_new_cflags"
157 if test -n "$cf_new_cppflags" ; then
158 ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
159 CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
162 if test -n "$cf_new_extra_cppflags" ; then
163 ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
164 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
167 AC_SUBST(EXTRA_CPPFLAGS)
170 dnl ---------------------------------------------------------------------------
171 dnl CF_ADD_INCDIR version: 9 updated: 2008/02/09 13:15:34
173 dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
174 dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
175 dnl but old versions (and some misinstalled ones) need that. To make things
176 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
177 dnl the include-path).
178 AC_DEFUN([CF_ADD_INCDIR],
180 if test -n "$1" ; then
181 for cf_add_incdir in $1
183 while test $cf_add_incdir != /usr/include
185 if test -d $cf_add_incdir
188 if test -n "$CFLAGS$CPPFLAGS" ; then
189 # a loop is needed to ensure we can add subdirs of existing dirs
190 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
191 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
192 cf_have_incdir=yes; break
197 if test "$cf_have_incdir" = no ; then
198 if test "$cf_add_incdir" = /usr/local/include ; then
201 cf_save_CPPFLAGS=$CPPFLAGS
202 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
203 AC_TRY_COMPILE([#include <stdio.h>],
206 [cf_have_incdir=yes])
207 CPPFLAGS=$cf_save_CPPFLAGS
212 if test "$cf_have_incdir" = no ; then
213 CF_VERBOSE(adding $cf_add_incdir to include-path)
214 ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)"
216 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
217 test "$cf_top_incdir" = "$cf_add_incdir" && break
218 cf_add_incdir="$cf_top_incdir"
227 dnl ---------------------------------------------------------------------------
228 dnl CF_ADD_LIBDIR version: 6 updated: 2008/02/09 13:15:34
230 dnl Adds to the library-path
232 dnl Some machines have trouble with multiple -L options.
234 dnl $1 is the (list of) directory(s) to add
235 dnl $2 is the optional name of the variable to update (default LDFLAGS)
237 AC_DEFUN([CF_ADD_LIBDIR],
239 if test -n "$1" ; then
240 for cf_add_libdir in $1
242 if test $cf_add_libdir = /usr/lib ; then
244 elif test -d $cf_add_libdir
247 if test -n "$LDFLAGS$LIBS" ; then
248 # a loop is needed to ensure we can add subdirs of existing dirs
249 for cf_test_libdir in $LDFLAGS $LIBS ; do
250 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
251 cf_have_libdir=yes; break
255 if test "$cf_have_libdir" = no ; then
256 CF_VERBOSE(adding $cf_add_libdir to library-path)
257 ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,[$]$2)"
263 dnl ---------------------------------------------------------------------------
264 dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
266 dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
267 dnl in the sharutils 4.2 distribution.
268 AC_DEFUN([CF_ANSI_CC_CHECK],
270 AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
272 cf_save_CFLAGS="$CFLAGS"
273 cf_save_CPPFLAGS="$CPPFLAGS"
274 # Don't try gcc -ansi; that turns off useful extensions and
275 # breaks some systems' header files.
277 # Ultrix and OSF/1 -std1
278 # HP-UX -Aa -D_HPUX_SOURCE
280 # UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
281 for cf_arg in "-DCC_HAS_PROTOS" \
286 "-Aa -D_HPUX_SOURCE" \
289 CF_ADD_CFLAGS($cf_arg)
292 #ifndef CC_HAS_PROTOS
293 #if !defined(__STDC__) || (__STDC__ != 1)
298 int test (int i, double x);
299 struct s1 {int (*f) (int a);};
300 struct s2 {int (*f) (double a);};],
301 [cf_cv_ansi_cc="$cf_arg"; break])
303 CFLAGS="$cf_save_CFLAGS"
304 CPPFLAGS="$cf_save_CPPFLAGS"
307 if test "$cf_cv_ansi_cc" != "no"; then
308 if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
309 CF_ADD_CFLAGS($cf_cv_ansi_cc)
311 AC_DEFINE(CC_HAS_PROTOS)
315 dnl ---------------------------------------------------------------------------
316 dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
318 dnl For programs that must use an ANSI compiler, obtain compiler options that
319 dnl will make it recognize prototypes. We'll do preprocessor checks in other
320 dnl macros, since tools such as unproto can fake prototypes, but only part of
321 dnl the preprocessor.
322 AC_DEFUN([CF_ANSI_CC_REQD],
323 [AC_REQUIRE([CF_ANSI_CC_CHECK])
324 if test "$cf_cv_ansi_cc" = "no"; then
326 [Your compiler does not appear to recognize prototypes.
327 You have the following choices:
328 a. adjust your compiler options
329 b. get an up-to-date compiler
330 c. use a wrapper such as unproto])
333 dnl ---------------------------------------------------------------------------
334 dnl CF_AWK_BIG_PRINTF version: 1 updated: 2008/09/06 17:17:18
335 dnl -----------------
336 dnl Check if awk can handle big strings using printf. Some older versions of
337 dnl awk choke on large strings passed via "%s".
339 dnl $1 = desired string size
340 dnl $2 = variable to set with result
341 AC_DEFUN([CF_AWK_BIG_PRINTF],
348 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
349 | $AWK '{ if (length([$]0) != $1) exit 1; }' 2>/dev/null >/dev/null ); then
357 dnl ---------------------------------------------------------------------------
358 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
360 dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
361 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
362 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
364 dnl Treat the configuration-variable specially here, since we're directly
365 dnl substituting its value (i.e., 1/0).
367 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
368 AC_DEFUN([CF_BOOL_DECL],
370 AC_MSG_CHECKING(if we should include stdbool.h)
372 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
373 AC_TRY_COMPILE([],[bool foo = false],
374 [cf_cv_header_stdbool_h=0],
379 ],[bool foo = false],
380 [cf_cv_header_stdbool_h=1],
381 [cf_cv_header_stdbool_h=0])])])
383 if test "$cf_cv_header_stdbool_h" = 1
384 then AC_MSG_RESULT(yes)
385 else AC_MSG_RESULT(no)
388 AC_MSG_CHECKING([for builtin bool type])
390 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
393 #include <sys/types.h>
395 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
396 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
399 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
400 then AC_MSG_RESULT(yes)
401 else AC_MSG_RESULT(no)
404 dnl ---------------------------------------------------------------------------
405 dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
407 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
408 dnl Don't bother looking for bool.h, since it's been deprecated.
410 dnl If the current compiler is C rather than C++, we get the bool definition
411 dnl from <stdbool.h>.
412 AC_DEFUN([CF_BOOL_SIZE],
414 AC_MSG_CHECKING([for size of bool])
415 AC_CACHE_VAL(cf_cv_type_of_bool,[
421 #if defined(__cplusplus)
423 #ifdef HAVE_GXX_BUILTIN_H
424 #include <g++/builtin.h>
425 #elif HAVE_GPP_BUILTIN_H
426 #include <gpp/builtin.h>
433 #if $cf_cv_header_stdbool_h
441 FILE *fp = fopen("cf_test.out", "w");
445 fputs("unsigned ", fp);
446 if (sizeof(x) == sizeof(int)) fputs("int", fp);
447 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
448 else if (sizeof(x) == sizeof(short))fputs("short",fp);
449 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
452 ${cf_cv_main_return:-return}(0);
455 [cf_cv_type_of_bool=`cat cf_test.out`
456 if test -z "$cf_cv_type_of_bool"; then
457 cf_cv_type_of_bool=unknown
459 [cf_cv_type_of_bool=unknown],
460 [cf_cv_type_of_bool=unknown])
463 AC_MSG_RESULT($cf_cv_type_of_bool)
464 if test "$cf_cv_type_of_bool" = unknown ; then
465 case .$NCURSES_BOOL in #(vi
466 .auto|.) NCURSES_BOOL=unsigned;;
468 AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
469 cf_cv_type_of_bool=$NCURSES_BOOL
472 dnl ---------------------------------------------------------------------------
473 dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
475 dnl If we're cross-compiling, allow the user to override the tools and their
476 dnl options. The configure script is oriented toward identifying the host
477 dnl compiler, etc., but we need a build compiler to generate parts of the
480 dnl $1 = default for $CPPFLAGS
481 dnl $2 = default for $LIBS
482 AC_DEFUN([CF_BUILD_CC],[
483 AC_REQUIRE([CF_PROG_EXT])
484 if test "$cross_compiling" = yes ; then
486 # defaults that we might want to override
487 : ${BUILD_CFLAGS:=''}
488 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
489 : ${BUILD_LDFLAGS:=''}
490 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
491 : ${BUILD_EXEEXT:='$x'}
492 : ${BUILD_OBJEXT:='o'}
494 AC_ARG_WITH(build-cc,
495 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
496 [BUILD_CC="$withval"],
497 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
498 AC_MSG_CHECKING(for native build C compiler)
499 AC_MSG_RESULT($BUILD_CC)
501 AC_MSG_CHECKING(for native build C preprocessor)
502 AC_ARG_WITH(build-cpp,
503 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
504 [BUILD_CPP="$withval"],
505 [BUILD_CPP='${BUILD_CC} -E'])
506 AC_MSG_RESULT($BUILD_CPP)
508 AC_MSG_CHECKING(for native build C flags)
509 AC_ARG_WITH(build-cflags,
510 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
511 [BUILD_CFLAGS="$withval"])
512 AC_MSG_RESULT($BUILD_CFLAGS)
514 AC_MSG_CHECKING(for native build C preprocessor-flags)
515 AC_ARG_WITH(build-cppflags,
516 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
517 [BUILD_CPPFLAGS="$withval"])
518 AC_MSG_RESULT($BUILD_CPPFLAGS)
520 AC_MSG_CHECKING(for native build linker-flags)
521 AC_ARG_WITH(build-ldflags,
522 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
523 [BUILD_LDFLAGS="$withval"])
524 AC_MSG_RESULT($BUILD_LDFLAGS)
526 AC_MSG_CHECKING(for native build linker-libraries)
527 AC_ARG_WITH(build-libs,
528 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
529 [BUILD_LIBS="$withval"])
530 AC_MSG_RESULT($BUILD_LIBS)
532 # this assumes we're on Unix.
536 : ${BUILD_CC:='${CC}'}
538 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
539 AC_MSG_ERROR([Cross-build requires two compilers.
540 Use --with-build-cc to specify the native compiler.])
544 : ${BUILD_CC:='${CC}'}
545 : ${BUILD_CPP:='${CPP}'}
546 : ${BUILD_CFLAGS:='${CFLAGS}'}
547 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
548 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
549 : ${BUILD_LIBS:='${LIBS}'}
550 : ${BUILD_EXEEXT:='$x'}
551 : ${BUILD_OBJEXT:='o'}
556 AC_SUBST(BUILD_CFLAGS)
557 AC_SUBST(BUILD_CPPFLAGS)
558 AC_SUBST(BUILD_LDFLAGS)
560 AC_SUBST(BUILD_EXEEXT)
561 AC_SUBST(BUILD_OBJEXT)
563 dnl ---------------------------------------------------------------------------
564 dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
566 dnl Determine the default configuration into which we'll install ncurses. This
567 dnl can be overridden by the user's command-line options. There's two items to
569 dnl 1. the prefix (e.g., /usr)
570 dnl 2. the header files (e.g., /usr/include/ncurses)
571 dnl We'll look for a previous installation of ncurses and use the same defaults.
573 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
574 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
575 dnl programs from a vendor's.
576 AC_DEFUN([CF_CFG_DEFAULTS],
578 AC_MSG_CHECKING(for prefix)
579 if test "x$prefix" = "xNONE" ; then
580 case "$cf_cv_system_name" in
581 # non-vendor systems don't have a conflict
582 openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
585 *) prefix=$ac_default_prefix
589 AC_MSG_RESULT($prefix)
591 if test "x$prefix" = "xNONE" ; then
592 AC_MSG_CHECKING(for default include-directory)
593 test -n "$verbose" && echo 1>&AC_FD_MSG
596 $includedir/ncurses \
598 $prefix/include/ncurses \
600 /usr/local/include/ncurses \
604 cf_dir=`eval echo $cf_symbol`
605 if test -f $cf_dir/curses.h ; then
606 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
607 includedir="$cf_symbol"
608 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
612 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
614 AC_MSG_RESULT($includedir)
617 dnl ---------------------------------------------------------------------------
618 dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
620 dnl Check if the terminal-capability database functions are available. If not,
621 dnl ncurses has a much-reduced version.
622 AC_DEFUN([CF_CGETENT],[
623 AC_MSG_CHECKING(for terminal-capability database functions)
624 AC_CACHE_VAL(cf_cv_cgetent,[
626 #include <stdlib.h>],[
629 char *db_array = temp;
630 cgetent(&buf, /* int *, */ &db_array, "vt100");
631 cgetcap(buf, "tc", '=');
632 cgetmatch(buf, "tc");
637 AC_MSG_RESULT($cf_cv_cgetent)
638 test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
640 dnl ---------------------------------------------------------------------------
641 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
643 dnl Check if we're accidentally using a cache from a different machine.
644 dnl Derive the system name, as a check for reusing the autoconf cache.
646 dnl If we've packaged config.guess and config.sub, run that (since it does a
647 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
648 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
649 dnl which is useful in cross-compiles.
651 dnl Note: we would use $ac_config_sub, but that is one of the places where
652 dnl autoconf 2.5x broke compatibility with autoconf 2.13
653 AC_DEFUN([CF_CHECK_CACHE],
655 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
656 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
657 system_name="$host_os"
659 system_name="`(uname -s -r) 2>/dev/null`"
660 if test -z "$system_name" ; then
661 system_name="`(hostname) 2>/dev/null`"
664 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
665 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
667 test -z "$system_name" && system_name="$cf_cv_system_name"
668 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
670 if test ".$system_name" != ".$cf_cv_system_name" ; then
671 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
672 AC_MSG_ERROR("Please remove config.cache and try again.")
675 dnl ---------------------------------------------------------------------------
676 dnl CF_CHECK_ERRNO version: 10 updated: 2008/08/22 16:33:22
678 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
679 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
682 dnl $1 = the name to check
683 dnl $2 = the assumed type
684 AC_DEFUN([CF_CHECK_ERRNO],
686 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
692 #include <sys/types.h>
693 #include <errno.h> ],
694 ifelse($2,,int,$2) x = (ifelse($2,,int,$2)) $1,
699 if test "$cf_cv_dcl_$1" = no ; then
700 CF_UPPER(cf_result,decl_$1)
701 AC_DEFINE_UNQUOTED($cf_result)
704 # It's possible (for near-UNIX clones) that the data doesn't exist
705 CF_CHECK_EXTERN_DATA($1,ifelse($2,,int,$2))
707 dnl ---------------------------------------------------------------------------
708 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
709 dnl --------------------
710 dnl Check for existence of external data in the current set of libraries. If
711 dnl we can modify it, it's real enough.
712 dnl $1 = the name to check
714 AC_DEFUN([CF_CHECK_EXTERN_DATA],
716 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
726 if test "$cf_cv_have_$1" = yes ; then
727 CF_UPPER(cf_result,have_$1)
728 AC_DEFINE_UNQUOTED($cf_result)
732 dnl ---------------------------------------------------------------------------
733 dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06
734 dnl -------------------
735 dnl Check if GPM is already linked with curses. If so - and if the linkage
736 dnl is not "weak" - warn about this because it can create problems linking
737 dnl applications with ncurses.
738 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
739 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
741 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
742 cf_cv_check_gpm_wgetch=unknown
743 if test "$cross_compiling" != yes ; then
745 cat >conftest.$ac_ext <<CF_EOF
750 ${cf_cv_main_return:-return}(0);
755 # This only works if we can look at the symbol table. If a shared
756 # library is stripped for install, we cannot use that. So we're forced
757 # to rely on the static library, noting that some packagers may not
759 LIBS="-static -lgpm -dynamic $LIBS"
760 if AC_TRY_EVAL(ac_compile) ; then
761 if AC_TRY_EVAL(ac_link) ; then
762 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
763 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
764 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
772 if test "$cf_cv_check_gpm_wgetch" != yes ; then
773 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
776 dnl ---------------------------------------------------------------------------
777 dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
778 dnl -----------------
779 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
780 dnl is a late feature for the standard and is not in some recent compilers
782 AC_DEFUN([CF_CPP_PARAM_INIT],
784 if test -n "$CXX"; then
785 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
797 TEST::TEST(int x = 1) // some compilers do not like second initializer
803 [cf_cv_cpp_param_init=yes],
804 [cf_cv_cpp_param_init=no],
805 [cf_cv_cpp_param_init=unknown])
809 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
811 dnl ---------------------------------------------------------------------------
812 dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
813 dnl ------------------
814 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
815 dnl not be supported in g++ before 3.0
816 AC_DEFUN([CF_CPP_STATIC_CAST],
818 if test -n "$CXX"; then
820 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
828 NCursesPanel(int nlines,
838 template<class T> class NCursesUserPanel : public NCursesPanel
841 NCursesUserPanel (int nlines,
845 const T* p_UserData = static_cast<T*>(0))
846 : NCursesPanel (nlines, ncols, begin_y, begin_x)
849 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
853 virtual ~NCursesUserPanel() {};
856 const char* p_UserData = static_cast<char*>(0)],
857 [cf_cv_cpp_static_cast=yes],
858 [cf_cv_cpp_static_cast=no])
865 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
867 dnl ---------------------------------------------------------------------------
868 dnl CF_C_INLINE version: 2 updated: 2007/08/11 14:09:50
870 dnl Check if the C compiler supports "inline".
871 dnl $1 is the name of a shell variable to set if inline is supported
872 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
873 AC_DEFUN([CF_C_INLINE],[
876 if test "$ac_cv_c_inline" != no ; then
878 if test "$INTEL_COMPILER" = yes
881 elif test "$GCC" = yes
883 AC_CACHE_CHECK(if gcc supports options to tune inlining,cf_cv_gcc_inline,[
884 cf_save_CFLAGS=$CFLAGS
885 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
886 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
887 [${cf_cv_main_return:-return} foo()],
888 [cf_cv_gcc_inline=yes],
889 [cf_cv_gcc_inline=no])
890 CFLAGS=$cf_save_CFLAGS
892 if test "$cf_cv_gcc_inline" = yes ; then
893 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
899 dnl ---------------------------------------------------------------------------
900 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
902 dnl "dirname" is not portable, so we fake it with a shell script.
903 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
904 dnl ---------------------------------------------------------------------------
905 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
907 AC_DEFUN([CF_DIRS_TO_MAKE],
910 for cf_item in $cf_list_models
912 CF_OBJ_SUBDIR($cf_item,cf_subdir)
913 for cf_item2 in $DIRS_TO_MAKE
915 test $cf_item2 = $cf_subdir && break
917 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
919 for cf_dir in $DIRS_TO_MAKE
921 test ! -d $cf_dir && mkdir $cf_dir
923 AC_SUBST(DIRS_TO_MAKE)
925 dnl ---------------------------------------------------------------------------
926 dnl CF_DISABLE_LEAKS version: 4 updated: 2006/12/16 15:10:42
928 dnl Combine no-leak checks with the libraries or tools that are used for the
930 AC_DEFUN([CF_DISABLE_LEAKS],[
932 AC_REQUIRE([CF_WITH_DMALLOC])
933 AC_REQUIRE([CF_WITH_DBMALLOC])
934 AC_REQUIRE([CF_WITH_VALGRIND])
936 AC_MSG_CHECKING(if you want to perform memory-leak testing)
938 [ --disable-leaks test: free permanent memory, analyze leaks],
940 : ${with_no_leaks:=no})
941 AC_MSG_RESULT($with_no_leaks)
943 if test "$with_no_leaks" = yes ; then
947 dnl ---------------------------------------------------------------------------
948 dnl CF_ENABLE_RPATH version: 1 updated: 2008/09/13 10:22:30
950 dnl Check if the rpath option should be used, setting cache variable
951 dnl cf_cv_ld_rpath if so.
952 AC_DEFUN([CF_ENABLE_RPATH],
954 AC_MSG_CHECKING(if rpath option should be used)
956 [ --enable-rpath use rpath option when generating shared libraries],
957 [cf_cv_ld_rpath=$enableval],
959 AC_MSG_RESULT($cf_cv_ld_rpath)
961 dnl ---------------------------------------------------------------------------
962 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
964 dnl Check if 'errno' is declared in <errno.h>
967 CF_CHECK_ERRNO(errno)
969 dnl ---------------------------------------------------------------------------
970 dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
972 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
973 dnl math.h and builtin.h, only for ncurses
974 AC_DEFUN([CF_ETIP_DEFINES],
976 AC_MSG_CHECKING(for special defines needed for etip.h)
977 cf_save_CXXFLAGS="$CXXFLAGS"
979 for cf_math in "" MATH_H
981 for cf_excp in "" MATH_EXCEPTION
983 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
984 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
985 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
989 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
990 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
991 cf_result="$cf_math $cf_excp"
996 AC_MSG_RESULT($cf_result)
997 CXXFLAGS="$cf_save_CXXFLAGS"
999 dnl ---------------------------------------------------------------------------
1000 dnl CF_FUNC_DLSYM version: 1 updated: 2004/06/16 20:52:45
1002 dnl Test for dlsym() and related functions, as well as libdl.
1007 AC_DEFUN([CF_FUNC_DLSYM],[
1009 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1012 AC_CHECK_LIB(dl,dlsym,[
1014 cf_have_libdl=yes])])
1016 if test "$cf_have_dlsym" = yes ; then
1017 test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS"
1019 AC_MSG_CHECKING(whether able to link to dl*() functions)
1020 AC_TRY_LINK([#include <dlfcn.h>],[
1022 if ((obj = dlopen("filename", 0)) != 0) {
1023 if (dlsym(obj, "symbolname") == 0) {
1027 AC_DEFINE(HAVE_LIBDL)],[
1028 AC_MSG_ERROR(Cannot link test program for libdl)])
1031 AC_MSG_ERROR(Cannot find dlsym function)
1034 dnl ---------------------------------------------------------------------------
1035 dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
1037 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1038 dnl is found, add our own version of memmove to the list of objects.
1039 AC_DEFUN([CF_FUNC_MEMMOVE],
1041 AC_CHECK_FUNC(memmove,,[
1042 AC_CHECK_FUNC(bcopy,[
1043 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1046 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1048 bcopy(data, temp, sizeof(data));
1049 bcopy(temp+10, temp, 15);
1050 bcopy(temp+5, temp+15, 10);
1051 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1054 [cf_cv_good_bcopy=yes],
1055 [cf_cv_good_bcopy=no],
1056 [cf_cv_good_bcopy=unknown])
1058 ],[cf_cv_good_bcopy=no])
1059 if test "$cf_cv_good_bcopy" = yes ; then
1060 AC_DEFINE(USE_OK_BCOPY)
1062 AC_DEFINE(USE_MY_MEMMOVE)
1065 dnl ---------------------------------------------------------------------------
1066 dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
1067 dnl -----------------
1068 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1069 dnl AIX 4.x, provide a non-working version.
1070 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1071 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1077 #ifdef HAVE_SYS_TIME_H
1078 #include <sys/time.h>
1082 struct timespec ts1, ts2;
1085 ts1.tv_nsec = 750000000;
1089 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1090 ${cf_cv_main_return:-return}(code != 0);
1093 [cf_cv_func_nanosleep=yes],
1094 [cf_cv_func_nanosleep=no],
1095 [cf_cv_func_nanosleep=unknown])])
1097 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
1099 dnl ---------------------------------------------------------------------------
1100 dnl CF_FUNC_OPENPTY version: 2 updated: 2008/04/12 19:49:01
1102 dnl Check for openpty() function, along with <pty.h> header. It may need the
1103 dnl "util" library as well.
1104 AC_DEFUN([CF_FUNC_OPENPTY],
1106 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1107 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1108 cf_save_LIBS="$LIBS"
1109 test $cf_cv_lib_util = yes && LIBS="-lutil $LIBS"
1110 for cf_header in pty.h libutil.h util.h
1113 #include <$cf_header>
1115 int x = openpty((int *)0, (int *)0, (char *)0,
1116 (struct termios *)0, (struct winsize *)0);
1118 cf_cv_func_openpty=$cf_header
1121 cf_cv_func_openpty=no
1124 LIBS="$cf_save_LIBS"
1127 dnl ---------------------------------------------------------------------------
1128 dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
1130 dnl See if the poll function really works. Some platforms have poll(), but
1131 dnl it does not work for terminals or files.
1132 AC_DEFUN([CF_FUNC_POLL],[
1133 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1139 #include <sys/poll.h>
1142 struct pollfd myfds;
1146 myfds.events = POLLIN;
1148 ret = poll(&myfds, 1, 100);
1149 ${cf_cv_main_return:-return}(ret != 0);
1151 [cf_cv_working_poll=yes],
1152 [cf_cv_working_poll=no],
1153 [cf_cv_working_poll=unknown])])
1154 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1156 dnl ---------------------------------------------------------------------------
1157 dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1159 dnl Some old/broken variations define tcgetattr() only as a macro in
1161 AC_DEFUN([CF_FUNC_TERMIOS],[
1162 AC_REQUIRE([CF_STRUCT_TERMIOS])
1163 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1165 #include <sys/types.h>
1166 #ifdef HAVE_UNISTD_H
1169 #ifdef HAVE_TERMIOS_H
1170 #include <termios.h>
1171 #define TTY struct termios
1173 #ifdef HAVE_TERMIO_H
1175 #define TTY struct termio
1180 tcgetattr(1, &foo);],
1181 [cf_cv_have_tcgetattr=yes],
1182 [cf_cv_have_tcgetattr=no])])
1183 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1185 dnl ---------------------------------------------------------------------------
1186 dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1188 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1189 dnl versions of C. It is in the GNU C library, and can often be simulated by
1190 dnl other functions.
1191 AC_DEFUN([CF_FUNC_VSSCANF],
1193 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1196 #include <stdio.h>],[
1198 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1201 #include <stdio.h>],[
1205 strbuf._flag = _IOREAD;
1206 strbuf._ptr = strbuf._base = (unsigned char *) str;
1207 strbuf._cnt = strlen(str);
1208 strbuf._file = _NFILE;
1209 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1212 #include <stdio.h>],[
1216 strbuf._flag = _IOREAD;
1217 strbuf._ptr = strbuf._base = (unsigned char *) str;
1218 strbuf._cnt = strlen(str);
1219 strbuf._file = _NFILE;
1220 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1221 cf_cv_func_vsscanf=no])])])])
1223 case $cf_cv_func_vsscanf in #(vi
1224 vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1225 vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1226 _doscan) AC_DEFINE(HAVE__DOSCAN);;
1230 dnl ---------------------------------------------------------------------------
1231 dnl CF_GCC_ATTRIBUTES version: 11 updated: 2007/07/29 09:55:12
1232 dnl -----------------
1233 dnl Test for availability of useful gcc __attribute__ directives to quiet
1234 dnl compiler warnings. Though useful, not all are supported -- and contrary
1235 dnl to documentation, unrecognized directives cause older compilers to barf.
1236 AC_DEFUN([CF_GCC_ATTRIBUTES],
1238 if test "$GCC" = yes
1240 cat > conftest.i <<EOF
1242 #define GCC_PRINTF 0
1247 #ifndef GCC_NORETURN
1248 #define GCC_NORETURN /* nothing */
1251 #define GCC_UNUSED /* nothing */
1254 if test "$GCC" = yes
1256 AC_CHECKING([for $CC __attribute__ directives])
1257 cat > conftest.$ac_ext <<EOF
1258 #line __oline__ "${as_me-configure}"
1259 #include "confdefs.h"
1260 #include "conftest.h"
1261 #include "conftest.i"
1263 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1265 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1268 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1270 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1272 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1273 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1274 extern void foo(void) GCC_NORETURN;
1275 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1277 for cf_attribute in scanf printf unused noreturn
1279 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1280 cf_directive="__attribute__(($cf_attribute))"
1281 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1282 case $cf_attribute in
1284 cat >conftest.h <<EOF
1285 #define GCC_$cf_ATTRIBUTE 1
1289 cat >conftest.h <<EOF
1290 #define GCC_$cf_ATTRIBUTE $cf_directive
1294 if AC_TRY_EVAL(ac_compile); then
1295 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1296 cat conftest.h >>confdefs.h
1300 fgrep define conftest.i >>confdefs.h
1305 dnl ---------------------------------------------------------------------------
1306 dnl CF_GCC_VERSION version: 4 updated: 2005/08/27 09:53:42
1308 dnl Find version of gcc
1309 AC_DEFUN([CF_GCC_VERSION],[
1310 AC_REQUIRE([AC_PROG_CC])
1312 if test "$GCC" = yes ; then
1313 AC_MSG_CHECKING(version of $CC)
1314 GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1315 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1316 AC_MSG_RESULT($GCC_VERSION)
1319 dnl ---------------------------------------------------------------------------
1320 dnl CF_GCC_WARNINGS version: 23 updated: 2008/07/26 17:54:02
1322 dnl Check if the compiler supports useful warning options. There's a few that
1323 dnl we don't use, simply because they're too noisy:
1325 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1326 dnl -Wredundant-decls (system headers make this too noisy)
1327 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1328 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1329 dnl is enabled for ncurses using "--enable-const".
1333 dnl $1 is an optional list of gcc warning flags that a particular
1334 dnl application might want to use, e.g., "no-unused" for
1337 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1339 AC_DEFUN([CF_GCC_WARNINGS],
1341 AC_REQUIRE([CF_GCC_VERSION])
1342 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1344 cat > conftest.$ac_ext <<EOF
1345 #line __oline__ "${as_me-configure}"
1346 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1349 if test "$INTEL_COMPILER" = yes
1351 # The "-wdXXX" options suppress warnings:
1352 # remark #1419: external declaration in primary source file
1353 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1354 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1355 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1356 # remark #193: zero used for undefined preprocessing identifier
1357 # remark #593: variable "curs_sb_left_arrow" was set but never used
1358 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1359 # remark #869: parameter "tw" was never referenced
1360 # remark #981: operands are evaluated in unspecified order
1361 # warning #269: invalid format string conversion
1363 AC_CHECKING([for $CC warning options])
1364 cf_save_CFLAGS="$CFLAGS"
1365 EXTRA_CFLAGS="-Wall"
1378 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1379 if AC_TRY_EVAL(ac_compile); then
1380 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1381 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1384 CFLAGS="$cf_save_CFLAGS"
1386 elif test "$GCC" = yes
1388 AC_CHECKING([for $CC warning options])
1389 cf_save_CFLAGS="$CFLAGS"
1390 EXTRA_CFLAGS="-W -Wall"
1392 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1394 Wbad-function-cast \
1398 Wmissing-declarations \
1399 Wmissing-prototypes \
1403 Wstrict-prototypes \
1404 Wundef $cf_warn_CONST $1
1406 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1407 if AC_TRY_EVAL(ac_compile); then
1408 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1409 case $cf_opt in #(vi
1411 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1414 case $GCC_VERSION in
1416 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1421 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1424 CFLAGS="$cf_save_CFLAGS"
1428 AC_SUBST(EXTRA_CFLAGS)
1430 dnl ---------------------------------------------------------------------------
1431 dnl CF_GNAT_TRY_LINK version: 1 updated: 2004/08/21 19:02:08
1432 dnl ----------------
1433 dnl Verify that a test program compiles/links with GNAT.
1434 dnl $cf_ada_make is set to the program that compiles/links
1435 dnl $ADAFLAGS may be set to the GNAT flags.
1437 dnl $1 is the text of the spec
1438 dnl $2 is the text of the body
1439 dnl $3 is the shell command to execute if successful
1440 dnl $4 is the shell command to execute if not successful
1441 AC_DEFUN([CF_GNAT_TRY_LINK],
1444 cat >>conftest.ads <<CF_EOF
1447 cat >>conftest.adb <<CF_EOF
1450 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1451 ifelse($3,, :,[ $3])
1457 dnl ---------------------------------------------------------------------------
1458 dnl CF_GNAT_TRY_RUN version: 3 updated: 2004/08/21 19:02:08
1460 dnl Verify that a test program compiles and runs with GNAT
1461 dnl $cf_ada_make is set to the program that compiles/links
1462 dnl $ADAFLAGS may be set to the GNAT flags.
1464 dnl $1 is the text of the spec
1465 dnl $2 is the text of the body
1466 dnl $3 is the shell command to execute if successful
1467 dnl $4 is the shell command to execute if not successful
1468 AC_DEFUN([CF_GNAT_TRY_RUN],
1471 cat >>conftest.ads <<CF_EOF
1474 cat >>conftest.adb <<CF_EOF
1477 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1478 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1479 ifelse($3,, :,[ $3])
1488 dnl ---------------------------------------------------------------------------
1489 dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15
1491 dnl Verify version of GNAT.
1492 AC_DEFUN([CF_GNAT_VERSION],
1494 AC_MSG_CHECKING(for gnat version)
1495 cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
1496 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1497 AC_MSG_RESULT($cf_gnat_version)
1499 case $cf_gnat_version in
1500 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
1501 cf_cv_prog_gnat_correct=yes
1503 *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
1504 cf_cv_prog_gnat_correct=no
1507 case $cf_gnat_version in
1508 3.[[1-9]]*|[[4-9]].*)
1509 cf_compile_generics=generics
1510 cf_generic_objects="\${GENOBJS}"
1512 *) cf_compile_generics=
1517 dnl ---------------------------------------------------------------------------
1518 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1520 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1521 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
1522 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1523 dnl since it is interwoven with GNU extensions.
1525 dnl Well, yes we could work around it...
1526 AC_DEFUN([CF_GNU_SOURCE],
1528 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1529 AC_TRY_COMPILE([#include <sys/types.h>],[
1530 #ifndef _XOPEN_SOURCE
1533 [cf_cv_gnu_source=no],
1534 [cf_save="$CPPFLAGS"
1535 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1536 AC_TRY_COMPILE([#include <sys/types.h>],[
1537 #ifdef _XOPEN_SOURCE
1540 [cf_cv_gnu_source=no],
1541 [cf_cv_gnu_source=yes])
1545 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1547 dnl ---------------------------------------------------------------------------
1548 dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
1550 dnl If we're trying to use g++, test if libg++ is installed (a rather common
1551 dnl problem :-). If we have the compiler but no library, we'll be able to
1552 dnl configure, but won't be able to build the c++ demo program.
1553 AC_DEFUN([CF_GPP_LIBRARY],
1555 cf_cxx_library=unknown
1556 case $cf_cv_system_name in #(vi
1564 if test "$GXX" = yes; then
1565 AC_MSG_CHECKING([for lib$cf_gpp_libname])
1567 LIBS="$LIBS -l$cf_gpp_libname"
1569 #include <$cf_gpp_libname/builtin.h>
1571 [two_arg_error_handler_t foo2 = lib_error_handler],
1573 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
1574 if test "$cf_gpp_libname" = cpp ; then
1575 AC_DEFINE(HAVE_GPP_BUILTIN_H)
1577 AC_DEFINE(HAVE_GXX_BUILTIN_H)
1580 #include <builtin.h>
1582 [two_arg_error_handler_t foo2 = lib_error_handler],
1584 CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
1585 AC_DEFINE(HAVE_BUILTIN_H)],
1586 [cf_cxx_library=no])])
1588 AC_MSG_RESULT($cf_cxx_library)
1591 dnl ---------------------------------------------------------------------------
1592 dnl CF_GXX_VERSION version: 5 updated: 2005/08/27 09:53:42
1594 dnl Check for version of g++
1595 AC_DEFUN([CF_GXX_VERSION],[
1596 AC_REQUIRE([AC_PROG_CPP])
1598 if test "$GXX" = yes; then
1599 AC_MSG_CHECKING(version of g++)
1600 GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1601 test -z "$GXX_VERSION" && GXX_VERSION=unknown
1602 AC_MSG_RESULT($GXX_VERSION)
1605 dnl ---------------------------------------------------------------------------
1606 dnl CF_GXX_WARNINGS version: 5 updated: 2005/08/13 14:54:38
1608 dnl Check if the compiler supports useful warning options.
1610 dnl Most of gcc's options apply to g++, except:
1611 dnl -Wbad-function-cast
1612 dnl -Wmissing-declarations
1613 dnl -Wnested-externs
1615 dnl Omit a few (for now):
1619 dnl $1 is an optional list of g++ warning flags that a particular
1620 dnl application might want to use, e.g., "no-unused" for
1623 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1625 AC_DEFUN([CF_GXX_WARNINGS],
1628 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
1630 AC_REQUIRE([CF_GXX_VERSION])
1635 cat > conftest.$ac_ext <<EOF
1636 #line __oline__ "configure"
1637 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1640 if test "$INTEL_CPLUSPLUS" = yes
1642 # The "-wdXXX" options suppress warnings:
1643 # remark #1419: external declaration in primary source file
1644 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1645 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1646 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1647 # remark #193: zero used for undefined preprocessing identifier
1648 # remark #593: variable "curs_sb_left_arrow" was set but never used
1649 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1650 # remark #869: parameter "tw" was never referenced
1651 # remark #981: operands are evaluated in unspecified order
1652 # warning #269: invalid format string conversion
1654 AC_CHECKING([for $CC warning options])
1655 cf_save_CXXFLAGS="$CXXFLAGS"
1656 EXTRA_CXXFLAGS="-Wall"
1669 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
1670 if AC_TRY_EVAL(ac_compile); then
1671 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1672 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
1675 CXXFLAGS="$cf_save_CXXFLAGS"
1677 elif test "$GXX" = yes
1679 AC_CHECKING([for $CXX warning options])
1680 cf_save_CXXFLAGS="$CXXFLAGS"
1681 EXTRA_CXXFLAGS="-W -Wall"
1682 cf_gxx_extra_warnings=""
1683 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
1684 case "$GCC_VERSION" in
1688 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
1694 Woverloaded-virtual \
1700 Wmissing-prototypes \
1703 Wstrict-prototypes \
1704 Wundef $cf_gxx_extra_warnings $1
1706 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
1707 if AC_TRY_EVAL(ac_compile); then
1708 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1709 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
1711 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
1714 CXXFLAGS="$cf_save_CXXFLAGS"
1719 AC_SUBST(EXTRA_CXXFLAGS)
1721 dnl ---------------------------------------------------------------------------
1722 dnl CF_HASHED_DB version: 3 updated: 2007/11/24 17:43:37
1724 dnl Look for an instance of the Berkeley hashed database.
1726 dnl $1 = optional parameter, to specify install-prefix for the database.
1727 AC_DEFUN([CF_HASHED_DB],
1734 if test -d "$1" ; then
1735 CF_ADD_INCDIR($1/include)
1736 CF_ADD_LIBDIR($1/lib)
1740 AC_CHECK_HEADER(db.h,[
1741 CF_HASHED_DB_VERSION
1742 if test "$cf_cv_hashed_db_version" = unknown ; then
1743 AC_MSG_ERROR(Cannot determine version of db)
1746 if test "$cf_cv_hashed_db_libs" = unknown ; then
1747 AC_MSG_ERROR(Cannot determine library for db)
1748 elif test "$cf_cv_hashed_db_libs" != default ; then
1749 LIBS="-l$cf_cv_hashed_db_libs $LIBS"
1753 AC_MSG_ERROR(Cannot find db.h)
1756 dnl ---------------------------------------------------------------------------
1757 dnl CF_HASHED_DB_LIBS version: 8 updated: 2008/08/04 06:18:06
1758 dnl -----------------
1759 dnl Given that we have the header and version for hashed database, find the
1760 dnl library information.
1761 AC_DEFUN([CF_HASHED_DB_LIBS],
1763 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
1764 cf_cv_hashed_db_libs=unknown
1765 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
1767 cf_save_libs="$LIBS"
1768 if test -n "$cf_db_libs"; then
1769 LIBS="-l$cf_db_libs $LIBS"
1771 CF_MSG_LOG(checking for library "$cf_db_libs")
1773 $ac_includes_default
1776 char *path = "/tmp/foo";
1777 #ifdef DB_VERSION_MAJOR
1778 #if DB_VERSION_MAJOR >= 4
1780 db_create(&result, NULL, 0);
1781 result->open(result,
1788 #elif DB_VERSION_MAJOR >= 3
1790 db_create(&result, NULL, 0);
1791 result->open(result,
1797 #elif DB_VERSION_MAJOR >= 2
1806 #endif /* DB_VERSION_MAJOR */
1808 DB *result = dbopen(path,
1814 ${cf_cv_main_return:-return}(result != 0)
1816 if test -n "$cf_db_libs" ; then
1817 cf_cv_hashed_db_libs=$cf_db_libs
1819 cf_cv_hashed_db_libs=default
1821 LIBS="$cf_save_libs"
1824 LIBS="$cf_save_libs"
1828 dnl ---------------------------------------------------------------------------
1829 dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
1830 dnl --------------------
1831 dnl Given that we have the header file for hashed database, find the version
1833 AC_DEFUN([CF_HASHED_DB_VERSION],
1835 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
1836 cf_cv_hashed_db_version=unknown
1838 for cf_db_version in 1 2 3 4 5
1840 CF_MSG_LOG(checking for db version $cf_db_version)
1842 $ac_includes_default
1845 #ifdef DB_VERSION_MAJOR
1846 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
1847 #if $cf_db_version == DB_VERSION_MAJOR
1853 #if $cf_db_version == 1
1854 /* ok: assuming this is DB 1.8.5 */
1860 cf_cv_hashed_db_version=$cf_db_version
1866 dnl ---------------------------------------------------------------------------
1867 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
1869 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
1870 AC_DEFUN([CF_HELP_MESSAGE],
1871 [AC_DIVERT_HELP([$1])dnl
1873 dnl ---------------------------------------------------------------------------
1874 dnl CF_INCLUDE_DIRS version: 5 updated: 2006/10/14 15:23:15
1876 dnl Construct the list of include-options according to whether we're building
1877 dnl in the source directory or using '--srcdir=DIR' option. If we're building
1878 dnl with gcc, don't append the includedir if it happens to be /usr/include,
1879 dnl since that usually breaks gcc's shadow-includes.
1880 AC_DEFUN([CF_INCLUDE_DIRS],
1882 CPPFLAGS="-I. -I../include $CPPFLAGS"
1883 if test "$srcdir" != "."; then
1884 CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
1886 if test "$GCC" != yes; then
1887 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1888 elif test "$includedir" != "/usr/include"; then
1889 if test "$includedir" = '${prefix}/include' ; then
1890 if test $prefix != /usr ; then
1891 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1894 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1899 dnl ---------------------------------------------------------------------------
1900 dnl CF_INTEL_COMPILER version: 3 updated: 2005/08/06 18:37:29
1901 dnl -----------------
1902 dnl Check if the given compiler is really the Intel compiler for Linux. It
1903 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
1904 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
1906 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
1907 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
1908 dnl the wrappers for gcc and g++ warnings.
1910 dnl $1 = GCC (default) or GXX
1911 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
1912 dnl $3 = CFLAGS (default) or CXXFLAGS
1913 AC_DEFUN([CF_INTEL_COMPILER],[
1914 ifelse($2,,INTEL_COMPILER,[$2])=no
1916 if test "$ifelse($1,,[$1],GCC)" = yes ; then
1919 AC_MSG_CHECKING(if this is really Intel ifelse($1,GXX,C++,C) compiler)
1920 cf_save_CFLAGS="$ifelse($3,,CFLAGS,[$3])"
1921 ifelse($3,,CFLAGS,[$3])="$ifelse($3,,CFLAGS,[$3]) -no-gcc"
1923 #ifdef __INTEL_COMPILER
1927 ],[ifelse($2,,INTEL_COMPILER,[$2])=yes
1928 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
1930 ifelse($3,,CFLAGS,[$3])="$cf_save_CFLAGS"
1931 AC_MSG_RESULT($ifelse($2,,INTEL_COMPILER,[$2]))
1936 dnl ---------------------------------------------------------------------------
1937 dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
1939 dnl Check if we have either a function or macro for 'isascii()'.
1940 AC_DEFUN([CF_ISASCII],
1942 AC_MSG_CHECKING(for isascii)
1943 AC_CACHE_VAL(cf_cv_have_isascii,[
1944 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
1945 [cf_cv_have_isascii=yes],
1946 [cf_cv_have_isascii=no])
1948 AC_MSG_RESULT($cf_cv_have_isascii)
1949 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
1951 dnl ---------------------------------------------------------------------------
1952 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
1954 dnl Add checks for large file support.
1955 AC_DEFUN([CF_LARGEFILE],[
1956 ifdef([AC_FUNC_FSEEKO],[
1958 if test "$enable_largefile" != no ; then
1961 # Normally we would collect these definitions in the config.h,
1962 # but (like _XOPEN_SOURCE), some environments rely on having these
1963 # defined before any of the system headers are included. Another
1964 # case comes up with C++, e.g., on AIX the compiler compiles the
1965 # header files by themselves before looking at the body files it is
1966 # told to compile. For ncurses, those header files do not include
1968 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
1969 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
1970 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
1972 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
1974 #include <sys/types.h>
1977 /* if transitional largefile support is setup, this is true */
1978 extern struct dirent64 * readdir(DIR *);
1979 struct dirent64 *x = readdir((DIR *)0);
1980 struct dirent *y = readdir((DIR *)0);
1983 [cf_cv_struct_dirent64=yes],
1984 [cf_cv_struct_dirent64=no])
1986 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
1990 dnl ---------------------------------------------------------------------------
1991 dnl CF_LDFLAGS_STATIC version: 3 updated: 2008/07/05 13:56:40
1992 dnl -----------------
1993 dnl Check for compiler/linker flags used to temporarily force usage of static
1994 dnl libraries. This depends on the compiler and platform. Use this to help
1995 dnl ensure that the linker picks up a given library based on its position in
1996 dnl the list of linker options and libraries.
1997 AC_DEFUN([CF_LDFLAGS_STATIC],[
1999 if test "$GCC" = yes ; then
2000 case $cf_cv_system_name in #(
2001 aix[[45]]*) #( gcc 4.2.4 linkage on AIX is broken
2005 *) #( normally, except when broken
2006 LDFLAGS_STATIC=-static
2007 LDFLAGS_SHARED=-dynamic
2011 case $cf_cv_system_name in #(
2012 aix[[45]]*) #( from ld manpage
2013 LDFLAGS_STATIC=-bstatic
2014 LDFLAGS_SHARED=-bdynamic
2016 hpux*) #( from ld manpage for hpux10.20, hpux11.11
2017 # We could also use just "archive" and "shared".
2018 LDFLAGS_STATIC=-Wl,-a,archive_shared
2019 LDFLAGS_SHARED=-Wl,-a,shared_archive
2021 irix*) #( from ld manpage IRIX64
2022 LDFLAGS_STATIC=-Bstatic
2023 LDFLAGS_SHARED=-Bdynamic
2025 osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
2026 # alternative "-oldstyle_liblookup" (not in cc manpage)
2027 LDFLAGS_STATIC=-noso
2028 LDFLAGS_SHARED=-so_archive
2031 LDFLAGS_STATIC=-Bstatic
2032 LDFLAGS_SHARED=-Bdynamic
2037 AC_SUBST(LDFLAGS_STATIC)
2038 AC_SUBST(LDFLAGS_SHARED)
2040 dnl ---------------------------------------------------------------------------
2041 dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
2043 dnl Check for libutf8
2044 AC_DEFUN([CF_LIBUTF8],
2046 AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
2047 cf_save_LIBS="$LIBS"
2050 #include <libutf8.h>],[putwc(0,0);],
2051 [cf_cv_libutf8=yes],
2053 LIBS="$cf_save_LIBS"
2056 if test "$cf_cv_libutf8" = yes ; then
2057 AC_DEFINE(HAVE_LIBUTF8_H)
2061 dnl ---------------------------------------------------------------------------
2062 dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
2064 dnl Compute the library-prefix for the given host system
2065 dnl $1 = variable to set
2066 AC_DEFUN([CF_LIB_PREFIX],
2068 case $cf_cv_system_name in #(vi
2075 ifelse($1,,,[$1=$LIB_PREFIX])
2076 AC_SUBST(LIB_PREFIX)
2078 dnl ---------------------------------------------------------------------------
2079 dnl CF_LIB_RULES version: 51 updated: 2008/09/13 11:34:16
2081 dnl Append definitions and rules for the given models to the subdirectory
2082 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
2083 dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
2084 dnl the corresponding makefile to list the models that we'll generate.
2086 dnl For shared libraries, make a list of symbolic links to construct when
2087 dnl generating each library. The convention used for Linux is the simplest
2090 dnl lib<name>.so.<major> ->
2091 dnl lib<name>.so.<maj>.<minor>
2092 AC_DEFUN([CF_LIB_RULES],
2094 CF_LIB_PREFIX(cf_prefix)
2095 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2096 for cf_dir in $SRC_SUBDIRS
2098 if test ! -d $srcdir/$cf_dir ; then
2100 elif test -f $srcdir/$cf_dir/modules; then
2104 for cf_item in $cf_LIST_MODELS
2106 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2107 if test $cf_item = shared ; then
2108 if test "$cf_cv_do_symlinks" = yes ; then
2109 case "$cf_cv_shlib_version" in #(vi
2111 case "$cf_cv_system_name" in #(vi
2113 case .${LIB_SUFFIX} in
2115 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2116 cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
2119 cf_suffix='.${REL_VERSION}'"$cf_suffix"
2123 *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
2127 case "$cf_cv_system_name" in #(vi
2129 case .${LIB_SUFFIX} in
2131 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2132 cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
2135 cf_suffix='.${ABI_VERSION}'"$cf_suffix"
2139 *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
2144 # cygwin needs import library, and has unique naming convention
2145 # use autodetected ${cf_prefix} for import lib and static lib, but
2146 # use 'cyg' prefix for shared lib.
2147 if test $cf_cv_shlib_version = cygdll ; then
2148 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}\${ABI_VERSION}.dll"
2152 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
2155 if test $cf_dir = ncurses ; then
2156 cf_subsets="$LIB_SUBSETS"
2157 cf_r_parts="$cf_subsets"
2159 while test -n "$cf_r_parts"
2161 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
2162 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
2163 if test "$cf_l_parts" != "$cf_r_parts" ; then
2164 case $cf_l_parts in #(vi
2166 cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
2169 cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
2175 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
2181 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
2184 sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
2185 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
2186 $cf_dir/Makefile >$cf_dir/Makefile.out
2187 mv $cf_dir/Makefile.out $cf_dir/Makefile
2189 $AWK -f $srcdir/mk-0th.awk \
2190 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
2191 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2193 for cf_subset in $cf_subsets
2196 for cf_item in $cf_LIST_MODELS
2198 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
2199 CF_UPPER(cf_ITEM,$cf_item)
2200 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2201 CF_OBJ_SUBDIR($cf_item,cf_subdir)
2203 # Test for case where we build libtinfo with a different name.
2205 if test $cf_dir = ncurses ; then
2210 cf_libname=$TINFO_LIB_SUFFIX
2211 if test -n "${DFT_ARG_SUFFIX}" ; then
2212 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
2213 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
2217 cf_libname=$TICS_LIB_SUFFIX
2218 if test -n "${DFT_ARG_SUFFIX}" ; then
2219 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
2220 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
2226 # These dependencies really are for development, not
2227 # builds, but they are useful in porting, too.
2228 cf_depend="../include/ncurses_cfg.h"
2229 if test "$srcdir" = "."; then
2232 cf_reldir="\${srcdir}"
2235 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
2236 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
2237 elif test -f $srcdir/$cf_dir/curses.priv.h; then
2238 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
2242 old_cf_suffix="$cf_suffix"
2243 if test "$cf_cv_shlib_version_infix" = yes ; then
2244 if test -n "$LIB_SUFFIX" ; then
2247 cf_libname=`echo $cf_libname | sed 's/w$//'`
2248 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2255 $AWK -f $srcdir/mk-1st.awk \
2256 name=${cf_libname}${cf_dir_suffix} \
2257 traces=$LIB_TRACING \
2263 TermlibRoot=$TINFO_NAME \
2264 TermlibSuffix=$TINFO_SUFFIX \
2265 ShlibVer=$cf_cv_shlib_version \
2266 ShlibVerInfix=$cf_cv_shlib_version_infix \
2267 ReLink=${cf_cv_do_relink-no} \
2268 DoLinks=$cf_cv_do_symlinks \
2269 rmSoLocs=$cf_cv_rm_so_locs \
2270 ldconfig="$LDCONFIG" \
2271 overwrite=$WITH_OVERWRITE \
2272 depend="$cf_depend" \
2274 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2276 cf_suffix="$old_cf_suffix"
2278 for cf_subdir2 in $cf_subdirs lib
2280 test $cf_subdir = $cf_subdir2 && break
2282 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
2283 $AWK -f $srcdir/mk-2nd.awk \
2285 traces=$LIB_TRACING \
2291 crenames=$cf_cv_prog_CC_c_o \
2292 cxxrenames=$cf_cv_prog_CXX_c_o \
2293 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
2294 cf_subdirs="$cf_subdirs $cf_subdir"
2299 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
2302 for cf_dir in $SRC_SUBDIRS
2304 if test ! -d $srcdir/$cf_dir ; then
2308 if test -f $cf_dir/Makefile ; then
2311 echo 'libs \' >> Makefile
2312 echo 'install.libs \' >> Makefile
2313 echo 'uninstall.libs ::' >> Makefile
2314 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
2319 if test -f $srcdir/$cf_dir/modules; then
2321 if test -f $srcdir/$cf_dir/headers; then
2322 cat >> Makefile <<CF_EOF
2324 uninstall.includes \\
2327 if test "$cf_dir" != "c++" ; then
2328 echo 'lint \' >> Makefile
2330 cat >> Makefile <<CF_EOF
2336 uninstall.$cf_dir ::
2337 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2339 elif test -f $srcdir/$cf_dir/headers; then
2340 cat >> Makefile <<CF_EOF
2346 uninstall.includes ::
2347 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
2352 cat >> Makefile <<CF_EOF
2354 install.libs uninstall.libs \\
2355 install.data uninstall.data ::
2356 $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
2360 cd man && \${MAKE} \${CF_MFLAGS} \[$]@
2363 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
2364 rm -f headers.sh headers.sed mk_shared_lib.sh
2365 rm -rf \${DIRS_TO_MAKE}
2368 # Special case: tack's manpage lives in its own directory.
2369 if test -d tack ; then
2370 if test -f $srcdir/$tack.h; then
2371 cat >> Makefile <<CF_EOF
2375 cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
2380 dnl If we're installing into a subdirectory of /usr/include, etc., we should
2381 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
2382 dnl anything, and will make it more standardized. It's awkward to decide this
2383 dnl at configuration because of quoting, so we'll simply make all headers
2384 dnl installed via a script that can do the right thing.
2386 rm -f headers.sed headers.sh
2388 dnl ( generating this script makes the makefiles a little tidier :-)
2389 echo creating headers.sh
2390 cat >headers.sh <<CF_EOF
2392 # This shell script is generated by the 'configure' script. It is invoked in a
2393 # subdirectory of the build tree. It generates a sed-script in the parent
2394 # directory that is used to adjust includes for header files that reside in a
2395 # subdirectory of /usr/include, etc.
2397 while test \[$]# != 3
2399 PRG="\$PRG \[$]1"; shift
2404 TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
2405 TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
2406 echo installing \$SRC in \$DST
2409 if test $WITH_CURSES_H = yes; then
2410 cat >>headers.sh <<CF_EOF
2413 END=\`basename \$DST\`
2414 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2416 NAME=\`basename \$i\`
2417 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2427 cat >>headers.sh <<CF_EOF
2430 END=\`basename \$DST\`
2431 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
2433 NAME=\`basename \$i\`
2434 if test "\$NAME" = "curses.h"
2436 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2439 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
2443 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
2448 cat >>headers.sh <<CF_EOF
2450 sed -f \$TMPSED \$SRC > \$TMPSRC
2451 NAME=\`basename \$SRC\`
2453 if test $WITH_CURSES_H != yes; then
2454 cat >>headers.sh <<CF_EOF
2455 test "\$NAME" = "curses.h" && NAME=ncurses.h
2458 cat >>headers.sh <<CF_EOF
2459 # Just in case someone gzip'd manpages, remove the conflicting copy.
2460 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
2462 eval \$PRG \$TMPSRC \$DST/\$NAME
2463 rm -f \$TMPSRC \$TMPSED
2466 chmod 0755 headers.sh
2468 for cf_dir in $SRC_SUBDIRS
2470 if test ! -d $srcdir/$cf_dir ; then
2474 if test -f $srcdir/$cf_dir/headers; then
2475 $AWK -f $srcdir/mk-hdr.awk \
2476 subset="$LIB_SUBSETS" \
2477 compat="$WITH_CURSES_H" \
2478 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
2481 if test -f $srcdir/$cf_dir/modules; then
2482 if test "$cf_dir" != "c++" ; then
2483 cat >>$cf_dir/Makefile <<"CF_EOF"
2484 depend : ${AUTO_SRC}
2485 makedepend -- ${CPPFLAGS} -- ${C_SRC}
2487 # DO NOT DELETE THIS LINE -- make depend depends on it.
2494 dnl ---------------------------------------------------------------------------
2495 dnl CF_LIB_SONAME version: 3 updated: 2006/12/16 15:55:46
2497 dnl Find the and soname for the given shared library. Set the cache variable
2498 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
2499 dnl variable to "unknown".
2503 dnl $3 = library name
2504 AC_DEFUN([CF_LIB_SONAME],
2506 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
2508 cf_cv_$3_soname=unknown
2509 if test "$cross_compiling" != yes ; then
2510 cat >conftest.$ac_ext <<CF_EOF
2515 ${cf_cv_main_return:-return}(0);
2518 cf_save_LIBS="$LIBS"
2520 if AC_TRY_EVAL(ac_compile) ; then
2521 if AC_TRY_EVAL(ac_link) ; then
2522 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
2523 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
2527 LIBS="$cf_save_LIBS"
2531 dnl ---------------------------------------------------------------------------
2532 dnl CF_LIB_SUFFIX version: 15 updated: 2008/09/13 11:54:48
2534 dnl Compute the library file-suffix from the given model name
2536 dnl $2 = variable to set (the nominal library suffix)
2537 dnl $3 = dependency variable to set (actual filename)
2538 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2539 AC_DEFUN([CF_LIB_SUFFIX],
2541 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2560 case $cf_cv_system_name in
2586 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
2587 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
2589 dnl ---------------------------------------------------------------------------
2590 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
2592 dnl Compute the string to append to -library from the given model name
2594 dnl $2 = variable to set
2595 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
2596 AC_DEFUN([CF_LIB_TYPE],
2605 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
2607 dnl ---------------------------------------------------------------------------
2608 dnl CF_LINK_DATAONLY version: 8 updated: 2006/12/16 12:33:30
2609 dnl ----------------
2610 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
2611 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
2612 dnl have to provide wrappers for global tables to ensure they're linked
2614 AC_DEFUN([CF_LINK_DATAONLY],
2616 AC_MSG_CHECKING([if data-only library module links])
2617 AC_CACHE_VAL(cf_cv_link_dataonly,[
2619 cat >conftest.$ac_ext <<EOF
2620 #line __oline__ "configure"
2621 int testdata[[3]] = { 123, 456, 789 };
2623 if AC_TRY_EVAL(ac_compile) ; then
2624 mv conftest.o data.o && \
2625 ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
2627 rm -f conftest.$ac_ext data.o
2628 cat >conftest.$ac_ext <<EOF
2629 #line __oline__ "configure"
2633 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
2635 extern int testdata[[3]];
2636 return testdata[[0]] == 123
2637 && testdata[[1]] == 456
2638 && testdata[[2]] == 789;
2642 if AC_TRY_EVAL(ac_compile); then
2643 mv conftest.o func.o && \
2644 ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
2646 rm -f conftest.$ac_ext func.o
2647 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
2649 LIBS="conftest.a $LIBS"
2653 extern int testfunc();
2654 ${cf_cv_main_return:-return} (!testfunc());
2657 [cf_cv_link_dataonly=yes],
2658 [cf_cv_link_dataonly=no],
2659 [cf_cv_link_dataonly=unknown])
2662 AC_MSG_RESULT($cf_cv_link_dataonly)
2664 if test "$cf_cv_link_dataonly" = no ; then
2665 AC_DEFINE(BROKEN_LINKER)
2670 dnl ---------------------------------------------------------------------------
2671 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
2673 dnl Most Unix systems have both link and symlink, a few don't have symlink.
2674 dnl A few non-Unix systems implement symlink, but not link.
2675 dnl A few non-systems implement neither (or have nonfunctional versions).
2676 AC_DEFUN([CF_LINK_FUNCS],
2682 if test "$cross_compiling" = yes ; then
2687 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
2689 for cf_func in link symlink ; do
2691 #include <sys/types.h>
2692 #include <sys/stat.h>
2693 #ifdef HAVE_UNISTD_H
2699 char *src = "config.log";
2700 char *dst = "conftest.chk";
2705 fail = ($cf_func("config.log", "conftest.chk") < 0)
2706 || (stat(dst, &dst_sb) < 0)
2707 || (dst_sb.st_mtime != src_sb.st_mtime);
2713 ${cf_cv_main_return:-return} (fail);
2716 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
2717 eval 'ac_cv_func_'$cf_func'=yes'],[
2718 eval 'ac_cv_func_'$cf_func'=no'],[
2719 eval 'ac_cv_func_'$cf_func'=error'])
2721 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
2723 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
2724 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
2727 dnl ---------------------------------------------------------------------------
2728 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
2730 dnl Check if a return from main to the shell actually returns the same exit
2731 dnl code. This is true for almost any POSIX environment.
2733 dnl Some very old environments did not flush stdout, etc., on an exit. That
2734 dnl would be a useful case to test for also.
2735 AC_DEFUN([CF_MAIN_RETURN],
2737 cf_cv_main_return=return
2739 dnl ---------------------------------------------------------------------------
2740 dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
2742 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
2743 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
2744 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
2745 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
2746 AC_DEFUN([CF_MAKEFLAGS],
2748 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
2750 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
2752 cat >cf_makeflags.tmp <<CF_EOF
2755 @ echo '.$cf_option'
2757 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'`
2758 case "$cf_result" in
2760 cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
2761 case "$cf_result" in
2762 .*CC=*) cf_cv_makeflags=
2764 *) cf_cv_makeflags=$cf_option
2770 *) echo "given option \"$cf_option\", no match \"$cf_result\""
2774 rm -f cf_makeflags.tmp
2777 AC_SUBST(cf_cv_makeflags)
2779 dnl ---------------------------------------------------------------------------
2780 dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
2782 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
2783 dnl a monocase filesystem.
2784 AC_DEFUN([CF_MAKE_TAGS],[
2785 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
2786 AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
2788 if test "$cf_cv_mixedcase" = yes ; then
2789 AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
2794 if test "$MAKE_UPPER_TAGS" = yes ; then
2799 AC_SUBST(MAKE_UPPER_TAGS)
2801 if test "$MAKE_LOWER_TAGS" = yes ; then
2806 AC_SUBST(MAKE_LOWER_TAGS)
2808 dnl ---------------------------------------------------------------------------
2809 dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
2810 dnl -----------------
2811 dnl Option to allow user to override automatic configuration of manpage format.
2812 dnl There are several special cases:
2814 dnl gzip - man checks for, can display gzip'd files
2815 dnl compress - man checks for, can display compressed files
2816 dnl BSDI - files in the cat-directories are suffixed ".0"
2817 dnl formatted - installer should format (put files in cat-directory)
2818 dnl catonly - installer should only format, e.g., for a turnkey system.
2820 dnl There are other configurations which this macro does not test, e.g., HPUX's
2821 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
2822 dnl convention would not match our use).
2823 AC_DEFUN([CF_MANPAGE_FORMAT],
2825 AC_REQUIRE([CF_PATHSEP])
2826 AC_MSG_CHECKING(format of man-pages)
2828 AC_ARG_WITH(manpage-format,
2829 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
2830 optionally formatted/catonly, e.g., gzip,formatted],
2831 [MANPAGE_FORMAT=$withval],
2832 [MANPAGE_FORMAT=unknown])
2834 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
2835 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
2839 case $MANPAGE_FORMAT in
2841 if test -z "$MANPATH" ; then
2842 MANPATH="/usr/man:/usr/share/man"
2845 # look for the 'date' man-page (it's most likely to be installed!)
2851 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
2852 for cf_dir in $MANPATH; do
2853 test -z "$cf_dir" && cf_dir=/usr/man
2854 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
2856 cf_test=`echo $cf_name | sed -e 's/*//'`
2857 if test "x$cf_test" = "x$cf_name" ; then
2860 *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
2861 *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
2862 *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
2863 *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
2877 # if we found a match in either man* or cat*, stop looking
2878 if test -n "$MANPAGE_FORMAT" ; then
2880 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
2881 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
2887 test $cf_found=yes && break
2890 # only check the first directory in $MANPATH where we find manpages
2891 if test -n "$MANPAGE_FORMAT" ; then
2895 # if we did not find the example, just assume it is normal
2896 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
2900 for cf_option in $MANPAGE_FORMAT; do
2901 case $cf_option in #(vi
2902 gzip|compress|BSDI|normal|formatted|catonly)
2905 cf_unknown="$cf_unknown $cf_option"
2912 AC_MSG_RESULT($MANPAGE_FORMAT)
2913 if test -n "$cf_unknown" ; then
2914 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
2917 dnl ---------------------------------------------------------------------------
2918 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
2919 dnl ------------------
2920 dnl The Debian people have their own naming convention for manpages. This
2921 dnl option lets us override the name of the file containing renaming, or
2922 dnl disable it altogether.
2923 AC_DEFUN([CF_MANPAGE_RENAMES],
2925 AC_MSG_CHECKING(for manpage renaming)
2927 AC_ARG_WITH(manpage-renames,
2928 [ --with-manpage-renames specify manpage-renaming],
2929 [MANPAGE_RENAMES=$withval],
2930 [MANPAGE_RENAMES=yes])
2932 case ".$MANPAGE_RENAMES" in #(vi
2936 # Debian 'man' program?
2937 if test -f /etc/debian_version ; then
2938 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
2945 if test "$MANPAGE_RENAMES" != no ; then
2946 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
2947 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
2948 elif test ! -f $MANPAGE_RENAMES ; then
2949 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
2952 test ! -d man && mkdir man
2954 # Construct a sed-script to perform renaming within man-pages
2955 if test -n "$MANPAGE_RENAMES" ; then
2956 test ! -d man && mkdir man
2957 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
2961 AC_MSG_RESULT($MANPAGE_RENAMES)
2962 AC_SUBST(MANPAGE_RENAMES)
2964 dnl ---------------------------------------------------------------------------
2965 dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
2966 dnl -------------------
2967 dnl Some people expect each tool to make all aliases for manpages in the
2968 dnl man-directory. This accommodates the older, less-capable implementations
2969 dnl of 'man', and is optional.
2970 AC_DEFUN([CF_MANPAGE_SYMLINKS],
2972 AC_MSG_CHECKING(if manpage aliases will be installed)
2974 AC_ARG_WITH(manpage-aliases,
2975 [ --with-manpage-aliases specify manpage-aliases using .so],
2976 [MANPAGE_ALIASES=$withval],
2977 [MANPAGE_ALIASES=yes])
2979 AC_MSG_RESULT($MANPAGE_ALIASES)
2981 if test "$LN_S" = "ln -s"; then
2988 if test "$MANPAGE_ALIASES" = yes ; then
2989 AC_MSG_CHECKING(if manpage symlinks should be used)
2991 AC_ARG_WITH(manpage-symlinks,
2992 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
2993 [MANPAGE_SYMLINKS=$withval],
2994 [MANPAGE_SYMLINKS=$cf_use_symlinks])
2996 if test "$$cf_use_symlinks" = no; then
2997 if test "$MANPAGE_SYMLINKS" = yes ; then
2998 AC_MSG_WARN(cannot make symlinks, will use .so files)
3003 AC_MSG_RESULT($MANPAGE_SYMLINKS)
3007 dnl ---------------------------------------------------------------------------
3008 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
3010 dnl This option causes manpages to be run through tbl(1) to generate tables
3012 AC_DEFUN([CF_MANPAGE_TBL],
3014 AC_MSG_CHECKING(for manpage tbl)
3016 AC_ARG_WITH(manpage-tbl,
3017 [ --with-manpage-tbl specify manpage processing with tbl],
3018 [MANPAGE_TBL=$withval],
3021 AC_MSG_RESULT($MANPAGE_TBL)
3023 dnl ---------------------------------------------------------------------------
3024 dnl CF_MAN_PAGES version: 35 updated: 2007/03/31 11:47:29
3026 dnl Try to determine if the man-pages on the system are compressed, and if
3027 dnl so, what format is used. Use this information to construct a script that
3028 dnl will install man-pages.
3029 AC_DEFUN([CF_MAN_PAGES],
3031 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
3037 if test "$prefix" = "NONE" ; then
3038 cf_prefix="$ac_default_prefix"
3043 case "$MANPAGE_FORMAT" in # (vi
3058 test ! -d man && mkdir man
3062 case "$MANPAGE_FORMAT" in #(vi
3065 cf_compress=compress
3073 cf_edit_man=./edit_man.sh
3074 cf_man_alias=`pwd`/man_alias.sed
3076 cat >$cf_edit_man <<CF_EOF
3078 # this script is generated by the configure-script CF_MAN_PAGES macro.
3083 NCURSES_MAJOR="$NCURSES_MAJOR"
3084 NCURSES_MINOR="$NCURSES_MINOR"
3085 NCURSES_PATCH="$NCURSES_PATCH"
3087 NCURSES_OSPEED="$NCURSES_OSPEED"
3088 TERMINFO="$TERMINFO"
3090 MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh"
3093 INSTALL_DATA="$INSTALL_DATA"
3095 transform="$program_transform_name"
3097 TMP=\${TMPDIR-/tmp}/man\$\$
3098 trap "rm -f \$TMP" 0 1 2 5 15
3110 top_srcdir=\[$]srcdir/..
3113 if test "\$form" = normal ; then
3114 if test "$cf_format" = yes ; then
3115 if test "$cf_inboth" = no ; then
3116 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3120 cf_subdir=\$mandir/man
3121 cf_tables=$MANPAGE_TBL
3123 cf_subdir=\$mandir/cat
3127 # process the list of source-files
3130 *.orig|*.rej) ;; #(vi
3132 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
3133 if test \$verb = installing ; then
3134 if test ! -d \$cf_subdir\${section} ; then
3135 \$MKDIRS \$cf_subdir\$section
3139 # replace variables in man page
3140 if test ! -f $cf_man_alias ; then
3141 cat >>$cf_man_alias <<-CF_EOF2
3142 s,@DATADIR@,\$datadir,g
3143 s,@TERMINFO@,\$TERMINFO,g
3144 s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
3145 s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
3146 s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
3147 s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
3152 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3153 cf_name=`echo $cf_name|sed "$program_transform_name"`
3154 cat >>$cf_edit_man <<-CF_EOF
3155 s,@$cf_NAME@,$cf_name,
3159 cat >>$cf_edit_man <<CF_EOF
3161 echo "...made $cf_man_alias"
3165 cf_source=\`basename \$i\`
3167 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
3168 if test ! -f \$inalias ; then
3169 echo .. skipped \$cf_source
3174 if test "$MANPAGE_ALIASES" != no ; then
3175 cat >>$cf_edit_man <<CF_EOF
3176 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
3180 if test "$MANPAGE_RENAMES" = no ; then
3181 cat >>$cf_edit_man <<CF_EOF
3182 # perform program transformations for section 1 man pages
3183 if test \$section = 1 ; then
3184 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
3186 cf_target=\$cf_subdir\${section}/\$cf_source
3190 cat >>$cf_edit_man <<CF_EOF
3191 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
3192 if test -z "\$cf_target" ; then
3193 echo '? missing rename for '\$cf_source
3194 cf_target="\$cf_source"
3196 cf_target="\$cf_subdir\${section}/\${cf_target}"
3201 cat >>$cf_edit_man <<CF_EOF
3202 sed -f $cf_man_alias \\
3205 if test -f $MANPAGE_RENAMES ; then
3206 cat >>$cf_edit_man <<CF_EOF
3207 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
3210 cat >>$cf_edit_man <<CF_EOF
3215 cat >>$cf_edit_man <<CF_EOF
3216 if test \$cf_tables = yes ; then
3217 tbl \$TMP >\$TMP.out
3222 if test $with_curses_h != yes ; then
3223 cat >>$cf_edit_man <<CF_EOF
3224 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
3229 cat >>$cf_edit_man <<CF_EOF
3230 if test \$form = format ; then
3231 nroff -man \$TMP >\$TMP.out
3236 if test -n "$cf_compress" ; then
3237 cat >>$cf_edit_man <<CF_EOF
3238 if test \$verb = installing ; then
3239 if ( $cf_compress -f \$TMP )
3241 mv \$TMP.$cf_so_strip \$TMP
3244 cf_target="\$cf_target.$cf_so_strip"
3248 case "$MANPAGE_FORMAT" in #(vi
3250 cat >>$cf_edit_man <<CF_EOF
3251 if test \$form = format ; then
3252 # BSDI installs only .0 suffixes in the cat directories
3253 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
3259 cat >>$cf_edit_man <<CF_EOF
3260 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
3261 if test \$verb = installing ; then
3262 echo \$verb \$cf_target
3263 \$INSTALL_DATA \$TMP \$cf_target
3264 test -d \$cf_subdir\${section} &&
3265 test -n "\$aliases" && (
3266 cd \$cf_subdir\${section} && (
3267 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
3268 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
3269 cf_target=\`basename \$cf_target\`
3270 for cf_alias in \$aliases
3272 if test \$section = 1 ; then
3273 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3276 if test "$MANPAGE_SYMLINKS" = yes ; then
3277 if test -f \$cf_alias\${suffix} ; then
3278 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
3283 echo .. \$verb alias \$cf_alias\${suffix}
3284 rm -f \$cf_alias\${suffix}
3285 $LN_S \$cf_target \$cf_alias\${suffix}
3286 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
3287 echo ".so \$cf_source" >\$TMP
3289 if test -n "$cf_compress" ; then
3290 cat >>$cf_edit_man <<CF_EOF
3291 if test -n "$cf_so_strip" ; then
3292 $cf_compress -f \$TMP
3293 mv \$TMP.$cf_so_strip \$TMP
3297 cat >>$cf_edit_man <<CF_EOF
3298 echo .. \$verb alias \$cf_alias\${suffix}
3299 rm -f \$cf_alias\${suffix}
3300 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
3305 elif test \$verb = removing ; then
3306 test -f \$cf_target && (
3307 echo \$verb \$cf_target
3310 test -d \$cf_subdir\${section} &&
3311 test -n "\$aliases" && (
3312 cd \$cf_subdir\${section} && (
3313 for cf_alias in \$aliases
3315 if test \$section = 1 ; then
3316 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
3319 echo .. \$verb alias \$cf_alias\${suffix}
3320 rm -f \$cf_alias\${suffix}
3332 if test $cf_inboth = yes ; then
3333 if test \$form != format ; then
3334 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3340 chmod 755 $cf_edit_man
3343 dnl ---------------------------------------------------------------------------
3344 dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
3346 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
3347 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
3348 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
3349 AC_DEFUN([CF_MATH_LIB],
3351 AC_CACHE_CHECK(if -lm needed for math functions,
3357 [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
3358 [cf_cv_need_libm=no],
3359 [cf_cv_need_libm=yes])])
3360 if test "$cf_cv_need_libm" = yes
3367 dnl ---------------------------------------------------------------------------
3368 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
3369 dnl ----------------------
3370 dnl Check if the file-system supports mixed-case filenames. If we're able to
3371 dnl create a lowercase name and see it as uppercase, it doesn't support that.
3372 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
3374 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
3375 if test "$cross_compiling" = yes ; then
3376 case $target_alias in #(vi
3377 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
3385 rm -f conftest CONFTEST
3387 if test -f CONFTEST ; then
3392 rm -f conftest CONFTEST
3395 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
3397 dnl ---------------------------------------------------------------------------
3398 dnl CF_MKSTEMP version: 5 updated: 2006/12/16 12:33:30
3400 dnl Check for a working mkstemp. This creates two files, checks that they are
3401 dnl successfully created and distinct (AmigaOS apparently fails on the last).
3402 AC_DEFUN([CF_MKSTEMP],[
3403 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
3406 #include <sys/types.h>
3410 #include <sys/stat.h>
3413 char *tmpl = "conftestXXXXXX";
3421 for (n = 0; n < 2; ++n) {
3422 strcpy(name[n], tmpl);
3423 if ((fd = mkstemp(name[n])) >= 0) {
3424 if (!strcmp(name[n], tmpl)
3425 || stat(name[n], &sb) != 0
3426 || (sb.st_mode & S_IFMT) != S_IFREG
3427 || (sb.st_mode & 077) != 0) {
3434 && !strcmp(name[0], name[1]))
3436 ${cf_cv_main_return:-return}(result);
3438 ],[cf_cv_func_mkstemp=yes
3439 ],[cf_cv_func_mkstemp=no
3440 ],[AC_CHECK_FUNC(mkstemp)
3443 if test "$cf_cv_func_mkstemp" = yes ; then
3444 AC_DEFINE(HAVE_MKSTEMP)
3447 dnl ---------------------------------------------------------------------------
3448 dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
3450 dnl Write a debug message to config.log, along with the line number in the
3451 dnl configure script.
3452 AC_DEFUN([CF_MSG_LOG],[
3453 echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
3455 dnl ---------------------------------------------------------------------------
3456 dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
3457 dnl ----------------
3458 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
3459 dnl warn about this.
3460 AC_DEFUN([CF_NCURSES_ABI_6],[
3461 if test "${with_abi_version+set}" != set; then
3462 case $cf_cv_rel_version in
3464 cf_cv_rel_version=6.0
3466 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
3471 dnl ---------------------------------------------------------------------------
3472 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
3473 dnl ------------------
3474 dnl see CF_WITH_NO_LEAKS
3475 AC_DEFUN([CF_NO_LEAKS_OPTION],[
3476 AC_MSG_CHECKING(if you want to use $1 for testing)
3479 [AC_DEFINE($3)ifelse([$4],,[
3482 : ${with_cflags:=-g}
3483 : ${with_no_leaks:=yes}
3486 AC_MSG_RESULT(${with_$1:-no})
3488 case .$with_cflags in #(vi
3490 case .$CFLAGS in #(vi
3500 dnl ---------------------------------------------------------------------------
3501 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
3502 dnl ----------------
3503 dnl Check if the given variable is a number. If not, report an error.
3504 dnl $1 is the variable
3505 dnl $2 is the message
3506 AC_DEFUN([CF_NUMBER_SYNTAX],[
3507 if test -n "$1" ; then
3512 AC_MSG_ERROR($2 is not a number: $1)
3516 AC_MSG_ERROR($2 value is empty)
3519 dnl ---------------------------------------------------------------------------
3520 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
3522 dnl Compute the object-directory name from the given model name
3523 AC_DEFUN([CF_OBJ_SUBDIR],
3526 libtool) $2='obj_lo' ;;
3527 normal) $2='objects' ;;
3528 debug) $2='obj_g' ;;
3529 profile) $2='obj_p' ;;
3531 case $cf_cv_system_name in #(vi
3539 dnl ---------------------------------------------------------------------------
3540 dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
3542 dnl Provide a value for the $PATH and similar separator
3543 AC_DEFUN([CF_PATHSEP],
3545 case $cf_cv_system_name in
3546 os2*) PATHSEP=';' ;;
3549 ifelse($1,,,[$1=$PATHSEP])
3552 dnl ---------------------------------------------------------------------------
3553 dnl CF_PATH_SYNTAX version: 12 updated: 2008/03/23 14:45:59
3555 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
3556 dnl begins with one of the prefix/exec_prefix variables, and then again if the
3557 dnl result begins with 'NONE'. This is necessary to work around autoconf's
3558 dnl delayed evaluation of those symbols.
3559 AC_DEFUN([CF_PATH_SYNTAX],[
3560 if test "x$prefix" != xNONE; then
3561 cf_path_syntax="$prefix"
3563 cf_path_syntax="$ac_default_prefix"
3566 case ".[$]$1" in #(vi
3567 .\[$]\(*\)*|.\'*\'*) #(vi
3571 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
3573 .\[$]{*prefix}*) #(vi
3575 case ".[$]$1" in #(vi
3577 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3582 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3585 ifelse($2,,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
3589 dnl ---------------------------------------------------------------------------
3590 dnl CF_POSIX_C_SOURCE version: 6 updated: 2005/07/14 20:25:10
3591 dnl -----------------
3592 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
3594 dnl POSIX.1-1990 _POSIX_SOURCE
3595 dnl POSIX.1-1990 and _POSIX_SOURCE and
3596 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
3598 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
3599 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
3600 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
3603 dnl $1 is the nominal value for _POSIX_C_SOURCE
3604 AC_DEFUN([CF_POSIX_C_SOURCE],
3606 cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1)
3608 cf_save_CFLAGS="$CFLAGS"
3609 cf_save_CPPFLAGS="$CPPFLAGS"
3611 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
3612 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
3614 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
3615 CF_MSG_LOG(if the symbol is already defined go no further)
3616 AC_TRY_COMPILE([#include <sys/types.h>],[
3617 #ifndef _POSIX_C_SOURCE
3620 [cf_cv_posix_c_source=no],
3621 [cf_want_posix_source=no
3622 case .$cf_POSIX_C_SOURCE in #(vi
3624 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
3627 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
3628 cf_want_posix_source=yes
3631 cf_want_posix_source=yes
3634 if test "$cf_want_posix_source" = yes ; then
3635 AC_TRY_COMPILE([#include <sys/types.h>],[
3636 #ifdef _POSIX_SOURCE
3639 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
3641 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
3642 CFLAGS="$cf_trim_CFLAGS"
3643 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
3644 CF_MSG_LOG(if the second compile does not leave our definition intact error)
3645 AC_TRY_COMPILE([#include <sys/types.h>],[
3646 #ifndef _POSIX_C_SOURCE
3649 [cf_cv_posix_c_source=no])
3650 CFLAGS="$cf_save_CFLAGS"
3651 CPPFLAGS="$cf_save_CPPFLAGS"
3655 if test "$cf_cv_posix_c_source" != no ; then
3656 CFLAGS="$cf_trim_CFLAGS"
3657 CPPFLAGS="$cf_trim_CPPFLAGS"
3658 if test "$cf_cv_cc_u_d_options" = yes ; then
3659 cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \
3660 sed -e 's/-D/-U/g' -e 's/=[[^ ]]*//g'`
3661 CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source"
3663 CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source"
3667 dnl ---------------------------------------------------------------------------
3668 dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
3670 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
3672 dnl $1 = symbol to test
3673 dnl $2 = value (if any) to use for a predefinition
3674 AC_DEFUN([CF_PREDEFINE],
3676 AC_MSG_CHECKING(if we must define $1)
3677 AC_TRY_COMPILE([#include <sys/types.h>
3681 #endif],[cf_result=no],[cf_result=yes])
3682 AC_MSG_RESULT($cf_result)
3684 if test "$cf_result" = yes ; then
3685 CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
3686 elif test "x$2" != "x" ; then
3687 AC_MSG_CHECKING(checking for compatible value versus $2)
3688 AC_TRY_COMPILE([#include <sys/types.h>
3692 #endif],[cf_result=yes],[cf_result=no])
3693 AC_MSG_RESULT($cf_result)
3694 if test "$cf_result" = no ; then
3695 # perhaps we can override it - try...
3696 CPPFLAGS="$CPPFLAGS -D$1=$2"
3700 dnl ---------------------------------------------------------------------------
3701 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
3703 dnl Append definitions and rules for the given programs to the subdirectory
3704 dnl Makefiles, and the recursion rule for the top-level Makefile.
3707 dnl $1 = script to run
3708 dnl $2 = list of subdirectories
3712 AC_DEFUN([CF_PRG_RULES],
3716 if test ! -d $srcdir/$cf_dir; then
3718 elif test -f $srcdir/$cf_dir/programs; then
3719 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
3724 dnl ---------------------------------------------------------------------------
3725 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
3727 dnl Check for awk, ensure that the check found something.
3728 AC_DEFUN([CF_PROG_AWK],
3731 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
3733 dnl ---------------------------------------------------------------------------
3734 dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46
3736 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
3737 dnl the output file can be renamed, and allows for a shell variable that can
3738 dnl be used later. The parameter is either CC or CXX. The result is the
3740 dnl $cf_cv_prog_CC_c_o
3741 dnl $cf_cv_prog_CXX_c_o
3742 AC_DEFUN([CF_PROG_CC_C_O],
3743 [AC_REQUIRE([AC_PROG_CC])dnl
3744 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
3745 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
3747 cat > conftest.$ac_ext <<CF_EOF
3751 ${cf_cv_main_return:-return}(0);
3754 # We do the test twice because some compilers refuse to overwrite an
3755 # existing .o file with -o, though they will create one.
3756 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
3757 if AC_TRY_EVAL(ac_try) &&
3758 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
3760 eval cf_cv_prog_$1_c_o=yes
3762 eval cf_cv_prog_$1_c_o=no
3766 if test $cf_cv_prog_$1_c_o = yes; then
3767 AC_MSG_RESULT([yes])
3772 dnl ---------------------------------------------------------------------------
3773 dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
3775 dnl Check if C (preprocessor) -U and -D options are processed in the order
3776 dnl given rather than by type of option. Some compilers insist on apply all
3777 dnl of the -U options after all of the -D options. Others allow mixing them,
3778 dnl and may predefine symbols that conflict with those we define.
3779 AC_DEFUN([CF_PROG_CC_U_D],
3781 AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
3782 cf_save_CPPFLAGS="$CPPFLAGS"
3783 CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
3786 make an undefined-error
3789 make a defined-error
3792 cf_cv_cc_u_d_options=yes],[
3793 cf_cv_cc_u_d_options=no])
3794 CPPFLAGS="$cf_save_CPPFLAGS"
3797 dnl ---------------------------------------------------------------------------
3798 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
3800 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
3801 dnl This macro adds a check to ensure the script found something.
3802 AC_DEFUN([CF_PROG_EGREP],
3803 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
3804 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
3805 then ac_cv_prog_egrep='grep -E'
3806 else ac_cv_prog_egrep='egrep'
3808 EGREP=$ac_cv_prog_egrep
3810 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
3812 dnl ---------------------------------------------------------------------------
3813 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
3815 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
3816 AC_DEFUN([CF_PROG_EXT],
3818 AC_REQUIRE([CF_CHECK_CACHE])
3819 case $cf_cv_system_name in
3821 CFLAGS="$CFLAGS -Zmt"
3822 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
3823 CXXFLAGS="$CXXFLAGS -Zmt"
3824 # autoconf's macro sets -Zexe and suffix both, which conflict:w
3825 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
3835 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
3837 dnl ---------------------------------------------------------------------------
3838 dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
3840 dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
3841 dnl misc/tabset install won't work properly. Usually this happens only when
3842 dnl using the fallback mkinstalldirs script
3843 AC_DEFUN([CF_PROG_INSTALL],
3849 CF_DIRNAME(cf_dir,$INSTALL)
3850 test -z "$cf_dir" && cf_dir=.
3851 INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
3855 dnl ---------------------------------------------------------------------------
3856 dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
3857 dnl ----------------
3858 dnl Check for ldconfig, needed to fixup shared libraries that would be built
3859 dnl and then used in the install.
3860 AC_DEFUN([CF_PROG_LDCONFIG],[
3861 if test "$cross_compiling" = yes ; then
3864 case "$cf_cv_system_name" in #(vi
3866 test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
3868 *) LDPATH=$PATH:/sbin:/usr/sbin
3869 AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
3875 dnl ---------------------------------------------------------------------------
3876 dnl CF_PROG_LINT version: 1 updated: 2006/09/16 11:40:59
3878 AC_DEFUN([CF_PROG_LINT],
3880 AC_CHECK_PROGS(LINT, tdlint lint alint)
3883 dnl ---------------------------------------------------------------------------
3884 dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
3886 dnl Attempt to determine if we've got one of the flavors of regular-expression
3887 dnl code that we can support.
3888 AC_DEFUN([CF_REGEX],
3890 AC_MSG_CHECKING([for regular-expression headers])
3891 AC_CACHE_VAL(cf_cv_regex,[
3892 AC_TRY_LINK([#include <sys/types.h>
3893 #include <regex.h>],[
3895 int x = regcomp(p, "", 0);
3896 int y = regexec(p, "", 0, 0, 0);
3898 ],[cf_cv_regex="regex.h"],[
3899 AC_TRY_LINK([#include <regexp.h>],[
3900 char *p = compile("", "", "", 0);
3901 int x = step("", "");
3902 ],[cf_cv_regex="regexp.h"],[
3903 cf_save_LIBS="$LIBS"
3905 AC_TRY_LINK([#include <regexpr.h>],[
3906 char *p = compile("", "", "");
3907 int x = step("", "");
3908 ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
3910 AC_MSG_RESULT($cf_cv_regex)
3911 case $cf_cv_regex in
3912 regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
3913 regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
3914 regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
3917 dnl ---------------------------------------------------------------------------
3918 dnl CF_REMOVE_DEFINE version: 2 updated: 2005/07/09 16:12:18
3919 dnl ----------------
3920 dnl Remove all -U and -D options that refer to the given symbol from a list
3921 dnl of C compiler options. This works around the problem that not all
3922 dnl compilers process -U and -D options from left-to-right, so a -U option
3923 dnl cannot be used to cancel the effect of a preceding -D option.
3925 dnl $1 = target (which could be the same as the source variable)
3926 dnl $2 = source (including '$')
3927 dnl $3 = symbol to remove
3928 define([CF_REMOVE_DEFINE],
3930 # remove $3 symbol from $2
3932 sed -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[[ ]]/ /g' \
3933 -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'`
3935 dnl ---------------------------------------------------------------------------
3936 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
3938 dnl Remove the given library from the symbol
3940 dnl $1 = target (which could be the same as the source variable)
3941 dnl $2 = source (including '$')
3942 dnl $3 = library to remove
3943 define([CF_REMOVE_LIB],
3945 # remove $3 library from $2
3946 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
3948 dnl ---------------------------------------------------------------------------
3949 dnl CF_RPATH_HACK version: 4 updated: 2008/09/13 12:53:26
3951 AC_DEFUN([CF_RPATH_HACK],
3953 AC_REQUIRE([CF_SHARED_OPTS])
3954 AC_MSG_CHECKING(for updated LDFLAGS)
3955 if test -n "$LDFLAGS" ; then
3956 AC_MSG_RESULT(maybe)
3957 CF_VERBOSE(...checking LDFLAGS $LDFLAGS)
3958 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
3959 case "$EXTRA_LDFLAGS" in #(vi
3961 cf_rpath_hack="-Wl,-rpath,"
3973 if test -n "$cf_rpath_hack" ; then
3975 for cf_rpath_src in $LDFLAGS
3977 CF_VERBOSE(Filtering $cf_rpath_src)
3978 case $cf_rpath_src in #(vi
3980 if test "$cf_rpath_hack" = "-R " ; then
3981 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'`
3983 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$cf_rpath_hack%`
3985 CF_VERBOSE(...Filter $cf_rpath_tmp)
3986 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
3989 cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
3991 LDFLAGS=$cf_rpath_dst
3992 CF_VERBOSE(...checked LDFLAGS $LDFLAGS)
3993 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
3999 dnl ---------------------------------------------------------------------------
4000 dnl CF_SHARED_OPTS version: 52 updated: 2008/09/13 11:54:48
4003 dnl Attempt to determine the appropriate CC/LD options for creating a shared
4006 dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
4007 dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
4008 dnl We avoid compiling-in a ../lib path for the shared library since that can
4009 dnl lead to unexpected results at runtime.
4010 dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
4011 dnl are compiled in ../../lib
4013 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
4014 dnl to install symbolic links to the rel/abi versions of shared libraries.
4016 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
4017 dnl version when making symbolic links.
4019 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
4020 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
4021 dnl (ex: libncurses.so.<ver>).
4023 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
4024 AC_DEFUN([CF_SHARED_OPTS],
4026 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
4030 INSTALL_LIB="-m 644"
4032 cf_cv_do_symlinks=no
4034 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
4035 AC_ARG_WITH(shlib-version,
4036 [ --with-shlib-version=X Specify rel or abi version for shared libs],
4037 [test -z "$withval" && withval=auto
4038 case $withval in #(vi
4040 cf_cv_shlib_version=auto
4042 rel|abi|auto|no) #(vi
4043 cf_cv_shlib_version=$withval
4046 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
4049 ],[cf_cv_shlib_version=auto])
4050 AC_MSG_RESULT($cf_cv_shlib_version)
4054 # Some less-capable ports of gcc support only -fpic
4056 if test "$GCC" = yes
4058 AC_MSG_CHECKING(which $CC option to use)
4059 cf_save_CFLAGS="$CFLAGS"
4060 for CC_SHARED_OPTS in -fPIC -fpic ''
4062 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
4063 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
4065 AC_MSG_RESULT($CC_SHARED_OPTS)
4066 CFLAGS="$cf_save_CFLAGS"
4069 cf_cv_shlib_version_infix=no
4071 case $cf_cv_system_name in
4073 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
4077 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
4078 cf_cv_shlib_version=cygdll
4079 cf_cv_shlib_version_infix=cygdll
4080 cat >mk_shared_lib.sh <<-CF_EOF
4083 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
4086 Linking shared library
4087 ** SHARED_LIB \[$]SHARED_LIB
4088 ** IMPORT_LIB \[$]IMPORT_LIB
4090 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
4092 chmod +x mk_shared_lib.sh
4095 EXTRA_CFLAGS="-no-cpp-precomp"
4096 CC_SHARED_OPTS="-dynamic"
4097 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
4098 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
4099 cf_cv_shlib_version_infix=yes
4100 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
4101 cf_save_LDFLAGS=$LDFLAGS
4102 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
4103 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
4104 LDFLAGS=$cf_save_LDFLAGS])
4105 if test $cf_cv_ldflags_search_paths_first = yes; then
4106 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
4110 # (tested with gcc 2.7.2 -- I don't have c89)
4111 if test "$GCC" = yes; then
4112 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
4115 LD_SHARED_OPTS='-Wl,+b,${libdir}'
4117 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
4118 # HP-UX shared libraries must be executable, and should be
4119 # readonly to exploit a quirk in the memory manager.
4120 INSTALL_LIB="-m 555"
4123 if test "$cf_cv_ld_rpath" = yes ; then
4124 if test "$GCC" = yes; then
4125 cf_ld_rpath_opt="-Wl,-rpath,"
4126 EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
4128 cf_ld_rpath_opt="-rpath "
4129 EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS"
4132 # tested with IRIX 5.2 and 'cc'.
4133 if test "$GCC" != yes; then
4134 CC_SHARED_OPTS='-KPIC'
4135 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
4137 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
4139 cf_cv_rm_so_locs=yes
4141 linux*|gnu*|k*bsd*-gnu)
4142 if test "$DFT_LWR_MODEL" = "shared" ; then
4143 LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
4144 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4146 if test "$cf_cv_ld_rpath" = yes ; then
4147 cf_ld_rpath_opt="-Wl,-rpath,"
4148 EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
4151 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
4154 if test "$DFT_LWR_MODEL" = "shared" ; then
4155 LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
4156 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4158 if test "$cf_cv_ld_rpath" = yes ; then
4159 cf_ld_rpath_opt="-Wl,-rpath,"
4160 EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
4162 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4164 MK_SHARED_LIB='${CC} ${CFLAGS} -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
4166 openbsd*|freebsd[[12]].*)
4167 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4168 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
4169 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4172 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4173 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
4174 LOCAL_LDFLAGS="-rpath \$(LOCAL_LIBDIR)"
4175 LOCAL_LDFLAGS2="-rpath \${libdir} $LOCAL_LDFLAGS"
4176 cf_ld_rpath_opt="-rpath "
4177 EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS"
4180 MK_SHARED_LIB='${LD} -Bshareable -soname=`basename $[@]` -o $[@]'
4183 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
4184 test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
4185 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
4186 LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
4187 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4188 EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
4189 if test "$cf_cv_shlib_version" = auto; then
4190 if test -f /usr/libexec/ld.elf_so; then
4191 cf_cv_shlib_version=abi
4193 cf_cv_shlib_version=rel
4197 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
4199 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
4203 # tested with OSF/1 V3.2 and 'cc'
4204 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
4205 # link with shared libs).
4206 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
4209 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
4212 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
4213 if test "$DFT_LWR_MODEL" = "shared" ; then
4214 LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
4215 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4217 if test "$cf_cv_ld_rpath" = yes ; then
4218 cf_ld_rpath_opt="-rpath"
4219 # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
4221 cf_cv_rm_so_locs=yes
4223 sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
4224 # tested with osr5.0.5
4225 if test "$GCC" != yes; then
4226 CC_SHARED_OPTS='-belf -KPIC'
4228 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
4229 if test "$cf_cv_ld_rpath" = yes ; then
4230 # only way is to set LD_RUN_PATH but no switch for it
4233 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4234 LINK_PROGS='LD_RUN_PATH=${libdir}'
4235 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
4238 # tested with SunOS 4.1.1 and gcc 2.7.0
4239 if test "$GCC" != yes; then
4240 CC_SHARED_OPTS='-KPIC'
4242 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
4243 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
4246 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
4247 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
4248 if test "$DFT_LWR_MODEL" = "shared" ; then
4249 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
4250 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
4252 if test "$cf_cv_ld_rpath" = yes ; then
4253 cf_ld_rpath_opt="-R"
4254 EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
4257 if test "$GCC" != yes; then
4258 CC_SHARED_OPTS='-xcode=pic32'
4259 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
4261 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
4265 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
4266 if test "$GCC" != yes; then
4267 CC_SHARED_OPTS='-KPIC'
4269 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
4272 CC_SHARED_OPTS='unknown'
4273 MK_SHARED_LIB='echo unknown'
4277 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
4278 case "$cf_cv_shlib_version" in #(vi
4280 case "$MK_SHARED_LIB" in #(vi
4282 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
4285 AC_MSG_WARN(ignored --with-shlib-version)
4291 if test -n "$cf_ld_rpath_opt" ; then
4292 AC_MSG_CHECKING(if we need a space after rpath option)
4293 cf_save_LIBS="$LIBS"
4294 LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
4295 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
4296 LIBS="$cf_save_LIBS"
4297 AC_MSG_RESULT($cf_rpath_space)
4298 test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
4299 MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
4302 AC_SUBST(CC_SHARED_OPTS)
4303 AC_SUBST(LD_SHARED_OPTS)
4304 AC_SUBST(MK_SHARED_LIB)
4305 AC_SUBST(LINK_PROGS)
4306 AC_SUBST(LINK_TESTS)
4307 AC_SUBST(EXTRA_LDFLAGS)
4308 AC_SUBST(LOCAL_LDFLAGS)
4309 AC_SUBST(LOCAL_LDFLAGS2)
4310 AC_SUBST(INSTALL_LIB)
4312 dnl ---------------------------------------------------------------------------
4313 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
4314 dnl ----------------
4315 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
4316 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
4319 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
4320 dnl If missing, use "rel".
4321 define([CF_SHARED_SONAME],
4323 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
4324 if test "$cf_cv_shlib_version" = rel; then
4325 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
4327 cf_cv_shared_soname='`basename $[@]`'
4330 dnl ---------------------------------------------------------------------------
4331 dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
4333 dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
4334 dnl programs need this test).
4336 dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
4337 dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
4338 dnl winsize declaration is left alone - we may revisit this if Apple choose to
4339 dnl break that part of the interface as well.
4340 AC_DEFUN([CF_SIGWINCH],
4342 AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
4344 #include <sys/types.h>
4345 #include <sys/signal.h>
4346 ],[int x = SIGWINCH],
4347 [cf_cv_define_sigwinch=yes],
4349 #undef _XOPEN_SOURCE
4350 #undef _POSIX_SOURCE
4351 #undef _POSIX_C_SOURCE
4352 #include <sys/types.h>
4353 #include <sys/signal.h>
4354 ],[int x = SIGWINCH],
4355 [cf_cv_define_sigwinch=maybe],
4356 [cf_cv_define_sigwinch=no])
4360 if test "$cf_cv_define_sigwinch" = maybe ; then
4361 AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
4362 cf_cv_fixup_sigwinch=unknown
4364 while test $cf_sigwinch != 1
4367 #undef _XOPEN_SOURCE
4368 #undef _POSIX_SOURCE
4369 #undef _POSIX_C_SOURCE
4370 #include <sys/types.h>
4371 #include <sys/signal.h>
4373 #if SIGWINCH != $cf_sigwinch
4377 [cf_cv_fixup_sigwinch=$cf_sigwinch
4380 cf_sigwinch=`expr $cf_sigwinch - 1`
4384 if test "$cf_cv_fixup_sigwinch" != unknown ; then
4385 CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
4389 dnl ---------------------------------------------------------------------------
4390 dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
4392 dnl signal handler, but there are some gcc depedencies in that recommendation.
4394 AC_DEFUN([CF_SIG_ATOMIC_T],
4396 AC_MSG_CHECKING(for signal global datatype)
4397 AC_CACHE_VAL(cf_cv_sig_atomic_t,[
4399 "volatile sig_atomic_t" \
4404 #include <sys/types.h>
4410 static void handler(int sig)
4414 [signal(SIGINT, handler);
4416 [cf_cv_sig_atomic_t=$cf_type],
4417 [cf_cv_sig_atomic_t=no])
4418 test "$cf_cv_sig_atomic_t" != no && break
4421 AC_MSG_RESULT($cf_cv_sig_atomic_t)
4422 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
4424 dnl ---------------------------------------------------------------------------
4425 dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
4427 dnl Check for definitions & structures needed for window size-changing
4428 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
4429 AC_DEFUN([CF_SIZECHANGE],
4431 AC_REQUIRE([CF_STRUCT_TERMIOS])
4432 AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
4433 cf_cv_sizechange=unknown
4434 cf_save_CPPFLAGS="$CPPFLAGS"
4436 for cf_opts in "" "NEED_PTEM_H"
4439 CPPFLAGS="$cf_save_CPPFLAGS"
4440 test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
4441 AC_TRY_COMPILE([#include <sys/types.h>
4442 #ifdef HAVE_TERMIOS_H
4443 #include <termios.h>
4445 #ifdef HAVE_TERMIO_H