1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2010,2011 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.559 2011/07/02 19:42:50 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: 3 updated: 2008/12/27 12:30:03
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); }' \
529 | $AWK '{ printf "%d\n", length([$]0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
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: 3 updated: 2000/08/12 23:18:52
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_MSG_CHECKING(for terminal-capability database functions)
804 AC_CACHE_VAL(cf_cv_cgetent,[
806 #include <stdlib.h>],[
809 char *db_array = temp;
810 cgetent(&buf, /* int *, */ &db_array, "vt100");
811 cgetcap(buf, "tc", '=');
812 cgetmatch(buf, "tc");
817 AC_MSG_RESULT($cf_cv_cgetent)
818 test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
820 dnl ---------------------------------------------------------------------------
821 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
823 dnl Check if we're accidentally using a cache from a different machine.
824 dnl Derive the system name, as a check for reusing the autoconf cache.
826 dnl If we've packaged config.guess and config.sub, run that (since it does a
827 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
828 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
829 dnl which is useful in cross-compiles.
831 dnl Note: we would use $ac_config_sub, but that is one of the places where
832 dnl autoconf 2.5x broke compatibility with autoconf 2.13
833 AC_DEFUN([CF_CHECK_CACHE],
835 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
836 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
837 system_name="$host_os"
839 system_name="`(uname -s -r) 2>/dev/null`"
840 if test -z "$system_name" ; then
841 system_name="`(hostname) 2>/dev/null`"
844 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
845 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
847 test -z "$system_name" && system_name="$cf_cv_system_name"
848 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
850 if test ".$system_name" != ".$cf_cv_system_name" ; then
851 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
852 AC_MSG_ERROR("Please remove config.cache and try again.")
855 dnl ---------------------------------------------------------------------------
856 dnl CF_CHECK_ERRNO version: 11 updated: 2010/05/26 05:38:42
858 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
859 dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
862 dnl $1 = the name to check
863 dnl $2 = the assumed type
864 AC_DEFUN([CF_CHECK_ERRNO],
866 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
872 #include <sys/types.h>
873 #include <errno.h> ],
874 ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1,
879 if test "$cf_cv_dcl_$1" = no ; then
880 CF_UPPER(cf_result,decl_$1)
881 AC_DEFINE_UNQUOTED($cf_result)
884 # It's possible (for near-UNIX clones) that the data doesn't exist
885 CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2]))
887 dnl ---------------------------------------------------------------------------
888 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
889 dnl --------------------
890 dnl Check for existence of external data in the current set of libraries. If
891 dnl we can modify it, it's real enough.
892 dnl $1 = the name to check
894 AC_DEFUN([CF_CHECK_EXTERN_DATA],
896 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
906 if test "$cf_cv_have_$1" = yes ; then
907 CF_UPPER(cf_result,have_$1)
908 AC_DEFINE_UNQUOTED($cf_result)
912 dnl ---------------------------------------------------------------------------
913 dnl CF_CHECK_GPM_WGETCH version: 2 updated: 2010/08/14 18:25:37
914 dnl -------------------
915 dnl Check if GPM is already linked with curses. If so - and if the linkage
916 dnl is not "weak" - warn about this because it can create problems linking
917 dnl applications with ncurses.
918 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
919 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
921 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
922 cf_cv_check_gpm_wgetch=unknown
923 if test "$cross_compiling" != yes ; then
925 cat >conftest.$ac_ext <<CF_EOF
930 ${cf_cv_main_return:-return}(0);
935 # This only works if we can look at the symbol table. If a shared
936 # library is stripped for install, we cannot use that. So we're forced
937 # to rely on the static library, noting that some packagers may not
939 LIBS="-static -lgpm -dynamic $LIBS"
940 if AC_TRY_EVAL(ac_compile) ; then
941 if AC_TRY_EVAL(ac_link) ; then
942 cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
943 test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
944 test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
952 if test "$cf_cv_check_gpm_wgetch" != yes ; then
953 AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
956 dnl ---------------------------------------------------------------------------
957 dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
958 dnl -----------------
959 dnl Check if the C++ compiler accepts duplicate parameter initialization. This
960 dnl is a late feature for the standard and is not in some recent compilers
962 AC_DEFUN([CF_CPP_PARAM_INIT],
964 if test -n "$CXX"; then
965 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
977 TEST::TEST(int x = 1) // some compilers do not like second initializer
983 [cf_cv_cpp_param_init=yes],
984 [cf_cv_cpp_param_init=no],
985 [cf_cv_cpp_param_init=unknown])
989 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
991 dnl ---------------------------------------------------------------------------
992 dnl CF_CPP_STATIC_CAST version: 1 updated: 2005/07/23 16:52:43
993 dnl ------------------
994 dnl Check if the C++ compiler accepts static_cast in generics. This appears to
995 dnl not be supported in g++ before 3.0
996 AC_DEFUN([CF_CPP_STATIC_CAST],
998 if test -n "$CXX"; then
1000 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
1008 NCursesPanel(int nlines,
1018 template<class T> class NCursesUserPanel : public NCursesPanel
1021 NCursesUserPanel (int nlines,
1025 const T* p_UserData = static_cast<T*>(0))
1026 : NCursesPanel (nlines, ncols, begin_y, begin_x)
1029 NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
1033 virtual ~NCursesUserPanel() {};
1036 const char* p_UserData = static_cast<char*>(0)],
1037 [cf_cv_cpp_static_cast=yes],
1038 [cf_cv_cpp_static_cast=no])
1045 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
1047 dnl ---------------------------------------------------------------------------
1048 dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
1050 dnl Check if the C compiler supports "inline".
1051 dnl $1 is the name of a shell variable to set if inline is supported
1052 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
1053 AC_DEFUN([CF_C_INLINE],[
1056 if test "$ac_cv_c_inline" != no ; then
1058 if test "$INTEL_COMPILER" = yes
1061 elif test "$GCC" = yes
1063 AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
1064 cf_save_CFLAGS=$CFLAGS
1065 CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
1066 AC_TRY_COMPILE([inline int foo(void) { return 1; }],
1067 [${cf_cv_main_return:-return} foo()],
1068 [cf_cv_gcc_inline=yes],
1069 [cf_cv_gcc_inline=no])
1070 CFLAGS=$cf_save_CFLAGS
1072 if test "$cf_cv_gcc_inline" = yes ; then
1073 CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
1079 dnl ---------------------------------------------------------------------------
1080 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1082 dnl "dirname" is not portable, so we fake it with a shell script.
1083 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1084 dnl ---------------------------------------------------------------------------
1085 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1087 AC_DEFUN([CF_DIRS_TO_MAKE],
1090 for cf_item in $cf_list_models
1092 CF_OBJ_SUBDIR($cf_item,cf_subdir)
1093 for cf_item2 in $DIRS_TO_MAKE
1095 test $cf_item2 = $cf_subdir && break
1097 test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1099 for cf_dir in $DIRS_TO_MAKE
1101 test ! -d $cf_dir && mkdir $cf_dir
1103 AC_SUBST(DIRS_TO_MAKE)
1105 dnl ---------------------------------------------------------------------------
1106 dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
1107 dnl ----------------
1108 dnl Combine no-leak checks with the libraries or tools that are used for the
1110 AC_DEFUN([CF_DISABLE_LEAKS],[
1112 AC_REQUIRE([CF_WITH_DMALLOC])
1113 AC_REQUIRE([CF_WITH_DBMALLOC])
1114 AC_REQUIRE([CF_WITH_VALGRIND])
1116 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1117 AC_ARG_ENABLE(leaks,
1118 [ --disable-leaks test: free permanent memory, analyze leaks],
1119 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1120 : ${with_no_leaks:=no})
1121 AC_MSG_RESULT($with_no_leaks)
1123 if test "$with_no_leaks" = yes ; then
1125 AC_DEFINE(YY_NO_LEAKS)
1128 dnl ---------------------------------------------------------------------------
1129 dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59
1130 dnl --------------------------
1131 dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1132 dnl the older "-version-info" feature. The newer feature allows us to use
1133 dnl version numbering on shared libraries which make them compatible with
1134 dnl various systems.
1135 AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1137 AC_MSG_CHECKING(if libtool -version-number should be used)
1138 CF_ARG_DISABLE(libtool-version,
1139 [ --disable-libtool-version enable to use libtool's incompatible naming scheme],
1140 [cf_libtool_version=no],
1141 [cf_libtool_version=yes])
1142 AC_MSG_RESULT($cf_libtool_version)
1144 if test "$cf_libtool_version" = yes ; then
1145 LIBTOOL_VERSION="-version-number"
1147 LIBTOOL_VERSION="-version-info"
1150 AC_SUBST(LIBTOOL_VERSION)
1152 dnl ---------------------------------------------------------------------------
1153 dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
1154 dnl ---------------------
1155 dnl The rpath-hack makes it simpler to build programs, particularly with the
1156 dnl *BSD ports which may have essential libraries in unusual places. But it
1157 dnl can interfere with building an executable for the base system. Use this
1158 dnl option in that case.
1159 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1161 AC_MSG_CHECKING(if rpath-hack should be disabled)
1162 CF_ARG_DISABLE(rpath-hack,
1163 [ --disable-rpath-hack don't add rpath options for additional libraries],
1164 [cf_disable_rpath_hack=yes],
1165 [cf_disable_rpath_hack=no])
1166 AC_MSG_RESULT($cf_disable_rpath_hack)
1167 if test "$cf_disable_rpath_hack" = no ; then
1171 dnl ---------------------------------------------------------------------------
1172 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1174 dnl Check if the rpath option should be used, setting cache variable
1175 dnl cf_cv_enable_rpath if so.
1176 AC_DEFUN([CF_ENABLE_RPATH],
1178 AC_MSG_CHECKING(if rpath option should be used)
1179 AC_ARG_ENABLE(rpath,
1180 [ --enable-rpath use rpath option when generating shared libraries],
1181 [cf_cv_enable_rpath=$enableval],
1182 [cf_cv_enable_rpath=no])
1183 AC_MSG_RESULT($cf_cv_enable_rpath)
1185 dnl ---------------------------------------------------------------------------
1186 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1188 dnl Check if 'errno' is declared in <errno.h>
1189 AC_DEFUN([CF_ERRNO],
1191 CF_CHECK_ERRNO(errno)
1193 dnl ---------------------------------------------------------------------------
1194 dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
1196 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1197 dnl math.h and builtin.h, only for ncurses
1198 AC_DEFUN([CF_ETIP_DEFINES],
1200 AC_MSG_CHECKING(for special defines needed for etip.h)
1201 cf_save_CXXFLAGS="$CXXFLAGS"
1203 for cf_math in "" MATH_H
1205 for cf_excp in "" MATH_EXCEPTION
1207 CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
1208 test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1209 test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1211 #include <etip.h.in>
1213 test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1214 test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1215 cf_result="$cf_math $cf_excp"
1220 AC_MSG_RESULT($cf_result)
1221 CXXFLAGS="$cf_save_CXXFLAGS"
1223 dnl ---------------------------------------------------------------------------
1224 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
1226 dnl Find a library (specifically the linkage used in the code fragment),
1227 dnl searching for it if it is not already in the library path.
1228 dnl See also CF_ADD_SEARCHPATH.
1230 dnl Parameters (4-on are optional):
1231 dnl $1 = headers for library entrypoint
1232 dnl $2 = code fragment for library entrypoint
1233 dnl $3 = the library name without the "-l" option or ".so" suffix.
1234 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
1235 dnl $5 = action to perform if not successful
1236 dnl $6 = module name, if not the same as the library name
1237 dnl $7 = extra libraries
1239 dnl Sets these variables:
1240 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1241 dnl $cf_cv_header_path_$3 - include-directory if needed
1242 dnl $cf_cv_library_path_$3 - library-directory if needed
1243 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1244 AC_DEFUN([CF_FIND_LINKAGE],[
1246 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1247 # will be set on completion of the AC_TRY_LINK below.
1248 cf_cv_header_path_$3=
1249 cf_cv_library_path_$3=
1251 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1253 cf_save_LIBS="$LIBS"
1255 AC_TRY_LINK([$1],[$2],[
1256 cf_cv_find_linkage_$3=yes
1257 cf_cv_header_path_$3=/usr/include
1258 cf_cv_library_path_$3=/usr/lib
1261 LIBS="-l$3 $7 $cf_save_LIBS"
1263 AC_TRY_LINK([$1],[$2],[
1264 cf_cv_find_linkage_$3=yes
1265 cf_cv_header_path_$3=/usr/include
1266 cf_cv_library_path_$3=/usr/lib
1267 cf_cv_library_file_$3="-l$3"
1269 cf_cv_find_linkage_$3=no
1270 LIBS="$cf_save_LIBS"
1272 CF_VERBOSE(find linkage for $3 library)
1273 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1275 cf_save_CPPFLAGS="$CPPFLAGS"
1276 cf_test_CPPFLAGS="$CPPFLAGS"
1278 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1279 for cf_cv_header_path_$3 in $cf_search
1281 if test -d $cf_cv_header_path_$3 ; then
1282 CF_VERBOSE(... testing $cf_cv_header_path_$3)
1283 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1284 AC_TRY_COMPILE([$1],[$2],[
1285 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1286 cf_cv_find_linkage_$3=maybe
1287 cf_test_CPPFLAGS="$CPPFLAGS"
1289 CPPFLAGS="$cf_save_CPPFLAGS"
1294 if test "$cf_cv_find_linkage_$3" = maybe ; then
1296 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1298 cf_save_LIBS="$LIBS"
1299 cf_save_LDFLAGS="$LDFLAGS"
1302 CPPFLAGS="$cf_test_CPPFLAGS"
1303 LIBS="-l$3 $7 $cf_save_LIBS"
1304 AC_TRY_LINK([$1],[$2],[
1305 CF_VERBOSE(... found $3 library in system)
1306 cf_cv_find_linkage_$3=yes])
1307 CPPFLAGS="$cf_save_CPPFLAGS"
1308 LIBS="$cf_save_LIBS"
1311 if test "$cf_cv_find_linkage_$3" != yes ; then
1312 CF_LIBRARY_PATH(cf_search,$3)
1313 for cf_cv_library_path_$3 in $cf_search
1315 if test -d $cf_cv_library_path_$3 ; then
1316 CF_VERBOSE(... testing $cf_cv_library_path_$3)
1317 CPPFLAGS="$cf_test_CPPFLAGS"
1318 LIBS="-l$3 $7 $cf_save_LIBS"
1319 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1320 AC_TRY_LINK([$1],[$2],[
1321 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1322 cf_cv_find_linkage_$3=yes
1323 cf_cv_library_file_$3="-l$3"
1325 CPPFLAGS="$cf_save_CPPFLAGS"
1326 LIBS="$cf_save_LIBS"
1327 LDFLAGS="$cf_save_LDFLAGS"
1331 CPPFLAGS="$cf_save_CPPFLAGS"
1332 LDFLAGS="$cf_save_LDFLAGS"
1336 cf_cv_find_linkage_$3=no
1341 LIBS="$cf_save_LIBS"
1343 if test "$cf_cv_find_linkage_$3" = yes ; then
1345 CF_ADD_INCDIR($cf_cv_header_path_$3)
1346 CF_ADD_LIBDIR($cf_cv_library_path_$3)
1350 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1353 dnl ---------------------------------------------------------------------------
1354 dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
1356 dnl Test for dlsym() and related functions, as well as libdl.
1361 AC_DEFUN([CF_FUNC_DLSYM],[
1363 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1366 AC_CHECK_LIB(dl,dlsym,[
1368 cf_have_libdl=yes])])
1370 if test "$cf_have_dlsym" = yes ; then
1371 test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
1373 AC_MSG_CHECKING(whether able to link to dl*() functions)
1374 AC_TRY_LINK([#include <dlfcn.h>],[
1376 if ((obj = dlopen("filename", 0)) != 0) {
1377 if (dlsym(obj, "symbolname") == 0) {
1381 AC_DEFINE(HAVE_LIBDL)],[
1382 AC_MSG_ERROR(Cannot link test program for libdl)])
1385 AC_MSG_ERROR(Cannot find dlsym function)
1388 dnl ---------------------------------------------------------------------------
1389 dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
1391 dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
1392 dnl is found, add our own version of memmove to the list of objects.
1393 AC_DEFUN([CF_FUNC_MEMMOVE],
1395 AC_CHECK_FUNC(memmove,,[
1396 AC_CHECK_FUNC(bcopy,[
1397 AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1400 static char data[] = "abcdefghijklmnopqrstuwwxyz";
1402 bcopy(data, temp, sizeof(data));
1403 bcopy(temp+10, temp, 15);
1404 bcopy(temp+5, temp+15, 10);
1405 ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1408 [cf_cv_good_bcopy=yes],
1409 [cf_cv_good_bcopy=no],
1410 [cf_cv_good_bcopy=unknown])
1412 ],[cf_cv_good_bcopy=no])
1413 if test "$cf_cv_good_bcopy" = yes ; then
1414 AC_DEFINE(USE_OK_BCOPY)
1416 AC_DEFINE(USE_MY_MEMMOVE)
1419 dnl ---------------------------------------------------------------------------
1420 dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
1421 dnl -----------------
1422 dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
1423 dnl AIX 4.x, provide a non-working version.
1424 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1425 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1431 #ifdef HAVE_SYS_TIME_H
1432 #include <sys/time.h>
1436 struct timespec ts1, ts2;
1439 ts1.tv_nsec = 750000000;
1443 code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1444 ${cf_cv_main_return:-return}(code != 0);
1447 [cf_cv_func_nanosleep=yes],
1448 [cf_cv_func_nanosleep=no],
1449 [cf_cv_func_nanosleep=unknown])])
1451 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
1453 dnl ---------------------------------------------------------------------------
1454 dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
1456 dnl Check for openpty() function, along with <pty.h> header. It may need the
1457 dnl "util" library as well.
1458 AC_DEFUN([CF_FUNC_OPENPTY],
1460 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1461 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1462 cf_save_LIBS="$LIBS"
1463 test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
1464 for cf_header in pty.h libutil.h util.h
1467 #include <$cf_header>
1469 int x = openpty((int *)0, (int *)0, (char *)0,
1470 (struct termios *)0, (struct winsize *)0);
1472 cf_cv_func_openpty=$cf_header
1475 cf_cv_func_openpty=no
1478 LIBS="$cf_save_LIBS"
1481 dnl ---------------------------------------------------------------------------
1482 dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
1484 dnl See if the poll function really works. Some platforms have poll(), but
1485 dnl it does not work for terminals or files.
1486 AC_DEFUN([CF_FUNC_POLL],[
1487 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1493 #include <sys/poll.h>
1496 struct pollfd myfds;
1500 myfds.events = POLLIN;
1502 ret = poll(&myfds, 1, 100);
1503 ${cf_cv_main_return:-return}(ret != 0);
1505 [cf_cv_working_poll=yes],
1506 [cf_cv_working_poll=no],
1507 [cf_cv_working_poll=unknown])])
1508 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
1510 dnl ---------------------------------------------------------------------------
1511 dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
1513 dnl Some old/broken variations define tcgetattr() only as a macro in
1515 AC_DEFUN([CF_FUNC_TERMIOS],[
1516 AC_REQUIRE([CF_STRUCT_TERMIOS])
1517 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1519 #include <sys/types.h>
1520 #ifdef HAVE_UNISTD_H
1523 #ifdef HAVE_TERMIOS_H
1524 #include <termios.h>
1525 #define TTY struct termios
1527 #ifdef HAVE_TERMIO_H
1529 #define TTY struct termio
1534 tcgetattr(1, &foo);],
1535 [cf_cv_have_tcgetattr=yes],
1536 [cf_cv_have_tcgetattr=no])])
1537 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
1539 dnl ---------------------------------------------------------------------------
1540 dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
1542 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1543 dnl versions of C. It is in the GNU C library, and can often be simulated by
1544 dnl other functions.
1545 AC_DEFUN([CF_FUNC_VSSCANF],
1547 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1550 #include <stdio.h>],[
1552 vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1555 #include <stdio.h>],[
1559 strbuf._flag = _IOREAD;
1560 strbuf._ptr = strbuf._base = (unsigned char *) str;
1561 strbuf._cnt = strlen(str);
1562 strbuf._file = _NFILE;
1563 return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1566 #include <stdio.h>],[
1570 strbuf._flag = _IOREAD;
1571 strbuf._ptr = strbuf._base = (unsigned char *) str;
1572 strbuf._cnt = strlen(str);
1573 strbuf._file = _NFILE;
1574 return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1575 cf_cv_func_vsscanf=no])])])])
1577 case $cf_cv_func_vsscanf in #(vi
1578 vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
1579 vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
1580 _doscan) AC_DEFINE(HAVE__DOSCAN);;
1584 dnl ---------------------------------------------------------------------------
1585 dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
1586 dnl -----------------
1587 dnl Test for availability of useful gcc __attribute__ directives to quiet
1588 dnl compiler warnings. Though useful, not all are supported -- and contrary
1589 dnl to documentation, unrecognized directives cause older compilers to barf.
1590 AC_DEFUN([CF_GCC_ATTRIBUTES],
1592 if test "$GCC" = yes
1594 cat > conftest.i <<EOF
1596 #define GCC_PRINTF 0
1601 #ifndef GCC_NORETURN
1602 #define GCC_NORETURN /* nothing */
1605 #define GCC_UNUSED /* nothing */
1608 if test "$GCC" = yes
1610 AC_CHECKING([for $CC __attribute__ directives])
1611 cat > conftest.$ac_ext <<EOF
1612 #line __oline__ "${as_me:-configure}"
1613 #include "confdefs.h"
1614 #include "conftest.h"
1615 #include "conftest.i"
1617 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1619 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1622 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1624 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1626 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1627 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1628 extern void foo(void) GCC_NORETURN;
1629 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1631 cf_printf_attribute=no
1632 cf_scanf_attribute=no
1633 for cf_attribute in scanf printf unused noreturn
1635 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1636 cf_directive="__attribute__(($cf_attribute))"
1637 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1639 case $cf_attribute in #(vi
1641 cf_printf_attribute=yes
1642 cat >conftest.h <<EOF
1643 #define GCC_$cf_ATTRIBUTE 1
1647 cf_scanf_attribute=yes
1648 cat >conftest.h <<EOF
1649 #define GCC_$cf_ATTRIBUTE 1
1653 cat >conftest.h <<EOF
1654 #define GCC_$cf_ATTRIBUTE $cf_directive
1659 if AC_TRY_EVAL(ac_compile); then
1660 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1661 cat conftest.h >>confdefs.h
1662 case $cf_attribute in #(vi
1664 if test "$cf_printf_attribute" = no ; then
1665 cat >>confdefs.h <<EOF
1666 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1669 cat >>confdefs.h <<EOF
1670 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1675 if test "$cf_scanf_attribute" = no ; then
1676 cat >>confdefs.h <<EOF
1677 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1680 cat >>confdefs.h <<EOF
1681 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1689 fgrep define conftest.i >>confdefs.h
1694 dnl ---------------------------------------------------------------------------
1695 dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1697 dnl Find version of gcc
1698 AC_DEFUN([CF_GCC_VERSION],[
1699 AC_REQUIRE([AC_PROG_CC])
1701 if test "$GCC" = yes ; then
1702 AC_MSG_CHECKING(version of $CC)
1703 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1704 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1705 AC_MSG_RESULT($GCC_VERSION)
1708 dnl ---------------------------------------------------------------------------
1709 dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
1711 dnl Check if the compiler supports useful warning options. There's a few that
1712 dnl we don't use, simply because they're too noisy:
1714 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1715 dnl -Wredundant-decls (system headers make this too noisy)
1716 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1717 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1718 dnl is enabled for ncurses using "--enable-const".
1722 dnl $1 is an optional list of gcc warning flags that a particular
1723 dnl application might want to use, e.g., "no-unused" for
1726 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1728 AC_DEFUN([CF_GCC_WARNINGS],
1730 AC_REQUIRE([CF_GCC_VERSION])
1731 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1733 cat > conftest.$ac_ext <<EOF
1734 #line __oline__ "${as_me:-configure}"
1735 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1738 if test "$INTEL_COMPILER" = yes
1740 # The "-wdXXX" options suppress warnings:
1741 # remark #1419: external declaration in primary source file
1742 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1743 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1744 # remark #193: zero used for undefined preprocessing identifier
1745 # remark #593: variable "curs_sb_left_arrow" was set but never used
1746 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1747 # remark #869: parameter "tw" was never referenced
1748 # remark #981: operands are evaluated in unspecified order
1749 # warning #279: controlling expression is constant
1751 AC_CHECKING([for $CC warning options])
1752 cf_save_CFLAGS="$CFLAGS"
1753 EXTRA_CFLAGS="-Wall"
1765 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1766 if AC_TRY_EVAL(ac_compile); then
1767 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1768 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1771 CFLAGS="$cf_save_CFLAGS"
1773 elif test "$GCC" = yes
1775 AC_CHECKING([for $CC warning options])
1776 cf_save_CFLAGS="$CFLAGS"
1779 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1780 for cf_opt in W Wall \
1781 Wbad-function-cast \
1785 Wmissing-declarations \
1786 Wmissing-prototypes \
1790 Wstrict-prototypes \
1791 Wundef $cf_warn_CONST $1
1793 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1794 if AC_TRY_EVAL(ac_compile); then
1795 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1796 case $cf_opt in #(vi
1798 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1801 case $GCC_VERSION in
1803 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1808 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1811 CFLAGS="$cf_save_CFLAGS"
1815 AC_SUBST(EXTRA_CFLAGS)
1817 dnl ---------------------------------------------------------------------------
1818 dnl CF_GETOPT_HEADER version: 4 updated: 2009/08/31 20:07:52
1819 dnl ----------------
1820 dnl Check for getopt's variables which are commonly defined in stdlib.h,
1821 dnl unistd.h or (nonstandard) in getopt.h
1822 AC_DEFUN([CF_GETOPT_HEADER],
1824 AC_HAVE_HEADERS(unistd.h getopt.h)
1825 AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
1826 cf_cv_getopt_header=none
1827 for cf_header in stdio.h stdlib.h unistd.h getopt.h
1830 #include <$cf_header>],
1831 [int x = optind; char *y = optarg],
1832 [cf_cv_getopt_header=$cf_header
1836 if test $cf_cv_getopt_header != none ; then
1837 AC_DEFINE(HAVE_GETOPT_HEADER)
1840 dnl ---------------------------------------------------------------------------
1841 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
1842 dnl ----------------
1843 AC_DEFUN([CF_GNAT_GENERICS],
1845 AC_REQUIRE([CF_GNAT_VERSION])
1847 AC_MSG_CHECKING(if GNAT supports generics)
1848 case $cf_gnat_version in #(vi
1849 3.[[1-9]]*|[[4-9]].*) #(vi
1850 cf_gnat_generics=yes
1856 AC_MSG_RESULT($cf_gnat_generics)
1858 if test "$cf_gnat_generics" = yes
1860 cf_compile_generics=generics
1861 cf_generic_objects="\${GENOBJS}"
1863 cf_compile_generics=
1867 AC_SUBST(cf_compile_generics)
1868 AC_SUBST(cf_generic_objects)
1870 dnl ---------------------------------------------------------------------------
1871 dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
1872 dnl --------------------
1873 dnl Check if the gnat pragma "Unreferenced" works.
1874 AC_DEFUN([CF_GNAT_PRAGMA_UNREF],[
1875 AC_CACHE_CHECK(if GNAT pragma Unreferenced works,cf_cv_pragma_unreferenced,[
1876 CF_GNAT_TRY_LINK([procedure conftest;],
1879 procedure conftest is
1881 pragma Unreferenced (test);
1884 Text_IO.Put ("Hello World");
1886 GNAT.OS_Lib.OS_Exit (0);
1888 [cf_cv_pragma_unreferenced=yes],
1889 [cf_cv_pragma_unreferenced=no])])
1891 # if the pragma is supported, use it (needed in the Trace code).
1892 if test $cf_cv_pragma_unreferenced = yes ; then
1897 AC_SUBST(PRAGMA_UNREF)
1899 dnl ---------------------------------------------------------------------------
1900 dnl CF_GNAT_PROJECTS version: 2 updated: 2011/03/23 20:24:41
1901 dnl ----------------
1902 dnl GNAT projects are configured with ".gpr" project files.
1903 dnl GNAT libraries are a further development, using the project feature.
1904 AC_DEFUN([CF_GNAT_PROJECTS],
1906 AC_REQUIRE([CF_GNAT_VERSION])
1908 cf_gnat_libraries=no
1911 AC_MSG_CHECKING(if GNAT supports project files)
1912 case $cf_gnat_version in #(vi
1916 case $cf_cv_system_name in #(vi
1920 mkdir conftest.src conftest.bin conftest.lib
1922 rm -rf conftest* *~conftest*
1923 cat >>library.gpr <<CF_EOF
1925 Kind := External ("LIB_KIND");
1926 for Library_Name use "ConfTest";
1927 for Object_Dir use ".";
1928 for Library_ALI_Dir use External("LIBRARY_DIR");
1929 for Library_Version use External ("SONAME");
1930 for Library_Kind use Kind;
1931 for Library_Dir use External("BUILD_DIR");
1932 Source_Dir := External ("SOURCE_DIR");
1933 for Source_Dirs use (Source_Dir);
1935 for Default_Switches ("Ada") use
1939 "-gnatVa", -- All validity checks
1940 "-gnatwa"); -- Activate all optional errors
1944 cat >>confpackage.ads <<CF_EOF
1945 package ConfPackage is
1949 cat >>confpackage.adb <<CF_EOF
1951 package body ConfPackage is
1952 procedure conftest is
1954 Text_IO.Put ("Hello World");
1959 if ( $cf_ada_make $ADAFLAGS \
1961 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
1962 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
1963 -XSOURCE_DIR=`pwd` \
1964 -XSONAME=libConfTest.so.1 \
1965 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
1966 cf_gnat_projects=yes
1969 if test -f conftest.lib/confpackage.ali
1971 cf_gnat_libraries=yes
1973 rm -rf conftest* *~conftest*
1978 AC_MSG_RESULT($cf_gnat_projects)
1980 if test $cf_gnat_projects = yes
1982 AC_MSG_CHECKING(if GNAT supports libraries)
1983 AC_MSG_RESULT($cf_gnat_libraries)
1986 if test "$cf_gnat_projects" = yes
1988 USE_OLD_MAKERULES="#"
1989 USE_GNAT_PROJECTS=""
1991 USE_OLD_MAKERULES=""
1992 USE_GNAT_PROJECTS="#"
1995 if test "$cf_gnat_libraries" = yes
1997 USE_GNAT_LIBRARIES=""
1999 USE_GNAT_LIBRARIES="#"
2002 AC_SUBST(USE_OLD_MAKERULES)
2003 AC_SUBST(USE_GNAT_PROJECTS)
2004 AC_SUBST(USE_GNAT_LIBRARIES)
2006 dnl ---------------------------------------------------------------------------
2007 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
2009 dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
2010 dnl is noted that gnat may compile a tasking unit even for configurations which
2011 dnl fail at runtime.
2012 AC_DEFUN([CF_GNAT_SIGINT],[
2013 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
2014 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
2018 pragma Warnings (Off); -- the next pragma exists since 3.11p
2019 pragma Unreserve_All_Interrupts;
2020 pragma Warnings (On);
2022 protected Process is
2024 function Continue return Boolean;
2025 pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
2027 Done : Boolean := False;
2031 [package body ConfTest is
2032 protected body Process is
2037 function Continue return Boolean is
2043 [cf_cv_gnat_sigint=yes],
2044 [cf_cv_gnat_sigint=no])])
2046 if test $cf_cv_gnat_sigint = yes ; then
2051 AC_SUBST(USE_GNAT_SIGINT)
2053 dnl ---------------------------------------------------------------------------
2054 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
2055 dnl ----------------
2056 dnl Verify that a test program compiles/links with GNAT.
2057 dnl $cf_ada_make is set to the program that compiles/links
2058 dnl $ADAFLAGS may be set to the GNAT flags.
2060 dnl $1 is the text of the spec
2061 dnl $2 is the text of the body
2062 dnl $3 is the shell command to execute if successful
2063 dnl $4 is the shell command to execute if not successful
2064 AC_DEFUN([CF_GNAT_TRY_LINK],
2066 rm -rf conftest* *~conftest*
2067 cat >>conftest.ads <<CF_EOF
2070 cat >>conftest.adb <<CF_EOF
2073 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2074 ifelse($3,, :,[ $3])
2078 rm -rf conftest* *~conftest*
2080 dnl ---------------------------------------------------------------------------
2081 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
2083 dnl Verify that a test program compiles and runs with GNAT
2084 dnl $cf_ada_make is set to the program that compiles/links
2085 dnl $ADAFLAGS may be set to the GNAT flags.
2087 dnl $1 is the text of the spec
2088 dnl $2 is the text of the body
2089 dnl $3 is the shell command to execute if successful
2090 dnl $4 is the shell command to execute if not successful
2091 AC_DEFUN([CF_GNAT_TRY_RUN],
2093 rm -rf conftest* *~conftest*
2094 cat >>conftest.ads <<CF_EOF
2097 cat >>conftest.adb <<CF_EOF
2100 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2101 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
2102 ifelse($3,, :,[ $3])
2109 rm -rf conftest* *~conftest*
2111 dnl ---------------------------------------------------------------------------
2112 dnl CF_GNAT_VERSION version: 17 updated: 2011/03/23 20:24:41
2114 dnl Verify version of GNAT.
2115 AC_DEFUN([CF_GNAT_VERSION],
2117 AC_MSG_CHECKING(for gnat version)
2118 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
2119 grep '[[0-9]].[[0-9]][[0-9]]*' |\
2120 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
2121 AC_MSG_RESULT($cf_gnat_version)
2123 case $cf_gnat_version in #(vi
2124 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*) #(vi
2125 cf_cv_prog_gnat_correct=yes
2128 AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
2129 cf_cv_prog_gnat_correct=no
2133 dnl ---------------------------------------------------------------------------
2134 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
2136 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2137 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
2138 dnl (or misfeature) of glibc2, which breaks portability of many applications,
2139 dnl since it is interwoven with GNU extensions.
2141 dnl Well, yes we could work around it...
2142 AC_DEFUN([CF_GNU_SOURCE],
2144 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2145 AC_TRY_COMPILE([#include <sys/types.h>],[
2146 #ifndef _XOPEN_SOURCE
2149 [cf_cv_gnu_source=no],
2150 [cf_save="$CPPFLAGS"
2151 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2152 AC_TRY_COMPILE([#include <sys/types.h>],[
2153 #ifdef _XOPEN_SOURCE
2156 [cf_cv_gnu_source=no],
2157 [cf_cv_gnu_source=yes])
2161 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2163 dnl ---------------------------------------------------------------------------
2164 dnl CF_GPP_LIBRARY version: 10 updated: 2010/05/29 16:31:02
2166 dnl If we're trying to use g++, test if libg++ is installed (a rather common
2167 dnl problem :-). If we have the compiler but no library, we'll be able to
2168 dnl configure, but won't be able to build the c++ demo program.
2169 AC_DEFUN([CF_GPP_LIBRARY],
2171 cf_cxx_library=unknown
2172 case $cf_cv_system_name in #(vi
2180 if test "$GXX" = yes; then
2181 AC_MSG_CHECKING([for lib$cf_gpp_libname])
2183 CF_ADD_LIB($cf_gpp_libname)
2185 #include <$cf_gpp_libname/builtin.h>
2187 [two_arg_error_handler_t foo2 = lib_error_handler],
2189 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2190 if test "$cf_gpp_libname" = cpp ; then
2191 AC_DEFINE(HAVE_GPP_BUILTIN_H)
2193 AC_DEFINE(HAVE_GXX_BUILTIN_H)
2196 #include <builtin.h>
2198 [two_arg_error_handler_t foo2 = lib_error_handler],
2200 CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2201 AC_DEFINE(HAVE_BUILTIN_H)],
2202 [cf_cxx_library=no])])
2204 AC_MSG_RESULT($cf_cxx_library)
2207 dnl ---------------------------------------------------------------------------
2208 dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18
2210 dnl Check for version of g++
2211 AC_DEFUN([CF_GXX_VERSION],[
2212 AC_REQUIRE([AC_PROG_CPP])
2214 if test "$GXX" = yes; then
2215 AC_MSG_CHECKING(version of g++)
2216 GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
2217 test -z "$GXX_VERSION" && GXX_VERSION=unknown
2218 AC_MSG_RESULT($GXX_VERSION)
2221 dnl ---------------------------------------------------------------------------
2222 dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37
2224 dnl Check if the compiler supports useful warning options.
2226 dnl Most of gcc's options apply to g++, except:
2227 dnl -Wbad-function-cast
2228 dnl -Wmissing-declarations
2229 dnl -Wnested-externs
2231 dnl Omit a few (for now):
2235 dnl $1 is an optional list of g++ warning flags that a particular
2236 dnl application might want to use, e.g., "no-unused" for
2239 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
2241 AC_DEFUN([CF_GXX_WARNINGS],
2244 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
2246 AC_REQUIRE([CF_GXX_VERSION])
2251 cat > conftest.$ac_ext <<EOF
2252 #line __oline__ "configure"
2253 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2256 if test "$INTEL_CPLUSPLUS" = yes
2258 # The "-wdXXX" options suppress warnings:
2259 # remark #1419: external declaration in primary source file
2260 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2261 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2262 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2263 # remark #193: zero used for undefined preprocessing identifier
2264 # remark #593: variable "curs_sb_left_arrow" was set but never used
2265 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2266 # remark #869: parameter "tw" was never referenced
2267 # remark #981: operands are evaluated in unspecified order
2268 # warning #269: invalid format string conversion
2270 AC_CHECKING([for $CC warning options])
2271 cf_save_CXXFLAGS="$CXXFLAGS"
2272 EXTRA_CXXFLAGS="-Wall"
2285 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
2286 if AC_TRY_EVAL(ac_compile); then
2287 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2288 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2291 CXXFLAGS="$cf_save_CXXFLAGS"
2293 elif test "$GXX" = yes
2295 AC_CHECKING([for $CXX warning options])
2296 cf_save_CXXFLAGS="$CXXFLAGS"
2297 EXTRA_CXXFLAGS="-W -Wall"
2298 cf_gxx_extra_warnings=""
2299 test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
2300 case "$GCC_VERSION" in
2304 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
2310 Woverloaded-virtual \
2316 Wmissing-prototypes \
2319 Wstrict-prototypes \
2320 Wundef $cf_gxx_extra_warnings $1
2322 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
2323 if AC_TRY_EVAL(ac_compile); then
2324 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2325 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2327 test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
2330 CXXFLAGS="$cf_save_CXXFLAGS"
2335 AC_SUBST(EXTRA_CXXFLAGS)
2337 dnl ---------------------------------------------------------------------------
2338 dnl CF_HASHED_DB version: 4 updated: 2010/05/29 16:31:02
2340 dnl Look for an instance of the Berkeley hashed database.
2342 dnl $1 = optional parameter, to specify install-prefix for the database.
2343 AC_DEFUN([CF_HASHED_DB],
2350 if test -d "$1" ; then
2351 CF_ADD_INCDIR($1/include)
2352 CF_ADD_LIBDIR($1/lib)
2356 AC_CHECK_HEADER(db.h,[
2357 CF_HASHED_DB_VERSION
2358 if test "$cf_cv_hashed_db_version" = unknown ; then
2359 AC_MSG_ERROR(Cannot determine version of db)
2362 if test "$cf_cv_hashed_db_libs" = unknown ; then
2363 AC_MSG_ERROR(Cannot determine library for db)
2364 elif test "$cf_cv_hashed_db_libs" != default ; then
2365 CF_ADD_LIB($cf_cv_hashed_db_libs)
2369 AC_MSG_ERROR(Cannot find db.h)
2372 dnl ---------------------------------------------------------------------------
2373 dnl CF_HASHED_DB_LIBS version: 9 updated: 2010/05/29 16:31:02
2374 dnl -----------------
2375 dnl Given that we have the header and version for hashed database, find the
2376 dnl library information.
2377 AC_DEFUN([CF_HASHED_DB_LIBS],
2379 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2380 cf_cv_hashed_db_libs=unknown
2381 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2383 cf_save_libs="$LIBS"
2384 if test -n "$cf_db_libs"; then
2385 CF_ADD_LIB($cf_db_libs)
2387 CF_MSG_LOG(checking for library "$cf_db_libs")
2389 $ac_includes_default
2392 char *path = "/tmp/foo";
2393 #ifdef DB_VERSION_MAJOR
2394 #if DB_VERSION_MAJOR >= 4
2396 db_create(&result, NULL, 0);
2397 result->open(result,
2404 #elif DB_VERSION_MAJOR >= 3
2406 db_create(&result, NULL, 0);
2407 result->open(result,
2413 #elif DB_VERSION_MAJOR >= 2
2422 #endif /* DB_VERSION_MAJOR */
2424 DB *result = dbopen(path,
2430 ${cf_cv_main_return:-return}(result != 0)
2432 if test -n "$cf_db_libs" ; then
2433 cf_cv_hashed_db_libs=$cf_db_libs
2435 cf_cv_hashed_db_libs=default
2437 LIBS="$cf_save_libs"
2440 LIBS="$cf_save_libs"
2444 dnl ---------------------------------------------------------------------------
2445 dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
2446 dnl --------------------
2447 dnl Given that we have the header file for hashed database, find the version
2449 AC_DEFUN([CF_HASHED_DB_VERSION],
2451 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2452 cf_cv_hashed_db_version=unknown
2454 for cf_db_version in 1 2 3 4 5
2456 CF_MSG_LOG(checking for db version $cf_db_version)
2458 $ac_includes_default
2461 #ifdef DB_VERSION_MAJOR
2462 /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2463 #if $cf_db_version == DB_VERSION_MAJOR
2469 #if $cf_db_version == 1
2470 /* ok: assuming this is DB 1.8.5 */
2476 cf_cv_hashed_db_version=$cf_db_version
2482 dnl ---------------------------------------------------------------------------
2483 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
2485 dnl Construct a search-list of directories for a nonstandard header-file
2488 dnl $1 = the variable to return as result
2489 dnl $2 = the package name
2490 AC_DEFUN([CF_HEADER_PATH],
2494 # collect the current set of include-directories from compiler flags
2495 cf_header_path_list=""
2496 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2497 for cf_header_path in $CPPFLAGS $CFLAGS
2499 case $cf_header_path in #(vi
2501 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2502 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2503 cf_header_path_list="$cf_header_path_list [$]$1"
2509 # add the variations for the package we are looking for
2510 CF_SUBDIR_PATH($1,$2,include)
2512 test "$includedir" != NONE && \
2513 test "$includedir" != "/usr/include" && \
2514 test -d "$includedir" && {
2515 test -d $includedir && $1="[$]$1 $includedir"
2516 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2519 test "$oldincludedir" != NONE && \
2520 test "$oldincludedir" != "/usr/include" && \
2521 test -d "$oldincludedir" && {
2522 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
2523 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2526 $1="[$]$1 $cf_header_path_list"
2528 dnl ---------------------------------------------------------------------------
2529 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2531 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2532 AC_DEFUN([CF_HELP_MESSAGE],
2533 [AC_DIVERT_HELP([$1])dnl
2535 dnl ---------------------------------------------------------------------------
2536 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
2538 dnl Construct the list of include-options according to whether we're building
2539 dnl in the source directory or using '--srcdir=DIR' option. If we're building
2540 dnl with gcc, don't append the includedir if it happens to be /usr/include,
2541 dnl since that usually breaks gcc's shadow-includes.
2542 AC_DEFUN([CF_INCLUDE_DIRS],
2544 CPPFLAGS="$CPPFLAGS -I. -I../include"
2545 if test "$srcdir" != "."; then
2546 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
2548 if test "$GCC" != yes; then
2549 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2550 elif test "$includedir" != "/usr/include"; then
2551 if test "$includedir" = '${prefix}/include' ; then
2552 if test $prefix != /usr ; then
2553 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2556 CPPFLAGS="$CPPFLAGS -I\${includedir}"
2561 dnl ---------------------------------------------------------------------------
2562 dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
2563 dnl -----------------
2564 dnl Check if the given compiler is really the Intel compiler for Linux. It
2565 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2566 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2568 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2569 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
2570 dnl the wrappers for gcc and g++ warnings.
2572 dnl $1 = GCC (default) or GXX
2573 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2574 dnl $3 = CFLAGS (default) or CXXFLAGS
2575 AC_DEFUN([CF_INTEL_COMPILER],[
2576 ifelse([$2],,INTEL_COMPILER,[$2])=no
2578 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2581 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2582 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2583 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2585 #ifdef __INTEL_COMPILER
2589 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2590 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
2592 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2593 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2598 dnl ---------------------------------------------------------------------------
2599 dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
2601 dnl Check if we have either a function or macro for 'isascii()'.
2602 AC_DEFUN([CF_ISASCII],
2604 AC_MSG_CHECKING(for isascii)
2605 AC_CACHE_VAL(cf_cv_have_isascii,[
2606 AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2607 [cf_cv_have_isascii=yes],
2608 [cf_cv_have_isascii=no])
2610 AC_MSG_RESULT($cf_cv_have_isascii)
2611 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
2613 dnl ---------------------------------------------------------------------------
2614 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
2616 dnl Add checks for large file support.
2617 AC_DEFUN([CF_LARGEFILE],[
2618 ifdef([AC_FUNC_FSEEKO],[
2620 if test "$enable_largefile" != no ; then
2623 # Normally we would collect these definitions in the config.h,
2624 # but (like _XOPEN_SOURCE), some environments rely on having these
2625 # defined before any of the system headers are included. Another
2626 # case comes up with C++, e.g., on AIX the compiler compiles the
2627 # header files by themselves before looking at the body files it is
2628 # told to compile. For ncurses, those header files do not include
2630 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2631 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2632 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2634 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2636 #include <sys/types.h>
2639 /* if transitional largefile support is setup, this is true */
2640 extern struct dirent64 * readdir(DIR *);
2641 struct dirent64 *x = readdir((DIR *)0);
2642 struct dirent *y = readdir((DIR *)0);
2645 [cf_cv_struct_dirent64=yes],
2646 [cf_cv_struct_dirent64=no])
2648 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
2652 dnl ---------------------------------------------------------------------------
2653 dnl CF_LDFLAGS_STATIC version: 9 updated: 2011/07/02 15:36:04
2654 dnl -----------------
2655 dnl Check for compiler/linker flags used to temporarily force usage of static
2656 dnl libraries. This depends on the compiler and platform. Use this to help
2657 dnl ensure that the linker picks up a given library based on its position in
2658 dnl the list of linker options and libraries.
2659 AC_DEFUN([CF_LDFLAGS_STATIC],[
2661 if test "$GCC" = yes ; then
2662 case $cf_cv_system_name in #(
2663 OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*) #( vi
2667 *) #( normally, except when broken
2668 LDFLAGS_STATIC=-static
2669 LDFLAGS_SHARED=-dynamic
2673 case $cf_cv_system_name in #(
2674 aix[[4-7]]*) #( from ld manpage
2675 LDFLAGS_STATIC=-bstatic
2676 LDFLAGS_SHARED=-bdynamic
2678 hpux*) #( from ld manpage for hpux10.20, hpux11.11
2679 # We could also use just "archive" and "shared".
2680 LDFLAGS_STATIC=-Wl,-a,archive_shared
2681 LDFLAGS_SHARED=-Wl,-a,shared_archive
2683 irix*) #( from ld manpage IRIX64
2684 LDFLAGS_STATIC=-Bstatic
2685 LDFLAGS_SHARED=-Bdynamic
2687 osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
2688 # alternative "-oldstyle_liblookup" (not in cc manpage)
2689 LDFLAGS_STATIC=-noso
2690 LDFLAGS_SHARED=-so_archive
2693 LDFLAGS_STATIC=-Bstatic
2694 LDFLAGS_SHARED=-Bdynamic
2699 if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
2701 AC_MSG_CHECKING(if linker supports switching between static/dynamic)
2704 cat >conftest.$ac_ext <<EOF
2705 #line __oline__ "configure"
2707 int cf_ldflags_static(FILE *fp) { return fflush(fp); }
2709 if AC_TRY_EVAL(ac_compile) ; then
2710 ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&AC_FD_CC 1>/dev/null
2711 ( eval $RANLIB libconftest.a ) 2>&AC_FD_CC >/dev/null
2715 cf_save_LIBS="$LIBS"
2717 LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
2719 #line __oline__ "configure"
2721 int cf_ldflags_static(FILE *fp);
2723 return cf_ldflags_static(stdin);
2724 ],[cf_ldflags_static=yes],[cf_ldflags_static=no])
2727 LIBS="$cf_save_LIBS"
2729 AC_MSG_RESULT($cf_ldflags_static)
2731 if test $cf_ldflags_static != yes
2741 AC_SUBST(LDFLAGS_STATIC)
2742 AC_SUBST(LDFLAGS_SHARED)
2744 dnl ---------------------------------------------------------------------------
2745 dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13
2747 dnl For the given system and compiler, find the compiler flags to pass to the
2748 dnl loader to use the "rpath" feature.
2749 AC_DEFUN([CF_LD_RPATH_OPT],
2751 AC_REQUIRE([CF_CHECK_CACHE])
2754 AC_MSG_CHECKING(for an rpath option)
2755 case $cf_cv_system_name in #(vi
2757 if test "$GCC" = yes; then
2758 LD_RPATH_OPT="-Wl,-rpath,"
2760 LD_RPATH_OPT="-rpath "
2763 linux*|gnu*|k*bsd*-gnu) #(vi
2764 LD_RPATH_OPT="-Wl,-rpath,"
2766 openbsd[[2-9]].*|mirbsd*) #(vi
2767 LD_RPATH_OPT="-Wl,-rpath,"
2770 LD_RPATH_OPT="-rpath "
2773 LD_RPATH_OPT="-Wl,-rpath,"
2776 LD_RPATH_OPT="-rpath "
2784 AC_MSG_RESULT($LD_RPATH_OPT)
2786 case "x$LD_RPATH_OPT" in #(vi
2788 AC_MSG_CHECKING(if we need a space after rpath option)
2789 cf_save_LIBS="$LIBS"
2790 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
2791 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
2792 LIBS="$cf_save_LIBS"
2793 AC_MSG_RESULT($cf_rpath_space)
2794 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
2798 dnl ---------------------------------------------------------------------------
2799 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
2801 dnl Construct a search-list of directories for a nonstandard library-file
2804 dnl $1 = the variable to return as result
2805 dnl $2 = the package name
2806 AC_DEFUN([CF_LIBRARY_PATH],
2809 cf_library_path_list=""
2810 if test -n "${LDFLAGS}${LIBS}" ; then
2811 for cf_library_path in $LDFLAGS $LIBS
2813 case $cf_library_path in #(vi
2815 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
2816 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
2817 cf_library_path_list="$cf_library_path_list [$]$1"
2823 CF_SUBDIR_PATH($1,$2,lib)
2825 $1="$cf_library_path_list [$]$1"
2827 dnl ---------------------------------------------------------------------------
2828 dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
2830 dnl Compute the library-prefix for the given host system
2831 dnl $1 = variable to set
2832 AC_DEFUN([CF_LIB_PREFIX],
2834 case $cf_cv_system_name in #(vi
2841 ifelse($1,,,[$1=$LIB_PREFIX])
2842 AC_SUBST(LIB_PREFIX)
2844 dnl ---------------------------------------------------------------------------
2845 dnl CF_LIB_RULES version: 61 updated: 2010/10/23 16:10:30
2847 dnl Append definitions and rules for the given models to the subdirectory
2848 dnl Makefiles, and the recursion rule for the top-level Makefile. If the
2849 dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
2850 dnl the corresponding makefile to list the models that we'll generate.
2852 dnl For shared libraries, make a list of symbolic links to construct when
2853 dnl generating each library. The convention used for Linux is the simplest
2856 dnl lib<name>.so.<major> ->
2857 dnl lib<name>.so.<maj>.<minor>
2858 AC_DEFUN([CF_LIB_RULES],
2860 CF_LIB_PREFIX(cf_prefix)
2861 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
2863 if test $cf_cv_shlib_version = cygdll ; then
2864 TINFO_NAME=$TINFO_ARG_SUFFIX
2868 if test -n "$TINFO_SUFFIX" ; then
2869 case $TINFO_SUFFIX in
2871 TINFO_NAME="${TINFO_NAME}tw"
2872 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^tw//'`
2875 TINFO_NAME="${TINFO_NAME}t"
2876 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^t//'`
2879 TINFO_NAME="${TINFO_NAME}w"
2880 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^w//'`
2885 for cf_dir in $SRC_SUBDIRS
2887 if test ! -d $srcdir/$cf_dir ; then
2889 elif test -f $srcdir/$cf_dir/modules; then
2893 for cf_item in $cf_LIST_MODELS
2895 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
2896 if test $cf_item = shared ; then
2897 if test "$cf_cv_do_symlinks" = yes ; then
2898 case "$cf_cv_shlib_version" in #(vi
2900 case "$cf_cv_system_name" in #(vi
2902 case .${LIB_SUFFIX} in
2904 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
2905 cf_suffix=tw'.${REL_VERSION}'"$cf_suffix"
2908 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
2909 cf_suffix=t'.${REL_VERSION}'"$cf_suffix"
2912 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2913 cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
2916 cf_suffix='.${REL_VERSION}'"$cf_suffix"
2920 *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
2924 case "$cf_cv_system_name" in #(vi
2926 case .${LIB_SUFFIX} in
2928 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
2929 cf_suffix=tw'.${ABI_VERSION}'"$cf_suffix"
2932 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
2933 cf_suffix=t'.${ABI_VERSION}'"$cf_suffix"
2936 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
2937 cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
2940 cf_suffix='.${ABI_VERSION}'"$cf_suffix"
2944 *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
2949 # cygwin needs import library, and has unique naming convention
2950 # use autodetected ${cf_prefix} for import lib and static lib, but
2951 # use 'cyg' prefix for shared lib.
2952 if test $cf_cv_shlib_version = cygdll ; then
2953 cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
2954 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
2958 LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
2961 if test $cf_dir = ncurses ; then
2962 cf_subsets="$LIB_SUBSETS"
2963 cf_r_parts="$cf_subsets"
2964 cf_liblist="$LIBS_TO_MAKE"
2966 while test -n "$cf_r_parts"
2968 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
2969 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
2970 if test "$cf_l_parts" != "$cf_r_parts" ; then
2972 case $cf_l_parts in #(vi
2974 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
2977 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
2983 if test -n "$cf_item"; then
2984 LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
2991 cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
2994 sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
2995 -e "s%@SHARED_LIB@%$SHARED_LIB%" \
2996 $cf_dir/Makefile >$cf_dir/Makefile.out
2997 mv $cf_dir/Makefile.out $cf_dir/Makefile
2999 $AWK -f $srcdir/mk-0th.awk \
3000 libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
3001 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3003 for cf_subset in $cf_subsets
3006 for cf_item in $cf_LIST_MODELS
3008 echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
3009 CF_UPPER(cf_ITEM,$cf_item)
3010 CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3011 CF_OBJ_SUBDIR($cf_item,cf_subdir)
3013 # Test for case where we build libtinfo with a different name.
3015 if test $cf_dir = ncurses ; then
3018 cf_libname=${cf_libname}$LIB_SUFFIX
3021 cf_libname=$TINFO_LIB_SUFFIX
3024 cf_libname=$TICS_LIB_SUFFIX
3028 cf_libname=${cf_libname}$LIB_SUFFIX
3030 if test -n "${DFT_ARG_SUFFIX}" ; then
3031 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
3032 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
3035 # These dependencies really are for development, not
3036 # builds, but they are useful in porting, too.
3037 cf_depend="../include/ncurses_cfg.h"
3038 if test "$srcdir" = "."; then
3041 cf_reldir="\${srcdir}"
3044 if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
3045 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
3046 elif test -f $srcdir/$cf_dir/curses.priv.h; then
3047 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
3051 old_cf_suffix="$cf_suffix"
3052 if test "$cf_cv_shlib_version_infix" = yes ; then
3053 if test -n "$LIB_SUFFIX" ; then
3056 cf_libname=`echo $cf_libname | sed 's/tw$//'`
3057 cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
3061 cf_libname=`echo $cf_libname | sed 's/t$//'`
3062 cf_suffix=`echo $cf_suffix | sed 's/^t//'`
3066 cf_libname=`echo $cf_libname | sed 's/w$//'`
3067 cf_suffix=`echo $cf_suffix | sed 's/^w//'`
3074 $AWK -f $srcdir/mk-1st.awk \
3075 name=${cf_libname}${cf_dir_suffix} \
3076 traces=$LIB_TRACING \
3083 TermlibRoot=$TINFO_NAME \
3084 TermlibSuffix=$TINFO_SUFFIX \
3085 ShlibVer=$cf_cv_shlib_version \
3086 ShlibVerInfix=$cf_cv_shlib_version_infix \
3087 ReLink=${cf_cv_do_relink:-no} \
3088 DoLinks=$cf_cv_do_symlinks \
3089 rmSoLocs=$cf_cv_rm_so_locs \
3090 ldconfig="$LDCONFIG" \
3091 overwrite=$WITH_OVERWRITE \
3092 depend="$cf_depend" \
3094 libtool_version="$LIBTOOL_VERSION" \
3095 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3097 cf_suffix="$old_cf_suffix"
3099 for cf_subdir2 in $cf_subdirs lib
3101 test $cf_subdir = $cf_subdir2 && break
3103 test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
3104 $AWK -f $srcdir/mk-2nd.awk \
3106 traces=$LIB_TRACING \
3112 crenames=$cf_cv_prog_CC_c_o \
3113 cxxrenames=$cf_cv_prog_CXX_c_o \
3114 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3115 cf_subdirs="$cf_subdirs $cf_subdir"
3120 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
3123 for cf_dir in $SRC_SUBDIRS
3125 if test ! -d $srcdir/$cf_dir ; then
3129 if test -f $cf_dir/Makefile ; then
3132 echo 'libs \' >> Makefile
3133 echo 'install.libs \' >> Makefile
3134 echo 'uninstall.libs ::' >> Makefile
3135 echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
3140 if test -f $srcdir/$cf_dir/modules; then
3142 if test -f $srcdir/$cf_dir/headers; then
3143 cat >> Makefile <<CF_EOF
3145 uninstall.includes \\
3148 if test "$cf_dir" != "c++" ; then
3149 echo 'lint \' >> Makefile
3151 cat >> Makefile <<CF_EOF
3157 uninstall.$cf_dir ::
3158 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
3160 elif test -f $srcdir/$cf_dir/headers; then
3161 cat >> Makefile <<CF_EOF
3167 uninstall.includes ::
3168 cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
3173 cat >> Makefile <<CF_EOF
3175 install.libs uninstall.libs \\
3176 install.data uninstall.data ::
3177 $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
3180 if test "x$cf_with_manpages" = xyes; then
3181 cat >> Makefile <<CF_EOF
3185 cd man && \${MAKE} \${CF_MFLAGS} \[$]@
3189 cat >> Makefile <<CF_EOF
3192 rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
3193 rm -f headers.sh headers.sed mk_shared_lib.sh
3194 rm -f edit_man.* man_alias.*
3195 rm -rf \${DIRS_TO_MAKE}
3198 # Special case: tack's manpage lives in its own directory.
3199 if test "x$cf_with_manpages" = xyes; then
3200 if test -d tack ; then
3201 if test -f $srcdir/$tack.h; then
3202 cat >> Makefile <<CF_EOF
3206 cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
3212 dnl If we're installing into a subdirectory of /usr/include, etc., we should
3213 dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
3214 dnl anything, and will make it more standardized. It's awkward to decide this
3215 dnl at configuration because of quoting, so we'll simply make all headers
3216 dnl installed via a script that can do the right thing.
3218 rm -f headers.sed headers.sh
3220 dnl ( generating this script makes the makefiles a little tidier :-)
3221 echo creating headers.sh
3222 cat >headers.sh <<CF_EOF
3224 # This shell script is generated by the 'configure' script. It is invoked in a
3225 # subdirectory of the build tree. It generates a sed-script in the parent
3226 # directory that is used to adjust includes for header files that reside in a
3227 # subdirectory of /usr/include, etc.
3229 while test \[$]# != 3
3231 PRG="\$PRG \[$]1"; shift
3236 TMPSRC=\${TMPDIR:-/tmp}/\`basename \$SRC\`\$\$
3237 TMPSED=\${TMPDIR:-/tmp}/headers.sed\$\$
3238 echo installing \$SRC in \$DST
3241 if test $WITH_CURSES_H = yes; then
3242 cat >>headers.sh <<CF_EOF
3245 END=\`basename \$DST\`
3246 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3248 NAME=\`basename \$i\`
3249 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3259 cat >>headers.sh <<CF_EOF
3262 END=\`basename \$DST\`
3263 for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3265 NAME=\`basename \$i\`
3266 if test "\$NAME" = "curses.h"
3268 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3271 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3275 echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3280 cat >>headers.sh <<CF_EOF
3282 sed -f \$TMPSED \$SRC > \$TMPSRC
3283 NAME=\`basename \$SRC\`
3285 if test $WITH_CURSES_H != yes; then
3286 cat >>headers.sh <<CF_EOF
3287 test "\$NAME" = "curses.h" && NAME=ncurses.h
3290 cat >>headers.sh <<CF_EOF
3291 # Just in case someone gzip'd manpages, remove the conflicting copy.
3292 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
3294 eval \$PRG \$TMPSRC \$DST/\$NAME
3295 rm -f \$TMPSRC \$TMPSED
3298 chmod 0755 headers.sh
3300 for cf_dir in $SRC_SUBDIRS
3302 if test ! -d $srcdir/$cf_dir ; then
3306 if test -f $srcdir/$cf_dir/headers; then
3307 $AWK -f $srcdir/mk-hdr.awk \
3308 subset="$LIB_SUBSETS" \
3309 compat="$WITH_CURSES_H" \
3310 $srcdir/$cf_dir/headers >>$cf_dir/Makefile
3313 if test -f $srcdir/$cf_dir/modules; then
3314 if test "$cf_dir" != "c++" ; then
3315 cat >>$cf_dir/Makefile <<"CF_EOF"
3316 depend : ${AUTO_SRC}
3317 makedepend -- ${CPPFLAGS} -- ${C_SRC}
3319 # DO NOT DELETE THIS LINE -- make depend depends on it.
3324 AC_SUBST(LIBS_TO_MAKE)
3326 dnl ---------------------------------------------------------------------------
3327 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
3329 dnl Find the and soname for the given shared library. Set the cache variable
3330 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
3331 dnl variable to "unknown".
3335 dnl $3 = library name
3336 AC_DEFUN([CF_LIB_SONAME],
3338 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
3340 cf_cv_$3_soname=unknown
3341 if test "$cross_compiling" != yes ; then
3342 cat >conftest.$ac_ext <<CF_EOF
3347 ${cf_cv_main_return:-return}(0);
3350 cf_save_LIBS="$LIBS"
3352 if AC_TRY_EVAL(ac_compile) ; then
3353 if AC_TRY_EVAL(ac_link) ; then
3354 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
3355 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
3359 LIBS="$cf_save_LIBS"
3363 dnl ---------------------------------------------------------------------------
3364 dnl CF_LIB_SUFFIX version: 17 updated: 2011/07/02 15:36:04
3366 dnl Compute the library file-suffix from the given model name
3368 dnl $2 = variable to set (the nominal library suffix)
3369 dnl $3 = dependency variable to set (actual filename)
3370 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3371 AC_DEFUN([CF_LIB_SUFFIX],
3373 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3392 case $cf_cv_system_name in
3422 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3423 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
3425 dnl ---------------------------------------------------------------------------
3426 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
3428 dnl Compute the string to append to -library from the given model name
3430 dnl $2 = variable to set
3431 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3432 AC_DEFUN([CF_LIB_TYPE],
3441 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3443 dnl ---------------------------------------------------------------------------
3444 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
3445 dnl ----------------
3446 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3447 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
3448 dnl have to provide wrappers for global tables to ensure they're linked
3450 AC_DEFUN([CF_LINK_DATAONLY],
3452 AC_MSG_CHECKING([if data-only library module links])
3453 AC_CACHE_VAL(cf_cv_link_dataonly,[
3455 cat >conftest.$ac_ext <<EOF
3456 #line __oline__ "configure"
3457 int testdata[[3]] = { 123, 456, 789 };
3459 if AC_TRY_EVAL(ac_compile) ; then
3460 mv conftest.o data.o && \
3461 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3463 rm -f conftest.$ac_ext data.o
3464 cat >conftest.$ac_ext <<EOF
3465 #line __oline__ "configure"
3469 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
3471 extern int testdata[[3]];
3472 return testdata[[0]] == 123
3473 && testdata[[1]] == 456
3474 && testdata[[2]] == 789;
3478 if AC_TRY_EVAL(ac_compile); then
3479 mv conftest.o func.o && \
3480 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3482 rm -f conftest.$ac_ext func.o
3483 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3485 LIBS="conftest.a $LIBS"
3489 extern int testfunc();
3490 ${cf_cv_main_return:-return} (!testfunc());
3493 [cf_cv_link_dataonly=yes],
3494 [cf_cv_link_dataonly=no],
3495 [cf_cv_link_dataonly=unknown])
3498 AC_MSG_RESULT($cf_cv_link_dataonly)
3500 if test "$cf_cv_link_dataonly" = no ; then
3501 AC_DEFINE(BROKEN_LINKER)
3506 dnl ---------------------------------------------------------------------------
3507 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
3509 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3510 dnl A few non-Unix systems implement symlink, but not link.
3511 dnl A few non-systems implement neither (or have nonfunctional versions).
3512 AC_DEFUN([CF_LINK_FUNCS],
3518 if test "$cross_compiling" = yes ; then
3523 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
3525 for cf_func in link symlink ; do
3527 #include <sys/types.h>
3528 #include <sys/stat.h>
3529 #ifdef HAVE_UNISTD_H
3535 char *src = "config.log";
3536 char *dst = "conftest.chk";
3541 fail = ($cf_func("config.log", "conftest.chk") < 0)
3542 || (stat(dst, &dst_sb) < 0)
3543 || (dst_sb.st_mtime != src_sb.st_mtime);
3549 ${cf_cv_main_return:-return} (fail);
3552 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
3553 eval 'ac_cv_func_'$cf_func'=yes'],[
3554 eval 'ac_cv_func_'$cf_func'=no'],[
3555 eval 'ac_cv_func_'$cf_func'=error'])
3557 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
3559 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
3560 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
3563 dnl ---------------------------------------------------------------------------
3564 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
3566 dnl Check if a return from main to the shell actually returns the same exit
3567 dnl code. This is true for almost any POSIX environment.
3569 dnl Some very old environments did not flush stdout, etc., on an exit. That
3570 dnl would be a useful case to test for also.
3571 AC_DEFUN([CF_MAIN_RETURN],
3573 cf_cv_main_return=return
3575 dnl ---------------------------------------------------------------------------
3576 dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
3578 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
3579 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
3580 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
3581 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
3582 AC_DEFUN([CF_MAKEFLAGS],
3584 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
3586 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
3588 cat >cf_makeflags.tmp <<CF_EOF
3591 @ echo '.$cf_option'
3593 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
3594 case "$cf_result" in
3596 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
3597 case "$cf_result" in
3598 .*CC=*) cf_cv_makeflags=
3600 *) cf_cv_makeflags=$cf_option
3606 *) echo "given option \"$cf_option\", no match \"$cf_result\""
3610 rm -f cf_makeflags.tmp
3613 AC_SUBST(cf_cv_makeflags)
3615 dnl ---------------------------------------------------------------------------
3616 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
3618 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
3619 dnl a monocase filesystem.
3620 AC_DEFUN([CF_MAKE_TAGS],[
3621 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
3623 AC_CHECK_PROGS(CTAGS, exctags ctags)
3624 AC_CHECK_PROGS(ETAGS, exetags etags)
3626 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
3628 if test "$cf_cv_mixedcase" = yes ; then
3629 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
3634 if test "$MAKE_UPPER_TAGS" = yes ; then
3640 if test "$MAKE_LOWER_TAGS" = yes ; then
3649 AC_SUBST(MAKE_UPPER_TAGS)
3650 AC_SUBST(MAKE_LOWER_TAGS)
3652 dnl ---------------------------------------------------------------------------
3653 dnl CF_MANPAGE_FORMAT version: 9 updated: 2010/10/23 16:10:30
3654 dnl -----------------
3655 dnl Option to allow user to override automatic configuration of manpage format.
3656 dnl There are several special cases:
3658 dnl gzip - man checks for, can display gzip'd files
3659 dnl compress - man checks for, can display compressed files
3660 dnl BSDI - files in the cat-directories are suffixed ".0"
3661 dnl formatted - installer should format (put files in cat-directory)
3662 dnl catonly - installer should only format, e.g., for a turnkey system.
3664 dnl There are other configurations which this macro does not test, e.g., HPUX's
3665 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
3666 dnl convention would not match our use).
3667 AC_DEFUN([CF_MANPAGE_FORMAT],
3669 AC_REQUIRE([CF_PATHSEP])
3670 AC_MSG_CHECKING(format of man-pages)
3672 AC_ARG_WITH(manpage-format,
3673 [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
3674 optionally formatted/catonly, e.g., gzip,formatted],
3675 [MANPAGE_FORMAT=$withval],
3676 [MANPAGE_FORMAT=unknown])
3678 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
3679 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
3683 case $MANPAGE_FORMAT in
3685 if test -z "$MANPATH" ; then
3686 MANPATH="/usr/man:/usr/share/man"
3689 # look for the 'date' man-page (it's most likely to be installed!)
3695 IFS="${IFS:- }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
3696 for cf_dir in $MANPATH; do
3697 test -z "$cf_dir" && cf_dir=/usr/man
3698 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
3700 cf_test=`echo $cf_name | sed -e 's/*//'`
3701 if test "x$cf_test" = "x$cf_name" ; then
3704 *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
3705 *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
3706 *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
3707 *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
3721 # if we found a match in either man* or cat*, stop looking
3722 if test -n "$MANPAGE_FORMAT" ; then
3724 test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
3725 test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
3731 test $cf_found=yes && break
3734 # only check the first directory in $MANPATH where we find manpages
3735 if test -n "$MANPAGE_FORMAT" ; then
3739 # if we did not find the example, just assume it is normal
3740 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
3744 for cf_option in $MANPAGE_FORMAT; do
3745 case $cf_option in #(vi
3746 gzip|compress|BSDI|normal|formatted|catonly)
3749 cf_unknown="$cf_unknown $cf_option"
3756 AC_MSG_RESULT($MANPAGE_FORMAT)
3757 if test -n "$cf_unknown" ; then
3758 AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
3761 dnl ---------------------------------------------------------------------------
3762 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
3763 dnl ------------------
3764 dnl The Debian people have their own naming convention for manpages. This
3765 dnl option lets us override the name of the file containing renaming, or
3766 dnl disable it altogether.
3767 AC_DEFUN([CF_MANPAGE_RENAMES],
3769 AC_MSG_CHECKING(for manpage renaming)
3771 AC_ARG_WITH(manpage-renames,
3772 [ --with-manpage-renames specify manpage-renaming],
3773 [MANPAGE_RENAMES=$withval],
3774 [MANPAGE_RENAMES=yes])
3776 case ".$MANPAGE_RENAMES" in #(vi
3780 # Debian 'man' program?
3781 if test -f /etc/debian_version ; then
3782 MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
3789 if test "$MANPAGE_RENAMES" != no ; then
3790 if test -f $srcdir/man/$MANPAGE_RENAMES ; then
3791 MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
3792 elif test ! -f $MANPAGE_RENAMES ; then
3793 AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
3796 test ! -d man && mkdir man
3798 # Construct a sed-script to perform renaming within man-pages
3799 if test -n "$MANPAGE_RENAMES" ; then
3800 test ! -d man && mkdir man
3801 sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
3805 AC_MSG_RESULT($MANPAGE_RENAMES)
3806 AC_SUBST(MANPAGE_RENAMES)
3808 dnl ---------------------------------------------------------------------------
3809 dnl CF_MANPAGE_SYMLINKS version: 5 updated: 2010/07/24 17:12:40
3810 dnl -------------------
3811 dnl Some people expect each tool to make all aliases for manpages in the
3812 dnl man-directory. This accommodates the older, less-capable implementations
3813 dnl of 'man', and is optional.
3814 AC_DEFUN([CF_MANPAGE_SYMLINKS],
3816 AC_MSG_CHECKING(if manpage aliases will be installed)
3818 AC_ARG_WITH(manpage-aliases,
3819 [ --with-manpage-aliases specify manpage-aliases using .so],
3820 [MANPAGE_ALIASES=$withval],
3821 [MANPAGE_ALIASES=yes])
3823 AC_MSG_RESULT($MANPAGE_ALIASES)
3825 case "x$LN_S" in #(vi
3835 if test "$MANPAGE_ALIASES" = yes ; then
3836 AC_MSG_CHECKING(if manpage symlinks should be used)
3838 AC_ARG_WITH(manpage-symlinks,
3839 [ --with-manpage-symlinks specify manpage-aliases using symlinks],
3840 [MANPAGE_SYMLINKS=$withval],
3841 [MANPAGE_SYMLINKS=$cf_use_symlinks])
3843 if test "$$cf_use_symlinks" = no; then
3844 if test "$MANPAGE_SYMLINKS" = yes ; then
3845 AC_MSG_WARN(cannot make symlinks, will use .so files)
3850 AC_MSG_RESULT($MANPAGE_SYMLINKS)
3854 dnl ---------------------------------------------------------------------------
3855 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
3857 dnl This option causes manpages to be run through tbl(1) to generate tables
3859 AC_DEFUN([CF_MANPAGE_TBL],
3861 AC_MSG_CHECKING(for manpage tbl)
3863 AC_ARG_WITH(manpage-tbl,
3864 [ --with-manpage-tbl specify manpage processing with tbl],
3865 [MANPAGE_TBL=$withval],
3868 AC_MSG_RESULT($MANPAGE_TBL)
3870 dnl ---------------------------------------------------------------------------
3871 dnl CF_MAN_PAGES version: 39 updated: 2010/10/23 15:44:18
3873 dnl Try to determine if the man-pages on the system are compressed, and if
3874 dnl so, what format is used. Use this information to construct a script that
3875 dnl will install man-pages.
3876 AC_DEFUN([CF_MAN_PAGES],
3878 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
3884 if test "$prefix" = "NONE" ; then
3885 cf_prefix="$ac_default_prefix"
3890 case "$MANPAGE_FORMAT" in # (vi
3905 test ! -d man && mkdir man
3909 case "$MANPAGE_FORMAT" in #(vi
3912 cf_compress=compress
3920 cf_edit_man=./edit_man.sh
3921 cf_man_alias=`pwd`/man_alias.sed
3923 cat >$cf_edit_man <<CF_EOF
3925 # this script is generated by the configure-script CF_MAN_PAGES macro.
3930 NCURSES_MAJOR="$NCURSES_MAJOR"
3931 NCURSES_MINOR="$NCURSES_MINOR"
3932 NCURSES_PATCH="$NCURSES_PATCH"
3934 NCURSES_OSPEED="$NCURSES_OSPEED"
3935 TERMINFO="$TERMINFO"
3938 INSTALL_DATA="$INSTALL_DATA"
3940 transform="$program_transform_name"
3942 TMP=\${TMPDIR:=/tmp}/man\$\$
3943 trap "rm -f \$TMP" 0 1 2 5 15
3955 top_srcdir=\[$]srcdir/..
3958 if test "\$form" = normal ; then
3959 if test "$cf_format" = yes ; then
3960 if test "$cf_inboth" = no ; then
3961 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
3965 cf_subdir=\$mandir/man
3966 cf_tables=$MANPAGE_TBL
3968 cf_subdir=\$mandir/cat
3972 # process the list of source-files
3975 *.orig|*.rej) ;; #(vi
3977 section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
3978 if test \$verb = installing ; then
3979 if test ! -d \$cf_subdir\${section} ; then
3980 mkdir -p \$cf_subdir\$section
3984 # replace variables in man page
3985 if test ! -f $cf_man_alias ; then
3986 cat >>$cf_man_alias <<-CF_EOF2
3987 s,@DATADIR@,\$datadir,g
3988 s,@TERMINFO@,\$TERMINFO,g
3989 s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
3990 s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
3991 s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
3992 s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
3997 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3998 cf_name=`echo $cf_name|sed "$program_transform_name"`
3999 cat >>$cf_edit_man <<-CF_EOF
4000 s,@$cf_NAME@,$cf_name,g
4004 cat >>$cf_edit_man <<CF_EOF
4006 echo "...made $cf_man_alias"
4010 cf_source=\`basename \$i\`
4012 test ! -f \$inalias && inalias="\$srcdir/\$inalias"
4013 if test ! -f \$inalias ; then
4014 echo .. skipped \$cf_source
4019 if test "$MANPAGE_ALIASES" != no ; then
4020 cat >>$cf_edit_man <<CF_EOF
4021 aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
4025 if test "$MANPAGE_RENAMES" = no ; then
4026 cat >>$cf_edit_man <<CF_EOF
4027 # perform program transformations for section 1 man pages
4028 if test \$section = 1 ; then
4029 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
4031 cf_target=\$cf_subdir\${section}/\$cf_source
4035 cat >>$cf_edit_man <<CF_EOF
4036 cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
4037 if test -z "\$cf_target" ; then
4038 echo '? missing rename for '\$cf_source
4039 cf_target="\$cf_source"
4041 cf_target="\$cf_subdir\${section}/\${cf_target}"
4046 cat >>$cf_edit_man <<CF_EOF
4047 sed -f $cf_man_alias \\
4050 if test -f $MANPAGE_RENAMES ; then
4051 cat >>$cf_edit_man <<CF_EOF
4052 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
4055 cat >>$cf_edit_man <<CF_EOF
4060 cat >>$cf_edit_man <<CF_EOF
4061 if test \$cf_tables = yes ; then
4062 tbl \$TMP >\$TMP.out
4067 if test $with_curses_h != yes ; then
4068 cat >>$cf_edit_man <<CF_EOF
4069 sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
4074 cat >>$cf_edit_man <<CF_EOF
4075 if test \$form = format ; then
4076 nroff -man \$TMP >\$TMP.out
4081 if test -n "$cf_compress" ; then
4082 cat >>$cf_edit_man <<CF_EOF
4083 if test \$verb = installing ; then
4084 if ( $cf_compress -f \$TMP )
4086 mv \$TMP.$cf_so_strip \$TMP
4089 cf_target="\$cf_target.$cf_so_strip"
4093 case "$MANPAGE_FORMAT" in #(vi
4095 cat >>$cf_edit_man <<CF_EOF
4096 if test \$form = format ; then
4097 # BSDI installs only .0 suffixes in the cat directories
4098 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
4104 cat >>$cf_edit_man <<CF_EOF
4105 suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
4106 if test \$verb = installing ; then
4107 echo \$verb \$cf_target
4108 \$INSTALL_DATA \$TMP \$cf_target
4109 test -d \$cf_subdir\${section} &&
4110 test -n "\$aliases" && (
4111 cd \$cf_subdir\${section} && (
4112 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
4113 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
4114 cf_target=\`basename \$cf_target\`
4115 for cf_alias in \$aliases
4117 if test \$section = 1 ; then
4118 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4121 if test "$MANPAGE_SYMLINKS" = yes ; then
4122 if test -f \$cf_alias\${suffix} ; then
4123 if ( cmp -s \$cf_target \$cf_alias\${suffix} )
4128 echo .. \$verb alias \$cf_alias\${suffix}
4130 case "x$LN_S" in #(vi
4132 cat >>$cf_edit_man <<CF_EOF
4133 $LN_S \$cf_target \$cf_alias\${suffix}
4137 cat >>$cf_edit_man <<CF_EOF
4138 rm -f \$cf_alias\${suffix}
4139 $LN_S \$cf_target \$cf_alias\${suffix}
4143 cat >>$cf_edit_man <<CF_EOF
4144 elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
4145 echo ".so \$cf_source" >\$TMP
4147 if test -n "$cf_compress" ; then
4148 cat >>$cf_edit_man <<CF_EOF
4149 if test -n "$cf_so_strip" ; then
4150 $cf_compress -f \$TMP
4151 mv \$TMP.$cf_so_strip \$TMP
4155 cat >>$cf_edit_man <<CF_EOF
4156 echo .. \$verb alias \$cf_alias\${suffix}
4157 rm -f \$cf_alias\${suffix}
4158 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
4163 elif test \$verb = removing ; then
4164 test -f \$cf_target && (
4165 echo \$verb \$cf_target
4168 test -d \$cf_subdir\${section} &&
4169 test -n "\$aliases" && (
4170 cd \$cf_subdir\${section} && (
4171 for cf_alias in \$aliases
4173 if test \$section = 1 ; then
4174 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4177 echo .. \$verb alias \$cf_alias\${suffix}
4178 rm -f \$cf_alias\${suffix}
4190 if test $cf_inboth = yes ; then
4191 if test \$form != format ; then
4192 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4198 chmod 755 $cf_edit_man
4201 dnl ---------------------------------------------------------------------------
4202 dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
4204 dnl Checks for libraries. At least one UNIX system, Apple Macintosh
4205 dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
4206 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
4207 AC_DEFUN([CF_MATH_LIB],
4209 AC_CACHE_CHECK(if -lm needed for math functions,
4215 [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
4216 [cf_cv_need_libm=no],
4217 [cf_cv_need_libm=yes])])
4218 if test "$cf_cv_need_libm" = yes
4225 dnl ---------------------------------------------------------------------------
4226 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
4227 dnl ----------------------
4228 dnl Check if the file-system supports mixed-case filenames. If we're able to
4229 dnl create a lowercase name and see it as uppercase, it doesn't support that.
4230 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
4232 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
4233 if test "$cross_compiling" = yes ; then
4234 case $target_alias in #(vi
4235 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
4243 rm -f conftest CONFTEST
4245 if test -f CONFTEST ; then
4250 rm -f conftest CONFTEST
4253 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
4255 dnl ---------------------------------------------------------------------------
4256 dnl CF_MKSTEMP version: 7 updated: 2010/08/14 18:25:37
4258 dnl Check for a working mkstemp. This creates two files, checks that they are
4259 dnl successfully created and distinct (AmigaOS apparently fails on the last).
4260 AC_DEFUN([CF_MKSTEMP],[
4261 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
4264 #include <sys/types.h>
4268 #include <sys/stat.h>
4271 char *tmpl = "conftestXXXXXX";
4279 for (n = 0; n < 2; ++n) {
4280 strcpy(name[n], tmpl);
4281 if ((fd = mkstemp(name[n])) >= 0) {
4282 if (!strcmp(name[n], tmpl)
4283 || stat(name[n], &sb) != 0
4284 || (sb.st_mode & S_IFMT) != S_IFREG
4285 || (sb.st_mode & 077) != 0) {
4292 && !strcmp(name[0], name[1]))
4294 ${cf_cv_main_return:-return}(result);
4296 ],[cf_cv_func_mkstemp=yes
4297 ],[cf_cv_func_mkstemp=no
4298 ],[AC_CHECK_FUNC(mkstemp)
4301 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
4302 AC_DEFINE(HAVE_MKSTEMP)
4305 dnl ---------------------------------------------------------------------------
4306 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
4308 dnl Write a debug message to config.log, along with the line number in the
4309 dnl configure script.
4310 AC_DEFUN([CF_MSG_LOG],[
4311 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
4313 dnl ---------------------------------------------------------------------------
4314 dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
4315 dnl ----------------
4316 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
4317 dnl warn about this.
4318 AC_DEFUN([CF_NCURSES_ABI_6],[
4319 if test "${with_abi_version+set}" != set; then
4320 case $cf_cv_rel_version in
4322 cf_cv_rel_version=6.0
4324 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
4329 dnl ---------------------------------------------------------------------------
4330 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
4331 dnl ------------------
4332 dnl see CF_WITH_NO_LEAKS
4333 AC_DEFUN([CF_NO_LEAKS_OPTION],[
4334 AC_MSG_CHECKING(if you want to use $1 for testing)
4337 [AC_DEFINE($3)ifelse([$4],,[
4340 : ${with_cflags:=-g}
4341 : ${with_no_leaks:=yes}
4344 AC_MSG_RESULT(${with_$1:-no})
4346 case .$with_cflags in #(vi
4348 case .$CFLAGS in #(vi
4358 dnl ---------------------------------------------------------------------------
4359 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
4360 dnl ----------------
4361 dnl Check if the given variable is a number. If not, report an error.
4362 dnl $1 is the variable
4363 dnl $2 is the message
4364 AC_DEFUN([CF_NUMBER_SYNTAX],[
4365 if test -n "$1" ; then
4370 AC_MSG_ERROR($2 is not a number: $1)
4374 AC_MSG_ERROR($2 value is empty)
4377 dnl ---------------------------------------------------------------------------
4378 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
4380 dnl Compute the object-directory name from the given model name
4381 AC_DEFUN([CF_OBJ_SUBDIR],
4384 libtool) $2='obj_lo' ;;
4385 normal) $2='objects' ;;
4386 debug) $2='obj_g' ;;
4387 profile) $2='obj_p' ;;
4389 case $cf_cv_system_name in #(vi
4397 dnl ---------------------------------------------------------------------------
4398 dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
4400 dnl Provide a value for the $PATH and similar separator
4401 AC_DEFUN([CF_PATHSEP],
4403 case $cf_cv_system_name in
4404 os2*) PATH_SEPARATOR=';' ;;
4405 *) PATH_SEPARATOR=':' ;;
4407 ifelse([$1],,,[$1=$PATH_SEPARATOR])
4408 AC_SUBST(PATH_SEPARATOR)
4410 dnl ---------------------------------------------------------------------------
4411 dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
4413 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
4414 dnl begins with one of the prefix/exec_prefix variables, and then again if the
4415 dnl result begins with 'NONE'. This is necessary to work around autoconf's
4416 dnl delayed evaluation of those symbols.
4417 AC_DEFUN([CF_PATH_SYNTAX],[
4418 if test "x$prefix" != xNONE; then
4419 cf_path_syntax="$prefix"
4421 cf_path_syntax="$ac_default_prefix"
4424 case ".[$]$1" in #(vi
4425 .\[$]\(*\)*|.\'*\'*) #(vi
4429 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
4431 .\[$]{*prefix}*) #(vi
4433 case ".[$]$1" in #(vi
4435 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4440 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4443 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
4447 dnl ---------------------------------------------------------------------------
4448 dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
4450 dnl Check for the package-config program, unless disabled by command-line.
4451 AC_DEFUN([CF_PKG_CONFIG],
4453 AC_MSG_CHECKING(if you want to use pkg-config)
4454 AC_ARG_WITH(pkg-config,
4455 [ --with-pkg-config{=path} enable/disable use of pkg-config],
4456 [cf_pkg_config=$withval],
4457 [cf_pkg_config=yes])
4458 AC_MSG_RESULT($cf_pkg_config)
4460 case $cf_pkg_config in #(vi
4465 CF_ACVERSION_CHECK(2.52,
4466 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
4467 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
4474 test -z "$PKG_CONFIG" && PKG_CONFIG=none
4475 if test "$PKG_CONFIG" != none ; then
4476 CF_PATH_SYNTAX(PKG_CONFIG)
4479 AC_SUBST(PKG_CONFIG)
4481 dnl ---------------------------------------------------------------------------
4482 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
4483 dnl -----------------
4484 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
4486 dnl POSIX.1-1990 _POSIX_SOURCE
4487 dnl POSIX.1-1990 and _POSIX_SOURCE and
4488 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
4490 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
4491 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
4492 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
4495 dnl $1 is the nominal value for _POSIX_C_SOURCE
4496 AC_DEFUN([CF_POSIX_C_SOURCE],
4498 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
4500 cf_save_CFLAGS="$CFLAGS"
4501 cf_save_CPPFLAGS="$CPPFLAGS"
4503 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
4504 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
4506 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
4507 CF_MSG_LOG(if the symbol is already defined go no further)
4508 AC_TRY_COMPILE([#include <sys/types.h>],[
4509 #ifndef _POSIX_C_SOURCE
4512 [cf_cv_posix_c_source=no],
4513 [cf_want_posix_source=no
4514 case .$cf_POSIX_C_SOURCE in #(vi
4516 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4519 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4520 cf_want_posix_source=yes
4523 cf_want_posix_source=yes
4526 if test "$cf_want_posix_source" = yes ; then
4527 AC_TRY_COMPILE([#include <sys/types.h>],[
4528 #ifdef _POSIX_SOURCE
4531 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
4533 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
4534 CFLAGS="$cf_trim_CFLAGS"
4535 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
4536 CF_MSG_LOG(if the second compile does not leave our definition intact error)
4537 AC_TRY_COMPILE([#include <sys/types.h>],[
4538 #ifndef _POSIX_C_SOURCE
4541 [cf_cv_posix_c_source=no])
4542 CFLAGS="$cf_save_CFLAGS"
4543 CPPFLAGS="$cf_save_CPPFLAGS"
4547 if test "$cf_cv_posix_c_source" != no ; then
4548 CFLAGS="$cf_trim_CFLAGS"
4549 CPPFLAGS="$cf_trim_CPPFLAGS"
4550 CF_ADD_CFLAGS($cf_cv_posix_c_source)
4554 dnl ---------------------------------------------------------------------------
4555 dnl CF_PREDEFINE version: 2 updated: 2010/05/26 16:44:57
4557 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
4559 dnl $1 = symbol to test
4560 dnl $2 = value (if any) to use for a predefinition
4561 AC_DEFUN([CF_PREDEFINE],
4563 AC_MSG_CHECKING(if we must define $1)
4564 AC_TRY_COMPILE([#include <sys/types.h>
4568 #endif],[cf_result=no],[cf_result=yes])
4569 AC_MSG_RESULT($cf_result)
4571 if test "$cf_result" = yes ; then
4572 CPPFLAGS="$CPPFLAGS ifelse([$2],,-D$1,[-D$1=$2])"
4573 elif test "x$2" != "x" ; then
4574 AC_MSG_CHECKING(checking for compatible value versus $2)
4575 AC_TRY_COMPILE([#include <sys/types.h>
4579 #endif],[cf_result=yes],[cf_result=no])
4580 AC_MSG_RESULT($cf_result)
4581 if test "$cf_result" = no ; then
4582 # perhaps we can override it - try...
4583 CPPFLAGS="$CPPFLAGS -D$1=$2"
4587 dnl ---------------------------------------------------------------------------
4588 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
4590 dnl Append definitions and rules for the given programs to the subdirectory
4591 dnl Makefiles, and the recursion rule for the top-level Makefile.
4594 dnl $1 = script to run
4595 dnl $2 = list of subdirectories
4599 AC_DEFUN([CF_PRG_RULES],
4603 if test ! -d $srcdir/$cf_dir; then
4605 elif test -f $srcdir/$cf_dir/programs; then
4606 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
4611 dnl ---------------------------------------------------------------------------
4612 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
4614 dnl Check for archiver "ar".
4615 AC_DEFUN([CF_PROG_AR],[
4616 AC_CHECK_TOOL(AR, ar, ar)
4618 dnl ---------------------------------------------------------------------------
4619 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
4621 dnl Check for awk, ensure that the check found something.
4622 AC_DEFUN([CF_PROG_AWK],
4625 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
4627 dnl ---------------------------------------------------------------------------
4628 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
4630 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
4631 dnl the output file can be renamed, and allows for a shell variable that can
4632 dnl be used later. The parameter is either CC or CXX. The result is the
4634 dnl $cf_cv_prog_CC_c_o
4635 dnl $cf_cv_prog_CXX_c_o
4636 AC_DEFUN([CF_PROG_CC_C_O],
4637 [AC_REQUIRE([AC_PROG_CC])dnl
4638 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
4639 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
4641 cat > conftest.$ac_ext <<CF_EOF
4645 ${cf_cv_main_return:-return}(0);
4648 # We do the test twice because some compilers refuse to overwrite an
4649 # existing .o file with -o, though they will create one.
4650 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
4651 if AC_TRY_EVAL(ac_try) &&
4652 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
4654 eval cf_cv_prog_$1_c_o=yes
4656 eval cf_cv_prog_$1_c_o=no
4660 if test $cf_cv_prog_$1_c_o = yes; then
4661 AC_MSG_RESULT([yes])
4666 dnl ---------------------------------------------------------------------------
4667 dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
4669 dnl Check if C (preprocessor) -U and -D options are processed in the order
4670 dnl given rather than by type of option. Some compilers insist on apply all
4671 dnl of the -U options after all of the -D options. Others allow mixing them,
4672 dnl and may predefine symbols that conflict with those we define.
4673 AC_DEFUN([CF_PROG_CC_U_D],
4675 AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
4676 cf_save_CPPFLAGS="$CPPFLAGS"
4677 CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
4680 make an undefined-error
4683 make a defined-error
4686 cf_cv_cc_u_d_options=yes],[
4687 cf_cv_cc_u_d_options=no])
4688 CPPFLAGS="$cf_save_CPPFLAGS"
4691 dnl ---------------------------------------------------------------------------
4692 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
4694 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
4695 dnl This macro adds a check to ensure the script found something.
4696 AC_DEFUN([CF_PROG_EGREP],
4697 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
4698 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
4699 then ac_cv_prog_egrep='grep -E'
4700 else ac_cv_prog_egrep='egrep'
4702 EGREP=$ac_cv_prog_egrep
4704 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
4706 dnl ---------------------------------------------------------------------------
4707 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
4709 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
4710 AC_DEFUN([CF_PROG_EXT],
4712 AC_REQUIRE([CF_CHECK_CACHE])
4713 case $cf_cv_system_name in
4715 CFLAGS="$CFLAGS -Zmt"
4716 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
4717 CXXFLAGS="$CXXFLAGS -Zmt"
4718 # autoconf's macro sets -Zexe and suffix both, which conflict:w
4719 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
4729 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
4731 dnl ---------------------------------------------------------------------------
4732 dnl CF_PROG_GNAT version: 1 updated: 2010/06/19 15:22:18
4734 dnl Check for gnatmake, ensure that it is complete.
4735 AC_DEFUN([CF_PROG_GNAT],[
4736 cf_ada_make=gnatmake
4737 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
4738 if test "$ac_cv_prog_gnat_exists" = no; then
4742 AC_CHECK_PROG(M4_exists, m4, yes, no)
4743 if test "$ac_cv_prog_M4_exists" = no; then
4744 cf_cv_prog_gnat_correct=no
4745 echo Ada95 binding required program m4 not found. Ada95 binding disabled.
4747 if test "$cf_cv_prog_gnat_correct" = yes; then
4748 AC_MSG_CHECKING(if GNAT works)
4749 CF_GNAT_TRY_RUN([procedure conftest;],
4752 procedure conftest is
4754 Text_IO.Put ("Hello World");
4756 GNAT.OS_Lib.OS_Exit (0);
4757 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
4758 AC_MSG_RESULT($cf_cv_prog_gnat_correct)
4762 AC_SUBST(cf_ada_make)
4764 dnl ---------------------------------------------------------------------------
4765 dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
4767 dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
4768 dnl misc/tabset install won't work properly. Usually this happens only when
4769 dnl using the fallback mkinstalldirs script
4770 AC_DEFUN([CF_PROG_INSTALL],
4776 CF_DIRNAME(cf_dir,$INSTALL)
4777 test -z "$cf_dir" && cf_dir=.
4778 INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
4782 dnl ---------------------------------------------------------------------------
4783 dnl CF_PROG_LDCONFIG version: 3 updated: 2011/06/04 20:09:13
4784 dnl ----------------
4785 dnl Check for ldconfig, needed to fixup shared libraries that would be built
4786 dnl and then used in the install.
4787 AC_DEFUN([CF_PROG_LDCONFIG],[
4788 if test "$cross_compiling" = yes ; then
4791 case "$cf_cv_system_name" in #(vi
4792 dragonfly*|mirbsd*|freebsd*) #(vi
4793 test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
4795 *) LDPATH=$PATH:/sbin:/usr/sbin
4796 AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
4802 dnl ---------------------------------------------------------------------------
4803 dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
4805 AC_DEFUN([CF_PROG_LINT],
4807 AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
4810 dnl ---------------------------------------------------------------------------
4811 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
4813 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
4814 dnl option if it is supported.
4815 AC_DEFUN([CF_PROG_LN_S],[
4817 AC_MSG_CHECKING(if $LN_S -f options work)
4819 rm -f conf$$.src conf$$dst
4821 echo first >conf$$.src
4822 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
4827 rm -f conf$$.dst conf$$src
4828 AC_MSG_RESULT($cf_prog_ln_sf)
4830 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
4832 dnl ---------------------------------------------------------------------------
4833 dnl CF_REGEX version: 8 updated: 2010/08/07 14:09:44
4835 dnl Attempt to determine if we've got one of the flavors of regular-expression
4836 dnl code that we can support.
4837 AC_DEFUN([CF_REGEX],
4842 cf_regex_libs="regex re"
4843 case $host_os in #(vi
4845 cf_regex_libs="regex.dll $cf_regex_libs"
4849 AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
4850 for cf_regex_lib in $cf_regex_libs
4852 AC_CHECK_LIB($cf_regex_lib,regcomp,[
4853 CF_ADD_LIB($cf_regex_lib)
4854 cf_regex_func=regcomp
4859 if test "$cf_regex_func" = no ; then
4860 AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
4861 AC_CHECK_LIB(gen,compile,[
4863 cf_regex_func=compile])])
4866 if test "$cf_regex_func" = no ; then
4867 AC_MSG_WARN(cannot find regular expression library)
4870 AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
4873 case $cf_regex_func in #(vi
4875 for cf_regex_hdr in regexp.h regexpr.h
4877 AC_TRY_LINK([#include <$cf_regex_hdr>],[
4878 char *p = compile("", "", "", 0);
4879 int x = step("", "");
4881 cf_cv_regex_hdrs=$cf_regex_hdr
4887 for cf_regex_hdr in regex.h
4889 AC_TRY_LINK([#include <sys/types.h>
4890 #include <$cf_regex_hdr>],[
4892 int x = regcomp(p, "", 0);
4893 int y = regexec(p, "", 0, 0, 0);
4896 cf_cv_regex_hdrs=$cf_regex_hdr
4905 case $cf_cv_regex_hdrs in #(vi
4906 no) AC_MSG_WARN(no regular expression header found) ;; #(vi
4907 regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
4908 regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
4909 regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
4912 dnl ---------------------------------------------------------------------------
4913 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
4914 dnl ----------------
4915 dnl Remove all -U and -D options that refer to the given symbol from a list
4916 dnl of C compiler options. This works around the problem that not all
4917 dnl compilers process -U and -D options from left-to-right, so a -U option
4918 dnl cannot be used to cancel the effect of a preceding -D option.
4920 dnl $1 = target (which could be the same as the source variable)
4921 dnl $2 = source (including '$')
4922 dnl $3 = symbol to remove
4923 define([CF_REMOVE_DEFINE],
4926 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
4927 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
4929 dnl ---------------------------------------------------------------------------
4930 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
4932 dnl Remove the given library from the symbol
4934 dnl $1 = target (which could be the same as the source variable)
4935 dnl $2 = source (including '$')
4936 dnl $3 = library to remove
4937 define([CF_REMOVE_LIB],
4939 # remove $3 library from $2
4940 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
4942 dnl ---------------------------------------------------------------------------
4943 dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33
4945 AC_DEFUN([CF_RPATH_HACK],
4947 AC_REQUIRE([CF_LD_RPATH_OPT])
4948 AC_MSG_CHECKING(for updated LDFLAGS)
4949 if test -n "$LD_RPATH_OPT" ; then
4950 AC_MSG_RESULT(maybe)
4952 AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
4953 cf_rpath_list="/usr/lib /lib"
4954 if test "$cf_ldd_prog" != no
4958 AC_TRY_LINK([#include <stdio.h>],
4960 [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
4961 cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
4963 # If we passed the link-test, but get a "not found" on a given library,
4964 # this could be due to inept reconfiguration of gcc to make it only
4965 # partly honor /usr/local/lib (or whatever). Sometimes this behavior
4966 # is intentional, e.g., installing gcc in /usr/bin and suppressing the
4967 # /usr/local libraries.
4968 if test -n "$cf_rpath_oops"
4970 for cf_rpath_src in $cf_rpath_oops
4972 for cf_rpath_dir in \
4977 if test -f $cf_rpath_dir/lib/$cf_rpath_src
4979 CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
4980 LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
4988 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4990 CF_RPATH_HACK_2(LDFLAGS)
4991 CF_RPATH_HACK_2(LIBS)
4993 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
4995 AC_SUBST(EXTRA_LDFLAGS)
4997 dnl ---------------------------------------------------------------------------
4998 dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
5000 dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
5001 dnl EXTRA_LDFLAGS for each -L option found.
5003 dnl $cf_rpath_list contains a list of directories to ignore.
5005 dnl $1 = variable name to update. The LDFLAGS variable should be the only one,
5006 dnl but LIBS often has misplaced -L options.
5007 AC_DEFUN([CF_RPATH_HACK_2],
5009 CF_VERBOSE(...checking $1 [$]$1)
5012 for cf_rpath_src in [$]$1
5014 case $cf_rpath_src in #(vi
5017 # check if this refers to a directory which we will ignore
5019 if test -n "$cf_rpath_list"
5021 for cf_rpath_item in $cf_rpath_list
5023 if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
5031 if test "$cf_rpath_skip" = no
5033 # transform the option
5034 if test "$LD_RPATH_OPT" = "-R " ; then
5035 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
5037 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
5040 # if we have not already added this, add it now
5041 cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
5042 if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
5044 CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
5045 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
5050 cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
5054 CF_VERBOSE(...checked $1 [$]$1)
5055 AC_SUBST(EXTRA_LDFLAGS)
5057 dnl ---------------------------------------------------------------------------
5058 dnl CF_SHARED_OPTS version: 67 updated: 2011/07/02 15:36:04
5061 dnl Attempt to determine the appropriate CC/LD options for creating a shared
5064 dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
5065 dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
5066 dnl We avoid compiling-in a ../lib path for the shared library since that can
5067 dnl lead to unexpected results at runtime.
5068 dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
5069 dnl are compiled in ../../lib
5071 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
5072 dnl to install symbolic links to the rel/abi versions of shared libraries.
5074 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
5075 dnl version when making symbolic links.
5077 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
5078 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
5079 dnl (ex: libncurses.so.<ver>).
5081 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
5082 AC_DEFUN([CF_SHARED_OPTS],
5084 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
5085 AC_REQUIRE([CF_LD_RPATH_OPT])
5089 INSTALL_LIB="-m 644"
5091 cf_cv_do_symlinks=no
5093 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
5095 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
5096 AC_ARG_WITH(shlib-version,
5097 [ --with-shlib-version=X Specify rel or abi version for shared libs],
5098 [test -z "$withval" && withval=auto
5099 case $withval in #(vi
5101 cf_cv_shlib_version=auto
5103 rel|abi|auto|no) #(vi
5104 cf_cv_shlib_version=$withval
5107 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
5110 ],[cf_cv_shlib_version=auto])
5111 AC_MSG_RESULT($cf_cv_shlib_version)
5115 # Some less-capable ports of gcc support only -fpic
5117 if test "$GCC" = yes
5119 AC_MSG_CHECKING(which $CC option to use)
5120 cf_save_CFLAGS="$CFLAGS"
5121 for CC_SHARED_OPTS in -fPIC -fpic ''
5123 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
5124 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
5126 AC_MSG_RESULT($CC_SHARED_OPTS)
5127 CFLAGS="$cf_save_CFLAGS"
5130 cf_cv_shlib_version_infix=no
5132 case $cf_cv_system_name in #(vi
5133 aix4.[3-9]*|aix[[5-7]]*) #(vi
5134 if test "$GCC" = yes; then
5136 MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${libdir}:/usr/lib -o [$]@'
5138 # CC_SHARED_OPTS='-qpic=large -G'
5139 # perhaps "-bM:SRE -bnoentry -bexpall"
5140 MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${libdir}:/usr/lib -o [$]@'
5144 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
5148 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5149 cf_cv_shlib_version=cygdll
5150 cf_cv_shlib_version_infix=cygdll
5151 cat >mk_shared_lib.sh <<-CF_EOF
5154 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5157 Linking shared library
5158 ** SHARED_LIB \[$]SHARED_LIB
5159 ** IMPORT_LIB \[$]IMPORT_LIB
5161 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
5163 chmod +x mk_shared_lib.sh
5166 EXTRA_CFLAGS="-no-cpp-precomp"
5167 CC_SHARED_OPTS="-dynamic"
5168 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
5169 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
5170 cf_cv_shlib_version_infix=yes
5171 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
5172 cf_save_LDFLAGS=$LDFLAGS
5173 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5174 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
5175 LDFLAGS=$cf_save_LDFLAGS])
5176 if test $cf_cv_ldflags_search_paths_first = yes; then
5177 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5181 # (tested with gcc 2.7.2 -- I don't have c89)
5182 if test "$GCC" = yes; then
5183 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
5186 LD_SHARED_OPTS='-Wl,+b,${libdir}'
5188 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
5189 # HP-UX shared libraries must be executable, and should be
5190 # readonly to exploit a quirk in the memory manager.
5191 INSTALL_LIB="-m 555"
5194 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5195 if test "$cf_cv_shlib_version" = rel; then
5196 cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
5198 cf_shared_soname='`basename $@`'
5201 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${libdir} -Wl,-h,'$cf_shared_soname' -o $@'
5204 if test "$cf_cv_enable_rpath" = yes ; then
5205 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
5207 # tested with IRIX 5.2 and 'cc'.
5208 if test "$GCC" != yes; then
5209 CC_SHARED_OPTS='-KPIC'
5210 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
5212 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
5214 cf_cv_rm_so_locs=yes
5216 linux*|gnu*|k*bsd*-gnu) #(vi
5217 if test "$DFT_LWR_MODEL" = "shared" ; then
5218 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5219 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5221 if test "$cf_cv_enable_rpath" = yes ; then
5222 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
5225 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5227 openbsd[[2-9]].*|mirbsd*) #(vi
5228 if test "$DFT_LWR_MODEL" = "shared" ; then
5229 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5230 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5232 if test "$cf_cv_enable_rpath" = yes ; then
5233 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
5235 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5237 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5239 nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
5240 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5241 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
5242 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5245 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5246 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5247 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5248 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
5249 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
5252 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
5255 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5256 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5257 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5258 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5259 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
5260 if test "$cf_cv_shlib_version" = auto; then
5261 if test -f /usr/libexec/ld.elf_so; then
5262 cf_cv_shlib_version=abi
5264 cf_cv_shlib_version=rel
5268 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
5270 MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
5274 # tested with OSF/1 V3.2 and 'cc'
5275 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
5276 # link with shared libs).
5277 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
5278 case $host_os in #(vi
5280 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
5283 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
5284 if test "$DFT_LWR_MODEL" = "shared" ; then
5285 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5286 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5288 cf_cv_rm_so_locs=yes
5290 sco3.2v5*) # (also uw2* and UW7: hops 13-Apr-98
5291 # tested with osr5.0.5
5292 if test "$GCC" != yes; then
5293 CC_SHARED_OPTS='-belf -KPIC'
5295 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
5296 if test "$cf_cv_enable_rpath" = yes ; then
5297 # only way is to set LD_RUN_PATH but no switch for it
5300 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5301 LINK_PROGS='LD_RUN_PATH=${libdir}'
5302 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
5305 # tested with SunOS 4.1.1 and gcc 2.7.0
5306 if test "$GCC" != yes; then
5307 CC_SHARED_OPTS='-KPIC'
5309 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
5310 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5313 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
5314 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
5315 if test "$DFT_LWR_MODEL" = "shared" ; then
5316 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
5317 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5319 if test "$cf_cv_enable_rpath" = yes ; then
5320 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
5323 if test "$GCC" != yes; then
5324 cf_save_CFLAGS="$CFLAGS"
5325 for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
5327 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
5328 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
5330 CFLAGS="$cf_save_CFLAGS"
5331 CC_SHARED_OPTS=$cf_shared_opts
5332 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5334 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5337 sysv5uw7*|unix_sv*) #(vi
5338 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
5339 if test "$GCC" != yes; then
5340 CC_SHARED_OPTS='-KPIC'
5342 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
5345 CC_SHARED_OPTS='unknown'
5346 MK_SHARED_LIB='echo unknown'
5350 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
5351 case "$cf_cv_shlib_version" in #(vi
5353 case "$MK_SHARED_LIB" in #(vi
5355 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
5358 AC_MSG_WARN(ignored --with-shlib-version)
5364 if test -n "$cf_ld_rpath_opt" ; then
5365 MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
5368 AC_SUBST(CC_SHARED_OPTS)
5369 AC_SUBST(LD_RPATH_OPT)
5370 AC_SUBST(LD_SHARED_OPTS)
5371 AC_SUBST(MK_SHARED_LIB)
5372 AC_SUBST(LINK_PROGS)
5373 AC_SUBST(LINK_TESTS)
5374 AC_SUBST(EXTRA_LDFLAGS)
5375 AC_SUBST(LOCAL_LDFLAGS)
5376 AC_SUBST(LOCAL_LDFLAGS2)
5377 AC_SUBST(INSTALL_LIB)
5379 dnl ---------------------------------------------------------------------------
5380 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
5381 dnl ----------------
5382 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
5383 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
5386 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
5387 dnl If missing, use "rel".
5388 define([CF_SHARED_SONAME],
5390 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
5391 if test "$cf_cv_shlib_version" = rel; then
5392 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
5394 cf_cv_shared_soname='`basename $[@]`'
5397 dnl ---------------------------------------------------------------------------
5398 dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
5400 dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
5401 dnl programs need this test).
5403 dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
5404 dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
5405 dnl winsize declaration is left alone - we may revisit this if Apple choose to
5406 dnl break that part of the interface as well.
5407 AC_DEFUN([CF_SIGWINCH],
5409 AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
5411 #include <sys/types.h>
5412 #include <sys/signal.h>
5413 ],[int x = SIGWINCH],
5414 [cf_cv_define_sigwinch=yes],
5416 #undef _XOPEN_SOURCE
5417 #undef _POSIX_SOURCE
5418 #undef _POSIX_C_SOURCE
5419 #include <sys/types.h>
5420 #include <sys/signal.h>
5421 ],[int x = SIGWINCH],
5422 [cf_cv_define_sigwinch=maybe],
5423 [cf_cv_define_sigwinch=no])
5427 if test "$cf_cv_define_sigwinch" = maybe ; then
5428 AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
5429 cf_cv_fixup_sigwinch=unknown
5431 while test $cf_sigwinch != 1
5434 #undef _XOPEN_SOURCE
5435 #undef _POSIX_SOURCE
5436 #undef _POSIX_C_SOURCE
5437 #include <sys/types.h>
5438 #include <sys/signal.h>
5440 #if SIGWINCH != $cf_sigwinch
5444 [cf_cv_fixup_sigwinch=$cf_sigwinch
5447 cf_sigwinch=`expr $cf_sigwinch - 1`
5451 if test "$cf_cv_fixup_sigwinch" != unknown ; then
5452 CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
5456 dnl ---------------------------------------------------------------------------
5457 dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
5459 dnl signal handler, but there are some gcc depedencies in that recommendation.
5461 AC_DEFUN([CF_SIG_ATOMIC_T],
5463 AC_MSG_CHECKING(for signal global datatype)
5464 AC_CACHE_VAL(cf_cv_sig_atomic_t,[
5466 "volatile sig_atomic_t" \
5471 #include <sys/types.h>
5477 static void handler(int sig)
5481 [signal(SIGINT, handler);
5483 [cf_cv_sig_atomic_t=$cf_type],
5484 [cf_cv_sig_atomic_t=no])
5485 test "$cf_cv_sig_atomic_t" != no && break
5488 AC_MSG_RESULT($cf_cv_sig_atomic_t)
5489 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
5491 dnl ---------------------------------------------------------------------------
5492 dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
5494 dnl Check for definitions & structures needed for window size-changing
5495 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
5496 AC_DEFUN([CF_SIZECHANGE],
5498 AC_REQUIRE([CF_STRUCT_TERMIOS])
5499 AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
5500 cf_cv_sizechange=unknown
5501 cf_save_CPPFLAGS="$CPPFLAGS"
5503 for cf_opts in "" "NEED_PTEM_H"
5506 CPPFLAGS="$cf_save_CPPFLAGS"
5507 test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
5508 AC_TRY_COMPILE([#include <sys/types.h>
5509 #ifdef HAVE_TERMIOS_H
5510 #include <termios.h>
5512 #ifdef HAVE_TERMIO_H
5517 /* This is a workaround for SCO: they neglected to define struct winsize in
5518 * termios.h -- it's only in termio.h and ptem.h
5520 #include <sys/stream.h>
5521 #include <sys/ptem.h>
5523 #if !defined(sun) || !defined(HAVE_TERMIOS_H)
5524 #include <sys/ioctl.h>
5528 struct ttysize win; /* FIXME: what system is this? */
5529 int y = win.ts_lines;
5530 int x = win.ts_cols;
5537 no TIOCGSIZE or TIOCGWINSZ
5538 #endif /* TIOCGWINSZ */
5539 #endif /* TIOCGSIZE */
5541 [cf_cv_sizechange=yes],
5542 [cf_cv_sizechange=no])
5544 CPPFLAGS="$cf_save_CPPFLAGS"
5545 if test "$cf_cv_sizechange" = yes ; then
5546 echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
5547 test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
5552 if test "$cf_cv_sizechange" != no ; then
5553 AC_DEFINE(HAVE_SIZECHANGE)
5554 case $cf_cv_sizechange in #(vi
5556 AC_DEFINE_UNQUOTED($cf_cv_sizechange )
5561 dnl ---------------------------------------------------------------------------
5562 dnl CF_SRC_MODULES version: 21 updated: 2010/09/04 17:37:40
5564 dnl For each parameter, test if the source-directory exists, and if it contains
5565 dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
5566 dnl use in CF_LIB_RULES.
5568 dnl This uses the configured value to make the lists SRC_SUBDIRS and
5569 dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
5570 AC_DEFUN([CF_SRC_MODULES],
5572 AC_MSG_CHECKING(for src modules)
5574 # dependencies and linker-arguments for test-programs
5575 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
5576 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2"
5577 if test "$DFT_LWR_MODEL" = "libtool"; then
5578 TEST_ARGS="${TEST_DEPS}"
5579 TEST_ARG2="${TEST_DEP2}"
5581 TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
5582 TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
5588 if test -f $srcdir/$cf_dir/modules; then
5590 # We may/may not have tack in the distribution, though the
5592 if test $cf_dir = tack ; then
5593 if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
5598 if test -z "$cf_cv_src_modules"; then
5599 cf_cv_src_modules=$cf_dir
5601 cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
5604 # Make the ncurses_cfg.h file record the library interface files as
5605 # well. These are header files that are the same name as their
5606 # directory. Ncurses is the only library that does not follow
5608 if test $cf_dir = tack ; then
5610 elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
5611 CF_UPPER(cf_have_include,$cf_dir)
5612 AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
5613 AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
5614 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
5615 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2"
5616 if test "$DFT_LWR_MODEL" = "libtool"; then
5617 TEST_ARGS="${TEST_DEPS}"
5618 TEST_ARG2="${TEST_DEP2}"
5620 TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
5621 TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
5626 AC_MSG_RESULT($cf_cv_src_modules)
5628 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
5629 TEST_ARG2="-L${LIB_2ND} $TEST_ARG2"
5638 if test "x$cf_with_manpages" != xno ; then
5639 SRC_SUBDIRS="$SRC_SUBDIRS man"
5641 SRC_SUBDIRS="$SRC_SUBDIRS include"
5642 for cf_dir in $cf_cv_src_modules
5644 SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
5646 if test "x$cf_with_tests" != "xno" ; then
5647 SRC_SUBDIRS="$SRC_SUBDIRS test"
5649 test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
5650 test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
5653 if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
5654 SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
5655 ADA_SUBDIRS="gen src"
5656 if test "x$cf_with_tests" != "xno" ; then
5657 ADA_SUBDIRS="$ADA_SUBDIRS samples"
5662 for cf_dir in $SRC_SUBDIRS
5664 SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
5667 if test -n "$ADA_SUBDIRS"; then
5668 for cf_dir in $ADA_SUBDIRS
5670 SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
5672 AC_SUBST(ADA_SUBDIRS)
5675 dnl ---------------------------------------------------------------------------
5676 dnl CF_STDCPP_LIBRARY version: 7 updated: 2010/05/29 16:31:02
5677 dnl -----------------
5678 dnl Check for -lstdc++, which is GNU's standard C++ library.
5679 AC_DEFUN([CF_STDCPP_LIBRARY],
5681 if test -n "$GXX" ; then
5682 case $cf_cv_system_name in #(vi
5684 cf_stdcpp_libname=stdcpp
5687 cf_stdcpp_libname=stdc++
5690 AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
5692 CF_ADD_LIB($cf_stdcpp_libname)
5694 #include <strstream.h>],[
5696 strstreambuf foo(buf, sizeof(buf))
5698 [cf_cv_libstdcpp=yes],
5699 [cf_cv_libstdcpp=no])
5702 test "$cf_cv_libstdcpp" = yes && CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS)
5705 dnl ---------------------------------------------------------------------------
5706 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
5708 dnl Remove "-g" option from the compiler options
5709 AC_DEFUN([CF_STRIP_G_OPT],
5710 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
5711 dnl ---------------------------------------------------------------------------
5712 dnl CF_STRUCT_SIGACTION version: 4 updated: 2011/04/16 11:52:53
5713 dnl -------------------
5714 dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
5715 dnl do this if we've found the sigaction function.
5716 AC_DEFUN([CF_STRUCT_SIGACTION],[
5717 AC_REQUIRE([CF_XOPEN_SOURCE])
5719 if test "$ac_cv_func_sigaction" = yes; then
5720 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
5722 #include <sys/types.h>
5723 #include <signal.h>],
5724 [struct sigaction act],
5728 #define _POSIX_SOURCE
5729 #include <sys/types.h>
5730 #include <signal.h>],
5731 [struct sigaction act],
5733 AC_DEFINE(_POSIX_SOURCE)],
5734 [sigact_bad=unknown])])
5735 AC_MSG_RESULT($sigact_bad)
5738 dnl ---------------------------------------------------------------------------
5739 dnl CF_STRUCT_TERMIOS version: 6 updated: 2011/04/16 11:52:53
5740 dnl -----------------
5741 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
5742 AC_DEFUN([CF_STRUCT_TERMIOS],[
5743 AC_REQUIRE([CF_XOPEN_SOURCE])
5751 if test "$ISC" = yes ; then
5752 AC_CHECK_HEADERS( sys/termio.h )
5754 if test "$ac_cv_header_termios_h" = yes ; then
5755 case "$CFLAGS $CPPFLAGS" in
5757 termios_bad=dunno ;;
5758 *) termios_bad=maybe ;;
5760 if test "$termios_bad" = maybe ; then
5761 AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
5762 AC_TRY_COMPILE([#include <termios.h>],
5763 [struct termios foo; int x = foo.c_iflag],
5766 #define _POSIX_SOURCE
5767 #include <termios.h>],
5768 [struct termios foo; int x = foo.c_iflag],
5769 termios_bad=unknown,
5770 termios_bad=yes AC_DEFINE(_POSIX_SOURCE))
5772 AC_MSG_RESULT($termios_bad)
5776 dnl ---------------------------------------------------------------------------
5777 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
5779 dnl Construct a search-list for a nonstandard header/lib-file
5780 dnl $1 = the variable to return as result
5781 dnl $2 = the package name
5782 dnl $3 = the subdirectory, e.g., bin, include or lib
5783 AC_DEFUN([CF_SUBDIR_PATH],
5787 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
5788 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
5789 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
5790 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
5791 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
5793 dnl ---------------------------------------------------------------------------
5794 dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
5796 dnl Shorthand macro for substituting things that the user may override
5797 dnl with an environment variable.
5799 dnl $1 = long/descriptive name
5800 dnl $2 = environment variable
5801 dnl $3 = default value
5802 AC_DEFUN([CF_SUBST],
5803 [AC_CACHE_VAL(cf_cv_subst_$2,[
5804 AC_MSG_CHECKING(for $1 (symbol $2))
5805 CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
5806 cf_cv_subst_$2=[$]$2
5807 AC_MSG_RESULT([$]$2)
5810 dnl ---------------------------------------------------------------------------
5811 dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
5813 dnl Shorthand macro for substituting things that the user may override
5814 dnl with an environment variable.
5816 dnl $1 = condition to pass to "test"
5817 dnl $2 = environment variable
5818 dnl $3 = value if the test succeeds
5819 dnl $4 = value if the test fails
5820 AC_DEFUN([CF_SUBST_IF],
5829 dnl ---------------------------------------------------------------------------
5830 dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59
5831 dnl ------------------------
5832 dnl Get the version-number for use in shared-library naming, etc.
5833 AC_DEFUN([CF_SUBST_NCURSES_VERSION],
5835 AC_REQUIRE([CF_PROG_EGREP])
5836 NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5837 NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5838 NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
5839 cf_cv_abi_version=${NCURSES_MAJOR}
5840 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
5841 dnl Show the computed version, for logging
5842 cf_cv_timestamp=`date`
5843 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
5844 dnl We need these values in the generated headers
5845 AC_SUBST(NCURSES_MAJOR)
5846 AC_SUBST(NCURSES_MINOR)
5847 AC_SUBST(NCURSES_PATCH)
5848 dnl We need these values in the generated makefiles
5849 AC_SUBST(cf_cv_rel_version)
5850 AC_SUBST(cf_cv_abi_version)
5851 AC_SUBST(cf_cv_builtin_bool)
5852 AC_SUBST(cf_cv_header_stdbool_h)
5853 AC_SUBST(cf_cv_type_of_bool)dnl
5855 dnl ---------------------------------------------------------------------------
5856 dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
5857 dnl ------------------
5858 dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
5859 dnl older SCO configurations.
5860 AC_DEFUN([CF_SYS_TIME_SELECT],
5862 AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
5863 AC_CACHE_VAL(cf_cv_sys_time_select,[
5865 #include <sys/types.h>
5866 #ifdef HAVE_SYS_TIME_H
5867 #include <sys/time.h>
5869 #ifdef HAVE_SYS_SELECT_H
5870 #include <sys/select.h>
5872 ],[],[cf_cv_sys_time_select=yes],
5873 [cf_cv_sys_time_select=no])
5875 AC_MSG_RESULT($cf_cv_sys_time_select)
5876 test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
5878 dnl ---------------------------------------------------------------------------
5879 dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
5881 dnl Define a top_builddir symbol, for applications that need an absolute path.
5882 AC_DEFUN([CF_TOP_BUILDDIR],
5885 AC_SUBST(top_builddir)
5887 dnl ---------------------------------------------------------------------------
5888 dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30
5889 dnl ----------------
5890 dnl Determine the type we should use for chtype (and attr_t, which is treated
5891 dnl as the same thing). We want around 32 bits, so on most machines want a
5892 dnl long, but on newer 64-bit machines, probably want an int. If we're using
5893 dnl wide characters, we have to have a type compatible with that, as well.
5894 AC_DEFUN([CF_TYPEOF_CHTYPE],
5896 AC_MSG_CHECKING([for type of chtype])
5897 AC_CACHE_VAL(cf_cv_typeof_chtype,[
5899 #define WANT_BITS 31
5903 FILE *fp = fopen("cf_test.out", "w");
5905 char *result = "long";
5906 if (sizeof(unsigned long) > sizeof(unsigned int)) {
5909 for (n = 0; n < WANT_BITS; n++) {
5912 if (y != 1 || x == 0) {
5918 * If x is nonzero, an int is big enough for the bits
5921 result = (x != 0) ? "int" : "long";
5926 ${cf_cv_main_return:-return}(0);
5929 [cf_cv_typeof_chtype=`cat cf_test.out`],
5930 [cf_cv_typeof_chtype=long],
5931 [cf_cv_typeof_chtype=long])
5934 AC_MSG_RESULT($cf_cv_typeof_chtype)
5936 AC_SUBST(cf_cv_typeof_chtype)
5937 AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
5939 dnl ---------------------------------------------------------------------------
5940 dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
5941 dnl -----------------
5943 AC_DEFUN([CF_TYPE_SIGACTION],
5945 AC_MSG_CHECKING([for type sigaction_t])
5946 AC_CACHE_VAL(cf_cv_type_sigaction,[
5948 #include <signal.h>],
5950 [cf_cv_type_sigaction=yes],
5951 [cf_cv_type_sigaction=no])])
5952 AC_MSG_RESULT($cf_cv_type_sigaction)
5953 test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
5955 dnl ---------------------------------------------------------------------------
5956 dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
5957 dnl --------------------
5958 dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
5959 dnl won't, but they're still there.
5960 AC_DEFUN([CF_UNSIGNED_LITERALS],
5962 AC_MSG_CHECKING([if unsigned literals are legal])
5963 AC_CACHE_VAL(cf_cv_unsigned_literals,[
5964 AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
5965 [cf_cv_unsigned_literals=yes],
5966 [cf_cv_unsigned_literals=no])
5968 AC_MSG_RESULT($cf_cv_unsigned_literals)
5970 dnl ---------------------------------------------------------------------------
5971 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
5973 dnl Make an uppercase version of a variable
5974 dnl $1=uppercase($2)
5975 AC_DEFUN([CF_UPPER],
5977 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
5979 dnl ---------------------------------------------------------------------------
5980 dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
5982 dnl Check for multibyte support, and if not found, utf8 compatibility library
5983 AC_DEFUN([CF_UTF8_LIB],
5985 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
5986 cf_save_LIBS="$LIBS"
5988 #include <stdlib.h>],[putwc(0,0);],
5989 [cf_cv_utf8_lib=yes],
5991 #include <libutf8.h>],[putwc(0,0);],utf8,
5992 [cf_cv_utf8_lib=add-on],
5993 [cf_cv_utf8_lib=no])
5996 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
5998 if test "$cf_cv_utf8_lib" = "add-on" ; then
5999 AC_DEFINE(HAVE_LIBUTF8_H)
6000 CF_ADD_INCDIR($cf_cv_header_path_utf8)
6001 CF_ADD_LIBDIR($cf_cv_library_path_utf8)
6002 CF_ADD_LIBS($cf_cv_library_file_utf8)
6005 dnl ---------------------------------------------------------------------------
6006 dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
6008 dnl check for va_copy, part of stdarg.h
6009 dnl Also, workaround for glibc's __va_copy, by checking for both.
6010 AC_DEFUN([CF_VA_COPY],[
6011 AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
6018 cf_cv_have_va_copy=yes,
6019 cf_cv_have_va_copy=no)])
6021 test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
6023 AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
6029 __va_copy(dst, src)],
6030 cf_cv_have___va_copy=yes,
6031 cf_cv_have___va_copy=no)])
6033 test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
6035 dnl ---------------------------------------------------------------------------
6036 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
6038 dnl Use AC_VERBOSE w/o the warnings
6039 AC_DEFUN([CF_VERBOSE],
6040 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
6043 dnl ---------------------------------------------------------------------------
6044 dnl CF_WCHAR_TYPE version: 3 updated: 2010/05/26 16:44:57
6046 dnl Check if type wide-character type $1 is declared, and if so, which header
6047 dnl file is needed. The second parameter is used to set a shell variable when
6048 dnl the type is not found. The first parameter sets a shell variable for the
6050 AC_DEFUN([CF_WCHAR_TYPE],
6052 # This is needed on Tru64 5.0 to declare $1
6053 AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
6058 #ifdef HAVE_LIBUTF8_H
6059 #include <libutf8.h>
6068 #ifdef HAVE_LIBUTF8_H
6069 #include <libutf8.h>
6073 [cf_cv_$1=unknown])])])
6075 if test "$cf_cv_$1" = yes ; then
6076 AC_DEFINE(NEED_WCHAR_H)
6081 # if we do not find $1 in either place, use substitution to provide a fallback.
6082 if test "$cf_cv_$1" = unknown ; then
6087 # if we find $1 in either place, use substitution to provide a fallback.
6088 if test "$cf_cv_$1" != unknown ; then
6093 dnl ---------------------------------------------------------------------------
6094 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
6096 dnl Check for compiler-support for weak symbols.
6097 dnl This works with "recent" gcc.
6098 AC_DEFUN([CF_WEAK_SYMBOLS],[
6099 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
6102 #include <stdio.h>],
6104 #if defined(__GNUC__)
6105 # if defined __USE_ISOC99
6106 # define _cat_pragma(exp) _Pragma(#exp)
6107 # define _weak_pragma(exp) _cat_pragma(weak name)
6109 # define _weak_pragma(exp)
6111 # define _declare(name) __extension__ extern __typeof__(name) name
6112 # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
6116 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
6119 dnl ---------------------------------------------------------------------------
6120 dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
6121 dnl -------------------
6122 dnl Allow library's ABI to be overridden. Generally this happens when a
6123 dnl packager has incremented the ABI past that used in the original package,
6124 dnl and wishes to keep doing this.
6126 dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
6128 AC_DEFUN([CF_WITH_ABI_VERSION],[
6129 test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
6130 AC_ARG_WITH(abi-version,
6131 [ --with-abi-version=XXX override derived ABI version],
6132 [AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
6133 cf_cv_abi_version=$withval])
6134 CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
6136 $1_ABI=$cf_cv_abi_version
6139 dnl ---------------------------------------------------------------------------
6140 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
6141 dnl --------------------
6142 dnl Command-line option to specify the Ada95 compiler.
6143 AC_DEFUN([CF_WITH_ADA_COMPILER],[
6144 AC_MSG_CHECKING(for ada-compiler)
6145 AC_ARG_WITH(ada-compiler,
6146 [ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
6147 [cf_ada_compiler=$withval],
6148 [cf_ada_compiler=gnatmake])
6149 AC_SUBST(cf_ada_compiler)
6150 AC_MSG_RESULT($cf_ada_compiler)
6152 dnl ---------------------------------------------------------------------------
6153 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
6154 dnl -------------------
6155 dnl Command-line option to specify where Ada includes will install.
6156 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
6157 AC_MSG_CHECKING(for ada-include)
6158 CF_WITH_PATH(ada-include,
6159 [ --with-ada-include=DIR Ada includes are in DIR],
6161 PREFIX/share/ada/adainclude,
6162 [$]prefix/share/ada/adainclude)
6163 AC_SUBST(ADA_INCLUDE)
6164 AC_MSG_RESULT($ADA_INCLUDE)
6166 dnl ---------------------------------------------------------------------------
6167 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
6168 dnl -------------------
6169 dnl Command-line option to specify where Ada objects will install.
6170 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
6171 AC_MSG_CHECKING(for ada-objects)
6172 CF_WITH_PATH(ada-objects,
6173 [ --with-ada-objects=DIR Ada objects are in DIR],
6175 PREFIX/lib/ada/adalib,
6176 [$]prefix/lib/ada/adalib)
6177 AC_SUBST(ADA_OBJECTS)
6178 AC_MSG_RESULT($ADA_OBJECTS)
6180 dnl ---------------------------------------------------------------------------
6181 dnl CF_WITH_ADA_SHAREDLIB version: 2 updated: 2010/06/26 17:35:58
6182 dnl ---------------------
6183 dnl Command-line option to specify if an Ada95 shared-library should be built,
6184 dnl and optionally what its soname should be.
6185 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
6186 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
6187 AC_ARG_WITH(ada-sharedlib,
6188 [ --with-ada-sharedlib=XX build Ada95 shared-library],
6189 [with_ada_sharedlib=$withval],
6190 [with_ada_sharedlib=no])
6191 AC_MSG_RESULT($with_ada_sharedlib)
6193 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
6194 MAKE_ADA_SHAREDLIB="#"
6196 if test "x$with_ada_sharedlib" != xno
6199 if test "x$with_ada_sharedlib" != xyes
6201 ADA_SHAREDLIB="$with_ada_sharedlib"
6205 AC_SUBST(ADA_SHAREDLIB)
6206 AC_SUBST(MAKE_ADA_SHAREDLIB)
6208 dnl ---------------------------------------------------------------------------
6209 dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
6210 dnl ----------------
6211 dnl Configure-option for dbmalloc. The optional parameter is used to override
6212 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6213 AC_DEFUN([CF_WITH_DBMALLOC],[
6214 CF_NO_LEAKS_OPTION(dbmalloc,
6215 [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
6218 if test "$with_dbmalloc" = yes ; then
6219 AC_CHECK_HEADER(dbmalloc.h,
6220 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
6223 dnl ---------------------------------------------------------------------------
6224 dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
6226 dnl Configure-option for dmalloc. The optional parameter is used to override
6227 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6228 AC_DEFUN([CF_WITH_DMALLOC],[
6229 CF_NO_LEAKS_OPTION(dmalloc,
6230 [ --with-dmalloc test: use Gray Watson's dmalloc library],
6233 if test "$with_dmalloc" = yes ; then
6234 AC_CHECK_HEADER(dmalloc.h,
6235 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
6238 dnl ---------------------------------------------------------------------------
6239 dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54
6242 dnl The option parameter (if neither yes/no) is assumed to be the name of
6243 dnl the gpm library, e.g., for dynamic loading.
6244 AC_DEFUN([CF_WITH_GPM],
6246 AC_MSG_CHECKING(if you want to link with the GPM mouse library)
6248 [ --with-gpm use Alessandro Rubini's GPM library],
6249 [with_gpm=$withval],
6251 AC_MSG_RESULT($with_gpm)
6253 if test "$with_gpm" != no ; then
6254 AC_CHECK_HEADER(gpm.h,[
6255 AC_DEFINE(HAVE_GPM_H)
6256 if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
6257 CF_VERBOSE(assuming we really have GPM library)
6258 AC_DEFINE(HAVE_LIBGPM)
6260 AC_CHECK_LIB(gpm,Gpm_Open,[:],[
6261 AC_MSG_ERROR(Cannot link with GPM library)
6266 test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
6271 dnl ---------------------------------------------------------------------------
6272 dnl CF_WITH_LIBTOOL version: 28 updated: 2011/07/02 15:40:32
6274 dnl Provide a configure option to incorporate libtool. Define several useful
6275 dnl symbols for the makefile rules.
6277 dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
6278 dnl macros from libtool.m4 which is in the aclocal directory of automake.
6279 dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
6280 dnl But that still does not work properly since the macro is expanded outside
6281 dnl the CF_WITH_LIBTOOL macro:
6284 dnl ACLOCAL=`aclocal --print-ac-dir`
6285 dnl if test -z "$ACLOCAL" ; then
6286 dnl echo cannot find aclocal directory
6288 dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
6289 dnl echo cannot find libtool.m4 file
6293 dnl LOCAL=aclocal.m4
6294 dnl ORIG=aclocal.m4.orig
6296 dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
6300 dnl # sed the LIBTOOL= assignment to omit the current directory?
6301 dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
6302 dnl cat $ORIG >>$LOCAL
6306 AC_DEFUN([CF_WITH_LIBTOOL],
6308 AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION])
6309 ifdef([AC_PROG_LIBTOOL],,[
6312 # common library maintenance symbols that are convenient for libtool scripts:
6313 LIB_CREATE='${AR} -cr'
6314 LIB_OBJECT='${OBJECTS}'
6318 # symbols used to prop libtool up to enable it to determine what it should be
6326 AC_MSG_CHECKING(if you want to build libraries with libtool)
6327 AC_ARG_WITH(libtool,
6328 [ --with-libtool generate libraries with libtool],
6329 [with_libtool=$withval],
6331 AC_MSG_RESULT($with_libtool)
6332 if test "$with_libtool" != "no"; then
6333 ifdef([AC_PROG_LIBTOOL],[
6334 # missing_content_AC_PROG_LIBTOOL{{
6336 # missing_content_AC_PROG_LIBTOOL}}
6338 if test "$with_libtool" != "yes" ; then
6339 CF_PATH_SYNTAX(with_libtool)
6340 LIBTOOL=$with_libtool
6342 AC_PATH_PROG(LIBTOOL,libtool)
6344 if test -z "$LIBTOOL" ; then
6345 AC_MSG_ERROR(Cannot find libtool)
6348 LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
6349 LIB_OBJECT='${OBJECTS:.o=.lo}'
6351 LIB_CLEAN='${LIBTOOL} --mode=clean'
6352 LIB_COMPILE='${LIBTOOL} --mode=compile'
6353 LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
6354 LIB_INSTALL='${LIBTOOL} --mode=install'
6355 LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
6358 # Show the version of libtool
6359 AC_MSG_CHECKING(version of libtool)
6361 # Save the version in a cache variable - this is not entirely a good
6362 # thing, but the version string from libtool is very ugly, and for
6363 # bug reports it might be useful to have the original string. "("
6364 cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
6365 AC_MSG_RESULT($cf_cv_libtool_version)
6366 if test -z "$cf_cv_libtool_version" ; then
6367 AC_MSG_ERROR(This is not GNU libtool)
6370 # special hack to add -no-undefined (which libtool should do for itself)
6372 case "$cf_cv_system_name" in #(vi
6373 cygwin*|mingw32*|uwin*|aix[[4-7]]) #(vi
6374 LT_UNDEF=-no-undefined
6377 AC_SUBST([LT_UNDEF])
6379 # special hack to add --tag option for C++ compiler
6380 case $cf_cv_libtool_version in #(vi
6381 1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi
6382 LIBTOOL_CXX="$LIBTOOL --tag=CXX"
6383 LIBTOOL="$LIBTOOL --tag=CC"
6386 LIBTOOL_CXX="$LIBTOOL"
6394 test -z "$LIBTOOL" && ECHO_LT=
6397 AC_SUBST(LIBTOOL_CXX)
6398 AC_SUBST(LIBTOOL_OPTS)
6400 AC_SUBST(LIB_CREATE)
6401 AC_SUBST(LIB_OBJECT)
6402 AC_SUBST(LIB_SUFFIX)
6406 AC_SUBST(LIB_COMPILE)
6408 AC_SUBST(LIB_INSTALL)
6409 AC_SUBST(LIB_UNINSTALL)
6412 dnl ---------------------------------------------------------------------------
6413 dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
6415 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
6416 dnl defaulting to yes/no.
6418 dnl $1 = option name
6420 dnl $3 = environment variable to set
6421 dnl $4 = default value, shown in the help-message, must be a constant
6422 dnl $5 = default value, if it's an expression & cannot be in the help-message
6424 AC_DEFUN([CF_WITH_PATH],
6425 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
6426 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
6427 if ifelse([$5],,true,[test -n "$5"]) ; then
6428 CF_PATH_SYNTAX(withval)
6433 dnl ---------------------------------------------------------------------------
6434 dnl CF_WITH_PATHLIST version: 7 updated: 2010/10/23 16:10:30
6435 dnl ----------------
6436 dnl Process an option specifying a list of colon-separated paths.
6438 dnl $1 = option name
6440 dnl $3 = environment variable to set
6441 dnl $4 = default value, shown in the help-message, must be a constant
6442 dnl $5 = default value, if it's an expression & cannot be in the help-message
6443 dnl $6 = flag to tell if we want to define or substitute
6445 AC_DEFUN([CF_WITH_PATHLIST],[
6446 AC_REQUIRE([CF_PATHSEP])
6447 AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
6448 ifelse($4,,[withval=${$3}],[withval=${$3:-ifelse($5,,$4,$5)}]))dnl
6450 IFS="${IFS:- }"; ac_save_ifs="$IFS"; IFS="${PATH_SEPARATOR}"
6452 for cf_src_path in $withval
6454 CF_PATH_SYNTAX(cf_src_path)
6455 test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
6456 cf_dst_path="${cf_dst_path}${cf_src_path}"
6461 # Strip single quotes from the value, e.g., when it was supplied as a literal
6463 case $cf_dst_path in #(vi
6465 cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
6468 cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
6471 eval '$3="$cf_dst_path"'
6475 dnl ---------------------------------------------------------------------------
6476 dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
6478 dnl Check for POSIX thread library.
6479 AC_DEFUN([CF_WITH_PTHREAD],
6481 AC_MSG_CHECKING(if you want to link with the pthread library)
6482 AC_ARG_WITH(pthread,
6483 [ --with-pthread use POSIX thread library],
6484 [with_pthread=$withval],
6486 AC_MSG_RESULT($with_pthread)
6488 if test "$with_pthread" != no ; then
6489 AC_CHECK_HEADER(pthread.h,[
6490 AC_DEFINE(HAVE_PTHREADS_H)
6492 AC_MSG_CHECKING(if we can link with the pthread library)
6493 cf_save_LIBS="$LIBS"
6496 #include <pthread.h>
6498 int rc = pthread_create(0,0,0,0);
6499 ],[with_pthread=yes],[with_pthread=no])
6500 LIBS="$cf_save_LIBS"
6501 AC_MSG_RESULT($with_pthread)
6503 if test "$with_pthread" = yes ; then
6505 AC_DEFINE(HAVE_LIBPTHREADS)
6507 AC_MSG_ERROR(Cannot link with pthread library)
6512 dnl ---------------------------------------------------------------------------
6513 dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
6514 dnl -------------------
6515 dnl Allow library's release-version to be overridden. Generally this happens when a
6516 dnl packager has incremented the release-version past that used in the original package,
6517 dnl and wishes to keep doing this.
6519 dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
6520 dnl and {package}_MINOR symbols
6522 AC_DEFUN([CF_WITH_REL_VERSION],[
6523 test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
6524 AC_ARG_WITH(rel-version,
6525 [ --with-rel-version=XXX override derived release version],
6526 [AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
6527 cf_cv_rel_version=$withval])
6529 CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
6531 $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
6532 $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
6533 CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
6534 CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
6537 dnl ---------------------------------------------------------------------------
6538 dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
6539 dnl ----------------
6540 dnl If we can compile with sysmouse, make it available unless it is not wanted.
6541 AC_DEFUN([CF_WITH_SYSMOUSE],[
6542 # not everyone has "test -c"
6543 if test -c /dev/sysmouse 2>/dev/null ; then
6544 AC_MSG_CHECKING(if you want to use sysmouse)
6545 AC_ARG_WITH(sysmouse,
6546 [ --with-sysmouse use sysmouse (FreeBSD console)],
6547 [cf_with_sysmouse=$withval],
6548 [cf_with_sysmouse=maybe])
6549 if test "$cf_with_sysmouse" != no ; then
6551 #include <osreldate.h>
6552 #if (__FreeBSD_version >= 400017)
6553 #include <sys/consio.h>
6554 #include <sys/fbio.h>
6556 #include <machine/console.h>
6559 struct mouse_info the_mouse;
6560 ioctl(0, CONS_MOUSECTL, &the_mouse);
6561 ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
6563 AC_MSG_RESULT($cf_with_sysmouse)
6564 test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
6567 dnl ---------------------------------------------------------------------------
6568 dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
6569 dnl ----------------
6570 AC_DEFUN([CF_WITH_VALGRIND],[
6571 CF_NO_LEAKS_OPTION(valgrind,
6572 [ --with-valgrind test: use valgrind],
6575 dnl ---------------------------------------------------------------------------
6576 dnl CF_XOPEN_SOURCE version: 36 updated: 2011/07/02 15:36:04
6578 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
6579 dnl or adapt to the vendor's definitions to get equivalent functionality,
6580 dnl without losing the common non-POSIX features.
6583 dnl $1 is the nominal value for _XOPEN_SOURCE
6584 dnl $2 is the nominal value for _POSIX_C_SOURCE
6585 AC_DEFUN([CF_XOPEN_SOURCE],[
6587 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
6588 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
6591 case $host_os in #(vi
6593 cf_xopen_source="-D_ALL_SOURCE"
6598 darwin[[0-8]].*) #(vi
6599 cf_xopen_source="-D_APPLE_C_SOURCE"
6602 cf_xopen_source="-D_DARWIN_C_SOURCE"
6604 freebsd*|dragonfly*) #(vi
6605 # 5.x headers associate
6606 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
6607 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
6608 cf_POSIX_C_SOURCE=200112L
6610 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6613 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
6616 cf_xopen_source="-D_HPUX_SOURCE"
6619 cf_xopen_source="-D_SGI_SOURCE"
6621 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
6625 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
6628 # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
6631 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
6634 cf_xopen_source="-D_OSF_SOURCE"
6637 cf_xopen_source="-D_QNX_SOURCE"
6640 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
6642 solaris2.1[[0-9]]) #(vi
6643 cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6645 solaris2.[[1-9]]) #(vi
6646 cf_xopen_source="-D__EXTENSIONS__"
6649 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
6650 AC_TRY_COMPILE([#include <sys/types.h>],[
6651 #ifndef _XOPEN_SOURCE
6654 [cf_cv_xopen_source=no],
6655 [cf_save="$CPPFLAGS"
6656 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6657 AC_TRY_COMPILE([#include <sys/types.h>],[
6658 #ifdef _XOPEN_SOURCE
6661 [cf_cv_xopen_source=no],
6662 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
6666 if test "$cf_cv_xopen_source" != no ; then
6667 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
6668 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
6669 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
6670 CF_ADD_CFLAGS($cf_temp_xopen_source)
6672 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
6676 if test -n "$cf_xopen_source" ; then
6677 CF_ADD_CFLAGS($cf_xopen_source)