1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2011,2012 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.609 2012/03/17 16:08:47 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_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03
66 dnl ------------------
67 dnl Conditionally generate script according to whether we're using a given autoconf.
69 dnl $1 = version to compare against
70 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
71 dnl $3 = code to use if AC_ACVERSION is older than $1.
72 define(CF_ACVERSION_CHECK,
74 ifdef([m4_version_compare],
75 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
76 [CF_ACVERSION_COMPARE(
77 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
78 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
79 dnl ---------------------------------------------------------------------------
80 dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50
81 dnl --------------------
82 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
83 dnl MAJOR2, MINOR2, TERNARY2,
84 dnl PRINTABLE2, not FOUND, FOUND)
85 define(CF_ACVERSION_COMPARE,
86 [ifelse(builtin([eval], [$2 < $5]), 1,
87 [ifelse([$8], , ,[$8])],
88 [ifelse([$9], , ,[$9])])])dnl
89 dnl ---------------------------------------------------------------------------
90 dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
91 dnl -------------------
92 dnl Construct the list of include-options for the C programs in the Ada95
94 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
96 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
97 if test "$srcdir" != "."; then
98 ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
100 if test "$GCC" != yes; then
101 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
102 elif test "$includedir" != "/usr/include"; then
103 if test "$includedir" = '${prefix}/include' ; then
104 if test $prefix != /usr ; then
105 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
108 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
113 dnl ---------------------------------------------------------------------------
114 dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
116 dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
117 AC_DEFUN([CF_ADD_ADAFLAGS],[
118 ADAFLAGS="$ADAFLAGS $1"
121 dnl ---------------------------------------------------------------------------
122 dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
124 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
125 dnl The second parameter if given makes this macro verbose.
127 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
128 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
129 dnl confused by the quotes (which require backslashes to keep them usable).
130 AC_DEFUN([CF_ADD_CFLAGS],
135 cf_new_extra_cppflags=
137 for cf_add_cflags in $1
139 case $cf_fix_cppflags in
141 case $cf_add_cflags in #(vi
142 -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
143 case $cf_add_cflags in
145 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
147 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
148 && test -z "${cf_tst_cflags}" \
149 && cf_fix_cppflags=yes
151 if test $cf_fix_cppflags = yes ; then
152 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
154 elif test "${cf_tst_cflags}" = "\"'" ; then
155 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
161 *$cf_add_cflags) #(vi
164 case $cf_add_cflags in #(vi
166 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
167 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
170 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
175 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
180 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
182 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
184 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
185 && test -z "${cf_tst_cflags}" \
186 && cf_fix_cppflags=no
191 if test -n "$cf_new_cflags" ; then
192 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
193 CFLAGS="$CFLAGS $cf_new_cflags"
196 if test -n "$cf_new_cppflags" ; then
197 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
198 CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
201 if test -n "$cf_new_extra_cppflags" ; then
202 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
203 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
206 AC_SUBST(EXTRA_CPPFLAGS)
209 dnl ---------------------------------------------------------------------------
210 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
212 dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
213 dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
214 dnl but old versions (and some misinstalled ones) need that. To make things
215 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
216 dnl the include-path).
217 AC_DEFUN([CF_ADD_INCDIR],
219 if test -n "$1" ; then
220 for cf_add_incdir in $1
222 while test $cf_add_incdir != /usr/include
224 if test -d $cf_add_incdir
227 if test -n "$CFLAGS$CPPFLAGS" ; then
228 # a loop is needed to ensure we can add subdirs of existing dirs
229 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
230 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
231 cf_have_incdir=yes; break
236 if test "$cf_have_incdir" = no ; then
237 if test "$cf_add_incdir" = /usr/local/include ; then
240 cf_save_CPPFLAGS=$CPPFLAGS
241 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
242 AC_TRY_COMPILE([#include <stdio.h>],
245 [cf_have_incdir=yes])
246 CPPFLAGS=$cf_save_CPPFLAGS
251 if test "$cf_have_incdir" = no ; then
252 CF_VERBOSE(adding $cf_add_incdir to include-path)
253 ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
255 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
256 test "$cf_top_incdir" = "$cf_add_incdir" && break
257 cf_add_incdir="$cf_top_incdir"
266 dnl ---------------------------------------------------------------------------
267 dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
269 dnl Add a library, used to enforce consistency.
271 dnl $1 = library to add, without the "-l"
272 dnl $2 = variable to update (default $LIBS)
273 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
274 dnl ---------------------------------------------------------------------------
275 dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
277 dnl Adds to the library-path
279 dnl Some machines have trouble with multiple -L options.
281 dnl $1 is the (list of) directory(s) to add
282 dnl $2 is the optional name of the variable to update (default LDFLAGS)
284 AC_DEFUN([CF_ADD_LIBDIR],
286 if test -n "$1" ; then
287 for cf_add_libdir in $1
289 if test $cf_add_libdir = /usr/lib ; then
291 elif test -d $cf_add_libdir
294 if test -n "$LDFLAGS$LIBS" ; then
295 # a loop is needed to ensure we can add subdirs of existing dirs
296 for cf_test_libdir in $LDFLAGS $LIBS ; do
297 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
298 cf_have_libdir=yes; break
302 if test "$cf_have_libdir" = no ; then
303 CF_VERBOSE(adding $cf_add_libdir to library-path)
304 ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
310 dnl ---------------------------------------------------------------------------
311 dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05
313 dnl Add one or more libraries, used to enforce consistency.
315 dnl $1 = libraries to add, with the "-l", etc.
316 dnl $2 = variable to update (default $LIBS)
317 AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl
318 dnl ---------------------------------------------------------------------------
319 dnl CF_ADD_SUBDIR_PATH version: 3 updated: 2010/07/03 20:58:12
320 dnl ------------------
321 dnl Append to a search-list for a nonstandard header/lib-file
322 dnl $1 = the variable to return as result
323 dnl $2 = the package name
324 dnl $3 = the subdirectory, e.g., bin, include or lib
325 dnl $4 = the directory under which we will test for subdirectories
326 dnl $5 = a directory that we do not want $4 to match
327 AC_DEFUN([CF_ADD_SUBDIR_PATH],
329 test "$4" != "$5" && \
331 ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) {
332 test -n "$verbose" && echo " ... testing for $3-directories under $4"
333 test -d $4/$3 && $1="[$]$1 $4/$3"
334 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
335 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
336 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
337 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
340 dnl ---------------------------------------------------------------------------
341 dnl CF_ANSI_CC_CHECK version: 11 updated: 2011/07/01 19:47:45
343 dnl This was originally adapted from the macros 'fp_PROG_CC_STDC' and
344 dnl 'fp_C_PROTOTYPES' in the sharutils 4.2 distribution.
345 AC_DEFUN([CF_ANSI_CC_CHECK],
347 # This should have been defined by AC_PROG_CC
350 # Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
351 # into CC. This will not help with broken scripts that wrap the compiler with
352 # options, but eliminates a more common category of user confusion.
353 AC_MSG_CHECKING(\$CC variable)
356 AC_MSG_RESULT(broken)
357 AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
359 cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
360 CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
361 CF_ADD_CFLAGS($cf_flags)
368 AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
370 cf_save_CFLAGS="$CFLAGS"
371 cf_save_CPPFLAGS="$CPPFLAGS"
372 # Don't try gcc -ansi; that turns off useful extensions and
373 # breaks some systems' header files.
375 # Ultrix and OSF/1 -std1
376 # HP-UX -Aa -D_HPUX_SOURCE
378 # UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
379 for cf_arg in "-DCC_HAS_PROTOS" \
384 "-Aa -D_HPUX_SOURCE" \
387 CF_ADD_CFLAGS($cf_arg)
390 #ifndef CC_HAS_PROTOS
391 #if !defined(__STDC__) || (__STDC__ != 1)
396 int test (int i, double x);
397 struct s1 {int (*f) (int a);};
398 struct s2 {int (*f) (double a);};],
399 [cf_cv_ansi_cc="$cf_arg"; break])
401 CFLAGS="$cf_save_CFLAGS"
402 CPPFLAGS="$cf_save_CPPFLAGS"
405 if test "$cf_cv_ansi_cc" != "no"; then
406 if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
407 CF_ADD_CFLAGS($cf_cv_ansi_cc)
409 AC_DEFINE(CC_HAS_PROTOS)
413 dnl ---------------------------------------------------------------------------
414 dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
416 dnl For programs that must use an ANSI compiler, obtain compiler options that
417 dnl will make it recognize prototypes. We'll do preprocessor checks in other
418 dnl macros, since tools such as unproto can fake prototypes, but only part of
419 dnl the preprocessor.
420 AC_DEFUN([CF_ANSI_CC_REQD],
421 [AC_REQUIRE([CF_ANSI_CC_CHECK])
422 if test "$cf_cv_ansi_cc" = "no"; then
424 [Your compiler does not appear to recognize prototypes.
425 You have the following choices:
426 a. adjust your compiler options
427 b. get an up-to-date compiler
428 c. use a wrapper such as unproto])
431 dnl ---------------------------------------------------------------------------
432 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
434 dnl Allow user to disable a normally-on option.
435 AC_DEFUN([CF_ARG_DISABLE],
436 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
437 dnl ---------------------------------------------------------------------------
438 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
440 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
446 dnl $3 = action to perform if option is not default
447 dnl $4 = action if perform if option is default
448 dnl $5 = default option value (either 'yes' or 'no')
449 AC_DEFUN([CF_ARG_OPTION],
450 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
451 if test "$enableval" != "$5" ; then
453 ,[ $3]) ifelse([$4],,,[
456 fi],[enableval=$5 ifelse([$4],,,[
460 dnl ---------------------------------------------------------------------------
461 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
463 dnl Check for suitable "ar" (archiver) options for updating an archive.
464 AC_DEFUN([CF_AR_FLAGS],[
465 AC_REQUIRE([CF_PROG_AR])
467 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
468 cf_cv_ar_flags=unknown
469 for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
472 # check if $ARFLAGS already contains this choice
473 if test "x$ARFLAGS" != "x" ; then
474 cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
475 if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
481 rm -f conftest.$ac_cv_objext
484 cat >conftest.$ac_ext <<EOF
485 #line __oline__ "configure"
486 int testdata[[3]] = { 123, 456, 789 };
488 if AC_TRY_EVAL(ac_compile) ; then
489 echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
490 $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
491 if test -f conftest.a ; then
492 cf_cv_ar_flags=$cf_ar_flags
496 CF_VERBOSE(cannot compile test-program)
500 rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
503 if test -n "$ARFLAGS" ; then
504 if test -n "$cf_cv_ar_flags" ; then
505 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
508 ARFLAGS=$cf_cv_ar_flags
513 dnl ---------------------------------------------------------------------------
514 dnl CF_AWK_BIG_PRINTF version: 4 updated: 2011/10/30 17:09:50
515 dnl -----------------
516 dnl Check if awk can handle big strings using printf. Some older versions of
517 dnl awk choke on large strings passed via "%s".
519 dnl $1 = desired string size
520 dnl $2 = variable to set with result
521 AC_DEFUN([CF_AWK_BIG_PRINTF],
528 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
529 | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
537 dnl ---------------------------------------------------------------------------
538 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
540 dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
541 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
542 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
544 dnl Treat the configuration-variable specially here, since we're directly
545 dnl substituting its value (i.e., 1/0).
547 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
548 AC_DEFUN([CF_BOOL_DECL],
550 AC_MSG_CHECKING(if we should include stdbool.h)
552 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
553 AC_TRY_COMPILE([],[bool foo = false],
554 [cf_cv_header_stdbool_h=0],
559 ],[bool foo = false],
560 [cf_cv_header_stdbool_h=1],
561 [cf_cv_header_stdbool_h=0])])])
563 if test "$cf_cv_header_stdbool_h" = 1
564 then AC_MSG_RESULT(yes)
565 else AC_MSG_RESULT(no)
568 AC_MSG_CHECKING([for builtin bool type])
570 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
573 #include <sys/types.h>
575 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
576 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
579 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
580 then AC_MSG_RESULT(yes)
581 else AC_MSG_RESULT(no)
584 dnl ---------------------------------------------------------------------------
585 dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
587 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
588 dnl Don't bother looking for bool.h, since it's been deprecated.
590 dnl If the current compiler is C rather than C++, we get the bool definition
591 dnl from <stdbool.h>.
592 AC_DEFUN([CF_BOOL_SIZE],
594 AC_MSG_CHECKING([for size of bool])
595 AC_CACHE_VAL(cf_cv_type_of_bool,[
601 #if defined(__cplusplus)
603 #ifdef HAVE_GXX_BUILTIN_H
604 #include <g++/builtin.h>
605 #elif HAVE_GPP_BUILTIN_H
606 #include <gpp/builtin.h>
613 #if $cf_cv_header_stdbool_h
621 FILE *fp = fopen("cf_test.out", "w");
625 fputs("unsigned ", fp);
626 if (sizeof(x) == sizeof(int)) fputs("int", fp);
627 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
628 else if (sizeof(x) == sizeof(short))fputs("short",fp);
629 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
632 ${cf_cv_main_return:-return}(0);
635 [cf_cv_type_of_bool=`cat cf_test.out`
636 if test -z "$cf_cv_type_of_bool"; then
637 cf_cv_type_of_bool=unknown
639 [cf_cv_type_of_bool=unknown],
640 [cf_cv_type_of_bool=unknown])
643 AC_MSG_RESULT($cf_cv_type_of_bool)
644 if test "$cf_cv_type_of_bool" = unknown ; then
645 case .$NCURSES_BOOL in #(vi
646 .auto|.) NCURSES_BOOL=unsigned;;
648 AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
649 cf_cv_type_of_bool=$NCURSES_BOOL
652 dnl ---------------------------------------------------------------------------
653 dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
655 dnl If we're cross-compiling, allow the user to override the tools and their
656 dnl options. The configure script is oriented toward identifying the host
657 dnl compiler, etc., but we need a build compiler to generate parts of the
660 dnl $1 = default for $CPPFLAGS
661 dnl $2 = default for $LIBS
662 AC_DEFUN([CF_BUILD_CC],[
663 AC_REQUIRE([CF_PROG_EXT])
664 if test "$cross_compiling" = yes ; then
666 # defaults that we might want to override
667 : ${BUILD_CFLAGS:=''}
668 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
669 : ${BUILD_LDFLAGS:=''}
670 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
671 : ${BUILD_EXEEXT:='$x'}
672 : ${BUILD_OBJEXT:='o'}
674 AC_ARG_WITH(build-cc,
675 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
676 [BUILD_CC="$withval"],
677 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
678 AC_MSG_CHECKING(for native build C compiler)
679 AC_MSG_RESULT($BUILD_CC)
681 AC_MSG_CHECKING(for native build C preprocessor)
682 AC_ARG_WITH(build-cpp,
683 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
684 [BUILD_CPP="$withval"],
685 [BUILD_CPP='${BUILD_CC} -E'])
686 AC_MSG_RESULT($BUILD_CPP)
688 AC_MSG_CHECKING(for native build C flags)
689 AC_ARG_WITH(build-cflags,
690 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
691 [BUILD_CFLAGS="$withval"])
692 AC_MSG_RESULT($BUILD_CFLAGS)
694 AC_MSG_CHECKING(for native build C preprocessor-flags)
695 AC_ARG_WITH(build-cppflags,
696 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
697 [BUILD_CPPFLAGS="$withval"])
698 AC_MSG_RESULT($BUILD_CPPFLAGS)
700 AC_MSG_CHECKING(for native build linker-flags)
701 AC_ARG_WITH(build-ldflags,
702 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
703 [BUILD_LDFLAGS="$withval"])
704 AC_MSG_RESULT($BUILD_LDFLAGS)
706 AC_MSG_CHECKING(for native build linker-libraries)
707 AC_ARG_WITH(build-libs,
708 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
709 [BUILD_LIBS="$withval"])
710 AC_MSG_RESULT($BUILD_LIBS)
712 # this assumes we're on Unix.
716 : ${BUILD_CC:='${CC}'}
718 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
719 AC_MSG_ERROR([Cross-build requires two compilers.
720 Use --with-build-cc to specify the native compiler.])
724 : ${BUILD_CC:='${CC}'}
725 : ${BUILD_CPP:='${CPP}'}
726 : ${BUILD_CFLAGS:='${CFLAGS}'}
727 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
728 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
729 : ${BUILD_LIBS:='${LIBS}'}
730 : ${BUILD_EXEEXT:='$x'}
731 : ${BUILD_OBJEXT:='o'}
736 AC_SUBST(BUILD_CFLAGS)
737 AC_SUBST(BUILD_CPPFLAGS)
738 AC_SUBST(BUILD_LDFLAGS)
740 AC_SUBST(BUILD_EXEEXT)
741 AC_SUBST(BUILD_OBJEXT)
743 dnl ---------------------------------------------------------------------------
744 dnl CF_CFG_DEFAULTS version: 8 updated: 2011/06/04 20:09:13
746 dnl Determine the default configuration into which we'll install ncurses. This
747 dnl can be overridden by the user's command-line options. There's two items to
749 dnl 1. the prefix (e.g., /usr)
750 dnl 2. the header files (e.g., /usr/include/ncurses)
751 dnl We'll look for a previous installation of ncurses and use the same defaults.
753 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
754 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
755 dnl programs from a vendor's.
756 AC_DEFUN([CF_CFG_DEFAULTS],
758 AC_MSG_CHECKING(for prefix)
759 if test "x$prefix" = "xNONE" ; then
760 case "$cf_cv_system_name" in
761 # non-vendor systems don't have a conflict
762 openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu)
765 *) prefix=$ac_default_prefix
769 AC_MSG_RESULT($prefix)
771 if test "x$prefix" = "xNONE" ; then
772 AC_MSG_CHECKING(for default include-directory)
773 test -n "$verbose" && echo 1>&AC_FD_MSG
776 $includedir/ncurses \
778 $prefix/include/ncurses \
780 /usr/local/include/ncurses \
784 cf_dir=`eval echo $cf_symbol`
785 if test -f $cf_dir/curses.h ; then
786 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
787 includedir="$cf_symbol"
788 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
792 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
794 AC_MSG_RESULT($includedir)
797 dnl ---------------------------------------------------------------------------
798 dnl CF_CGETENT version: 4 updated: 2011/08/07 14:54:41
800 dnl Check if the terminal-capability database functions are available. If not,
801 dnl ncurses has a much-reduced version.
802 AC_DEFUN([CF_CGETENT],[
803 AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[
805 #include <stdlib.h>],[
808 char *db_array = temp;
809 cgetent(&buf, &db_array, "vt100");
810 cgetcap(buf, "tc", '=');
811 cgetmatch(buf, "tc");
817 if test "$cf_cv_cgetent" = yes
819 AC_DEFINE(HAVE_BSD_CGETENT)
820 AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
822 #include <stdlib.h>],[
825 #ifndef _NETBSD_SOURCE /* given, since April 2004 in stdlib.h */
826 const char *db_array = temp;
827 cgetent(&buf, &db_array, "vt100");
829 cgetcap(buf, "tc", '=');
830 cgetmatch(buf, "tc");
832 [cf_cv_cgetent_const=yes],
833 [cf_cv_cgetent_const=no])
835 if test "$cf_cv_cgetent_const" = yes
837 AC_DEFINE_UNQUOTED(CGETENT_CONST,const)
841 dnl ---------------------------------------------------------------------------
842 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
844 dnl Check if we're accidentally using a cache from a different machine.
845 dnl Derive the system name, as a check for reusing the autoconf cache.
847 dnl If we've packaged config.guess and config.sub, run that (since it does a
848 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
849 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
850 dnl which is useful in cross-compiles.
852 dnl Note: we would use $ac_config_sub, but that is one of the places where
853 dnl autoconf 2.5x broke compatibility with autoconf 2.13
854 AC_DEFUN([CF_CHECK_CACHE],
856 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
857 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
858 system_name="$host_os"
860 system_name="`(uname -s -r) 2>/dev/null`"
861 if test -z "$system_name" ; then
862 system_name="`(hostname) 2>/dev/null`"
865 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
866 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
868 test -z "$system_name" && system_name="$cf_cv_system_name"
869 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
871 if test ".$system_name" != ".$cf_cv_system_name" ; then
872 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
873 AC_MSG_ERROR("Please remove config.cache and try again.")
876 dnl ---------------------------------------------------------------------------
877 dnl CF_CHECK_ERRNO version: 11 updated: 2010/05/26 05:38:42
879 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
880 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
883 dnl $1 = the name to check
884 dnl $2 = the assumed type
885 AC_DEFUN([CF_CHECK_ERRNO],
887 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
893 #include <sys/types.h>
894 #include <errno.h> ],
895 ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1,
900 if test "$cf_cv_dcl_$1" = no ; then
901 CF_UPPER(cf_result,decl_$1)
902 AC_DEFINE_UNQUOTED($cf_result)
905 # It's possible (for near-UNIX clones) that the data doesn't exist
906 CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2]))
908 dnl ---------------------------------------------------------------------------
909 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
910 dnl --------------------
911 dnl Check for existence of external data in the current set of libraries. If
912 dnl we can modify it, it's real enough.
913 dnl $1 = the name to check
915 AC_DEFUN([CF_CHECK_EXTERN_DATA],
917 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
927 if test "$cf_cv_have_$1" = yes ; then
928 CF_UPPER(cf_result,have_$1)
929 AC_DEFINE_UNQUOTED($cf_result)
933 dnl ---------------------------------------------------------------------------
934 dnl CF_CHECK_GPM_WGETCH version: 2 updated: 2010/08/14 18:25:37
935 dnl -------------------
936 dnl Check if GPM is already linked with curses. If so - and if the linkage
937 dnl is not "weak" - warn about this because it can create problems linking
938 dnl applications with ncurses.
939 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
940 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
942 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
943 cf_cv_check_gpm_wgetch=unknown
944 if test "$cross_compiling" != yes ; then
946 cat >conftest.$ac_ext <<CF_EOF
951 ${cf_cv_main_return:-return}(0);
956 # This only works if we can look at the symbol table. If a shared
957 # library is stripped for install, we cannot use that. So we're forced
958 # to rely on the static library, noting that some packagers may not
960 LIBS="-static -lgpm -dynamic $LIBS"
961 if AC_TRY_EVAL(ac_compile) ; then
962 if AC_TRY_EVAL(ac_link) ; then
963 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
964 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
965 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
973 if test "$cf_cv_check_gpm_wgetch" != yes ; then
974 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
977 dnl ---------------------------------------------------------------------------
978 dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
980 dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
981 AC_DEFUN([CF_CHECK_WCHAR_H],[
982 AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
989 int bar = iswpunct(foo)],
990 [cf_cv_wchar_h_okay=yes],
991 [cf_cv_wchar_h_okay=no])])
993 if test $cf_cv_wchar_h_okay = no
995 CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
998 dnl ---------------------------------------------------------------------------
999 dnl CF_CPP_PARAM_INIT version: 5 updated: 2011/12/03 16:54:03
1000 dnl -----------------
1001 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
1002 dnl is a late feature for the standard and is not in some recent compilers
1004 AC_DEFUN([CF_CPP_PARAM_INIT],
1006 if test -n "$CXX"; then
1007 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
1019 TEST::TEST(int x = 1) // some compilers do not like second initializer
1025 [cf_cv_cpp_param_init=yes],
1026 [cf_cv_cpp_param_init=no],
1027 [cf_cv_cpp_param_init=unknown])
1031 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
1033 dnl ---------------------------------------------------------------------------
1034 dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
1035 dnl ------------------
1036 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
1037 dnl not be supported in g++ before 3.0
1038 AC_DEFUN([CF_CPP_STATIC_CAST],
1040 if test -n "$CXX"; then
1042 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
1050 NCursesPanel(int nlines,
1060 template<class T> class NCursesUserPanel : public NCursesPanel
1063 NCursesUserPanel (int nlines,
1067 const T* p_UserData = static_cast<T*>(0))
1068 : NCursesPanel (nlines, ncols, begin_y, begin_x)
1071 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
1075 virtual ~NCursesUserPanel() {};
1078 const char* p_UserData = static_cast<char*>(0)],
1079 [cf_cv_cpp_static_cast=yes],
1080 [cf_cv_cpp_static_cast=no])
1087 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
1089 dnl ---------------------------------------------------------------------------
1090 dnl CF_CXX_AR_FLAGS version: 1 updated: 2011/10/29 08:35:34
1092 dnl Setup special archiver flags for given compilers.
1093 AC_DEFUN([CF_CXX_AR_FLAGS],[
1095 CXX_ARFLAGS='$(ARFLAGS)'
1096 case $cf_cv_system_name in #(vi
1098 if test "$GXX" != yes ; then
1100 CXX_ARFLAGS='-ar -o'
1104 CXXLDFLAGS="-u main"
1107 if test "$GXX" != yes ; then
1109 CXX_ARFLAGS='-xar -o'
1113 AC_SUBST(CXXLDFLAGS)
1115 AC_SUBST(CXX_ARFLAGS)
1117 dnl ---------------------------------------------------------------------------
1118 dnl CF_CXX_IOSTREAM_NAMESPACE version: 1 updated: 2011/10/29 08:35:34
1119 dnl -------------------------
1120 dnl For c++, check if iostream uses "std::" namespace.
1121 AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[
1122 AC_CHECK_HEADERS(iostream)
1123 if test x"$ac_cv_header_iostream" = xyes ; then
1124 AC_MSG_CHECKING(if iostream uses std-namespace)
1129 cerr << "testing" << endl;
1130 ],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
1131 AC_MSG_RESULT($cf_iostream_namespace)
1132 if test "$cf_iostream_namespace" = yes ; then
1133 AC_DEFINE(IOSTREAM_NAMESPACE)
1137 dnl ---------------------------------------------------------------------------
1138 dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
1140 dnl Check if the C compiler supports "inline".
1141 dnl $1 is the name of a shell variable to set if inline is supported
1142 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
1143 AC_DEFUN([CF_C_INLINE],[
1146 if test "$ac_cv_c_inline" != no ; then
1148 if test "$INTEL_COMPILER" = yes
1151 elif test "$GCC" = yes
1153 AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
1154 cf_save_CFLAGS=$CFLAGS
1155 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
1156 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
1157 [${cf_cv_main_return:-return} foo()],
1158 [cf_cv_gcc_inline=yes],
1159 [cf_cv_gcc_inline=no])
1160 CFLAGS=$cf_save_CFLAGS
1162 if test "$cf_cv_gcc_inline" = yes ; then
1163 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
1169 dnl ---------------------------------------------------------------------------
1170 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1172 dnl "dirname" is not portable, so we fake it with a shell script.
1173 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1174 dnl ---------------------------------------------------------------------------
1175 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1177 AC_DEFUN([CF_DIRS_TO_MAKE],
1180 for cf_item in $cf_list_models
1182 CF_OBJ_SUBDIR($cf_item,cf_subdir)
1183 for cf_item2 in $DIRS_TO_MAKE
1185 test $cf_item2 = $cf_subdir && break
1187 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1189 for cf_dir in $DIRS_TO_MAKE
1191 test ! -d $cf_dir && mkdir $cf_dir
1193 AC_SUBST(DIRS_TO_MAKE)
1195 dnl ---------------------------------------------------------------------------
1196 dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
1198 dnl You can always use "make -n" to see the actual options, but it's hard to
1199 dnl pick out/analyze warning messages when the compile-line is long.
1202 dnl ECHO_LT - symbol to control if libtool is verbose
1203 dnl ECHO_LD - symbol to prefix "cc -o" lines
1204 dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
1205 dnl SHOW_CC - symbol to put before explicit "cc -c" lines
1206 dnl ECHO_CC - symbol to put before any "cc" line
1208 AC_DEFUN([CF_DISABLE_ECHO],[
1209 AC_MSG_CHECKING(if you want to see long compiling messages)
1210 CF_ARG_DISABLE(echo,
1211 [ --disable-echo display "compiling" commands],
1214 ECHO_LD='@echo linking [$]@;'
1215 RULE_CC='@echo compiling [$]<'
1216 SHOW_CC='@echo compiling [$]@'
1225 AC_MSG_RESULT($enableval)
1232 dnl ---------------------------------------------------------------------------
1233 dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
1234 dnl ----------------
1235 dnl Combine no-leak checks with the libraries or tools that are used for the
1237 AC_DEFUN([CF_DISABLE_LEAKS],[
1239 AC_REQUIRE([CF_WITH_DMALLOC])
1240 AC_REQUIRE([CF_WITH_DBMALLOC])
1241 AC_REQUIRE([CF_WITH_VALGRIND])
1243 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1244 AC_ARG_ENABLE(leaks,
1245 [ --disable-leaks test: free permanent memory, analyze leaks],
1246 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1247 : ${with_no_leaks:=no})
1248 AC_MSG_RESULT($with_no_leaks)
1250 if test "$with_no_leaks" = yes ; then
1252 AC_DEFINE(YY_NO_LEAKS)
1255 dnl ---------------------------------------------------------------------------
1256 dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59
1257 dnl --------------------------
1258 dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1259 dnl the older "-version-info" feature. The newer feature allows us to use
1260 dnl version numbering on shared libraries which make them compatible with
1261 dnl various systems.
1262 AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1264 AC_MSG_CHECKING(if libtool -version-number should be used)
1265 CF_ARG_DISABLE(libtool-version,
1266 [ --disable-libtool-version enable to use libtool's incompatible naming scheme],
1267 [cf_libtool_version=no],
1268 [cf_libtool_version=yes])
1269 AC_MSG_RESULT($cf_libtool_version)
1271 if test "$cf_libtool_version" = yes ; then
1272 LIBTOOL_VERSION="-version-number"
1274 LIBTOOL_VERSION="-version-info"
1277 AC_SUBST(LIBTOOL_VERSION)
1279 dnl ---------------------------------------------------------------------------
1280 dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
1281 dnl ---------------------
1282 dnl The rpath-hack makes it simpler to build programs, particularly with the
1283 dnl *BSD ports which may have essential libraries in unusual places. But it
1284 dnl can interfere with building an executable for the base system. Use this
1285 dnl option in that case.
1286 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1288 AC_MSG_CHECKING(if rpath-hack should be disabled)
1289 CF_ARG_DISABLE(rpath-hack,
1290 [ --disable-rpath-hack don't add rpath options for additional libraries],
1291 [cf_disable_rpath_hack=yes],
1292 [cf_disable_rpath_hack=no])
1293 AC_MSG_RESULT($cf_disable_rpath_hack)
1294 if test "$cf_disable_rpath_hack" = no ; then
1298 dnl ---------------------------------------------------------------------------
1299 dnl CF_ENABLE_PC_FILES version: 7 updated: 2011/12/10 18:58:47
1300 dnl ------------------
1301 dnl This is the "--enable-pc-files" option, which is available if there is a
1302 dnl pkg-config configuration on the local machine.
1303 AC_DEFUN([CF_ENABLE_PC_FILES],[
1304 AC_REQUIRE([CF_PKG_CONFIG])
1305 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
1307 if test "$PKG_CONFIG" != none ; then
1308 if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
1309 AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
1310 AC_ARG_ENABLE(pc-files,
1311 [ --enable-pc-files generate and install .pc files for pkg-config],
1312 [enable_pc_files=$enableval],
1313 [enable_pc_files=no])
1314 AC_MSG_RESULT($enable_pc_files)
1315 elif test -z "$PKG_CONFIG_LIBDIR" || test "$PKG_CONFIG_LIBDIR" != no; then
1317 AC_MSG_WARN(did not find $PKG_CONFIG library)
1323 dnl ---------------------------------------------------------------------------
1324 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1326 dnl Check if the rpath option should be used, setting cache variable
1327 dnl cf_cv_enable_rpath if so.
1328 AC_DEFUN([CF_ENABLE_RPATH],
1330 AC_MSG_CHECKING(if rpath option should be used)
1331 AC_ARG_ENABLE(rpath,
1332 [ --enable-rpath use rpath option when generating shared libraries],
1333 [cf_cv_enable_rpath=$enableval],
1334 [cf_cv_enable_rpath=no])
1335 AC_MSG_RESULT($cf_cv_enable_rpath)
1337 dnl ---------------------------------------------------------------------------
1338 dnl CF_ENABLE_STRING_HACKS version: 1 updated: 2012/02/25 06:33:21
1339 dnl ----------------------
1340 dnl On a few platforms, the compiler and/or loader nags with untruthful
1341 dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
1342 dnl and implying that most uses of the recommended alternatives are correct.
1344 dnl Factually speaking, no one has actually counted the number of uses of these
1345 dnl functions versus the total of incorrect uses. Samples of a few thousand
1346 dnl instances are meaningless compared to the hundreds of millions of lines of
1347 dnl existing C code.
1349 dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some
1350 dnl platforms, in implementations of varying quality. Likewise, snprintf is
1351 dnl standard - but evolved through phases, and older implementations are likely
1352 dnl to yield surprising results, as documented in manpages on various systems.
1353 AC_DEFUN([CF_ENABLE_STRING_HACKS],
1355 AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings)
1356 AC_ARG_ENABLE(string-hacks,
1357 [ --enable-string-hacks work around bogus compiler/loader warnings],
1358 [with_string_hacks=$enableval],
1359 [with_string_hacks=no])
1360 AC_MSG_RESULT($with_string_hacks)
1362 if test "x$with_string_hacks" = "xyes"; then
1363 AC_DEFINE(USE_STRING_HACKS)
1364 AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
1365 AC_CHECK_FUNCS( strlcat strlcpy snprintf )
1368 dnl ---------------------------------------------------------------------------
1369 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1371 dnl Check if 'errno' is declared in <errno.h>
1372 AC_DEFUN([CF_ERRNO],
1374 CF_CHECK_ERRNO(errno)
1376 dnl ---------------------------------------------------------------------------
1377 dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07
1379 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1380 dnl math.h and builtin.h, only for ncurses
1381 AC_DEFUN([CF_ETIP_DEFINES],
1383 AC_MSG_CHECKING(for special defines needed for etip.h)
1384 cf_save_CXXFLAGS="$CXXFLAGS"
1387 # etip.h includes ncurses.h which includes ncurses_dll.h
1388 # But ncurses_dll.h is generated - fix here.
1389 test -d include || mkdir include
1390 test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
1392 for cf_math in "" MATH_H
1394 for cf_excp in "" MATH_EXCEPTION
1396 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
1397 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1398 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1400 #include <etip.h.in>
1402 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1403 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1404 cf_result="$cf_math $cf_excp"
1409 AC_MSG_RESULT($cf_result)
1410 CXXFLAGS="$cf_save_CXXFLAGS"
1412 dnl ---------------------------------------------------------------------------
1413 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
1415 dnl Find a library (specifically the linkage used in the code fragment),
1416 dnl searching for it if it is not already in the library path.
1417 dnl See also CF_ADD_SEARCHPATH.
1419 dnl Parameters (4-on are optional):
1420 dnl $1 = headers for library entrypoint
1421 dnl $2 = code fragment for library entrypoint
1422 dnl $3 = the library name without the "-l" option or ".so" suffix.
1423 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
1424 dnl $5 = action to perform if not successful
1425 dnl $6 = module name, if not the same as the library name
1426 dnl $7 = extra libraries
1428 dnl Sets these variables:
1429 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1430 dnl $cf_cv_header_path_$3 - include-directory if needed
1431 dnl $cf_cv_library_path_$3 - library-directory if needed
1432 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1433 AC_DEFUN([CF_FIND_LINKAGE],[
1435 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1436 # will be set on completion of the AC_TRY_LINK below.
1437 cf_cv_header_path_$3=
1438 cf_cv_library_path_$3=
1440 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1442 cf_save_LIBS="$LIBS"
1444 AC_TRY_LINK([$1],[$2],[
1445 cf_cv_find_linkage_$3=yes
1446 cf_cv_header_path_$3=/usr/include
1447 cf_cv_library_path_$3=/usr/lib
1450 LIBS="-l$3 $7 $cf_save_LIBS"
1452 AC_TRY_LINK([$1],[$2],[
1453 cf_cv_find_linkage_$3=yes
1454 cf_cv_header_path_$3=/usr/include
1455 cf_cv_library_path_$3=/usr/lib
1456 cf_cv_library_file_$3="-l$3"
1458 cf_cv_find_linkage_$3=no
1459 LIBS="$cf_save_LIBS"
1461 CF_VERBOSE(find linkage for $3 library)
1462 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1464 cf_save_CPPFLAGS="$CPPFLAGS"
1465 cf_test_CPPFLAGS="$CPPFLAGS"
1467 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1468 for cf_cv_header_path_$3 in $cf_search
1470 if test -d $cf_cv_header_path_$3 ; then
1471 CF_VERBOSE(... testing $cf_cv_header_path_$3)
1472 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1473 AC_TRY_COMPILE([$1],[$2],[
1474 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1475 cf_cv_find_linkage_$3=maybe
1476 cf_test_CPPFLAGS="$CPPFLAGS"
1478 CPPFLAGS="$cf_save_CPPFLAGS"
1483 if test "$cf_cv_find_linkage_$3" = maybe ; then
1485 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1487 cf_save_LIBS="$LIBS"
1488 cf_save_LDFLAGS="$LDFLAGS"
1491 CPPFLAGS="$cf_test_CPPFLAGS"
1492 LIBS="-l$3 $7 $cf_save_LIBS"
1493 AC_TRY_LINK([$1],[$2],[
1494 CF_VERBOSE(... found $3 library in system)
1495 cf_cv_find_linkage_$3=yes])
1496 CPPFLAGS="$cf_save_CPPFLAGS"
1497 LIBS="$cf_save_LIBS"
1500 if test "$cf_cv_find_linkage_$3" != yes ; then
1501 CF_LIBRARY_PATH(cf_search,$3)
1502 for cf_cv_library_path_$3 in $cf_search
1504 if test -d $cf_cv_library_path_$3 ; then
1505 CF_VERBOSE(... testing $cf_cv_library_path_$3)
1506 CPPFLAGS="$cf_test_CPPFLAGS"
1507 LIBS="-l$3 $7 $cf_save_LIBS"
1508 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1509 AC_TRY_LINK([$1],[$2],[
1510 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1511 cf_cv_find_linkage_$3=yes
1512 cf_cv_library_file_$3="-l$3"
1514 CPPFLAGS="$cf_save_CPPFLAGS"
1515 LIBS="$cf_save_LIBS"
1516 LDFLAGS="$cf_save_LDFLAGS"
1520 CPPFLAGS="$cf_save_CPPFLAGS"
1521 LDFLAGS="$cf_save_LDFLAGS"
1525 cf_cv_find_linkage_$3=no
1530 LIBS="$cf_save_LIBS"
1532 if test "$cf_cv_find_linkage_$3" = yes ; then
1534 CF_ADD_INCDIR($cf_cv_header_path_$3)
1535 CF_ADD_LIBDIR($cf_cv_library_path_$3)
1539 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1542 dnl ---------------------------------------------------------------------------
1543 dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
1545 dnl Test for dlsym() and related functions, as well as libdl.
1550 AC_DEFUN([CF_FUNC_DLSYM],[
1552 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1555 AC_CHECK_LIB(dl,dlsym,[
1557 cf_have_libdl=yes])])
1559 if test "$cf_have_dlsym" = yes ; then
1560 test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
1562 AC_MSG_CHECKING(whether able to link to dl*() functions)
1563 AC_TRY_LINK([#include <dlfcn.h>],[
1565 if ((obj = dlopen("filename", 0)) != 0) {
1566 if (dlsym(obj, "symbolname") == 0) {
1570 AC_DEFINE(HAVE_LIBDL)],[
1571 AC_MSG_ERROR(Cannot link test program for libdl)])
1574 AC_MSG_ERROR(Cannot find dlsym function)
1577 dnl ---------------------------------------------------------------------------
1578 dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
1580 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1581 dnl is found, add our own version of memmove to the list of objects.
1582 AC_DEFUN([CF_FUNC_MEMMOVE],
1584 AC_CHECK_FUNC(memmove,,[
1585 AC_CHECK_FUNC(bcopy,[
1586 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1589 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1591 bcopy(data, temp, sizeof(data));
1592 bcopy(temp+10, temp, 15);
1593 bcopy(temp+5, temp+15, 10);
1594 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1597 [cf_cv_good_bcopy=yes],
1598 [cf_cv_good_bcopy=no],
1599 [cf_cv_good_bcopy=unknown])
1601 ],[cf_cv_good_bcopy=no])
1602 if test "$cf_cv_good_bcopy" = yes ; then
1603 AC_DEFINE(USE_OK_BCOPY)
1605 AC_DEFINE(USE_MY_MEMMOVE)
1608 dnl ---------------------------------------------------------------------------
1609 dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
1610 dnl -----------------
1611 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1612 dnl AIX 4.x, provide a non-working version.
1613 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1614 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1620 #ifdef HAVE_SYS_TIME_H
1621 #include <sys/time.h>
1625 struct timespec ts1, ts2;
1628 ts1.tv_nsec = 750000000;
1632 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1633 ${cf_cv_main_return:-return}(code != 0);
1636 [cf_cv_func_nanosleep=yes],
1637 [cf_cv_func_nanosleep=no],
1638 [cf_cv_func_nanosleep=unknown])])
1640 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
1642 dnl ---------------------------------------------------------------------------
1643 dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
1645 dnl Check for openpty() function, along with <pty.h> header. It may need the
1646 dnl "util" library as well.
1647 AC_DEFUN([CF_FUNC_OPENPTY],
1649 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1650 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1651 cf_save_LIBS="$LIBS"
1652 test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
1653 for cf_header in pty.h libutil.h util.h
1656 #include <$cf_header>
1658 int x = openpty((int *)0, (int *)0, (char *)0,
1659 (struct termios *)0, (struct winsize *)0);
1661 cf_cv_func_openpty=$cf_header
1664 cf_cv_func_openpty=no
1667 LIBS="$cf_save_LIBS"
1670 dnl ---------------------------------------------------------------------------
1671 dnl CF_FUNC_POLL version: 5 updated: 2012/01/25 17:55:38
1673 dnl See if the poll function really works. Some platforms have poll(), but
1674 dnl it does not work for terminals or files.
1675 AC_DEFUN([CF_FUNC_POLL],[
1676 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1682 #include <sys/poll.h>
1685 struct pollfd myfds;
1688 /* check for Darwin bug with respect to "devices" */
1689 myfds.fd = open("/dev/null", 1);
1692 myfds.events = POLLIN;
1695 ret = poll(&myfds, 1, 100);
1697 if (ret < 0 || (myfds.revents & POLLNVAL)) {
1701 /* also check with standard input */
1703 myfds.events = POLLIN;
1706 ret = poll(&myfds, 1, 100);
1711 ${cf_cv_main_return:-return}(ret != 0);
1713 [cf_cv_working_poll=yes],
1714 [cf_cv_working_poll=no],
1715 [cf_cv_working_poll=unknown])])
1716 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1718 dnl ---------------------------------------------------------------------------
1719 dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1721 dnl Some old/broken variations define tcgetattr() only as a macro in
1723 AC_DEFUN([CF_FUNC_TERMIOS],[
1724 AC_REQUIRE([CF_STRUCT_TERMIOS])
1725 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1727 #include <sys/types.h>
1728 #ifdef HAVE_UNISTD_H
1731 #ifdef HAVE_TERMIOS_H
1732 #include <termios.h>
1733 #define TTY struct termios
1735 #ifdef HAVE_TERMIO_H
1737 #define TTY struct termio
1742 tcgetattr(1, &foo);],
1743 [cf_cv_have_tcgetattr=yes],
1744 [cf_cv_have_tcgetattr=no])])
1745 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1747 dnl ---------------------------------------------------------------------------
1748 dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1750 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1751 dnl versions of C. It is in the GNU C library, and can often be simulated by
1752 dnl other functions.
1753 AC_DEFUN([CF_FUNC_VSSCANF],
1755 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1758 #include <stdio.h>],[
1760 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1763 #include <stdio.h>],[
1767 strbuf._flag = _IOREAD;
1768 strbuf._ptr = strbuf._base = (unsigned char *) str;
1769 strbuf._cnt = strlen(str);
1770 strbuf._file = _NFILE;
1771 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1774 #include <stdio.h>],[
1778 strbuf._flag = _IOREAD;
1779 strbuf._ptr = strbuf._base = (unsigned char *) str;
1780 strbuf._cnt = strlen(str);
1781 strbuf._file = _NFILE;
1782 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1783 cf_cv_func_vsscanf=no])])])])
1785 case $cf_cv_func_vsscanf in #(vi
1786 vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1787 vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1788 _doscan) AC_DEFINE(HAVE__DOSCAN);;
1792 dnl ---------------------------------------------------------------------------
1793 dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
1794 dnl -----------------
1795 dnl Test for availability of useful gcc __attribute__ directives to quiet
1796 dnl compiler warnings. Though useful, not all are supported -- and contrary
1797 dnl to documentation, unrecognized directives cause older compilers to barf.
1798 AC_DEFUN([CF_GCC_ATTRIBUTES],
1800 if test "$GCC" = yes
1802 cat > conftest.i <<EOF
1804 #define GCC_PRINTF 0
1809 #ifndef GCC_NORETURN
1810 #define GCC_NORETURN /* nothing */
1813 #define GCC_UNUSED /* nothing */
1816 if test "$GCC" = yes
1818 AC_CHECKING([for $CC __attribute__ directives])
1819 cat > conftest.$ac_ext <<EOF
1820 #line __oline__ "${as_me:-configure}"
1821 #include "confdefs.h"
1822 #include "conftest.h"
1823 #include "conftest.i"
1825 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1827 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1830 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1832 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1834 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1835 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1836 extern void foo(void) GCC_NORETURN;
1837 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1839 cf_printf_attribute=no
1840 cf_scanf_attribute=no
1841 for cf_attribute in scanf printf unused noreturn
1843 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1844 cf_directive="__attribute__(($cf_attribute))"
1845 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1847 case $cf_attribute in #(vi
1849 cf_printf_attribute=yes
1850 cat >conftest.h <<EOF
1851 #define GCC_$cf_ATTRIBUTE 1
1855 cf_scanf_attribute=yes
1856 cat >conftest.h <<EOF
1857 #define GCC_$cf_ATTRIBUTE 1
1861 cat >conftest.h <<EOF
1862 #define GCC_$cf_ATTRIBUTE $cf_directive
1867 if AC_TRY_EVAL(ac_compile); then
1868 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1869 cat conftest.h >>confdefs.h
1870 case $cf_attribute in #(vi
1872 if test "$cf_printf_attribute" = no ; then
1873 cat >>confdefs.h <<EOF
1874 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1877 cat >>confdefs.h <<EOF
1878 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1883 if test "$cf_scanf_attribute" = no ; then
1884 cat >>confdefs.h <<EOF
1885 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1888 cat >>confdefs.h <<EOF
1889 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1897 fgrep define conftest.i >>confdefs.h
1902 dnl ---------------------------------------------------------------------------
1903 dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1905 dnl Find version of gcc
1906 AC_DEFUN([CF_GCC_VERSION],[
1907 AC_REQUIRE([AC_PROG_CC])
1909 if test "$GCC" = yes ; then
1910 AC_MSG_CHECKING(version of $CC)
1911 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1912 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1913 AC_MSG_RESULT($GCC_VERSION)
1916 dnl ---------------------------------------------------------------------------
1917 dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
1919 dnl Check if the compiler supports useful warning options. There's a few that
1920 dnl we don't use, simply because they're too noisy:
1922 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1923 dnl -Wredundant-decls (system headers make this too noisy)
1924 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1925 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1926 dnl is enabled for ncurses using "--enable-const".
1930 dnl $1 is an optional list of gcc warning flags that a particular
1931 dnl application might want to use, e.g., "no-unused" for
1934 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1936 AC_DEFUN([CF_GCC_WARNINGS],
1938 AC_REQUIRE([CF_GCC_VERSION])
1939 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1941 cat > conftest.$ac_ext <<EOF
1942 #line __oline__ "${as_me:-configure}"
1943 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1946 if test "$INTEL_COMPILER" = yes
1948 # The "-wdXXX" options suppress warnings:
1949 # remark #1419: external declaration in primary source file
1950 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1951 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1952 # remark #193: zero used for undefined preprocessing identifier
1953 # remark #593: variable "curs_sb_left_arrow" was set but never used
1954 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1955 # remark #869: parameter "tw" was never referenced
1956 # remark #981: operands are evaluated in unspecified order
1957 # warning #279: controlling expression is constant
1959 AC_CHECKING([for $CC warning options])
1960 cf_save_CFLAGS="$CFLAGS"
1961 EXTRA_CFLAGS="-Wall"
1973 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1974 if AC_TRY_EVAL(ac_compile); then
1975 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1976 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1979 CFLAGS="$cf_save_CFLAGS"
1981 elif test "$GCC" = yes
1983 AC_CHECKING([for $CC warning options])
1984 cf_save_CFLAGS="$CFLAGS"
1987 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1988 for cf_opt in W Wall \
1989 Wbad-function-cast \
1993 Wmissing-declarations \
1994 Wmissing-prototypes \
1998 Wstrict-prototypes \
1999 Wundef $cf_warn_CONST $1
2001 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2002 if AC_TRY_EVAL(ac_compile); then
2003 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2004 case $cf_opt in #(vi
2006 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
2009 case $GCC_VERSION in
2011 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2016 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2019 CFLAGS="$cf_save_CFLAGS"
2023 AC_SUBST(EXTRA_CFLAGS)
2025 dnl ---------------------------------------------------------------------------
2026 dnl CF_GETOPT_HEADER version: 4 updated: 2009/08/31 20:07:52
2027 dnl ----------------
2028 dnl Check for getopt's variables which are commonly defined in stdlib.h,
2029 dnl unistd.h or (nonstandard) in getopt.h
2030 AC_DEFUN([CF_GETOPT_HEADER],
2032 AC_HAVE_HEADERS(unistd.h getopt.h)
2033 AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
2034 cf_cv_getopt_header=none
2035 for cf_header in stdio.h stdlib.h unistd.h getopt.h
2038 #include <$cf_header>],
2039 [int x = optind; char *y = optarg],
2040 [cf_cv_getopt_header=$cf_header
2044 if test $cf_cv_getopt_header != none ; then
2045 AC_DEFINE(HAVE_GETOPT_HEADER)
2048 dnl ---------------------------------------------------------------------------
2049 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
2050 dnl ----------------
2051 AC_DEFUN([CF_GNAT_GENERICS],
2053 AC_REQUIRE([CF_GNAT_VERSION])
2055 AC_MSG_CHECKING(if GNAT supports generics)
2056 case $cf_gnat_version in #(vi
2057 3.[[1-9]]*|[[4-9]].*) #(vi
2058 cf_gnat_generics=yes
2064 AC_MSG_RESULT($cf_gnat_generics)
2066 if test "$cf_gnat_generics" = yes
2068 cf_compile_generics=generics
2069 cf_generic_objects="\${GENOBJS}"
2071 cf_compile_generics=
2075 AC_SUBST(cf_compile_generics)
2076 AC_SUBST(cf_generic_objects)
2078 dnl ---------------------------------------------------------------------------
2079 dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
2080 dnl --------------------
2081 dnl Check if the gnat pragma "Unreferenced" works.
2082 AC_DEFUN([CF_GNAT_PRAGMA_UNREF],[
2083 AC_CACHE_CHECK(if GNAT pragma Unreferenced works,cf_cv_pragma_unreferenced,[
2084 CF_GNAT_TRY_LINK([procedure conftest;],
2087 procedure conftest is
2089 pragma Unreferenced (test);
2092 Text_IO.Put ("Hello World");
2094 GNAT.OS_Lib.OS_Exit (0);
2096 [cf_cv_pragma_unreferenced=yes],
2097 [cf_cv_pragma_unreferenced=no])])
2099 # if the pragma is supported, use it (needed in the Trace code).
2100 if test $cf_cv_pragma_unreferenced = yes ; then
2105 AC_SUBST(PRAGMA_UNREF)
2107 dnl ---------------------------------------------------------------------------
2108 dnl CF_GNAT_PROJECTS version: 2 updated: 2011/03/23 20:24:41
2109 dnl ----------------
2110 dnl GNAT projects are configured with ".gpr" project files.
2111 dnl GNAT libraries are a further development, using the project feature.
2112 AC_DEFUN([CF_GNAT_PROJECTS],
2114 AC_REQUIRE([CF_GNAT_VERSION])
2116 cf_gnat_libraries=no
2119 AC_MSG_CHECKING(if GNAT supports project files)
2120 case $cf_gnat_version in #(vi
2124 case $cf_cv_system_name in #(vi
2128 mkdir conftest.src conftest.bin conftest.lib
2130 rm -rf conftest* *~conftest*
2131 cat >>library.gpr <<CF_EOF
2133 Kind := External ("LIB_KIND");
2134 for Library_Name use "ConfTest";
2135 for Object_Dir use ".";
2136 for Library_ALI_Dir use External("LIBRARY_DIR");
2137 for Library_Version use External ("SONAME");
2138 for Library_Kind use Kind;
2139 for Library_Dir use External("BUILD_DIR");
2140 Source_Dir := External ("SOURCE_DIR");
2141 for Source_Dirs use (Source_Dir);
2143 for Default_Switches ("Ada") use
2147 "-gnatVa", -- All validity checks
2148 "-gnatwa"); -- Activate all optional errors
2152 cat >>confpackage.ads <<CF_EOF
2153 package ConfPackage is
2157 cat >>confpackage.adb <<CF_EOF
2159 package body ConfPackage is
2160 procedure conftest is
2162 Text_IO.Put ("Hello World");
2167 if ( $cf_ada_make $ADAFLAGS \
2169 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
2170 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
2171 -XSOURCE_DIR=`pwd` \
2172 -XSONAME=libConfTest.so.1 \
2173 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
2174 cf_gnat_projects=yes
2177 if test -f conftest.lib/confpackage.ali
2179 cf_gnat_libraries=yes
2181 rm -rf conftest* *~conftest*
2186 AC_MSG_RESULT($cf_gnat_projects)
2188 if test $cf_gnat_projects = yes
2190 AC_MSG_CHECKING(if GNAT supports libraries)
2191 AC_MSG_RESULT($cf_gnat_libraries)
2194 if test "$cf_gnat_projects" = yes
2196 USE_OLD_MAKERULES="#"
2197 USE_GNAT_PROJECTS=""
2199 USE_OLD_MAKERULES=""
2200 USE_GNAT_PROJECTS="#"
2203 if test "$cf_gnat_libraries" = yes
2205 USE_GNAT_LIBRARIES=""
2207 USE_GNAT_LIBRARIES="#"
2210 AC_SUBST(USE_OLD_MAKERULES)
2211 AC_SUBST(USE_GNAT_PROJECTS)
2212 AC_SUBST(USE_GNAT_LIBRARIES)
2214 dnl ---------------------------------------------------------------------------
2215 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
2217 dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
2218 dnl is noted that gnat may compile a tasking unit even for configurations which
2219 dnl fail at runtime.
2220 AC_DEFUN([CF_GNAT_SIGINT],[
2221 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
2222 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
2226 pragma Warnings (Off); -- the next pragma exists since 3.11p
2227 pragma Unreserve_All_Interrupts;
2228 pragma Warnings (On);
2230 protected Process is
2232 function Continue return Boolean;
2233 pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
2235 Done : Boolean := False;
2239 [package body ConfTest is
2240 protected body Process is
2245 function Continue return Boolean is
2251 [cf_cv_gnat_sigint=yes],
2252 [cf_cv_gnat_sigint=no])])
2254 if test $cf_cv_gnat_sigint = yes ; then
2259 AC_SUBST(USE_GNAT_SIGINT)
2261 dnl ---------------------------------------------------------------------------
2262 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
2263 dnl ----------------
2264 dnl Verify that a test program compiles/links with GNAT.
2265 dnl $cf_ada_make is set to the program that compiles/links
2266 dnl $ADAFLAGS may be set to the GNAT flags.
2268 dnl $1 is the text of the spec
2269 dnl $2 is the text of the body
2270 dnl $3 is the shell command to execute if successful
2271 dnl $4 is the shell command to execute if not successful
2272 AC_DEFUN([CF_GNAT_TRY_LINK],
2274 rm -rf conftest* *~conftest*
2275 cat >>conftest.ads <<CF_EOF
2278 cat >>conftest.adb <<CF_EOF
2281 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2282 ifelse($3,, :,[ $3])
2286 rm -rf conftest* *~conftest*
2288 dnl ---------------------------------------------------------------------------
2289 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
2291 dnl Verify that a test program compiles and runs with GNAT
2292 dnl $cf_ada_make is set to the program that compiles/links
2293 dnl $ADAFLAGS may be set to the GNAT flags.
2295 dnl $1 is the text of the spec
2296 dnl $2 is the text of the body
2297 dnl $3 is the shell command to execute if successful
2298 dnl $4 is the shell command to execute if not successful
2299 AC_DEFUN([CF_GNAT_TRY_RUN],
2301 rm -rf conftest* *~conftest*
2302 cat >>conftest.ads <<CF_EOF
2305 cat >>conftest.adb <<CF_EOF
2308 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2309 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
2310 ifelse($3,, :,[ $3])
2317 rm -rf conftest* *~conftest*
2319 dnl ---------------------------------------------------------------------------
2320 dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
2322 dnl Verify version of GNAT.
2323 AC_DEFUN([CF_GNAT_VERSION],
2325 AC_MSG_CHECKING(for gnat version)
2326 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
2327 grep '[[0-9]].[[0-9]][[0-9]]*' |\
2328 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
2329 AC_MSG_RESULT($cf_gnat_version)
2331 case $cf_gnat_version in #(vi
2332 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
2333 cf_cv_prog_gnat_correct=yes
2336 AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
2337 cf_cv_prog_gnat_correct=no
2341 dnl ---------------------------------------------------------------------------
2342 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
2344 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2345 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
2346 dnl (or misfeature) of glibc2, which breaks portability of many applications,
2347 dnl since it is interwoven with GNU extensions.
2349 dnl Well, yes we could work around it...
2350 AC_DEFUN([CF_GNU_SOURCE],
2352 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2353 AC_TRY_COMPILE([#include <sys/types.h>],[
2354 #ifndef _XOPEN_SOURCE
2357 [cf_cv_gnu_source=no],
2358 [cf_save="$CPPFLAGS"
2359 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2360 AC_TRY_COMPILE([#include <sys/types.h>],[
2361 #ifdef _XOPEN_SOURCE
2364 [cf_cv_gnu_source=no],
2365 [cf_cv_gnu_source=yes])
2369 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2371 dnl ---------------------------------------------------------------------------
2372 dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02
2374 dnl If we're trying to use g++, test if libg++ is installed (a rather common
2375 dnl problem :-). If we have the compiler but no library, we'll be able to
2376 dnl configure, but won't be able to build the c++ demo program.
2377 AC_DEFUN([CF_GPP_LIBRARY],
2379 cf_cxx_library=unknown
2380 case $cf_cv_system_name in #(vi
2388 if test "$GXX" = yes; then
2389 AC_MSG_CHECKING([for lib$cf_gpp_libname])
2391 CF_ADD_LIB($cf_gpp_libname)
2393 #include <$cf_gpp_libname/builtin.h>
2395 [two_arg_error_handler_t foo2 = lib_error_handler],
2397 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2398 if test "$cf_gpp_libname" = cpp ; then
2399 AC_DEFINE(HAVE_GPP_BUILTIN_H)
2401 AC_DEFINE(HAVE_GXX_BUILTIN_H)
2404 #include <builtin.h>
2406 [two_arg_error_handler_t foo2 = lib_error_handler],
2408 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2409 AC_DEFINE(HAVE_BUILTIN_H)],
2410 [cf_cxx_library=no])])
2412 AC_MSG_RESULT($cf_cxx_library)
2415 dnl ---------------------------------------------------------------------------
2416 dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18
2418 dnl Check for version of g++
2419 AC_DEFUN([CF_GXX_VERSION],[
2420 AC_REQUIRE([AC_PROG_CPP])
2422 if test "$GXX" = yes; then
2423 AC_MSG_CHECKING(version of g++)
2424 GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
2425 test -z "$GXX_VERSION" && GXX_VERSION=unknown
2426 AC_MSG_RESULT($GXX_VERSION)
2429 dnl ---------------------------------------------------------------------------
2430 dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37
2432 dnl Check if the compiler supports useful warning options.
2434 dnl Most of gcc's options apply to g++, except:
2435 dnl -Wbad-function-cast
2436 dnl -Wmissing-declarations
2437 dnl -Wnested-externs
2439 dnl Omit a few (for now):
2443 dnl $1 is an optional list of g++ warning flags that a particular
2444 dnl application might want to use, e.g., "no-unused" for
2447 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
2449 AC_DEFUN([CF_GXX_WARNINGS],
2452 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
2454 AC_REQUIRE([CF_GXX_VERSION])
2459 cat > conftest.$ac_ext <<EOF
2460 #line __oline__ "configure"
2461 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2464 if test "$INTEL_CPLUSPLUS" = yes
2466 # The "-wdXXX" options suppress warnings:
2467 # remark #1419: external declaration in primary source file
2468 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2469 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2470 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2471 # remark #193: zero used for undefined preprocessing identifier
2472 # remark #593: variable "curs_sb_left_arrow" was set but never used
2473 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2474 # remark #869: parameter "tw" was never referenced
2475 # remark #981: operands are evaluated in unspecified order
2476 # warning #269: invalid format string conversion
2478 AC_CHECKING([for $CC warning options])
2479 cf_save_CXXFLAGS="$CXXFLAGS"
2480 EXTRA_CXXFLAGS="-Wall"
2493 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
2494 if AC_TRY_EVAL(ac_compile); then
2495 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2496 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2499 CXXFLAGS="$cf_save_CXXFLAGS"
2501 elif test "$GXX" = yes
2503 AC_CHECKING([for $CXX warning options])
2504 cf_save_CXXFLAGS="$CXXFLAGS"
2505 EXTRA_CXXFLAGS="-W -Wall"
2506 cf_gxx_extra_warnings=""
2507 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
2508 case "$GCC_VERSION" in
2512 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
2518 Woverloaded-virtual \
2524 Wmissing-prototypes \
2527 Wstrict-prototypes \
2528 Wundef $cf_gxx_extra_warnings $1
2530 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
2531 if AC_TRY_EVAL(ac_compile); then
2532 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2533 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2535 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
2538 CXXFLAGS="$cf_save_CXXFLAGS"
2543 AC_SUBST(EXTRA_CXXFLAGS)
2545 dnl ---------------------------------------------------------------------------
2546 dnl CF_HASHED_DB version: 4 updated: 2010/05/29 16:31:02
2548 dnl Look for an instance of the Berkeley hashed database.
2550 dnl $1 = optional parameter, to specify install-prefix for the database.
2551 AC_DEFUN([CF_HASHED_DB],
2558 if test -d "$1" ; then
2559 CF_ADD_INCDIR($1/include)
2560 CF_ADD_LIBDIR($1/lib)
2564 AC_CHECK_HEADER(db.h,[
2565 CF_HASHED_DB_VERSION
2566 if test "$cf_cv_hashed_db_version" = unknown ; then
2567 AC_MSG_ERROR(Cannot determine version of db)
2570 if test "$cf_cv_hashed_db_libs" = unknown ; then
2571 AC_MSG_ERROR(Cannot determine library for db)
2572 elif test "$cf_cv_hashed_db_libs" != default ; then
2573 CF_ADD_LIB($cf_cv_hashed_db_libs)
2577 AC_MSG_ERROR(Cannot find db.h)
2580 dnl ---------------------------------------------------------------------------
2581 dnl CF_HASHED_DB_LIBS version: 9 updated: 2010/05/29 16:31:02
2582 dnl -----------------
2583 dnl Given that we have the header and version for hashed database, find the
2584 dnl library information.
2585 AC_DEFUN([CF_HASHED_DB_LIBS],
2587 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2588 cf_cv_hashed_db_libs=unknown
2589 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2591 cf_save_libs="$LIBS"
2592 if test -n "$cf_db_libs"; then
2593 CF_ADD_LIB($cf_db_libs)
2595 CF_MSG_LOG(checking for library "$cf_db_libs")
2597 $ac_includes_default
2600 char *path = "/tmp/foo";
2601 #ifdef DB_VERSION_MAJOR
2602 #if DB_VERSION_MAJOR >= 4
2604 db_create(&result, NULL, 0);
2605 result->open(result,
2612 #elif DB_VERSION_MAJOR >= 3
2614 db_create(&result, NULL, 0);
2615 result->open(result,
2621 #elif DB_VERSION_MAJOR >= 2
2630 #endif /* DB_VERSION_MAJOR */
2632 DB *result = dbopen(path,
2638 ${cf_cv_main_return:-return}(result != 0)
2640 if test -n "$cf_db_libs" ; then
2641 cf_cv_hashed_db_libs=$cf_db_libs
2643 cf_cv_hashed_db_libs=default
2645 LIBS="$cf_save_libs"
2648 LIBS="$cf_save_libs"
2652 dnl ---------------------------------------------------------------------------
2653 dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
2654 dnl --------------------
2655 dnl Given that we have the header file for hashed database, find the version
2657 AC_DEFUN([CF_HASHED_DB_VERSION],
2659 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2660 cf_cv_hashed_db_version=unknown
2662 for cf_db_version in 1 2 3 4 5
2664 CF_MSG_LOG(checking for db version $cf_db_version)
2666 $ac_includes_default
2669 #ifdef DB_VERSION_MAJOR
2670 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2671 #if $cf_db_version == DB_VERSION_MAJOR
2677 #if $cf_db_version == 1
2678 /* ok: assuming this is DB 1.8.5 */
2684 cf_cv_hashed_db_version=$cf_db_version
2690 dnl ---------------------------------------------------------------------------
2691 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
2693 dnl Construct a search-list of directories for a nonstandard header-file
2696 dnl $1 = the variable to return as result
2697 dnl $2 = the package name
2698 AC_DEFUN([CF_HEADER_PATH],
2702 # collect the current set of include-directories from compiler flags
2703 cf_header_path_list=""
2704 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2705 for cf_header_path in $CPPFLAGS $CFLAGS
2707 case $cf_header_path in #(vi
2709 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2710 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2711 cf_header_path_list="$cf_header_path_list [$]$1"
2717 # add the variations for the package we are looking for
2718 CF_SUBDIR_PATH($1,$2,include)
2720 test "$includedir" != NONE && \
2721 test "$includedir" != "/usr/include" && \
2722 test -d "$includedir" && {
2723 test -d $includedir && $1="[$]$1 $includedir"
2724 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2727 test "$oldincludedir" != NONE && \
2728 test "$oldincludedir" != "/usr/include" && \
2729 test -d "$oldincludedir" && {
2730 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
2731 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2734 $1="[$]$1 $cf_header_path_list"
2736 dnl ---------------------------------------------------------------------------
2737 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2739 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2740 AC_DEFUN([CF_HELP_MESSAGE],
2741 [AC_DIVERT_HELP([$1])dnl
2743 dnl ---------------------------------------------------------------------------
2744 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
2746 dnl Construct the list of include-options according to whether we're building
2747 dnl in the source directory or using '--srcdir=DIR' option. If we're building
2748 dnl with gcc, don't append the includedir if it happens to be /usr/include,
2749 dnl since that usually breaks gcc's shadow-includes.
2750 AC_DEFUN([CF_INCLUDE_DIRS],
2752 CPPFLAGS="$CPPFLAGS -I. -I../include"
2753 if test "$srcdir" != "."; then
2754 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
2756 if test "$GCC" != yes; then
2757 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2758 elif test "$includedir" != "/usr/include"; then
2759 if test "$includedir" = '${prefix}/include' ; then
2760 if test $prefix != /usr ; then
2761 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2764 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2769 dnl ---------------------------------------------------------------------------
2770 dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
2771 dnl -----------------
2772 dnl Check if the given compiler is really the Intel compiler for Linux. It
2773 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2774 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2776 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2777 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
2778 dnl the wrappers for gcc and g++ warnings.
2780 dnl $1 = GCC (default) or GXX
2781 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2782 dnl $3 = CFLAGS (default) or CXXFLAGS
2783 AC_DEFUN([CF_INTEL_COMPILER],[
2784 ifelse([$2],,INTEL_COMPILER,[$2])=no
2786 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2789 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2790 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2791 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2793 #ifdef __INTEL_COMPILER
2797 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2798 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
2800 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2801 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2806 dnl ---------------------------------------------------------------------------
2807 dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
2809 dnl Check if we have either a function or macro for 'isascii()'.
2810 AC_DEFUN([CF_ISASCII],
2812 AC_MSG_CHECKING(for isascii)
2813 AC_CACHE_VAL(cf_cv_have_isascii,[
2814 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2815 [cf_cv_have_isascii=yes],
2816 [cf_cv_have_isascii=no])
2818 AC_MSG_RESULT($cf_cv_have_isascii)
2819 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
2821 dnl ---------------------------------------------------------------------------
2822 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
2824 dnl Add checks for large file support.
2825 AC_DEFUN([CF_LARGEFILE],[
2826 ifdef([AC_FUNC_FSEEKO],[
2828 if test "$enable_largefile" != no ; then
2831 # Normally we would collect these definitions in the config.h,
2832 # but (like _XOPEN_SOURCE), some environments rely on having these
2833 # defined before any of the system headers are included. Another
2834 # case comes up with C++, e.g., on AIX the compiler compiles the
2835 # header files by themselves before looking at the body files it is
2836 # told to compile. For ncurses, those header files do not include
2838 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2839 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2840 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2842 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2844 #include <sys/types.h>
2847 /* if transitional largefile support is setup, this is true */
2848 extern struct dirent64 * readdir(DIR *);
2849 struct dirent64 *x = readdir((DIR *)0);
2850 struct dirent *y = readdir((DIR *)0);
2853 [cf_cv_struct_dirent64=yes],
2854 [cf_cv_struct_dirent64=no])
2856 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
2860 dnl ---------------------------------------------------------------------------
2861 dnl CF_LDFLAGS_STATIC version: 10 updated: 2011/09/24 12:51:48
2862 dnl -----------------
2863 dnl Check for compiler/linker flags used to temporarily force usage of static
2864 dnl libraries. This depends on the compiler and platform. Use this to help
2865 dnl ensure that the linker picks up a given library based on its position in
2866 dnl the list of linker options and libraries.
2867 AC_DEFUN([CF_LDFLAGS_STATIC],[
2869 if test "$GCC" = yes ; then
2870 case $cf_cv_system_name in #(
2871 OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*) #( vi
2875 *) #( normally, except when broken
2876 LDFLAGS_STATIC=-static
2877 LDFLAGS_SHARED=-dynamic
2881 case $cf_cv_system_name in #(
2882 aix[[4-7]]*) #( from ld manpage
2883 LDFLAGS_STATIC=-bstatic
2884 LDFLAGS_SHARED=-bdynamic
2886 hpux*) #( from ld manpage for hpux10.20, hpux11.11
2887 # We could also use just "archive" and "shared".
2888 LDFLAGS_STATIC=-Wl,-a,archive_shared
2889 LDFLAGS_SHARED=-Wl,-a,shared_archive
2891 irix*) #( from ld manpage IRIX64
2892 LDFLAGS_STATIC=-Bstatic
2893 LDFLAGS_SHARED=-Bdynamic
2895 osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
2896 # alternative "-oldstyle_liblookup" (not in cc manpage)
2897 LDFLAGS_STATIC=-noso
2898 LDFLAGS_SHARED=-so_archive
2901 LDFLAGS_STATIC=-Bstatic
2902 LDFLAGS_SHARED=-Bdynamic
2907 if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
2909 AC_MSG_CHECKING(if linker supports switching between static/dynamic)
2912 cat >conftest.$ac_ext <<EOF
2913 #line __oline__ "configure"
2915 int cf_ldflags_static(FILE *fp) { return fflush(fp); }
2917 if AC_TRY_EVAL(ac_compile) ; then
2918 ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&AC_FD_CC 1>/dev/null
2919 ( eval $RANLIB libconftest.a ) 2>&AC_FD_CC >/dev/null
2923 cf_save_LIBS="$LIBS"
2925 LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
2927 #line __oline__ "configure"
2929 int cf_ldflags_static(FILE *fp);
2931 return cf_ldflags_static(stdin);
2933 # some linkers simply ignore the -dynamic
2934 case x`file conftest$ac_exeext 2>/dev/null` in #(vi
2936 cf_ldflags_static=no
2939 cf_ldflags_static=yes
2942 ],[cf_ldflags_static=no])
2945 LIBS="$cf_save_LIBS"
2947 AC_MSG_RESULT($cf_ldflags_static)
2949 if test $cf_ldflags_static != yes
2959 AC_SUBST(LDFLAGS_STATIC)
2960 AC_SUBST(LDFLAGS_SHARED)
2962 dnl ---------------------------------------------------------------------------
2963 dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
2965 dnl For the given system and compiler, find the compiler flags to pass to the
2966 dnl loader to use the "rpath" feature.
2967 AC_DEFUN([CF_LD_RPATH_OPT],
2969 AC_REQUIRE([CF_CHECK_CACHE])
2972 AC_MSG_CHECKING(for an rpath option)
2973 case $cf_cv_system_name in #(vi
2975 if test "$GCC" = yes; then
2976 LD_RPATH_OPT="-Wl,-rpath,"
2978 LD_RPATH_OPT="-rpath "
2981 linux*|gnu*|k*bsd*-gnu) #(vi
2982 LD_RPATH_OPT="-Wl,-rpath,"
2984 openbsd[[2-9]].*|mirbsd*) #(vi
2985 LD_RPATH_OPT="-Wl,-rpath,"
2987 dragonfly*|freebsd*) #(vi
2988 LD_RPATH_OPT="-rpath "
2991 LD_RPATH_OPT="-Wl,-rpath,"
2994 LD_RPATH_OPT="-rpath "
3002 AC_MSG_RESULT($LD_RPATH_OPT)
3004 case "x$LD_RPATH_OPT" in #(vi
3006 AC_MSG_CHECKING(if we need a space after rpath option)
3007 cf_save_LIBS="$LIBS"
3008 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
3009 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
3010 LIBS="$cf_save_LIBS"
3011 AC_MSG_RESULT($cf_rpath_space)
3012 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
3016 dnl ---------------------------------------------------------------------------
3017 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
3019 dnl Construct a search-list of directories for a nonstandard library-file
3022 dnl $1 = the variable to return as result
3023 dnl $2 = the package name
3024 AC_DEFUN([CF_LIBRARY_PATH],
3027 cf_library_path_list=""
3028 if test -n "${LDFLAGS}${LIBS}" ; then
3029 for cf_library_path in $LDFLAGS $LIBS
3031 case $cf_library_path in #(vi
3033 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
3034 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
3035 cf_library_path_list="$cf_library_path_list [$]$1"
3041 CF_SUBDIR_PATH($1,$2,lib)
3043 $1="$cf_library_path_list [$]$1"
3045 dnl ---------------------------------------------------------------------------
3046 dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
3048 dnl Compute the library-prefix for the given host system
3049 dnl $1 = variable to set
3050 define([CF_LIB_PREFIX],
3052 case $cf_cv_system_name in #(vi
3059 ifelse($1,,,[$1=$LIB_PREFIX])
3060 AC_SUBST(LIB_PREFIX)
3062 dnl ---------------------------------------------------------------------------
3063 dnl CF_LIB_RULES version: 64 updated: 2012/02/25 15:20:07
3065 dnl Append definitions and rules for the given models to the subdirectory
3066 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
3067 dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
3068 dnl the corresponding makefile to list the models that we'll generate.
3070 dnl For shared libraries, make a list of symbolic links to construct when
3071 dnl generating each library. The convention used for Linux is the simplest
3074 dnl lib<name>.so.<major> ->
3075 dnl lib<name>.so.<maj>.<minor>
3076 AC_DEFUN([CF_LIB_RULES],
3078 cf_prefix=$LIB_PREFIX
3079 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3081 case $cf_cv_shlib_version in #(vi
3083 TINFO_NAME=$TINFO_ARG_SUFFIX
3088 if test -n "$TINFO_SUFFIX" ; then
3089 case $TINFO_SUFFIX in
3091 TINFO_NAME="${TINFO_NAME}tw"
3092 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^tw//'`
3095 TINFO_NAME="${TINFO_NAME}t"
3096 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^t//'`
3099 TINFO_NAME="${TINFO_NAME}w"
3100 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^w//'`
3105 for cf_dir in $SRC_SUBDIRS
3107 if test ! -d $srcdir/$cf_dir ; then
3109 elif test -f $srcdir/$cf_dir/modules; then
3113 for cf_item in $cf_LIST_MODELS
3115 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3116 if test $cf_item = shared ; then
3117 if test "$cf_cv_do_symlinks" = yes ; then
3118 case "$cf_cv_shlib_version" in #(vi
3120 case "$cf_cv_system_name" in #(vi
3122 case .${LIB_SUFFIX} in
3124 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
3125 cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
3128 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
3129 cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
3132 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
3133 cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
3136 cf_suffix='.${REL_VERSION}'"$cf_suffix"
3140 *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
3144 case "$cf_cv_system_name" in #(vi
3146 case .${LIB_SUFFIX} in
3148 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
3149 cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
3152 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
3153 cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
3156 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
3157 cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
3160 cf_suffix='.${ABI_VERSION}'"$cf_suffix"
3164 *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
3169 # cygwin needs import library, and has unique naming convention
3170 # use autodetected ${cf_prefix} for import lib and static lib, but
3171 # use 'cyg' prefix for shared lib.
3172 case $cf_cv_shlib_version in #(vi
3174 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3175 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
3179 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3180 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/lib${cf_dir}${cf_cygsuf}"
3185 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
3188 if test $cf_dir = ncurses ; then
3189 cf_subsets="$LIB_SUBSETS"
3190 cf_r_parts="$cf_subsets"
3191 cf_liblist="$LIBS_TO_MAKE"
3193 while test -n "$cf_r_parts"
3195 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
3196 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
3197 if test "$cf_l_parts" != "$cf_r_parts" ; then
3199 case $cf_l_parts in #(vi
3201 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
3204 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
3210 if test -n "$cf_item"; then
3211 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
3218 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
3221 sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
3222 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
3223 $cf_dir/Makefile >$cf_dir/Makefile.out
3224 mv $cf_dir/Makefile.out $cf_dir/Makefile
3226 $AWK -f $srcdir/mk-0th.awk \
3227 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
3228 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3230 for cf_subset in $cf_subsets
3233 for cf_item in $cf_LIST_MODELS
3235 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
3236 CF_UPPER(cf_ITEM,$cf_item)
3237 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3238 CF_OBJ_SUBDIR($cf_item,cf_subdir)
3240 # Test for case where we build libtinfo with a different name.
3242 if test $cf_dir = ncurses ; then
3245 cf_libname=${cf_libname}$LIB_SUFFIX
3248 cf_libname=$TINFO_LIB_SUFFIX
3251 cf_libname=$TICS_LIB_SUFFIX
3255 cf_libname=${cf_libname}$LIB_SUFFIX
3257 if test -n "${DFT_ARG_SUFFIX}" ; then
3258 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
3259 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
3262 # These dependencies really are for development, not
3263 # builds, but they are useful in porting, too.
3264 cf_depend="../include/ncurses_cfg.h"
3265 if test "$srcdir" = "."; then
3268 cf_reldir="\${srcdir}"
3271 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
3272 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
3273 elif test -f $srcdir/$cf_dir/curses.priv.h; then
3274 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
3278 old_cf_suffix="$cf_suffix"
3279 if test "$cf_cv_shlib_version_infix" = yes ; then
3280 if test -n "$LIB_SUFFIX" ; then
3283 cf_libname=`echo $cf_libname | sed 's/tw$//'`
3284 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
3288 cf_libname=`echo $cf_libname | sed 's/t$//'`
3289 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
3293 cf_libname=`echo $cf_libname | sed 's/w$//'`
3294 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
3301 $AWK -f $srcdir/mk-1st.awk \
3302 name=${cf_libname}${cf_dir_suffix} \
3303 traces=$LIB_TRACING \
3309 driver=$cf_cv_term_driver \
3311 TermlibRoot=$TINFO_NAME \
3312 TermlibSuffix=$TINFO_SUFFIX \
3313 ShlibVer=$cf_cv_shlib_version \
3314 ShlibVerInfix=$cf_cv_shlib_version_infix \
3315 ReLink=${cf_cv_do_relink:-no} \
3316 DoLinks=$cf_cv_do_symlinks \
3317 rmSoLocs=$cf_cv_rm_so_locs \
3318 ldconfig="$LDCONFIG" \
3319 overwrite=$WITH_OVERWRITE \
3320 depend="$cf_depend" \
3322 libtool_version="$LIBTOOL_VERSION" \
3323 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3325 cf_suffix="$old_cf_suffix"
3327 for cf_subdir2 in $cf_subdirs lib
3329 test $cf_subdir = $cf_subdir2 && break
3331 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
3332 $AWK -f $srcdir/mk-2nd.awk \
3334 traces=$LIB_TRACING \
3340 crenames=$cf_cv_prog_CC_c_o \
3341 cxxrenames=$cf_cv_prog_CXX_c_o \
3342 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3343 cf_subdirs="$cf_subdirs $cf_subdir"
3348 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
3351 for cf_dir in $SRC_SUBDIRS
3353 if test ! -d $srcdir/$cf_dir ; then
3357 if test -f $cf_dir/Makefile ; then
3360 echo 'libs \' >> Makefile
3361 echo 'install.libs \' >> Makefile
3362 echo 'uninstall.libs ::' >> Makefile
3363 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
3368 if test -f $srcdir/$cf_dir/modules; then
3370 if test -f $srcdir/$cf_dir/headers; then
3371 cat >> Makefile <<CF_EOF
3373 uninstall.includes \\
3376 if test "$cf_dir" != "c++" ; then
3377 echo 'lint \' >> Makefile
3379 cat >> Makefile <<CF_EOF
3385 uninstall.$cf_dir ::
3386 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
3388 elif test -f $srcdir/$cf_dir/headers; then
3389 cat >> Makefile <<CF_EOF
3395 uninstall.includes ::
3396 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
3401 cat >> Makefile <<CF_EOF
3403 install.libs uninstall.libs \\
3404 install.data uninstall.data ::
3405 $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
3408 if test "x$cf_with_manpages" = xyes; then
3409 cat >> Makefile <<CF_EOF
3413 cd man && \${MAKE} \${CF_MFLAGS} \[$]@
3417 cat >> Makefile <<CF_EOF
3420 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
3421 rm -f headers.sh headers.sed mk_shared_lib.sh
3422 rm -f edit_man.* man_alias.*
3423 rm -rf \${DIRS_TO_MAKE}
3426 # Special case: tack's manpage lives in its own directory.
3427 if test "x$cf_with_manpages" = xyes; then
3428 if test -d tack ; then
3429 if test -f $srcdir/$tack.h; then
3430 cat >> Makefile <<CF_EOF
3434 cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
3440 dnl If we're installing into a subdirectory of /usr/include, etc., we should
3441 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
3442 dnl anything, and will make it more standardized. It's awkward to decide this
3443 dnl at configuration because of quoting, so we'll simply make all headers
3444 dnl installed via a script that can do the right thing.
3446 rm -f headers.sed headers.sh
3448 dnl ( generating this script makes the makefiles a little tidier :-)
3449 echo creating headers.sh
3450 cat >headers.sh <<CF_EOF
3452 # This shell script is generated by the 'configure' script. It is invoked in a
3453 # subdirectory of the build tree. It generates a sed-script in the parent
3454 # directory that is used to adjust includes for header files that reside in a
3455 # subdirectory of /usr/include, etc.
3457 while test \[$]# != 3
3459 PRG="\$PRG \[$]1"; shift
3464 TMPSRC=\${TMPDIR:-/tmp}/\`basename \$SRC\`\$\$
3465 TMPSED=\${TMPDIR:-/tmp}/headers.sed\$\$
3466 echo installing \$SRC in \$DST
3469 if test $WITH_CURSES_H = yes; then
3470 cat >>headers.sh <<CF_EOF
3473 END=\`basename \$DST\`
3474 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3476 NAME=\`basename \$i\`
3477 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3487 cat >>headers.sh <<CF_EOF
3490 END=\`basename \$DST\`
3491 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3493 NAME=\`basename \$i\`
3494 if test "\$NAME" = "curses.h"
3496 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3499 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3503 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3508 cat >>headers.sh <<CF_EOF
3510 sed -f \$TMPSED \$SRC > \$TMPSRC
3511 NAME=\`basename \$SRC\`
3513 if test $WITH_CURSES_H != yes; then
3514 cat >>headers.sh <<CF_EOF
3515 test "\$NAME" = "curses.h" && NAME=ncurses.h
3518 cat >>headers.sh <<CF_EOF
3519 # Just in case someone gzip'd manpages, remove the conflicting copy.
3520 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
3522 eval \$PRG \$TMPSRC \$DST/\$NAME
3523 rm -f \$TMPSRC \$TMPSED
3526 chmod 0755 headers.sh
3528 for cf_dir in $SRC_SUBDIRS
3530 if test ! -d $srcdir/$cf_dir ; then
3534 if test -f $srcdir/$cf_dir/headers; then
3535 $AWK -f $srcdir/mk-hdr.awk \
3536 subset="$LIB_SUBSETS" \
3537 compat="$WITH_CURSES_H" \
3538 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
3541 if test -f $srcdir/$cf_dir/modules; then
3542 if test "$cf_dir" != "c++" ; then
3543 cat >>$cf_dir/Makefile <<"CF_EOF"
3544 depend : ${AUTO_SRC}
3545 makedepend -- ${CPPFLAGS} -- ${C_SRC}
3547 # DO NOT DELETE THIS LINE -- make depend depends on it.
3552 AC_SUBST(LIBS_TO_MAKE)
3554 dnl ---------------------------------------------------------------------------
3555 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
3557 dnl Find the and soname for the given shared library. Set the cache variable
3558 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
3559 dnl variable to "unknown".
3563 dnl $3 = library name
3564 AC_DEFUN([CF_LIB_SONAME],
3566 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
3568 cf_cv_$3_soname=unknown
3569 if test "$cross_compiling" != yes ; then
3570 cat >conftest.$ac_ext <<CF_EOF
3575 ${cf_cv_main_return:-return}(0);
3578 cf_save_LIBS="$LIBS"
3580 if AC_TRY_EVAL(ac_compile) ; then
3581 if AC_TRY_EVAL(ac_link) ; then
3582 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
3583 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
3587 LIBS="$cf_save_LIBS"
3591 dnl ---------------------------------------------------------------------------
3592 dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
3594 dnl Compute the library file-suffix from the given model name
3596 dnl $2 = variable to set (the nominal library suffix)
3597 dnl $3 = dependency variable to set (actual filename)
3598 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3599 AC_DEFUN([CF_LIB_SUFFIX],
3601 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3620 case $cf_cv_system_name in
3625 cygwin*|mingw*) #(vi
3650 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3651 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
3653 dnl ---------------------------------------------------------------------------
3654 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
3656 dnl Compute the string to append to -library from the given model name
3658 dnl $2 = variable to set
3659 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3660 AC_DEFUN([CF_LIB_TYPE],
3669 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3671 dnl ---------------------------------------------------------------------------
3672 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
3673 dnl ----------------
3674 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3675 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
3676 dnl have to provide wrappers for global tables to ensure they're linked
3678 AC_DEFUN([CF_LINK_DATAONLY],
3680 AC_MSG_CHECKING([if data-only library module links])
3681 AC_CACHE_VAL(cf_cv_link_dataonly,[
3683 cat >conftest.$ac_ext <<EOF
3684 #line __oline__ "configure"
3685 int testdata[[3]] = { 123, 456, 789 };
3687 if AC_TRY_EVAL(ac_compile) ; then
3688 mv conftest.o data.o && \
3689 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3691 rm -f conftest.$ac_ext data.o
3692 cat >conftest.$ac_ext <<EOF
3693 #line __oline__ "configure"
3697 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
3699 extern int testdata[[3]];
3700 return testdata[[0]] == 123
3701 && testdata[[1]] == 456
3702 && testdata[[2]] == 789;
3706 if AC_TRY_EVAL(ac_compile); then
3707 mv conftest.o func.o && \
3708 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3710 rm -f conftest.$ac_ext func.o
3711 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3713 LIBS="conftest.a $LIBS"
3717 extern int testfunc();
3718 ${cf_cv_main_return:-return} (!testfunc());
3721 [cf_cv_link_dataonly=yes],
3722 [cf_cv_link_dataonly=no],
3723 [cf_cv_link_dataonly=unknown])
3726 AC_MSG_RESULT($cf_cv_link_dataonly)
3728 if test "$cf_cv_link_dataonly" = no ; then
3729 AC_DEFINE(BROKEN_LINKER)
3734 dnl ---------------------------------------------------------------------------
3735 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
3737 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3738 dnl A few non-Unix systems implement symlink, but not link.
3739 dnl A few non-systems implement neither (or have nonfunctional versions).
3740 AC_DEFUN([CF_LINK_FUNCS],
3746 if test "$cross_compiling" = yes ; then
3751 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
3753 for cf_func in link symlink ; do
3755 #include <sys/types.h>
3756 #include <sys/stat.h>
3757 #ifdef HAVE_UNISTD_H
3763 char *src = "config.log";
3764 char *dst = "conftest.chk";
3769 fail = ($cf_func("config.log", "conftest.chk") < 0)
3770 || (stat(dst, &dst_sb) < 0)
3771 || (dst_sb.st_mtime != src_sb.st_mtime);
3777 ${cf_cv_main_return:-return} (fail);
3780 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
3781 eval 'ac_cv_func_'$cf_func'=yes'],[
3782 eval 'ac_cv_func_'$cf_func'=no'],[
3783 eval 'ac_cv_func_'$cf_func'=error'])
3785 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
3787 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
3788 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
3791 dnl ---------------------------------------------------------------------------
3792 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
3794 dnl Check if a return from main to the shell actually returns the same exit
3795 dnl code. This is true for almost any POSIX environment.
3797 dnl Some very old environments did not flush stdout, etc., on an exit. That
3798 dnl would be a useful case to test for also.
3799 AC_DEFUN([CF_MAIN_RETURN],
3801 cf_cv_main_return=return
3803 dnl ---------------------------------------------------------------------------
3804 dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
3806 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
3807 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
3808 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
3809 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
3810 AC_DEFUN([CF_MAKEFLAGS],
3812 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
3814 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
3816 cat >cf_makeflags.tmp <<CF_EOF
3819 @ echo '.$cf_option'
3821 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
3822 case "$cf_result" in
3824 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
3825 case "$cf_result" in
3826 .*CC=*) cf_cv_makeflags=
3828 *) cf_cv_makeflags=$cf_option
3834 *) echo "given option \"$cf_option\", no match \"$cf_result\""
3838 rm -f cf_makeflags.tmp
3841 AC_SUBST(cf_cv_makeflags)
3843 dnl ---------------------------------------------------------------------------
3844 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
3846 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
3847 dnl a monocase filesystem.
3848 AC_DEFUN([CF_MAKE_TAGS],[
3849 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
3851 AC_CHECK_PROGS(CTAGS, exctags ctags)
3852 AC_CHECK_PROGS(ETAGS, exetags etags)
3854 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
3856 if test "$cf_cv_mixedcase" = yes ; then
3857 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
3862 if test "$MAKE_UPPER_TAGS" = yes ; then
3868 if test "$MAKE_LOWER_TAGS" = yes ; then
3877 AC_SUBST(MAKE_UPPER_TAGS)
3878 AC_SUBST(MAKE_LOWER_TAGS)
3880 dnl ---------------------------------------------------------------------------
3881 dnl CF_MANPAGE_FORMAT version: 9 updated: 2010/10/23 16:10:30
3882 dnl -----------------
3883 dnl Option to allow user to override automatic configuration of manpage format.
3884 dnl There are several special cases:
3886 dnl gzip - man checks for, can display gzip'd files
3887 dnl compress - man checks for, can display compressed files
3888 dnl BSDI - files in the cat-directories are suffixed ".0"
3889 dnl formatted - installer should format (put files in cat-directory)
3890 dnl catonly - installer should only format, e.g., for a turnkey system.
3892 dnl There are other configurations which this macro does not test, e.g., HPUX's
3893 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
3894 dnl convention would not match our use).
3895 AC_DEFUN([CF_MANPAGE_FORMAT],
3897 AC_REQUIRE([CF_PATHSEP])
3898 AC_MSG_CHECKING(format of man-pages)
3900 AC_ARG_WITH(manpage-format,
3901 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
3902 optionally formatted/catonly, e.g., gzip,formatted],
3903 [MANPAGE_FORMAT=$withval],
3904 [MANPAGE_FORMAT=unknown])
3906 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
3907 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
3911 case $MANPAGE_FORMAT in
3913 if test -z "$MANPATH" ; then
3914 MANPATH="/usr/man:/usr/share/man"
3917 # look for the 'date' man-page (it's most likely to be installed!)
3923 IFS="${IFS:- }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
3924 for cf_dir in $MANPATH; do
3925 test -z "$cf_dir" && cf_dir=/usr/man
3926 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
3928 cf_test=`echo $cf_name | sed -e 's/*//'`
3929 if test "x$cf_test" = "x$cf_name" ; then
3932 *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
3933 *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
3934 *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
3935 *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
3949 # if we found a match in either man* or cat*, stop looking
3950 if test -n "$MANPAGE_FORMAT" ; then
3952 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
3953 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
3959 test $cf_found=yes && break
3962 # only check the first directory in $MANPATH where we find manpages
3963 if test -n "$MANPAGE_FORMAT" ; then
3967 # if we did not find the example, just assume it is normal
3968 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
3972 for cf_option in $MANPAGE_FORMAT; do
3973 case $cf_option in #(vi
3974 gzip|compress|BSDI|normal|formatted|catonly)
3977 cf_unknown="$cf_unknown $cf_option"
3984 AC_MSG_RESULT($MANPAGE_FORMAT)
3985 if test -n "$cf_unknown" ; then
3986 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
3989 dnl ---------------------------------------------------------------------------
3990 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
3991 dnl ------------------
3992 dnl The Debian people have their own naming convention for manpages. This
3993 dnl option lets us override the name of the file containing renaming, or
3994 dnl disable it altogether.
3995 AC_DEFUN([CF_MANPAGE_RENAMES],
3997 AC_MSG_CHECKING(for manpage renaming)
3999 AC_ARG_WITH(manpage-renames,
4000 [ --with-manpage-renames specify manpage-renaming],
4001 [MANPAGE_RENAMES=$withval],
4002 [MANPAGE_RENAMES=yes])
4004 case ".$MANPAGE_RENAMES" in #(vi
4008 # Debian 'man' program?
4009 if test -f /etc/debian_version ; then
4010 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
4017 if test "$MANPAGE_RENAMES" != no ; then
4018 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
4019 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
4020 elif test ! -f $MANPAGE_RENAMES ; then
4021 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
4024 test ! -d man && mkdir man
4026 # Construct a sed-script to perform renaming within man-pages
4027 if test -n "$MANPAGE_RENAMES" ; then
4028 test ! -d man && mkdir man
4029 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
4033 AC_MSG_RESULT($MANPAGE_RENAMES)
4034 AC_SUBST(MANPAGE_RENAMES)
4036 dnl ---------------------------------------------------------------------------
4037 dnl CF_MANPAGE_SYMLINKS version: 5 updated: 2010/07/24 17:12:40
4038 dnl -------------------
4039 dnl Some people expect each tool to make all aliases for manpages in the
4040 dnl man-directory. This accommodates the older, less-capable implementations
4041 dnl of 'man', and is optional.
4042 AC_DEFUN([CF_MANPAGE_SYMLINKS],
4044 AC_MSG_CHECKING(if manpage aliases will be installed)
4046 AC_ARG_WITH(manpage-aliases,
4047 [ --with-manpage-aliases specify manpage-aliases using .so],
4048 [MANPAGE_ALIASES=$withval],
4049 [MANPAGE_ALIASES=yes])
4051 AC_MSG_RESULT($MANPAGE_ALIASES)
4053 case "x$LN_S" in #(vi
4063 if test "$MANPAGE_ALIASES" = yes ; then
4064 AC_MSG_CHECKING(if manpage symlinks should be used)
4066 AC_ARG_WITH(manpage-symlinks,
4067 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
4068 [MANPAGE_SYMLINKS=$withval],
4069 [MANPAGE_SYMLINKS=$cf_use_symlinks])
4071 if test "$$cf_use_symlinks" = no; then
4072 if test "$MANPAGE_SYMLINKS" = yes ; then
4073 AC_MSG_WARN(cannot make symlinks, will use .so files)
4078 AC_MSG_RESULT($MANPAGE_SYMLINKS)
4082 dnl ---------------------------------------------------------------------------
4083 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
4085 dnl This option causes manpages to be run through tbl(1) to generate tables
4087 AC_DEFUN([CF_MANPAGE_TBL],
4089 AC_MSG_CHECKING(for manpage tbl)
4091 AC_ARG_WITH(manpage-tbl,
4092 [ --with-manpage-tbl specify manpage processing with tbl],
4093 [MANPAGE_TBL=$withval],
4096 AC_MSG_RESULT($MANPAGE_TBL)
4098 dnl ---------------------------------------------------------------------------
4099 dnl CF_MAN_PAGES version: 40 updated: 2011/09/10 16:20:21
4101 dnl Try to determine if the man-pages on the system are compressed, and if
4102 dnl so, what format is used. Use this information to construct a script that
4103 dnl will install man-pages.
4104 AC_DEFUN([CF_MAN_PAGES],
4106 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
4112 if test "$prefix" = "NONE" ; then
4113 cf_prefix="$ac_default_prefix"
4118 case "$MANPAGE_FORMAT" in # (vi
4133 test ! -d man && mkdir man
4137 case "$MANPAGE_FORMAT" in #(vi
4140 cf_compress=compress
4148 cf_edit_man=./edit_man.sh
4149 cf_man_alias=`pwd`/man_alias.sed
4151 cat >$cf_edit_man <<CF_EOF
4153 # this script is generated by the configure-script CF_MAN_PAGES macro.
4158 NCURSES_MAJOR="$NCURSES_MAJOR"
4159 NCURSES_MINOR="$NCURSES_MINOR"
4160 NCURSES_PATCH="$NCURSES_PATCH"
4162 NCURSES_OSPEED="$NCURSES_OSPEED"
4163 TERMINFO="$TERMINFO"
4166 INSTALL_DATA="$INSTALL_DATA"
4168 transform="$program_transform_name"
4170 TMP=\${TMPDIR:=/tmp}/man\$\$
4171 trap "rm -f \$TMP" 0 1 2 5 15
4183 top_srcdir=\[$]srcdir/..
4186 if test "\$form" = normal ; then
4187 if test "$cf_format" = yes ; then
4188 if test "$cf_inboth" = no ; then
4189 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4193 cf_subdir=\$mandir/man
4194 cf_tables=$MANPAGE_TBL
4196 cf_subdir=\$mandir/cat
4200 # process the list of source-files
4203 *.orig|*.rej) ;; #(vi
4205 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
4206 if test \$verb = installing ; then
4207 if test ! -d \$cf_subdir\${section} ; then
4208 mkdir -p \$cf_subdir\$section
4212 # replace variables in man page
4213 if test ! -f $cf_man_alias ; then
4214 cat >>$cf_man_alias <<-CF_EOF2
4215 s,@DATADIR@,\$datadir,g
4216 s,@TERMINFO@,\$TERMINFO,g
4217 s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
4218 s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
4219 s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
4220 s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
4225 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
4226 cf_name=`echo $cf_name|sed "$program_transform_name"`
4227 cat >>$cf_edit_man <<-CF_EOF
4228 s,@$cf_NAME@,$cf_name,g
4232 cat >>$cf_edit_man <<CF_EOF
4234 echo "...made $cf_man_alias"
4238 cf_source=\`basename \$i\`
4240 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
4241 if test ! -f \$inalias ; then
4242 echo .. skipped \$cf_source
4247 if test "$MANPAGE_ALIASES" != no ; then
4248 cat >>$cf_edit_man <<CF_EOF
4250 test $with_curses_h = yes && nCurses=ncurses.3x
4251 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
4255 if test "$MANPAGE_RENAMES" = no ; then
4256 cat >>$cf_edit_man <<CF_EOF
4257 # perform program transformations for section 1 man pages
4258 if test \$section = 1 ; then
4259 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
4261 cf_target=\$cf_subdir\${section}/\$cf_source
4265 cat >>$cf_edit_man <<CF_EOF
4266 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
4267 if test -z "\$cf_target" ; then
4268 echo '? missing rename for '\$cf_source
4269 cf_target="\$cf_source"
4271 cf_target="\$cf_subdir\${section}/\${cf_target}"
4276 cat >>$cf_edit_man <<CF_EOF
4277 sed -f $cf_man_alias \\
4280 if test -f $MANPAGE_RENAMES ; then
4281 cat >>$cf_edit_man <<CF_EOF
4282 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
4285 cat >>$cf_edit_man <<CF_EOF
4290 cat >>$cf_edit_man <<CF_EOF
4291 if test \$cf_tables = yes ; then
4292 tbl \$TMP >\$TMP.out
4297 if test $with_overwrite != yes ; then
4298 cat >>$cf_edit_man <<CF_EOF
4299 sed -e "/\#[ ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
4304 if test $with_curses_h != yes ; then
4305 cat >>$cf_edit_man <<CF_EOF
4306 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
4311 cat >>$cf_edit_man <<CF_EOF
4312 if test \$form = format ; then
4313 nroff -man \$TMP >\$TMP.out
4318 if test -n "$cf_compress" ; then
4319 cat >>$cf_edit_man <<CF_EOF
4320 if test \$verb = installing ; then
4321 if ( $cf_compress -f \$TMP )
4323 mv \$TMP.$cf_so_strip \$TMP
4326 cf_target="\$cf_target.$cf_so_strip"
4330 case "$MANPAGE_FORMAT" in #(vi
4332 cat >>$cf_edit_man <<CF_EOF
4333 if test \$form = format ; then
4334 # BSDI installs only .0 suffixes in the cat directories
4335 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
4341 cat >>$cf_edit_man <<CF_EOF
4342 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
4343 if test \$verb = installing ; then
4344 echo \$verb \$cf_target
4345 \$INSTALL_DATA \$TMP \$cf_target
4346 test -d \$cf_subdir\${section} &&
4347 test -n "\$aliases" && (
4348 cd \$cf_subdir\${section} && (
4349 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
4350 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
4351 cf_target=\`basename \$cf_target\`
4352 for cf_alias in \$aliases
4354 if test \$section = 1 ; then
4355 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4358 if test "$MANPAGE_SYMLINKS" = yes ; then
4359 if test -f \$cf_alias\${suffix} ; then
4360 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
4365 echo .. \$verb alias \$cf_alias\${suffix}
4367 case "x$LN_S" in #(vi
4369 cat >>$cf_edit_man <<CF_EOF
4370 $LN_S \$cf_target \$cf_alias\${suffix}
4374 cat >>$cf_edit_man <<CF_EOF
4375 rm -f \$cf_alias\${suffix}
4376 $LN_S \$cf_target \$cf_alias\${suffix}
4380 cat >>$cf_edit_man <<CF_EOF
4381 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
4382 echo ".so \$cf_source" >\$TMP
4384 if test -n "$cf_compress" ; then
4385 cat >>$cf_edit_man <<CF_EOF
4386 if test -n "$cf_so_strip" ; then
4387 $cf_compress -f \$TMP
4388 mv \$TMP.$cf_so_strip \$TMP
4392 cat >>$cf_edit_man <<CF_EOF
4393 echo .. \$verb alias \$cf_alias\${suffix}
4394 rm -f \$cf_alias\${suffix}
4395 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
4400 elif test \$verb = removing ; then
4401 test -f \$cf_target && (
4402 echo \$verb \$cf_target
4405 test -d \$cf_subdir\${section} &&
4406 test -n "\$aliases" && (
4407 cd \$cf_subdir\${section} && (
4408 for cf_alias in \$aliases
4410 if test \$section = 1 ; then
4411 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4414 echo .. \$verb alias \$cf_alias\${suffix}
4415 rm -f \$cf_alias\${suffix}
4427 if test $cf_inboth = yes ; then
4428 if test \$form != format ; then
4429 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4435 chmod 755 $cf_edit_man
4438 dnl ---------------------------------------------------------------------------
4439 dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
4441 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
4442 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
4443 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
4444 AC_DEFUN([CF_MATH_LIB],
4446 AC_CACHE_CHECK(if -lm needed for math functions,
4452 [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
4453 [cf_cv_need_libm=no],
4454 [cf_cv_need_libm=yes])])
4455 if test "$cf_cv_need_libm" = yes
4462 dnl ---------------------------------------------------------------------------
4463 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
4464 dnl ----------------------