1 dnl***************************************************************************
2 dnl Copyright (c) 2010-2011,2012 Free Software Foundation, Inc. *
4 dnl Permission is hereby granted, free of charge, to any person obtaining a *
5 dnl copy of this software and associated documentation files (the *
6 dnl "Software"), to deal in the Software without restriction, including *
7 dnl without limitation the rights to use, copy, modify, merge, publish, *
8 dnl distribute, distribute with modifications, sublicense, and/or sell *
9 dnl copies of the Software, and to permit persons to whom the Software is *
10 dnl furnished to do so, subject to the following conditions: *
12 dnl The above copyright notice and this permission notice shall be included *
13 dnl in all copies or substantial portions of the Software. *
15 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
16 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
17 dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
18 dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
19 dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
20 dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
21 dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23 dnl Except as contained in this notice, the name(s) of the above copyright *
24 dnl holders shall not be used in advertising or otherwise to promote the *
25 dnl sale, use or other dealings in this Software without prior written *
27 dnl***************************************************************************
29 dnl Author: Thomas E. Dickey
31 dnl $Id: aclocal.m4,v 1.51 2012/06/30 21:28:18 tom Exp $
32 dnl Macros used in NCURSES Ada95 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 CF_ACVERSION_CHECK version: 2 updated: 2011/05/08 11:22:03
43 dnl ------------------
44 dnl Conditionally generate script according to whether we're using a given autoconf.
46 dnl $1 = version to compare against
47 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
48 dnl $3 = code to use if AC_ACVERSION is older than $1.
49 define(CF_ACVERSION_CHECK,
51 ifdef([m4_version_compare],
52 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
53 [CF_ACVERSION_COMPARE(
54 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
55 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
56 dnl ---------------------------------------------------------------------------
57 dnl CF_ACVERSION_COMPARE version: 2 updated: 2011/04/14 20:56:50
58 dnl --------------------
59 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
60 dnl MAJOR2, MINOR2, TERNARY2,
61 dnl PRINTABLE2, not FOUND, FOUND)
62 define(CF_ACVERSION_COMPARE,
63 [ifelse(builtin([eval], [$2 < $5]), 1,
64 [ifelse([$8], , ,[$8])],
65 [ifelse([$9], , ,[$9])])])dnl
66 dnl ---------------------------------------------------------------------------
67 dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
68 dnl -------------------
69 dnl Construct the list of include-options for the C programs in the Ada95
71 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
73 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
74 if test "$srcdir" != "."; then
75 ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
77 if test "$GCC" != yes; then
78 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
79 elif test "$includedir" != "/usr/include"; then
80 if test "$includedir" = '${prefix}/include' ; then
81 if test $prefix != /usr ; then
82 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
85 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
90 dnl ---------------------------------------------------------------------------
91 dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
93 dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
94 AC_DEFUN([CF_ADD_ADAFLAGS],[
95 ADAFLAGS="$ADAFLAGS $1"
98 dnl ---------------------------------------------------------------------------
99 dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
101 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
102 dnl The second parameter if given makes this macro verbose.
104 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
105 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
106 dnl confused by the quotes (which require backslashes to keep them usable).
107 AC_DEFUN([CF_ADD_CFLAGS],
112 cf_new_extra_cppflags=
114 for cf_add_cflags in $1
116 case $cf_fix_cppflags in
118 case $cf_add_cflags in #(vi
119 -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
120 case $cf_add_cflags in
122 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
124 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
125 && test -z "${cf_tst_cflags}" \
126 && cf_fix_cppflags=yes
128 if test $cf_fix_cppflags = yes ; then
129 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
131 elif test "${cf_tst_cflags}" = "\"'" ; then
132 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
138 *$cf_add_cflags) #(vi
141 case $cf_add_cflags in #(vi
143 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
144 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
147 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
152 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
157 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
159 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
161 test "${cf_add_cflags}" != "${cf_tst_cflags}" \
162 && test -z "${cf_tst_cflags}" \
163 && cf_fix_cppflags=no
168 if test -n "$cf_new_cflags" ; then
169 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
170 CFLAGS="$CFLAGS $cf_new_cflags"
173 if test -n "$cf_new_cppflags" ; then
174 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
175 CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
178 if test -n "$cf_new_extra_cppflags" ; then
179 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
180 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
183 AC_SUBST(EXTRA_CPPFLAGS)
186 dnl ---------------------------------------------------------------------------
187 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
189 dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
190 dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
191 dnl but old versions (and some misinstalled ones) need that. To make things
192 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
193 dnl the include-path).
194 AC_DEFUN([CF_ADD_INCDIR],
196 if test -n "$1" ; then
197 for cf_add_incdir in $1
199 while test $cf_add_incdir != /usr/include
201 if test -d $cf_add_incdir
204 if test -n "$CFLAGS$CPPFLAGS" ; then
205 # a loop is needed to ensure we can add subdirs of existing dirs
206 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
207 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
208 cf_have_incdir=yes; break
213 if test "$cf_have_incdir" = no ; then
214 if test "$cf_add_incdir" = /usr/local/include ; then
217 cf_save_CPPFLAGS=$CPPFLAGS
218 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
219 AC_TRY_COMPILE([#include <stdio.h>],
222 [cf_have_incdir=yes])
223 CPPFLAGS=$cf_save_CPPFLAGS
228 if test "$cf_have_incdir" = no ; then
229 CF_VERBOSE(adding $cf_add_incdir to include-path)
230 ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
232 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
233 test "$cf_top_incdir" = "$cf_add_incdir" && break
234 cf_add_incdir="$cf_top_incdir"
243 dnl ---------------------------------------------------------------------------
244 dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
246 dnl Add a library, used to enforce consistency.
248 dnl $1 = library to add, without the "-l"
249 dnl $2 = variable to update (default $LIBS)
250 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
251 dnl ---------------------------------------------------------------------------
252 dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
254 dnl Adds to the library-path
256 dnl Some machines have trouble with multiple -L options.
258 dnl $1 is the (list of) directory(s) to add
259 dnl $2 is the optional name of the variable to update (default LDFLAGS)
261 AC_DEFUN([CF_ADD_LIBDIR],
263 if test -n "$1" ; then
264 for cf_add_libdir in $1
266 if test $cf_add_libdir = /usr/lib ; then
268 elif test -d $cf_add_libdir
271 if test -n "$LDFLAGS$LIBS" ; then
272 # a loop is needed to ensure we can add subdirs of existing dirs
273 for cf_test_libdir in $LDFLAGS $LIBS ; do
274 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
275 cf_have_libdir=yes; break
279 if test "$cf_have_libdir" = no ; then
280 CF_VERBOSE(adding $cf_add_libdir to library-path)
281 ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
287 dnl ---------------------------------------------------------------------------
288 dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05
290 dnl Add one or more libraries, used to enforce consistency.
292 dnl $1 = libraries to add, with the "-l", etc.
293 dnl $2 = variable to update (default $LIBS)
294 AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl
295 dnl ---------------------------------------------------------------------------
296 dnl CF_ADD_SUBDIR_PATH version: 3 updated: 2010/07/03 20:58:12
297 dnl ------------------
298 dnl Append to a search-list for a nonstandard header/lib-file
299 dnl $1 = the variable to return as result
300 dnl $2 = the package name
301 dnl $3 = the subdirectory, e.g., bin, include or lib
302 dnl $4 = the directory under which we will test for subdirectories
303 dnl $5 = a directory that we do not want $4 to match
304 AC_DEFUN([CF_ADD_SUBDIR_PATH],
306 test "$4" != "$5" && \
308 ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) {
309 test -n "$verbose" && echo " ... testing for $3-directories under $4"
310 test -d $4/$3 && $1="[$]$1 $4/$3"
311 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
312 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
313 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
314 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
317 dnl ---------------------------------------------------------------------------
318 dnl CF_ANSI_CC_CHECK version: 11 updated: 2011/07/01 19:47:45
320 dnl This was originally adapted from the macros 'fp_PROG_CC_STDC' and
321 dnl 'fp_C_PROTOTYPES' in the sharutils 4.2 distribution.
322 AC_DEFUN([CF_ANSI_CC_CHECK],
324 # This should have been defined by AC_PROG_CC
327 # Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
328 # into CC. This will not help with broken scripts that wrap the compiler with
329 # options, but eliminates a more common category of user confusion.
330 AC_MSG_CHECKING(\$CC variable)
333 AC_MSG_RESULT(broken)
334 AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
336 cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'`
337 CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
338 CF_ADD_CFLAGS($cf_flags)
345 AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[
347 cf_save_CFLAGS="$CFLAGS"
348 cf_save_CPPFLAGS="$CPPFLAGS"
349 # Don't try gcc -ansi; that turns off useful extensions and
350 # breaks some systems' header files.
352 # Ultrix and OSF/1 -std1
353 # HP-UX -Aa -D_HPUX_SOURCE
355 # UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
356 for cf_arg in "-DCC_HAS_PROTOS" \
361 "-Aa -D_HPUX_SOURCE" \
364 CF_ADD_CFLAGS($cf_arg)
367 #ifndef CC_HAS_PROTOS
368 #if !defined(__STDC__) || (__STDC__ != 1)
373 int test (int i, double x);
374 struct s1 {int (*f) (int a);};
375 struct s2 {int (*f) (double a);};],
376 [cf_cv_ansi_cc="$cf_arg"; break])
378 CFLAGS="$cf_save_CFLAGS"
379 CPPFLAGS="$cf_save_CPPFLAGS"
382 if test "$cf_cv_ansi_cc" != "no"; then
383 if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
384 CF_ADD_CFLAGS($cf_cv_ansi_cc)
386 AC_DEFINE(CC_HAS_PROTOS)
390 dnl ---------------------------------------------------------------------------
391 dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
393 dnl For programs that must use an ANSI compiler, obtain compiler options that
394 dnl will make it recognize prototypes. We'll do preprocessor checks in other
395 dnl macros, since tools such as unproto can fake prototypes, but only part of
396 dnl the preprocessor.
397 AC_DEFUN([CF_ANSI_CC_REQD],
398 [AC_REQUIRE([CF_ANSI_CC_CHECK])
399 if test "$cf_cv_ansi_cc" = "no"; then
401 [Your compiler does not appear to recognize prototypes.
402 You have the following choices:
403 a. adjust your compiler options
404 b. get an up-to-date compiler
405 c. use a wrapper such as unproto])
408 dnl ---------------------------------------------------------------------------
409 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
411 dnl Check for suitable "ar" (archiver) options for updating an archive.
412 AC_DEFUN([CF_AR_FLAGS],[
413 AC_REQUIRE([CF_PROG_AR])
415 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
416 cf_cv_ar_flags=unknown
417 for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
420 # check if $ARFLAGS already contains this choice
421 if test "x$ARFLAGS" != "x" ; then
422 cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
423 if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
429 rm -f conftest.$ac_cv_objext
432 cat >conftest.$ac_ext <<EOF
433 #line __oline__ "configure"
434 int testdata[[3]] = { 123, 456, 789 };
436 if AC_TRY_EVAL(ac_compile) ; then
437 echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
438 $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
439 if test -f conftest.a ; then
440 cf_cv_ar_flags=$cf_ar_flags
444 CF_VERBOSE(cannot compile test-program)
448 rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
451 if test -n "$ARFLAGS" ; then
452 if test -n "$cf_cv_ar_flags" ; then
453 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
456 ARFLAGS=$cf_cv_ar_flags
461 dnl ---------------------------------------------------------------------------
462 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
464 dnl Allow user to disable a normally-on option.
465 AC_DEFUN([CF_ARG_DISABLE],
466 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
467 dnl ---------------------------------------------------------------------------
468 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
470 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
476 dnl $3 = action to perform if option is not default
477 dnl $4 = action if perform if option is default
478 dnl $5 = default option value (either 'yes' or 'no')
479 AC_DEFUN([CF_ARG_OPTION],
480 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
481 if test "$enableval" != "$5" ; then
483 ,[ $3]) ifelse([$4],,,[
486 fi],[enableval=$5 ifelse([$4],,,[
490 dnl ---------------------------------------------------------------------------
491 dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
493 dnl If we're cross-compiling, allow the user to override the tools and their
494 dnl options. The configure script is oriented toward identifying the host
495 dnl compiler, etc., but we need a build compiler to generate parts of the
498 dnl $1 = default for $CPPFLAGS
499 dnl $2 = default for $LIBS
500 AC_DEFUN([CF_BUILD_CC],[
501 AC_REQUIRE([CF_PROG_EXT])
502 if test "$cross_compiling" = yes ; then
504 # defaults that we might want to override
505 : ${BUILD_CFLAGS:=''}
506 : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
507 : ${BUILD_LDFLAGS:=''}
508 : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
509 : ${BUILD_EXEEXT:='$x'}
510 : ${BUILD_OBJEXT:='o'}
512 AC_ARG_WITH(build-cc,
513 [ --with-build-cc=XXX the build C compiler ($BUILD_CC)],
514 [BUILD_CC="$withval"],
515 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
516 AC_MSG_CHECKING(for native build C compiler)
517 AC_MSG_RESULT($BUILD_CC)
519 AC_MSG_CHECKING(for native build C preprocessor)
520 AC_ARG_WITH(build-cpp,
521 [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
522 [BUILD_CPP="$withval"],
523 [BUILD_CPP='${BUILD_CC} -E'])
524 AC_MSG_RESULT($BUILD_CPP)
526 AC_MSG_CHECKING(for native build C flags)
527 AC_ARG_WITH(build-cflags,
528 [ --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
529 [BUILD_CFLAGS="$withval"])
530 AC_MSG_RESULT($BUILD_CFLAGS)
532 AC_MSG_CHECKING(for native build C preprocessor-flags)
533 AC_ARG_WITH(build-cppflags,
534 [ --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
535 [BUILD_CPPFLAGS="$withval"])
536 AC_MSG_RESULT($BUILD_CPPFLAGS)
538 AC_MSG_CHECKING(for native build linker-flags)
539 AC_ARG_WITH(build-ldflags,
540 [ --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
541 [BUILD_LDFLAGS="$withval"])
542 AC_MSG_RESULT($BUILD_LDFLAGS)
544 AC_MSG_CHECKING(for native build linker-libraries)
545 AC_ARG_WITH(build-libs,
546 [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
547 [BUILD_LIBS="$withval"])
548 AC_MSG_RESULT($BUILD_LIBS)
550 # this assumes we're on Unix.
554 : ${BUILD_CC:='${CC}'}
556 if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
557 AC_MSG_ERROR([Cross-build requires two compilers.
558 Use --with-build-cc to specify the native compiler.])
562 : ${BUILD_CC:='${CC}'}
563 : ${BUILD_CPP:='${CPP}'}
564 : ${BUILD_CFLAGS:='${CFLAGS}'}
565 : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
566 : ${BUILD_LDFLAGS:='${LDFLAGS}'}
567 : ${BUILD_LIBS:='${LIBS}'}
568 : ${BUILD_EXEEXT:='$x'}
569 : ${BUILD_OBJEXT:='o'}
574 AC_SUBST(BUILD_CFLAGS)
575 AC_SUBST(BUILD_CPPFLAGS)
576 AC_SUBST(BUILD_LDFLAGS)
578 AC_SUBST(BUILD_EXEEXT)
579 AC_SUBST(BUILD_OBJEXT)
581 dnl ---------------------------------------------------------------------------
582 dnl CF_CFG_DEFAULTS version: 8 updated: 2011/06/04 20:09:13
584 dnl Determine the default configuration into which we'll install ncurses. This
585 dnl can be overridden by the user's command-line options. There's two items to
587 dnl 1. the prefix (e.g., /usr)
588 dnl 2. the header files (e.g., /usr/include/ncurses)
589 dnl We'll look for a previous installation of ncurses and use the same defaults.
591 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
592 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
593 dnl programs from a vendor's.
594 AC_DEFUN([CF_CFG_DEFAULTS],
596 AC_MSG_CHECKING(for prefix)
597 if test "x$prefix" = "xNONE" ; then
598 case "$cf_cv_system_name" in
599 # non-vendor systems don't have a conflict
600 openbsd*|freebsd*|mirbsd*|linux*|cygwin*|k*bsd*-gnu)
603 *) prefix=$ac_default_prefix
607 AC_MSG_RESULT($prefix)
609 if test "x$prefix" = "xNONE" ; then
610 AC_MSG_CHECKING(for default include-directory)
611 test -n "$verbose" && echo 1>&AC_FD_MSG
614 $includedir/ncurses \
616 $prefix/include/ncurses \
618 /usr/local/include/ncurses \
622 cf_dir=`eval echo $cf_symbol`
623 if test -f $cf_dir/curses.h ; then
624 if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
625 includedir="$cf_symbol"
626 test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
630 test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
632 AC_MSG_RESULT($includedir)
635 dnl ---------------------------------------------------------------------------
636 dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
638 dnl Check if we're accidentally using a cache from a different machine.
639 dnl Derive the system name, as a check for reusing the autoconf cache.
641 dnl If we've packaged config.guess and config.sub, run that (since it does a
642 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
643 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
644 dnl which is useful in cross-compiles.
646 dnl Note: we would use $ac_config_sub, but that is one of the places where
647 dnl autoconf 2.5x broke compatibility with autoconf 2.13
648 AC_DEFUN([CF_CHECK_CACHE],
650 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
651 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
652 system_name="$host_os"
654 system_name="`(uname -s -r) 2>/dev/null`"
655 if test -z "$system_name" ; then
656 system_name="`(hostname) 2>/dev/null`"
659 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
660 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
662 test -z "$system_name" && system_name="$cf_cv_system_name"
663 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
665 if test ".$system_name" != ".$cf_cv_system_name" ; then
666 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
667 AC_MSG_ERROR("Please remove config.cache and try again.")
670 dnl ---------------------------------------------------------------------------
671 dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
672 dnl -----------------
673 dnl Check if the given compiler is really clang. clang's C driver defines
674 dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
675 dnl not ignore some gcc options.
677 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
678 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
679 dnl the wrappers for gcc and g++ warnings.
681 dnl $1 = GCC (default) or GXX
682 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
683 dnl $3 = CFLAGS (default) or CXXFLAGS
684 AC_DEFUN([CF_CLANG_COMPILER],[
685 ifelse([$2],,CLANG_COMPILER,[$2])=no
687 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
688 AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
689 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
690 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
696 ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
697 cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
699 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
700 AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
703 dnl ---------------------------------------------------------------------------
704 dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
706 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
707 dnl variations of ncurses' installs.
709 dnl $1 = ncurses when looking for ncurses, or is empty
710 AC_DEFUN([CF_CURSES_HEADER],[
711 AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
712 cf_cv_ncurses_header=none
713 for cf_header in ifelse($1,,,[ \
717 curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
719 AC_TRY_COMPILE([#include <${cf_header}>],
720 [initscr(); tgoto("?", 0,0)],
721 [cf_cv_ncurses_header=$cf_header; break],[])
725 if test "$cf_cv_ncurses_header" = none ; then
726 AC_MSG_ERROR(No curses header-files found)
729 # cheat, to get the right #define's for HAVE_NCURSES_H, etc.
730 AC_CHECK_HEADERS($cf_cv_ncurses_header)
732 dnl ---------------------------------------------------------------------------
733 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
735 dnl "dirname" is not portable, so we fake it with a shell script.
736 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
737 dnl ---------------------------------------------------------------------------
738 dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
740 dnl You can always use "make -n" to see the actual options, but it's hard to
741 dnl pick out/analyze warning messages when the compile-line is long.
744 dnl ECHO_LT - symbol to control if libtool is verbose
745 dnl ECHO_LD - symbol to prefix "cc -o" lines
746 dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
747 dnl SHOW_CC - symbol to put before explicit "cc -c" lines
748 dnl ECHO_CC - symbol to put before any "cc" line
750 AC_DEFUN([CF_DISABLE_ECHO],[
751 AC_MSG_CHECKING(if you want to see long compiling messages)
753 [ --disable-echo display "compiling" commands],
756 ECHO_LD='@echo linking [$]@;'
757 RULE_CC='@echo compiling [$]<'
758 SHOW_CC='@echo compiling [$]@'
767 AC_MSG_RESULT($enableval)
774 dnl ---------------------------------------------------------------------------
775 dnl CF_ENABLE_PC_FILES version: 7 updated: 2011/12/10 18:58:47
776 dnl ------------------
777 dnl This is the "--enable-pc-files" option, which is available if there is a
778 dnl pkg-config configuration on the local machine.
779 AC_DEFUN([CF_ENABLE_PC_FILES],[
780 AC_REQUIRE([CF_PKG_CONFIG])
781 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
783 if test "$PKG_CONFIG" != none ; then
784 if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
785 AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
786 AC_ARG_ENABLE(pc-files,
787 [ --enable-pc-files generate and install .pc files for pkg-config],
788 [enable_pc_files=$enableval],
789 [enable_pc_files=no])
790 AC_MSG_RESULT($enable_pc_files)
791 elif test -z "$PKG_CONFIG_LIBDIR" || test "$PKG_CONFIG_LIBDIR" != no; then
793 AC_MSG_WARN(did not find $PKG_CONFIG library)
799 dnl ---------------------------------------------------------------------------
800 dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
802 dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
803 dnl prefer a standard location, and use -L options only if we do not find the
804 dnl library in the standard library location(s).
805 dnl $1 = library name
806 dnl $2 = library class, usually the same as library name
808 dnl $4 = code fragment to compile/link
809 dnl $5 = corresponding function-name
810 dnl $6 = flag, nonnull if failure should not cause an error-exit
812 dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
813 dnl to use a -L option.
814 AC_DEFUN([CF_FIND_LIBRARY],
816 eval 'cf_cv_have_lib_'$1'=no'
819 eval 'cf_cv_have_lib_'$1'=yes',[
821 AC_MSG_CHECKING(for $5 in -l$1)
823 AC_TRY_LINK([$3],[$4],
825 eval 'cf_cv_have_lib_'$1'=yes'
828 CF_LIBRARY_PATH(cf_search,$2)
829 for cf_libdir in $cf_search
831 AC_MSG_CHECKING(for -l$1 in $cf_libdir)
832 LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
833 AC_TRY_LINK([$3],[$4],
835 eval 'cf_cv_have_lib_'$1'=yes'
838 LIBS="$cf_save_LIBS"])
842 eval 'cf_found_library=[$]cf_cv_have_lib_'$1
844 if test $cf_found_library = no ; then
845 AC_MSG_ERROR(Cannot link $1 library)
849 dnl ---------------------------------------------------------------------------
850 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
852 dnl Find a library (specifically the linkage used in the code fragment),
853 dnl searching for it if it is not already in the library path.
854 dnl See also CF_ADD_SEARCHPATH.
856 dnl Parameters (4-on are optional):
857 dnl $1 = headers for library entrypoint
858 dnl $2 = code fragment for library entrypoint
859 dnl $3 = the library name without the "-l" option or ".so" suffix.
860 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
861 dnl $5 = action to perform if not successful
862 dnl $6 = module name, if not the same as the library name
863 dnl $7 = extra libraries
865 dnl Sets these variables:
866 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
867 dnl $cf_cv_header_path_$3 - include-directory if needed
868 dnl $cf_cv_library_path_$3 - library-directory if needed
869 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
870 AC_DEFUN([CF_FIND_LINKAGE],[
872 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
873 # will be set on completion of the AC_TRY_LINK below.
874 cf_cv_header_path_$3=
875 cf_cv_library_path_$3=
877 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
881 AC_TRY_LINK([$1],[$2],[
882 cf_cv_find_linkage_$3=yes
883 cf_cv_header_path_$3=/usr/include
884 cf_cv_library_path_$3=/usr/lib
887 LIBS="-l$3 $7 $cf_save_LIBS"
889 AC_TRY_LINK([$1],[$2],[
890 cf_cv_find_linkage_$3=yes
891 cf_cv_header_path_$3=/usr/include
892 cf_cv_library_path_$3=/usr/lib
893 cf_cv_library_file_$3="-l$3"
895 cf_cv_find_linkage_$3=no
898 CF_VERBOSE(find linkage for $3 library)
899 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
901 cf_save_CPPFLAGS="$CPPFLAGS"
902 cf_test_CPPFLAGS="$CPPFLAGS"
904 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
905 for cf_cv_header_path_$3 in $cf_search
907 if test -d $cf_cv_header_path_$3 ; then
908 CF_VERBOSE(... testing $cf_cv_header_path_$3)
909 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
910 AC_TRY_COMPILE([$1],[$2],[
911 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
912 cf_cv_find_linkage_$3=maybe
913 cf_test_CPPFLAGS="$CPPFLAGS"
915 CPPFLAGS="$cf_save_CPPFLAGS"
920 if test "$cf_cv_find_linkage_$3" = maybe ; then
922 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
925 cf_save_LDFLAGS="$LDFLAGS"
928 CPPFLAGS="$cf_test_CPPFLAGS"
929 LIBS="-l$3 $7 $cf_save_LIBS"
930 AC_TRY_LINK([$1],[$2],[
931 CF_VERBOSE(... found $3 library in system)
932 cf_cv_find_linkage_$3=yes])
933 CPPFLAGS="$cf_save_CPPFLAGS"
937 if test "$cf_cv_find_linkage_$3" != yes ; then
938 CF_LIBRARY_PATH(cf_search,$3)
939 for cf_cv_library_path_$3 in $cf_search
941 if test -d $cf_cv_library_path_$3 ; then
942 CF_VERBOSE(... testing $cf_cv_library_path_$3)
943 CPPFLAGS="$cf_test_CPPFLAGS"
944 LIBS="-l$3 $7 $cf_save_LIBS"
945 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
946 AC_TRY_LINK([$1],[$2],[
947 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
948 cf_cv_find_linkage_$3=yes
949 cf_cv_library_file_$3="-l$3"
951 CPPFLAGS="$cf_save_CPPFLAGS"
953 LDFLAGS="$cf_save_LDFLAGS"
957 CPPFLAGS="$cf_save_CPPFLAGS"
958 LDFLAGS="$cf_save_LDFLAGS"
962 cf_cv_find_linkage_$3=no
969 if test "$cf_cv_find_linkage_$3" = yes ; then
971 CF_ADD_INCDIR($cf_cv_header_path_$3)
972 CF_ADD_LIBDIR($cf_cv_library_path_$3)
976 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
979 dnl ---------------------------------------------------------------------------
980 dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
981 dnl -----------------
982 dnl make ADAFLAGS consistent with CFLAGS
983 AC_DEFUN([CF_FIXUP_ADAFLAGS],[
984 AC_MSG_CHECKING(optimization options for ADAFLAGS)
992 cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
993 CF_ADD_ADAFLAGS($cf_O_flag)
996 AC_MSG_RESULT($ADAFLAGS)
998 dnl ---------------------------------------------------------------------------
999 dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
1000 dnl -----------------
1001 dnl Test for availability of useful gcc __attribute__ directives to quiet
1002 dnl compiler warnings. Though useful, not all are supported -- and contrary
1003 dnl to documentation, unrecognized directives cause older compilers to barf.
1004 AC_DEFUN([CF_GCC_ATTRIBUTES],
1006 if test "$GCC" = yes
1008 cat > conftest.i <<EOF
1010 #define GCC_PRINTF 0
1015 #ifndef GCC_NORETURN
1016 #define GCC_NORETURN /* nothing */
1019 #define GCC_UNUSED /* nothing */
1022 if test "$GCC" = yes
1024 AC_CHECKING([for $CC __attribute__ directives])
1025 cat > conftest.$ac_ext <<EOF
1026 #line __oline__ "${as_me:-configure}"
1027 #include "confdefs.h"
1028 #include "conftest.h"
1029 #include "conftest.i"
1031 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1033 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1036 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1038 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1040 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1041 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1042 extern void foo(void) GCC_NORETURN;
1043 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1045 cf_printf_attribute=no
1046 cf_scanf_attribute=no
1047 for cf_attribute in scanf printf unused noreturn
1049 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1050 cf_directive="__attribute__(($cf_attribute))"
1051 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1053 case $cf_attribute in #(vi
1055 cf_printf_attribute=yes
1056 cat >conftest.h <<EOF
1057 #define GCC_$cf_ATTRIBUTE 1
1061 cf_scanf_attribute=yes
1062 cat >conftest.h <<EOF
1063 #define GCC_$cf_ATTRIBUTE 1
1067 cat >conftest.h <<EOF
1068 #define GCC_$cf_ATTRIBUTE $cf_directive
1073 if AC_TRY_EVAL(ac_compile); then
1074 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1075 cat conftest.h >>confdefs.h
1076 case $cf_attribute in #(vi
1078 if test "$cf_printf_attribute" = no ; then
1079 cat >>confdefs.h <<EOF
1080 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1083 cat >>confdefs.h <<EOF
1084 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1089 if test "$cf_scanf_attribute" = no ; then
1090 cat >>confdefs.h <<EOF
1091 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1094 cat >>confdefs.h <<EOF
1095 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1103 fgrep define conftest.i >>confdefs.h
1108 dnl ---------------------------------------------------------------------------
1109 dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1111 dnl Find version of gcc
1112 AC_DEFUN([CF_GCC_VERSION],[
1113 AC_REQUIRE([AC_PROG_CC])
1115 if test "$GCC" = yes ; then
1116 AC_MSG_CHECKING(version of $CC)
1117 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1118 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1119 AC_MSG_RESULT($GCC_VERSION)
1122 dnl ---------------------------------------------------------------------------
1123 dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
1125 dnl Check if the compiler supports useful warning options. There's a few that
1126 dnl we don't use, simply because they're too noisy:
1128 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1129 dnl -Wredundant-decls (system headers make this too noisy)
1130 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1131 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1132 dnl is enabled for ncurses using "--enable-const".
1136 dnl $1 is an optional list of gcc warning flags that a particular
1137 dnl application might want to use, e.g., "no-unused" for
1140 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1142 AC_DEFUN([CF_GCC_WARNINGS],
1144 AC_REQUIRE([CF_GCC_VERSION])
1145 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1146 CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
1148 cat > conftest.$ac_ext <<EOF
1149 #line __oline__ "${as_me:-configure}"
1150 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1153 if test "$INTEL_COMPILER" = yes
1155 # The "-wdXXX" options suppress warnings:
1156 # remark #1419: external declaration in primary source file
1157 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1158 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1159 # remark #193: zero used for undefined preprocessing identifier
1160 # remark #593: variable "curs_sb_left_arrow" was set but never used
1161 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1162 # remark #869: parameter "tw" was never referenced
1163 # remark #981: operands are evaluated in unspecified order
1164 # warning #279: controlling expression is constant
1166 AC_CHECKING([for $CC warning options])
1167 cf_save_CFLAGS="$CFLAGS"
1168 EXTRA_CFLAGS="-Wall"
1180 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1181 if AC_TRY_EVAL(ac_compile); then
1182 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1183 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1186 CFLAGS="$cf_save_CFLAGS"
1188 elif test "$GCC" = yes
1190 AC_CHECKING([for $CC warning options])
1191 cf_save_CFLAGS="$CFLAGS"
1194 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1195 for cf_opt in W Wall \
1196 Wbad-function-cast \
1200 Wmissing-declarations \
1201 Wmissing-prototypes \
1205 Wstrict-prototypes \
1206 Wundef $cf_warn_CONST $1
1208 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1209 if AC_TRY_EVAL(ac_compile); then
1210 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1211 case $cf_opt in #(vi
1213 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1216 case $GCC_VERSION in
1218 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1222 Wpointer-arith) #(vi
1223 case $GCC_VERSION in
1225 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1230 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1233 CFLAGS="$cf_save_CFLAGS"
1237 AC_SUBST(EXTRA_CFLAGS)
1239 dnl ---------------------------------------------------------------------------
1240 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
1241 dnl ----------------
1242 AC_DEFUN([CF_GNAT_GENERICS],
1244 AC_REQUIRE([CF_GNAT_VERSION])
1246 AC_MSG_CHECKING(if GNAT supports generics)
1247 case $cf_gnat_version in #(vi
1248 3.[[1-9]]*|[[4-9]].*) #(vi
1249 cf_gnat_generics=yes
1255 AC_MSG_RESULT($cf_gnat_generics)
1257 if test "$cf_gnat_generics" = yes
1259 cf_compile_generics=generics
1260 cf_generic_objects="\${GENOBJS}"
1262 cf_compile_generics=
1266 AC_SUBST(cf_compile_generics)
1267 AC_SUBST(cf_generic_objects)
1269 dnl ---------------------------------------------------------------------------
1270 dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
1271 dnl --------------------
1272 dnl Check if the gnat pragma "Unreferenced" works.
1273 AC_DEFUN([CF_GNAT_PRAGMA_UNREF],[
1274 AC_CACHE_CHECK(if GNAT pragma Unreferenced works,cf_cv_pragma_unreferenced,[
1275 CF_GNAT_TRY_LINK([procedure conftest;],
1278 procedure conftest is
1280 pragma Unreferenced (test);
1283 Text_IO.Put ("Hello World");
1285 GNAT.OS_Lib.OS_Exit (0);
1287 [cf_cv_pragma_unreferenced=yes],
1288 [cf_cv_pragma_unreferenced=no])])
1290 # if the pragma is supported, use it (needed in the Trace code).
1291 if test $cf_cv_pragma_unreferenced = yes ; then
1296 AC_SUBST(PRAGMA_UNREF)
1298 dnl ---------------------------------------------------------------------------
1299 dnl CF_GNAT_PROJECTS version: 2 updated: 2011/03/23 20:24:41
1300 dnl ----------------
1301 dnl GNAT projects are configured with ".gpr" project files.
1302 dnl GNAT libraries are a further development, using the project feature.
1303 AC_DEFUN([CF_GNAT_PROJECTS],
1305 AC_REQUIRE([CF_GNAT_VERSION])
1307 cf_gnat_libraries=no
1310 AC_MSG_CHECKING(if GNAT supports project files)
1311 case $cf_gnat_version in #(vi
1315 case $cf_cv_system_name in #(vi
1319 mkdir conftest.src conftest.bin conftest.lib
1321 rm -rf conftest* *~conftest*
1322 cat >>library.gpr <<CF_EOF
1324 Kind := External ("LIB_KIND");
1325 for Library_Name use "ConfTest";
1326 for Object_Dir use ".";
1327 for Library_ALI_Dir use External("LIBRARY_DIR");
1328 for Library_Version use External ("SONAME");
1329 for Library_Kind use Kind;
1330 for Library_Dir use External("BUILD_DIR");
1331 Source_Dir := External ("SOURCE_DIR");
1332 for Source_Dirs use (Source_Dir);
1334 for Default_Switches ("Ada") use
1338 "-gnatVa", -- All validity checks
1339 "-gnatwa"); -- Activate all optional errors
1343 cat >>confpackage.ads <<CF_EOF
1344 package ConfPackage is
1348 cat >>confpackage.adb <<CF_EOF
1350 package body ConfPackage is
1351 procedure conftest is
1353 Text_IO.Put ("Hello World");
1358 if ( $cf_ada_make $ADAFLAGS \
1360 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
1361 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
1362 -XSOURCE_DIR=`pwd` \
1363 -XSONAME=libConfTest.so.1 \
1364 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
1365 cf_gnat_projects=yes
1368 if test -f conftest.lib/confpackage.ali
1370 cf_gnat_libraries=yes
1372 rm -rf conftest* *~conftest*
1377 AC_MSG_RESULT($cf_gnat_projects)
1379 if test $cf_gnat_projects = yes
1381 AC_MSG_CHECKING(if GNAT supports libraries)
1382 AC_MSG_RESULT($cf_gnat_libraries)
1385 if test "$cf_gnat_projects" = yes
1387 USE_OLD_MAKERULES="#"
1388 USE_GNAT_PROJECTS=""
1390 USE_OLD_MAKERULES=""
1391 USE_GNAT_PROJECTS="#"
1394 if test "$cf_gnat_libraries" = yes
1396 USE_GNAT_LIBRARIES=""
1398 USE_GNAT_LIBRARIES="#"
1401 AC_SUBST(USE_OLD_MAKERULES)
1402 AC_SUBST(USE_GNAT_PROJECTS)
1403 AC_SUBST(USE_GNAT_LIBRARIES)
1405 dnl ---------------------------------------------------------------------------
1406 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
1408 dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
1409 dnl is noted that gnat may compile a tasking unit even for configurations which
1410 dnl fail at runtime.
1411 AC_DEFUN([CF_GNAT_SIGINT],[
1412 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
1413 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
1417 pragma Warnings (Off); -- the next pragma exists since 3.11p
1418 pragma Unreserve_All_Interrupts;
1419 pragma Warnings (On);
1421 protected Process is
1423 function Continue return Boolean;
1424 pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
1426 Done : Boolean := False;
1430 [package body ConfTest is
1431 protected body Process is
1436 function Continue return Boolean is
1442 [cf_cv_gnat_sigint=yes],
1443 [cf_cv_gnat_sigint=no])])
1445 if test $cf_cv_gnat_sigint = yes ; then
1450 AC_SUBST(USE_GNAT_SIGINT)
1452 dnl ---------------------------------------------------------------------------
1453 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
1454 dnl ----------------
1455 dnl Verify that a test program compiles/links with GNAT.
1456 dnl $cf_ada_make is set to the program that compiles/links
1457 dnl $ADAFLAGS may be set to the GNAT flags.
1459 dnl $1 is the text of the spec
1460 dnl $2 is the text of the body
1461 dnl $3 is the shell command to execute if successful
1462 dnl $4 is the shell command to execute if not successful
1463 AC_DEFUN([CF_GNAT_TRY_LINK],
1465 rm -rf conftest* *~conftest*
1466 cat >>conftest.ads <<CF_EOF
1469 cat >>conftest.adb <<CF_EOF
1472 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1473 ifelse($3,, :,[ $3])
1477 rm -rf conftest* *~conftest*
1479 dnl ---------------------------------------------------------------------------
1480 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
1482 dnl Verify that a test program compiles and runs with GNAT
1483 dnl $cf_ada_make is set to the program that compiles/links
1484 dnl $ADAFLAGS may be set to the GNAT flags.
1486 dnl $1 is the text of the spec
1487 dnl $2 is the text of the body
1488 dnl $3 is the shell command to execute if successful
1489 dnl $4 is the shell command to execute if not successful
1490 AC_DEFUN([CF_GNAT_TRY_RUN],
1492 rm -rf conftest* *~conftest*
1493 cat >>conftest.ads <<CF_EOF
1496 cat >>conftest.adb <<CF_EOF
1499 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1500 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1501 ifelse($3,, :,[ $3])
1508 rm -rf conftest* *~conftest*
1510 dnl ---------------------------------------------------------------------------
1511 dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
1513 dnl Verify version of GNAT.
1514 AC_DEFUN([CF_GNAT_VERSION],
1516 AC_MSG_CHECKING(for gnat version)
1517 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
1518 grep '[[0-9]].[[0-9]][[0-9]]*' |\
1519 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1520 AC_MSG_RESULT($cf_gnat_version)
1522 case $cf_gnat_version in #(vi
1523 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
1524 cf_cv_prog_gnat_correct=yes
1527 AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
1528 cf_cv_prog_gnat_correct=no
1532 dnl ---------------------------------------------------------------------------
1533 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1535 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1536 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
1537 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1538 dnl since it is interwoven with GNU extensions.
1540 dnl Well, yes we could work around it...
1541 AC_DEFUN([CF_GNU_SOURCE],
1543 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1544 AC_TRY_COMPILE([#include <sys/types.h>],[
1545 #ifndef _XOPEN_SOURCE
1548 [cf_cv_gnu_source=no],
1549 [cf_save="$CPPFLAGS"
1550 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1551 AC_TRY_COMPILE([#include <sys/types.h>],[
1552 #ifdef _XOPEN_SOURCE
1555 [cf_cv_gnu_source=no],
1556 [cf_cv_gnu_source=yes])
1560 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1562 dnl ---------------------------------------------------------------------------
1563 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
1565 dnl Construct a search-list of directories for a nonstandard header-file
1568 dnl $1 = the variable to return as result
1569 dnl $2 = the package name
1570 AC_DEFUN([CF_HEADER_PATH],
1574 # collect the current set of include-directories from compiler flags
1575 cf_header_path_list=""
1576 if test -n "${CFLAGS}${CPPFLAGS}" ; then
1577 for cf_header_path in $CPPFLAGS $CFLAGS
1579 case $cf_header_path in #(vi
1581 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
1582 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
1583 cf_header_path_list="$cf_header_path_list [$]$1"
1589 # add the variations for the package we are looking for
1590 CF_SUBDIR_PATH($1,$2,include)
1592 test "$includedir" != NONE && \
1593 test "$includedir" != "/usr/include" && \
1594 test -d "$includedir" && {
1595 test -d $includedir && $1="[$]$1 $includedir"
1596 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
1599 test "$oldincludedir" != NONE && \
1600 test "$oldincludedir" != "/usr/include" && \
1601 test -d "$oldincludedir" && {
1602 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
1603 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
1606 $1="[$]$1 $cf_header_path_list"
1608 dnl ---------------------------------------------------------------------------
1609 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
1611 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
1612 AC_DEFUN([CF_HELP_MESSAGE],
1613 [AC_DIVERT_HELP([$1])dnl
1615 dnl ---------------------------------------------------------------------------
1616 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
1618 dnl Construct the list of include-options according to whether we're building
1619 dnl in the source directory or using '--srcdir=DIR' option. If we're building
1620 dnl with gcc, don't append the includedir if it happens to be /usr/include,
1621 dnl since that usually breaks gcc's shadow-includes.
1622 AC_DEFUN([CF_INCLUDE_DIRS],
1624 CPPFLAGS="$CPPFLAGS -I. -I../include"
1625 if test "$srcdir" != "."; then
1626 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
1628 if test "$GCC" != yes; then
1629 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1630 elif test "$includedir" != "/usr/include"; then
1631 if test "$includedir" = '${prefix}/include' ; then
1632 if test $prefix != /usr ; then
1633 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1636 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1641 dnl ---------------------------------------------------------------------------
1642 dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
1643 dnl -----------------
1644 dnl Check if the given compiler is really the Intel compiler for Linux. It
1645 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
1646 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
1648 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
1649 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
1650 dnl the wrappers for gcc and g++ warnings.
1652 dnl $1 = GCC (default) or GXX
1653 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
1654 dnl $3 = CFLAGS (default) or CXXFLAGS
1655 AC_DEFUN([CF_INTEL_COMPILER],[
1656 ifelse([$2],,INTEL_COMPILER,[$2])=no
1658 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
1661 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
1662 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
1663 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
1665 #ifdef __INTEL_COMPILER
1669 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
1670 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
1672 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
1673 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
1678 dnl ---------------------------------------------------------------------------
1679 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
1681 dnl Add checks for large file support.
1682 AC_DEFUN([CF_LARGEFILE],[
1683 ifdef([AC_FUNC_FSEEKO],[
1685 if test "$enable_largefile" != no ; then
1688 # Normally we would collect these definitions in the config.h,
1689 # but (like _XOPEN_SOURCE), some environments rely on having these
1690 # defined before any of the system headers are included. Another
1691 # case comes up with C++, e.g., on AIX the compiler compiles the
1692 # header files by themselves before looking at the body files it is
1693 # told to compile. For ncurses, those header files do not include
1695 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
1696 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
1697 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
1699 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
1701 #include <sys/types.h>
1704 /* if transitional largefile support is setup, this is true */
1705 extern struct dirent64 * readdir(DIR *);
1706 struct dirent64 *x = readdir((DIR *)0);
1707 struct dirent *y = readdir((DIR *)0);
1710 [cf_cv_struct_dirent64=yes],
1711 [cf_cv_struct_dirent64=no])
1713 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
1717 dnl ---------------------------------------------------------------------------
1718 dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
1720 dnl For the given system and compiler, find the compiler flags to pass to the
1721 dnl loader to use the "rpath" feature.
1722 AC_DEFUN([CF_LD_RPATH_OPT],
1724 AC_REQUIRE([CF_CHECK_CACHE])
1727 AC_MSG_CHECKING(for an rpath option)
1728 case $cf_cv_system_name in #(vi
1730 if test "$GCC" = yes; then
1731 LD_RPATH_OPT="-Wl,-rpath,"
1733 LD_RPATH_OPT="-rpath "
1736 linux*|gnu*|k*bsd*-gnu) #(vi
1737 LD_RPATH_OPT="-Wl,-rpath,"
1739 openbsd[[2-9]].*|mirbsd*) #(vi
1740 LD_RPATH_OPT="-Wl,-rpath,"
1742 dragonfly*|freebsd*) #(vi
1743 LD_RPATH_OPT="-rpath "
1746 LD_RPATH_OPT="-Wl,-rpath,"
1749 LD_RPATH_OPT="-rpath "
1757 AC_MSG_RESULT($LD_RPATH_OPT)
1759 case "x$LD_RPATH_OPT" in #(vi
1761 AC_MSG_CHECKING(if we need a space after rpath option)
1762 cf_save_LIBS="$LIBS"
1763 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
1764 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
1765 LIBS="$cf_save_LIBS"
1766 AC_MSG_RESULT($cf_rpath_space)
1767 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
1771 dnl ---------------------------------------------------------------------------
1772 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
1774 dnl Construct a search-list of directories for a nonstandard library-file
1777 dnl $1 = the variable to return as result
1778 dnl $2 = the package name
1779 AC_DEFUN([CF_LIBRARY_PATH],
1782 cf_library_path_list=""
1783 if test -n "${LDFLAGS}${LIBS}" ; then
1784 for cf_library_path in $LDFLAGS $LIBS
1786 case $cf_library_path in #(vi
1788 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
1789 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
1790 cf_library_path_list="$cf_library_path_list [$]$1"
1796 CF_SUBDIR_PATH($1,$2,lib)
1798 $1="$cf_library_path_list [$]$1"
1800 dnl ---------------------------------------------------------------------------
1801 dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
1803 dnl Compute the library-prefix for the given host system
1804 dnl $1 = variable to set
1805 define([CF_LIB_PREFIX],
1807 case $cf_cv_system_name in #(vi
1814 ifelse($1,,,[$1=$LIB_PREFIX])
1815 AC_SUBST(LIB_PREFIX)
1817 dnl ---------------------------------------------------------------------------
1818 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
1820 dnl Find the and soname for the given shared library. Set the cache variable
1821 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
1822 dnl variable to "unknown".
1826 dnl $3 = library name
1827 AC_DEFUN([CF_LIB_SONAME],
1829 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
1831 cf_cv_$3_soname=unknown
1832 if test "$cross_compiling" != yes ; then
1833 cat >conftest.$ac_ext <<CF_EOF
1838 ${cf_cv_main_return:-return}(0);
1841 cf_save_LIBS="$LIBS"
1843 if AC_TRY_EVAL(ac_compile) ; then
1844 if AC_TRY_EVAL(ac_link) ; then
1845 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
1846 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
1850 LIBS="$cf_save_LIBS"
1854 dnl ---------------------------------------------------------------------------
1855 dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
1857 dnl Compute the library file-suffix from the given model name
1859 dnl $2 = variable to set (the nominal library suffix)
1860 dnl $3 = dependency variable to set (actual filename)
1861 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1862 AC_DEFUN([CF_LIB_SUFFIX],
1864 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
1883 case $cf_cv_system_name in
1888 cygwin*|mingw*) #(vi
1913 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1914 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
1916 dnl ---------------------------------------------------------------------------
1917 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
1919 dnl Compute the string to append to -library from the given model name
1921 dnl $2 = variable to set
1922 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1923 AC_DEFUN([CF_LIB_TYPE],
1932 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1934 dnl ---------------------------------------------------------------------------
1935 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
1936 dnl ----------------
1937 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
1938 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
1939 dnl have to provide wrappers for global tables to ensure they're linked
1941 AC_DEFUN([CF_LINK_DATAONLY],
1943 AC_MSG_CHECKING([if data-only library module links])
1944 AC_CACHE_VAL(cf_cv_link_dataonly,[
1946 cat >conftest.$ac_ext <<EOF
1947 #line __oline__ "configure"
1948 int testdata[[3]] = { 123, 456, 789 };
1950 if AC_TRY_EVAL(ac_compile) ; then
1951 mv conftest.o data.o && \
1952 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
1954 rm -f conftest.$ac_ext data.o
1955 cat >conftest.$ac_ext <<EOF
1956 #line __oline__ "configure"
1960 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
1962 extern int testdata[[3]];
1963 return testdata[[0]] == 123
1964 && testdata[[1]] == 456
1965 && testdata[[2]] == 789;
1969 if AC_TRY_EVAL(ac_compile); then
1970 mv conftest.o func.o && \
1971 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
1973 rm -f conftest.$ac_ext func.o
1974 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
1976 LIBS="conftest.a $LIBS"
1980 extern int testfunc();
1981 ${cf_cv_main_return:-return} (!testfunc());
1984 [cf_cv_link_dataonly=yes],
1985 [cf_cv_link_dataonly=no],
1986 [cf_cv_link_dataonly=unknown])
1989 AC_MSG_RESULT($cf_cv_link_dataonly)
1991 if test "$cf_cv_link_dataonly" = no ; then
1992 AC_DEFINE(BROKEN_LINKER)
1997 dnl ---------------------------------------------------------------------------
1998 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
2000 dnl Most Unix systems have both link and symlink, a few don't have symlink.
2001 dnl A few non-Unix systems implement symlink, but not link.
2002 dnl A few non-systems implement neither (or have nonfunctional versions).
2003 AC_DEFUN([CF_LINK_FUNCS],
2009 if test "$cross_compiling" = yes ; then
2014 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
2016 for cf_func in link symlink ; do
2018 #include <sys/types.h>
2019 #include <sys/stat.h>
2020 #ifdef HAVE_UNISTD_H
2026 char *src = "config.log";
2027 char *dst = "conftest.chk";
2032 fail = ($cf_func("config.log", "conftest.chk") < 0)
2033 || (stat(dst, &dst_sb) < 0)
2034 || (dst_sb.st_mtime != src_sb.st_mtime);
2040 ${cf_cv_main_return:-return} (fail);
2043 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
2044 eval 'ac_cv_func_'$cf_func'=yes'],[
2045 eval 'ac_cv_func_'$cf_func'=no'],[
2046 eval 'ac_cv_func_'$cf_func'=error'])
2048 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
2050 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
2051 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
2054 dnl ---------------------------------------------------------------------------
2055 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
2057 dnl Check if a return from main to the shell actually returns the same exit
2058 dnl code. This is true for almost any POSIX environment.
2060 dnl Some very old environments did not flush stdout, etc., on an exit. That
2061 dnl would be a useful case to test for also.
2062 AC_DEFUN([CF_MAIN_RETURN],
2064 cf_cv_main_return=return
2066 dnl ---------------------------------------------------------------------------
2067 dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
2069 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
2070 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
2071 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
2072 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
2073 AC_DEFUN([CF_MAKEFLAGS],
2075 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
2077 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
2079 cat >cf_makeflags.tmp <<CF_EOF
2082 @ echo '.$cf_option'
2084 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
2085 case "$cf_result" in
2087 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
2088 case "$cf_result" in
2089 .*CC=*) cf_cv_makeflags=
2091 *) cf_cv_makeflags=$cf_option
2097 *) echo "given option \"$cf_option\", no match \"$cf_result\""
2101 rm -f cf_makeflags.tmp
2104 AC_SUBST(cf_cv_makeflags)
2106 dnl ---------------------------------------------------------------------------
2107 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
2109 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
2110 dnl a monocase filesystem.
2111 AC_DEFUN([CF_MAKE_TAGS],[
2112 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
2114 AC_CHECK_PROGS(CTAGS, exctags ctags)
2115 AC_CHECK_PROGS(ETAGS, exetags etags)
2117 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
2119 if test "$cf_cv_mixedcase" = yes ; then
2120 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
2125 if test "$MAKE_UPPER_TAGS" = yes ; then
2131 if test "$MAKE_LOWER_TAGS" = yes ; then
2140 AC_SUBST(MAKE_UPPER_TAGS)
2141 AC_SUBST(MAKE_LOWER_TAGS)
2143 dnl ---------------------------------------------------------------------------
2144 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
2145 dnl ----------------------
2146 dnl Check if the file-system supports mixed-case filenames. If we're able to
2147 dnl create a lowercase name and see it as uppercase, it doesn't support that.
2148 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
2150 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
2151 if test "$cross_compiling" = yes ; then
2152 case $target_alias in #(vi
2153 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
2161 rm -f conftest CONFTEST
2163 if test -f CONFTEST ; then
2168 rm -f conftest CONFTEST
2171 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
2173 dnl ---------------------------------------------------------------------------
2174 dnl CF_MKSTEMP version: 8 updated: 2012/02/13 20:34:56
2176 dnl Check for a working mkstemp. This creates two files, checks that they are
2177 dnl successfully created and distinct (AmigaOS apparently fails on the last).
2178 AC_DEFUN([CF_MKSTEMP],[
2179 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
2182 #include <sys/types.h>
2186 #include <sys/stat.h>
2189 char *tmpl = "conftestXXXXXX";
2197 for (n = 0; n < 2; ++n) {
2198 strcpy(name[n], tmpl);
2199 if ((fd = mkstemp(name[n])) >= 0) {
2200 if (!strcmp(name[n], tmpl)
2201 || stat(name[n], &sb) != 0
2202 || (sb.st_mode & S_IFMT) != S_IFREG
2203 || (sb.st_mode & 077) != 0) {
2210 && !strcmp(name[0], name[1]))
2212 ${cf_cv_main_return:-return}(result);
2214 ],[cf_cv_func_mkstemp=yes
2215 ],[cf_cv_func_mkstemp=no
2216 ],[cf_cv_func_mkstemp=maybe])
2218 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
2219 AC_CHECK_FUNC(mkstemp)
2221 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
2222 AC_DEFINE(HAVE_MKSTEMP)
2225 dnl ---------------------------------------------------------------------------
2226 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
2228 dnl Write a debug message to config.log, along with the line number in the
2229 dnl configure script.
2230 AC_DEFUN([CF_MSG_LOG],[
2231 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
2233 dnl ---------------------------------------------------------------------------
2234 dnl CF_NCURSES_ADDON version: 4 updated: 2011/03/27 17:10:13
2235 dnl ----------------
2236 dnl Configure an ncurses add-on, built outside the ncurses tree.
2237 AC_DEFUN([CF_NCURSES_ADDON],[
2239 AC_PROVIDE([CF_SUBST_NCURSES_VERSION])
2241 AC_MSG_CHECKING(if you want wide-character code)
2242 AC_ARG_ENABLE(widec,
2243 [ --enable-widec compile with wide-char/UTF-8 code],
2244 [with_widec=$enableval],
2246 AC_MSG_RESULT($with_widec)
2247 if test "$with_widec" = yes ; then
2249 CF_NCURSES_CONFIG(ncursesw)
2251 CF_NCURSES_CONFIG(ncurses)
2254 if test "$NCURSES_CONFIG" != none ; then
2256 cf_version=`$NCURSES_CONFIG --version`
2258 NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
2259 NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
2260 NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
2262 # ABI version is not available from headers
2263 cf_cv_abi_version=`$NCURSES_CONFIG --abi-version`
2267 for cf_name in MAJOR MINOR PATCH
2269 cat >conftest.$ac_ext <<CF_EOF
2270 #include <${cf_cv_ncurses_header:-curses.h}>
2271 AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
2273 cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
2275 if test -f conftest.out ; then
2276 cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[ ]][[ ]]*//"`
2277 eval NCURSES_$cf_name=\"$cf_result\"
2278 # cat conftest.$ac_ext
2283 cf_cv_abi_version=${NCURSES_MAJOR}
2287 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
2289 dnl Show the computed version, for logging
2290 cf_cv_timestamp=`date`
2292 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
2294 dnl We need these values in the generated headers
2295 AC_SUBST(NCURSES_MAJOR)
2296 AC_SUBST(NCURSES_MINOR)
2297 AC_SUBST(NCURSES_PATCH)
2299 dnl We need these values in the generated makefiles
2300 AC_SUBST(cf_cv_rel_version)
2301 AC_SUBST(cf_cv_abi_version)
2303 dnl FIXME - not needed for Ada95
2304 AC_SUBST(cf_cv_builtin_bool)
2305 AC_SUBST(cf_cv_header_stdbool_h)
2306 AC_SUBST(cf_cv_type_of_bool)dnl
2309 dnl ---------------------------------------------------------------------------
2310 dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
2311 dnl -------------------
2312 dnl Check if we can compile with ncurses' header file
2313 dnl $1 is the cache variable to set
2314 dnl $2 is the header-file to include
2315 dnl $3 is the root name (ncurses or ncursesw)
2316 AC_DEFUN([CF_NCURSES_CC_CHECK],[
2318 ]ifelse($3,ncursesw,[
2319 #define _XOPEN_SOURCE_EXTENDED
2320 #undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
2321 #define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
2324 #ifdef NCURSES_VERSION
2325 ]ifelse($3,ncursesw,[
2330 printf("%s\n", NCURSES_VERSION);
2342 dnl ---------------------------------------------------------------------------
2343 dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05
2344 dnl -----------------
2345 dnl Tie together the configure-script macros for ncurses.
2346 dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
2347 dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable.
2349 dnl $1 is the root library name (default: "ncurses")
2350 AC_DEFUN([CF_NCURSES_CONFIG],
2352 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
2354 echo "Looking for ${cf_ncuconfig_root}-config"
2356 CF_ACVERSION_CHECK(2.52,
2357 [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
2358 [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
2360 if test "$NCURSES_CONFIG" != none ; then
2362 CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
2363 CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
2365 # even with config script, some packages use no-override for curses.h
2366 CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
2368 dnl like CF_NCURSES_CPPFLAGS
2371 dnl like CF_NCURSES_LIBS
2372 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
2373 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2375 dnl like CF_NCURSES_VERSION
2376 cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
2380 CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
2381 CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
2385 dnl ---------------------------------------------------------------------------
2386 dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
2387 dnl -------------------
2388 dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
2389 dnl the CPPFLAGS variable so we can include its header.
2391 dnl The header files may be installed as either curses.h, or ncurses.h (would
2392 dnl be obsolete, except that some packagers prefer this name to distinguish it
2393 dnl from a "native" curses implementation). If not installed for overwrite,
2394 dnl the curses.h file would be in an ncurses subdirectory (e.g.,
2395 dnl /usr/include/ncurses), but someone may have installed overwriting the
2396 dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd
2397 dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
2400 dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
2401 dnl is already in the include-path, don't even bother with this, since we cannot
2402 dnl easily determine which file it is. In this case, it has to be <curses.h>.
2404 dnl The optional parameter gives the root name of the library, in case it is
2405 dnl not installed as the default curses library. That is how the
2406 dnl wide-character version of ncurses is installed.
2407 AC_DEFUN([CF_NCURSES_CPPFLAGS],
2408 [AC_REQUIRE([CF_WITH_CURSES_DIR])
2410 AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
2411 cf_ncuhdr_root=ifelse($1,,ncurses,$1)
2413 test -n "$cf_cv_curses_dir" && \
2414 test "$cf_cv_curses_dir" != "no" && { \
2415 CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
2418 AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
2419 cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
2420 ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
2421 for cf_header in $cf_header_list
2423 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
2424 test "$cf_cv_ncurses_h" != no && break
2431 # some applications need this, but should check for NCURSES_VERSION
2436 dnl ---------------------------------------------------------------------------
2437 dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
2438 dnl -----------------
2439 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
2440 dnl variations of ncurses' installs.
2442 dnl See also CF_CURSES_HEADER, which sets the same cache variable.
2443 AC_DEFUN([CF_NCURSES_HEADER],[
2445 if test "$cf_cv_ncurses_h" != no ; then
2446 cf_cv_ncurses_header=$cf_cv_ncurses_h
2449 AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
2450 test -n "$verbose" && echo
2451 CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
2452 test -n "$verbose" && echo search path $cf_search
2453 cf_save2_CPPFLAGS="$CPPFLAGS"
2454 for cf_incdir in $cf_search
2456 CF_ADD_INCDIR($cf_incdir)
2461 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
2462 if test "$cf_cv_ncurses_h2" != no ; then
2463 cf_cv_ncurses_h2=$cf_incdir/$cf_header
2464 test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
2467 test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
2469 CPPFLAGS="$cf_save2_CPPFLAGS"
2470 test "$cf_cv_ncurses_h2" != no && break
2472 test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
2475 CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
2476 cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
2477 if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
2478 cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
2480 CF_ADD_INCDIR($cf_1st_incdir)
2484 # Set definitions to allow ifdef'ing for ncurses.h
2486 case $cf_cv_ncurses_header in # (vi
2488 AC_DEFINE(HAVE_NCURSES_H)
2492 case $cf_cv_ncurses_header in # (vi
2493 ncurses/curses.h|ncurses/ncurses.h)
2494 AC_DEFINE(HAVE_NCURSES_NCURSES_H)
2496 ncursesw/curses.h|ncursesw/ncurses.h)
2497 AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
2502 dnl ---------------------------------------------------------------------------
2503 dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38
2505 dnl Look for the ncurses library. This is a little complicated on Linux,
2506 dnl because it may be linked with the gpm (general purpose mouse) library.
2507 dnl Some distributions have gpm linked with (bsd) curses, which makes it
2508 dnl unusable with ncurses. However, we don't want to link with gpm unless
2509 dnl ncurses has a dependency, since gpm is normally set up as a shared library,
2510 dnl and the linker will record a dependency.
2512 dnl The optional parameter gives the root name of the library, in case it is
2513 dnl not installed as the default curses library. That is how the
2514 dnl wide-character version of ncurses is installed.
2515 AC_DEFUN([CF_NCURSES_LIBS],
2516 [AC_REQUIRE([CF_NCURSES_CPPFLAGS])
2518 cf_nculib_root=ifelse($1,,ncurses,$1)
2519 # This works, except for the special case where we find gpm, but
2520 # ncurses is in a nonstandard location via $LIBS, and we really want
2523 cf_ncurses_SAVE="$LIBS"
2524 AC_CHECK_LIB(gpm,Gpm_Open,
2525 [AC_CHECK_LIB(gpm,initscr,
2526 [LIBS="$cf_ncurses_SAVE"],
2527 [cf_ncurses_LIBS="-lgpm"])])
2529 case $host_os in #(vi
2531 # This is only necessary if you are linking against an obsolete
2532 # version of ncurses (but it should do no harm, since it's static).
2533 if test "$cf_nculib_root" = ncurses ; then
2534 AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
2539 CF_ADD_LIBS($cf_ncurses_LIBS)
2541 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
2543 CF_ADD_LIBS(-l$cf_nculib_root)
2545 CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
2546 [#include <${cf_cv_ncurses_header:-curses.h}>],
2551 if test -n "$cf_ncurses_LIBS" ; then
2552 AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
2553 cf_ncurses_SAVE="$LIBS"
2554 for p in $cf_ncurses_LIBS ; do
2555 q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
2556 if test "$q" != "$LIBS" ; then
2560 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
2561 [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
2562 [AC_MSG_RESULT(yes)],
2564 LIBS="$cf_ncurses_SAVE"])
2567 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
2568 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2570 dnl ---------------------------------------------------------------------------
2571 dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
2572 dnl ------------------
2573 dnl Check for the version of ncurses, to aid in reporting bugs, etc.
2574 dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
2575 dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
2576 AC_DEFUN([CF_NCURSES_VERSION],
2578 AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
2579 AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
2580 cf_cv_ncurses_version=no
2584 #include <${cf_cv_ncurses_header:-curses.h}>
2588 FILE *fp = fopen("$cf_tempfile", "w");
2589 #ifdef NCURSES_VERSION
2590 # ifdef NCURSES_VERSION_PATCH
2591 fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
2593 fprintf(fp, "%s\n", NCURSES_VERSION);
2597 fprintf(fp, "old\n");
2602 ${cf_cv_main_return:-return}(0);
2604 cf_cv_ncurses_version=`cat $cf_tempfile`],,[
2606 # This will not work if the preprocessor splits the line after the
2607 # Autoconf token. The 'unproto' program does that.
2608 cat > conftest.$ac_ext <<EOF
2609 #include <${cf_cv_ncurses_header:-curses.h}>
2611 #ifdef NCURSES_VERSION
2612 Autoconf NCURSES_VERSION
2620 cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
2622 if test -f conftest.out ; then
2623 cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
2624 test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
2630 test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
2632 dnl ---------------------------------------------------------------------------
2633 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
2634 dnl ------------------
2635 dnl see CF_WITH_NO_LEAKS
2636 AC_DEFUN([CF_NO_LEAKS_OPTION],[
2637 AC_MSG_CHECKING(if you want to use $1 for testing)
2640 [AC_DEFINE($3)ifelse([$4],,[
2643 : ${with_cflags:=-g}
2644 : ${with_no_leaks:=yes}
2647 AC_MSG_RESULT(${with_$1:-no})
2649 case .$with_cflags in #(vi
2651 case .$CFLAGS in #(vi
2661 dnl ---------------------------------------------------------------------------
2662 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
2663 dnl ----------------
2664 dnl Check if the given variable is a number. If not, report an error.
2665 dnl $1 is the variable
2666 dnl $2 is the message
2667 AC_DEFUN([CF_NUMBER_SYNTAX],[
2668 if test -n "$1" ; then
2673 AC_MSG_ERROR($2 is not a number: $1)
2677 AC_MSG_ERROR($2 value is empty)
2680 dnl ---------------------------------------------------------------------------
2681 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
2683 dnl Compute the object-directory name from the given model name
2684 AC_DEFUN([CF_OBJ_SUBDIR],
2687 libtool) $2='obj_lo' ;;
2688 normal) $2='objects' ;;
2689 debug) $2='obj_g' ;;
2690 profile) $2='obj_p' ;;
2692 case $cf_cv_system_name in #(vi
2700 dnl ---------------------------------------------------------------------------
2701 dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
2703 dnl Provide a value for the $PATH and similar separator
2704 AC_DEFUN([CF_PATHSEP],
2706 case $cf_cv_system_name in
2707 os2*) PATH_SEPARATOR=';' ;;
2708 *) PATH_SEPARATOR=':' ;;
2710 ifelse([$1],,,[$1=$PATH_SEPARATOR])
2711 AC_SUBST(PATH_SEPARATOR)
2713 dnl ---------------------------------------------------------------------------
2714 dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
2716 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
2717 dnl begins with one of the prefix/exec_prefix variables, and then again if the
2718 dnl result begins with 'NONE'. This is necessary to work around autoconf's
2719 dnl delayed evaluation of those symbols.
2720 AC_DEFUN([CF_PATH_SYNTAX],[
2721 if test "x$prefix" != xNONE; then
2722 cf_path_syntax="$prefix"
2724 cf_path_syntax="$ac_default_prefix"
2727 case ".[$]$1" in #(vi
2728 .\[$]\(*\)*|.\'*\'*) #(vi
2732 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
2734 .\[$]{*prefix}*|.\[$]{*dir}*) #(vi
2736 case ".[$]$1" in #(vi
2738 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2743 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2746 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
2750 dnl ---------------------------------------------------------------------------
2751 dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
2753 dnl Check for the package-config program, unless disabled by command-line.
2754 AC_DEFUN([CF_PKG_CONFIG],
2756 AC_MSG_CHECKING(if you want to use pkg-config)
2757 AC_ARG_WITH(pkg-config,
2758 [ --with-pkg-config{=path} enable/disable use of pkg-config],
2759 [cf_pkg_config=$withval],
2760 [cf_pkg_config=yes])
2761 AC_MSG_RESULT($cf_pkg_config)
2763 case $cf_pkg_config in #(vi
2768 CF_ACVERSION_CHECK(2.52,
2769 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
2770 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
2777 test -z "$PKG_CONFIG" && PKG_CONFIG=none
2778 if test "$PKG_CONFIG" != none ; then
2779 CF_PATH_SYNTAX(PKG_CONFIG)
2782 AC_SUBST(PKG_CONFIG)
2784 dnl ---------------------------------------------------------------------------
2785 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
2786 dnl -----------------
2787 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
2789 dnl POSIX.1-1990 _POSIX_SOURCE
2790 dnl POSIX.1-1990 and _POSIX_SOURCE and
2791 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
2793 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
2794 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
2795 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
2798 dnl $1 is the nominal value for _POSIX_C_SOURCE
2799 AC_DEFUN([CF_POSIX_C_SOURCE],
2801 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
2803 cf_save_CFLAGS="$CFLAGS"
2804 cf_save_CPPFLAGS="$CPPFLAGS"
2806 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
2807 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
2809 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
2810 CF_MSG_LOG(if the symbol is already defined go no further)
2811 AC_TRY_COMPILE([#include <sys/types.h>],[
2812 #ifndef _POSIX_C_SOURCE
2815 [cf_cv_posix_c_source=no],
2816 [cf_want_posix_source=no
2817 case .$cf_POSIX_C_SOURCE in #(vi
2819 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2822 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2823 cf_want_posix_source=yes
2826 cf_want_posix_source=yes
2829 if test "$cf_want_posix_source" = yes ; then
2830 AC_TRY_COMPILE([#include <sys/types.h>],[
2831 #ifdef _POSIX_SOURCE
2834 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
2836 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
2837 CFLAGS="$cf_trim_CFLAGS"
2838 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
2839 CF_MSG_LOG(if the second compile does not leave our definition intact error)
2840 AC_TRY_COMPILE([#include <sys/types.h>],[
2841 #ifndef _POSIX_C_SOURCE
2844 [cf_cv_posix_c_source=no])
2845 CFLAGS="$cf_save_CFLAGS"
2846 CPPFLAGS="$cf_save_CPPFLAGS"
2850 if test "$cf_cv_posix_c_source" != no ; then
2851 CFLAGS="$cf_trim_CFLAGS"
2852 CPPFLAGS="$cf_trim_CPPFLAGS"
2853 CF_ADD_CFLAGS($cf_cv_posix_c_source)
2857 dnl ---------------------------------------------------------------------------
2858 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
2860 dnl Check for archiver "ar".
2861 AC_DEFUN([CF_PROG_AR],[
2862 AC_CHECK_TOOL(AR, ar, ar)
2864 dnl ---------------------------------------------------------------------------
2865 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
2867 dnl Check for awk, ensure that the check found something.
2868 AC_DEFUN([CF_PROG_AWK],
2871 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
2873 dnl ---------------------------------------------------------------------------
2874 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
2876 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
2877 dnl the output file can be renamed, and allows for a shell variable that can
2878 dnl be used later. The parameter is either CC or CXX. The result is the
2880 dnl $cf_cv_prog_CC_c_o
2881 dnl $cf_cv_prog_CXX_c_o
2882 AC_DEFUN([CF_PROG_CC_C_O],
2883 [AC_REQUIRE([AC_PROG_CC])dnl
2884 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
2885 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
2887 cat > conftest.$ac_ext <<CF_EOF
2891 ${cf_cv_main_return:-return}(0);
2894 # We do the test twice because some compilers refuse to overwrite an
2895 # existing .o file with -o, though they will create one.
2896 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
2897 if AC_TRY_EVAL(ac_try) &&
2898 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
2900 eval cf_cv_prog_$1_c_o=yes
2902 eval cf_cv_prog_$1_c_o=no
2906 if test $cf_cv_prog_$1_c_o = yes; then
2907 AC_MSG_RESULT([yes])
2912 dnl ---------------------------------------------------------------------------
2913 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
2915 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
2916 dnl This macro adds a check to ensure the script found something.
2917 AC_DEFUN([CF_PROG_EGREP],
2918 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2919 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2920 then ac_cv_prog_egrep='grep -E'
2921 else ac_cv_prog_egrep='egrep'
2923 EGREP=$ac_cv_prog_egrep
2925 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
2927 dnl ---------------------------------------------------------------------------
2928 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
2930 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
2931 AC_DEFUN([CF_PROG_EXT],
2933 AC_REQUIRE([CF_CHECK_CACHE])
2934 case $cf_cv_system_name in
2936 CFLAGS="$CFLAGS -Zmt"
2937 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
2938 CXXFLAGS="$CXXFLAGS -Zmt"
2939 # autoconf's macro sets -Zexe and suffix both, which conflict:w
2940 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
2950 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
2952 dnl ---------------------------------------------------------------------------
2953 dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
2955 dnl Check for gnatmake, ensure that it is complete.
2956 AC_DEFUN([CF_PROG_GNAT],[
2957 cf_ada_make=gnatmake
2958 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
2959 if test "$ac_cv_prog_gnat_exists" = no; then
2961 cf_cv_prog_gnat_correct=no
2964 AC_CHECK_PROG(M4_exists, m4, yes, no)
2965 if test "$ac_cv_prog_M4_exists" = no; then
2966 cf_cv_prog_gnat_correct=no
2967 echo Ada95 binding required program m4 not found. Ada95 binding disabled.
2969 if test "$cf_cv_prog_gnat_correct" = yes; then
2970 AC_MSG_CHECKING(if GNAT works)
2971 CF_GNAT_TRY_RUN([procedure conftest;],
2974 procedure conftest is
2976 Text_IO.Put ("Hello World");
2978 GNAT.OS_Lib.OS_Exit (0);
2979 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
2980 AC_MSG_RESULT($cf_cv_prog_gnat_correct)
2984 AC_SUBST(cf_ada_make)
2986 dnl ---------------------------------------------------------------------------
2987 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
2989 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
2990 dnl option if it is supported.
2991 AC_DEFUN([CF_PROG_LN_S],[
2993 AC_MSG_CHECKING(if $LN_S -f options work)
2995 rm -f conf$$.src conf$$dst
2997 echo first >conf$$.src
2998 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
3003 rm -f conf$$.dst conf$$src
3004 AC_MSG_RESULT($cf_prog_ln_sf)
3006 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
3008 dnl ---------------------------------------------------------------------------
3009 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
3010 dnl ----------------
3011 dnl Remove all -U and -D options that refer to the given symbol from a list
3012 dnl of C compiler options. This works around the problem that not all
3013 dnl compilers process -U and -D options from left-to-right, so a -U option
3014 dnl cannot be used to cancel the effect of a preceding -D option.
3016 dnl $1 = target (which could be the same as the source variable)
3017 dnl $2 = source (including '$')
3018 dnl $3 = symbol to remove
3019 define([CF_REMOVE_DEFINE],
3022 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
3023 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
3025 dnl ---------------------------------------------------------------------------
3026 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
3028 dnl Remove the given library from the symbol
3030 dnl $1 = target (which could be the same as the source variable)
3031 dnl $2 = source (including '$')
3032 dnl $3 = library to remove
3033 define([CF_REMOVE_LIB],
3035 # remove $3 library from $2
3036 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
3038 dnl ---------------------------------------------------------------------------
3039 dnl CF_SHARED_OPTS version: 70 updated: 2012/02/25 15:20:07
3042 dnl Attempt to determine the appropriate CC/LD options for creating a shared
3045 dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
3046 dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
3047 dnl We avoid compiling-in a ../lib path for the shared library since that can
3048 dnl lead to unexpected results at runtime.
3049 dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
3050 dnl are compiled in ../../lib
3052 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
3053 dnl to install symbolic links to the rel/abi versions of shared libraries.
3055 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
3056 dnl version when making symbolic links.
3058 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
3059 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
3060 dnl (ex: libncurses.so.<ver>).
3062 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
3063 AC_DEFUN([CF_SHARED_OPTS],
3065 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3066 AC_REQUIRE([CF_LD_RPATH_OPT])
3070 INSTALL_LIB="-m 644"
3072 cf_cv_do_symlinks=no
3074 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
3076 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
3077 AC_ARG_WITH(shlib-version,
3078 [ --with-shlib-version=X Specify rel or abi version for shared libs],
3079 [test -z "$withval" && withval=auto
3080 case $withval in #(vi
3082 cf_cv_shlib_version=auto
3084 rel|abi|auto|no) #(vi
3085 cf_cv_shlib_version=$withval
3088 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
3091 ],[cf_cv_shlib_version=auto])
3092 AC_MSG_RESULT($cf_cv_shlib_version)
3096 # Some less-capable ports of gcc support only -fpic
3098 if test "$GCC" = yes
3100 AC_MSG_CHECKING(which $CC option to use)
3101 cf_save_CFLAGS="$CFLAGS"
3102 for CC_SHARED_OPTS in -fPIC -fpic ''
3104 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
3105 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
3107 AC_MSG_RESULT($CC_SHARED_OPTS)
3108 CFLAGS="$cf_save_CFLAGS"
3111 cf_cv_shlib_version_infix=no
3113 case $cf_cv_system_name in #(vi
3114 aix4.[3-9]*|aix[[5-7]]*) #(vi
3115 if test "$GCC" = yes; then
3117 MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
3119 # CC_SHARED_OPTS='-qpic=large -G'
3120 # perhaps "-bM:SRE -bnoentry -bexpall"
3121 MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
3125 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
3129 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
3130 cf_cv_shlib_version=cygdll
3131 cf_cv_shlib_version_infix=cygdll
3132 cat >mk_shared_lib.sh <<-CF_EOF
3135 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
3138 Linking shared library
3139 ** SHARED_LIB \[$]SHARED_LIB
3140 ** IMPORT_LIB \[$]IMPORT_LIB
3142 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
3144 chmod +x mk_shared_lib.sh
3147 EXTRA_CFLAGS="-no-cpp-precomp"
3148 CC_SHARED_OPTS="-dynamic"
3149 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
3150 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
3151 cf_cv_shlib_version_infix=yes
3152 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
3153 cf_save_LDFLAGS=$LDFLAGS
3154 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
3155 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
3156 LDFLAGS=$cf_save_LDFLAGS])
3157 if test $cf_cv_ldflags_search_paths_first = yes; then
3158 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
3162 # (tested with gcc 2.7.2 -- I don't have c89)
3163 if test "$GCC" = yes; then
3164 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
3167 LD_SHARED_OPTS='-Wl,+b,${libdir}'
3169 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
3170 # HP-UX shared libraries must be executable, and should be
3171 # readonly to exploit a quirk in the memory manager.
3172 INSTALL_LIB="-m 555"
3175 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3176 if test "$cf_cv_shlib_version" = rel; then
3177 cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
3179 cf_shared_soname='`basename $@`'
3182 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
3185 if test "$cf_cv_enable_rpath" = yes ; then
3186 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3188 # tested with IRIX 5.2 and 'cc'.
3189 if test "$GCC" != yes; then
3190 CC_SHARED_OPTS='-KPIC'
3191 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
3193 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
3195 cf_cv_rm_so_locs=yes
3197 linux*|gnu*|k*bsd*-gnu) #(vi
3198 if test "$DFT_LWR_MODEL" = "shared" ; then
3199 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3200 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3202 if test "$cf_cv_enable_rpath" = yes ; then
3203 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3206 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3209 cf_cv_shlib_version=mingw
3210 cf_cv_shlib_version_infix=mingw
3212 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
3213 #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
3214 #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
3215 cat >mk_shared_lib.sh <<-CF_EOF
3218 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
3221 Linking shared library
3222 ** SHARED_LIB \[$]SHARED_LIB
3223 ** IMPORT_LIB \[$]IMPORT_LIB
3225 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
3227 chmod +x mk_shared_lib.sh
3229 openbsd[[2-9]].*|mirbsd*) #(vi
3230 if test "$DFT_LWR_MODEL" = "shared" ; then
3231 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3232 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3234 if test "$cf_cv_enable_rpath" = yes ; then
3235 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3237 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3239 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3241 nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
3242 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3243 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
3244 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3246 dragonfly*|freebsd*) #(vi
3247 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3248 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3249 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3250 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
3251 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3254 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
3257 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3258 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3259 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3260 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3261 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3262 if test "$cf_cv_shlib_version" = auto; then
3263 if test -f /usr/libexec/ld.elf_so; then
3264 cf_cv_shlib_version=abi
3266 cf_cv_shlib_version=rel
3270 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
3272 MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
3276 # tested with OSF/1 V3.2 and 'cc'
3277 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
3278 # link with shared libs).
3279 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
3280 case $host_os in #(vi
3282 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
3285 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
3286 if test "$DFT_LWR_MODEL" = "shared" ; then
3287 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3288 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3290 cf_cv_rm_so_locs=yes
3292 sco3.2v5*) # (also uw2* and UW7: hops 13-Apr-98
3293 # tested with osr5.0.5
3294 if test "$GCC" != yes; then
3295 CC_SHARED_OPTS='-belf -KPIC'
3297 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
3298 if test "$cf_cv_enable_rpath" = yes ; then
3299 # only way is to set LD_RUN_PATH but no switch for it
3302 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3303 LINK_PROGS='LD_RUN_PATH=${libdir}'
3304 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
3307 # tested with SunOS 4.1.1 and gcc 2.7.0
3308 if test "$GCC" != yes; then
3309 CC_SHARED_OPTS='-KPIC'
3311 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
3312 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3315 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
3316 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
3317 if test "$DFT_LWR_MODEL" = "shared" ; then
3318 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
3319 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3321 if test "$cf_cv_enable_rpath" = yes ; then
3322 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
3325 if test "$GCC" != yes; then
3326 cf_save_CFLAGS="$CFLAGS"
3327 for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
3329 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
3330 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
3332 CFLAGS="$cf_save_CFLAGS"
3333 CC_SHARED_OPTS=$cf_shared_opts
3334 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3336 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3339 sysv5uw7*|unix_sv*) #(vi
3340 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
3341 if test "$GCC" != yes; then
3342 CC_SHARED_OPTS='-KPIC'
3344 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
3347 CC_SHARED_OPTS='unknown'
3348 MK_SHARED_LIB='echo unknown'
3352 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
3353 case "$cf_cv_shlib_version" in #(vi
3355 case "$MK_SHARED_LIB" in #(vi
3357 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
3360 AC_MSG_WARN(ignored --with-shlib-version)
3366 # RPATH_LIST is a colon-separated list of directories
3367 test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
3368 test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
3370 CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
3371 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
3373 AC_SUBST(CC_SHARED_OPTS)
3374 AC_SUBST(LD_RPATH_OPT)
3375 AC_SUBST(LD_SHARED_OPTS)
3376 AC_SUBST(MK_SHARED_LIB)
3377 AC_SUBST(LINK_PROGS)
3378 AC_SUBST(LINK_TESTS)
3379 AC_SUBST(EXTRA_LDFLAGS)
3380 AC_SUBST(LOCAL_LDFLAGS)
3381 AC_SUBST(LOCAL_LDFLAGS2)
3382 AC_SUBST(INSTALL_LIB)
3383 AC_SUBST(RPATH_LIST)
3385 dnl ---------------------------------------------------------------------------
3386 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
3387 dnl ----------------
3388 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
3389 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
3392 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
3393 dnl If missing, use "rel".
3394 define([CF_SHARED_SONAME],
3396 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
3397 if test "$cf_cv_shlib_version" = rel; then
3398 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
3400 cf_cv_shared_soname='`basename $[@]`'
3403 dnl ---------------------------------------------------------------------------
3404 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
3406 dnl Remove "-g" option from the compiler options
3407 AC_DEFUN([CF_STRIP_G_OPT],
3408 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
3409 dnl ---------------------------------------------------------------------------
3410 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
3412 dnl Construct a search-list for a nonstandard header/lib-file
3413 dnl $1 = the variable to return as result
3414 dnl $2 = the package name
3415 dnl $3 = the subdirectory, e.g., bin, include or lib
3416 AC_DEFUN([CF_SUBDIR_PATH],
3420 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
3421 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
3422 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
3423 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
3424 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
3426 dnl ---------------------------------------------------------------------------
3427 dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
3429 dnl Shorthand macro for substituting things that the user may override
3430 dnl with an environment variable.
3432 dnl $1 = long/descriptive name
3433 dnl $2 = environment variable
3434 dnl $3 = default value
3435 AC_DEFUN([CF_SUBST],
3436 [AC_CACHE_VAL(cf_cv_subst_$2,[
3437 AC_MSG_CHECKING(for $1 (symbol $2))
3438 CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
3439 cf_cv_subst_$2=[$]$2
3440 AC_MSG_RESULT([$]$2)
3443 dnl ---------------------------------------------------------------------------
3444 dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
3446 dnl Look for term.h, which is part of X/Open curses. It defines the interface
3447 dnl to terminfo database. Usually it is in the same include-path as curses.h,
3448 dnl but some packagers change this, breaking various applications.
3449 AC_DEFUN([CF_TERM_HEADER],[
3450 AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
3451 case ${cf_cv_ncurses_header} in #(vi
3452 */ncurses.h|*/ncursesw.h) #(vi
3453 cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
3456 cf_term_header=term.h
3460 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
3462 AC_TRY_COMPILE([#include <stdio.h>
3463 #include <${cf_cv_ncurses_header:-curses.h}>
3465 ],[int x = auto_left_margin],[
3466 cf_cv_term_header="$cf_test"],[
3467 cf_cv_term_header=unknown
3469 test "$cf_cv_term_header" != unknown && break
3473 # Set definitions to allow ifdef'ing to accommodate subdirectories
3475 case $cf_cv_term_header in # (vi
3477 AC_DEFINE(HAVE_TERM_H)
3481 case $cf_cv_term_header in # (vi
3482 ncurses/term.h) #(vi
3483 AC_DEFINE(HAVE_NCURSES_TERM_H)
3486 AC_DEFINE(HAVE_NCURSESW_TERM_H)
3490 dnl ---------------------------------------------------------------------------
3491 dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
3493 dnl Define a top_builddir symbol, for applications that need an absolute path.
3494 AC_DEFUN([CF_TOP_BUILDDIR],
3497 AC_SUBST(top_builddir)
3499 dnl ---------------------------------------------------------------------------
3500 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
3501 dnl -------------------
3502 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
3503 dnl can define it successfully.
3504 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
3505 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
3509 #include <sys/types.h>
3511 #ifndef _XOPEN_SOURCE
3514 [cf_cv_xopen_source=no],
3515 [cf_save="$CPPFLAGS"
3516 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3520 #include <sys/types.h>
3522 #ifdef _XOPEN_SOURCE
3525 [cf_cv_xopen_source=no],
3526 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
3531 if test "$cf_cv_xopen_source" != no ; then
3532 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
3533 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
3534 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
3535 CF_ADD_CFLAGS($cf_temp_xopen_source)
3538 dnl ---------------------------------------------------------------------------
3539 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
3541 dnl Make an uppercase version of a variable
3542 dnl $1=uppercase($2)
3543 AC_DEFUN([CF_UPPER],
3545 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3547 dnl ---------------------------------------------------------------------------
3548 dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
3550 dnl Check for multibyte support, and if not found, utf8 compatibility library
3551 AC_DEFUN([CF_UTF8_LIB],
3553 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
3554 cf_save_LIBS="$LIBS"
3556 #include <stdlib.h>],[putwc(0,0);],
3557 [cf_cv_utf8_lib=yes],
3559 #include <libutf8.h>],[putwc(0,0);],utf8,
3560 [cf_cv_utf8_lib=add-on],
3561 [cf_cv_utf8_lib=no])
3564 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
3566 if test "$cf_cv_utf8_lib" = "add-on" ; then
3567 AC_DEFINE(HAVE_LIBUTF8_H)
3568 CF_ADD_INCDIR($cf_cv_header_path_utf8)
3569 CF_ADD_LIBDIR($cf_cv_library_path_utf8)
3570 CF_ADD_LIBS($cf_cv_library_file_utf8)
3573 dnl ---------------------------------------------------------------------------
3574 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
3576 dnl Use AC_VERBOSE w/o the warnings
3577 AC_DEFUN([CF_VERBOSE],
3578 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
3581 dnl ---------------------------------------------------------------------------
3582 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
3584 dnl Check for compiler-support for weak symbols.
3585 dnl This works with "recent" gcc.
3586 AC_DEFUN([CF_WEAK_SYMBOLS],[
3587 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
3590 #include <stdio.h>],
3592 #if defined(__GNUC__)
3593 # if defined __USE_ISOC99
3594 # define _cat_pragma(exp) _Pragma(#exp)
3595 # define _weak_pragma(exp) _cat_pragma(weak name)
3597 # define _weak_pragma(exp)
3599 # define _declare(name) __extension__ extern __typeof__(name) name
3600 # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
3604 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
3607 dnl ---------------------------------------------------------------------------
3608 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
3609 dnl --------------------
3610 dnl Command-line option to specify the Ada95 compiler.
3611 AC_DEFUN([CF_WITH_ADA_COMPILER],[
3612 AC_MSG_CHECKING(for ada-compiler)
3613 AC_ARG_WITH(ada-compiler,
3614 [ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
3615 [cf_ada_compiler=$withval],
3616 [cf_ada_compiler=gnatmake])
3617 AC_SUBST(cf_ada_compiler)
3618 AC_MSG_RESULT($cf_ada_compiler)
3620 dnl ---------------------------------------------------------------------------
3621 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
3622 dnl -------------------
3623 dnl Command-line option to specify where Ada includes will install.
3624 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
3625 AC_MSG_CHECKING(for ada-include)
3626 CF_WITH_PATH(ada-include,
3627 [ --with-ada-include=DIR Ada includes are in DIR],
3629 PREFIX/share/ada/adainclude,
3630 [$]prefix/share/ada/adainclude)
3631 AC_SUBST(ADA_INCLUDE)
3632 AC_MSG_RESULT($ADA_INCLUDE)
3634 dnl ---------------------------------------------------------------------------
3635 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
3636 dnl -------------------
3637 dnl Command-line option to specify where Ada objects will install.
3638 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
3639 AC_MSG_CHECKING(for ada-objects)
3640 CF_WITH_PATH(ada-objects,
3641 [ --with-ada-objects=DIR Ada objects are in DIR],
3643 PREFIX/lib/ada/adalib,
3644 [$]prefix/lib/ada/adalib)
3645 AC_SUBST(ADA_OBJECTS)
3646 AC_MSG_RESULT($ADA_OBJECTS)
3648 dnl ---------------------------------------------------------------------------
3649 dnl CF_WITH_ADA_SHAREDLIB version: 2 updated: 2010/06/26 17:35:58
3650 dnl ---------------------
3651 dnl Command-line option to specify if an Ada95 shared-library should be built,
3652 dnl and optionally what its soname should be.
3653 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
3654 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
3655 AC_ARG_WITH(ada-sharedlib,
3656 [ --with-ada-sharedlib=XX build Ada95 shared-library],
3657 [with_ada_sharedlib=$withval],
3658 [with_ada_sharedlib=no])
3659 AC_MSG_RESULT($with_ada_sharedlib)
3661 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
3662 MAKE_ADA_SHAREDLIB="#"
3664 if test "x$with_ada_sharedlib" != xno
3667 if test "x$with_ada_sharedlib" != xyes
3669 ADA_SHAREDLIB="$with_ada_sharedlib"
3673 AC_SUBST(ADA_SHAREDLIB)
3674 AC_SUBST(MAKE_ADA_SHAREDLIB)
3676 dnl ---------------------------------------------------------------------------
3677 dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
3678 dnl ------------------
3679 dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
3681 AC_DEFUN([CF_WITH_CURSES_DIR],[
3683 AC_MSG_CHECKING(for specific curses-directory)
3684 AC_ARG_WITH(curses-dir,
3685 [ --with-curses-dir=DIR directory in which (n)curses is installed],
3686 [cf_cv_curses_dir=$withval],
3687 [cf_cv_curses_dir=no])
3688 AC_MSG_RESULT($cf_cv_curses_dir)
3690 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
3692 CF_PATH_SYNTAX(withval)
3693 if test -d "$cf_cv_curses_dir"
3695 CF_ADD_INCDIR($cf_cv_curses_dir/include)
3696 CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
3700 dnl ---------------------------------------------------------------------------
3701 dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
3702 dnl ------------------
3703 dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
3704 dnl "lib" prefix, e.g., because it used the dll naming convention.
3706 dnl $1 = variable to set
3707 AC_DEFUN([CF_WITH_LIB_PREFIX],
3709 AC_MSG_CHECKING(if you want to have a library-prefix)
3710 AC_ARG_WITH(lib-prefix,
3711 [ --with-lib-prefix override library-prefix],
3712 [with_lib_prefix=$withval],
3713 [with_lib_prefix=auto])
3714 AC_MSG_RESULT($with_lib_prefix)
3716 if test $with_lib_prefix = auto
3719 elif test $with_lib_prefix = no
3723 LIB_PREFIX=$with_lib_prefix
3726 dnl ---------------------------------------------------------------------------
3727 dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
3729 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
3730 dnl defaulting to yes/no.
3732 dnl $1 = option name
3734 dnl $3 = environment variable to set
3735 dnl $4 = default value, shown in the help-message, must be a constant
3736 dnl $5 = default value, if it's an expression & cannot be in the help-message
3738 AC_DEFUN([CF_WITH_PATH],
3739 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
3740 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
3741 if ifelse([$5],,true,[test -n "$5"]) ; then
3742 CF_PATH_SYNTAX(withval)
3747 dnl ---------------------------------------------------------------------------
3748 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
3749 dnl -------------------------
3750 dnl Allow the choice of the pkg-config library directory to be overridden.
3751 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
3752 if test "$PKG_CONFIG" != none ; then
3753 AC_MSG_CHECKING(for $PKG_CONFIG library directory)
3754 AC_ARG_WITH(pkg-config-libdir,
3755 [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
3756 [PKG_CONFIG_LIBDIR=$withval],
3757 [PKG_CONFIG_LIBDIR=yes])
3759 case x$PKG_CONFIG_LIBDIR in #(vi
3763 # look for the library directory using the same prefix as the executable
3764 cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
3765 case x`(arch) 2>/dev/null` in #(vi
3767 for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
3769 if test -d $cf_config/pkgconfig
3771 PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
3777 PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
3785 AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
3788 AC_SUBST(PKG_CONFIG_LIBDIR)
3790 dnl ---------------------------------------------------------------------------
3791 dnl CF_WITH_PTHREAD version: 5 updated: 2011/12/10 19:01:56
3793 dnl Check for POSIX thread library.
3794 AC_DEFUN([CF_WITH_PTHREAD],
3796 AC_MSG_CHECKING(if you want to link with the pthread library)
3797 AC_ARG_WITH(pthread,
3798 [ --with-pthread use POSIX thread library],
3799 [with_pthread=$withval],
3801 AC_MSG_RESULT($with_pthread)
3803 if test "$with_pthread" != no ; then
3804 AC_CHECK_HEADER(pthread.h,[
3805 AC_DEFINE(HAVE_PTHREADS_H)
3807 for cf_lib_pthread in pthread c_r
3809 AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
3810 cf_save_LIBS="$LIBS"
3811 CF_ADD_LIB($cf_lib_pthread)
3813 #include <pthread.h>
3815 int rc = pthread_create(0,0,0,0);
3816 int r2 = pthread_mutexattr_settype(0, 0);
3817 ],[with_pthread=yes],[with_pthread=no])
3818 LIBS="$cf_save_LIBS"
3819 AC_MSG_RESULT($with_pthread)
3820 test "$with_pthread" = yes && break
3823 if test "$with_pthread" = yes ; then
3824 CF_ADD_LIB($cf_lib_pthread)
3825 AC_DEFINE(HAVE_LIBPTHREADS)
3827 AC_MSG_ERROR(Cannot link with pthread library)
3832 dnl ---------------------------------------------------------------------------
3833 dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49
3835 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
3836 dnl or adapt to the vendor's definitions to get equivalent functionality,
3837 dnl without losing the common non-POSIX features.
3840 dnl $1 is the nominal value for _XOPEN_SOURCE
3841 dnl $2 is the nominal value for _POSIX_C_SOURCE
3842 AC_DEFUN([CF_XOPEN_SOURCE],[
3844 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
3845 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
3848 case $host_os in #(vi
3850 cf_xopen_source="-D_ALL_SOURCE"
3855 darwin[[0-8]].*) #(vi
3856 cf_xopen_source="-D_APPLE_C_SOURCE"
3859 cf_xopen_source="-D_DARWIN_C_SOURCE"
3862 freebsd*|dragonfly*) #(vi
3863 # 5.x headers associate
3864 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
3865 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
3866 cf_POSIX_C_SOURCE=200112L
3868 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3871 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
3874 cf_xopen_source="-D_HPUX_SOURCE"
3877 cf_xopen_source="-D_SGI_SOURCE"
3880 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
3884 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
3886 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3889 cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
3891 openbsd[[4-9]]*) #(vi
3892 # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
3893 cf_xopen_source="-D_BSD_SOURCE"
3897 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
3900 cf_xopen_source="-D_OSF_SOURCE"
3903 cf_xopen_source="-D_QNX_SOURCE"
3906 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
3909 cf_xopen_source="-D__EXTENSIONS__"
3913 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3917 if test -n "$cf_xopen_source" ; then
3918 CF_ADD_CFLAGS($cf_xopen_source)
3921 dnl In anything but the default case, we may have system-specific setting
3922 dnl which is still not guaranteed to provide all of the entrypoints that
3923 dnl _XOPEN_SOURCE would yield.
3924 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
3925 AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
3926 AC_TRY_COMPILE([#include <stdlib.h>],[
3927 #ifndef _XOPEN_SOURCE
3930 [cf_XOPEN_SOURCE_set=yes],
3931 [cf_XOPEN_SOURCE_set=no])
3932 AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
3933 if test $cf_XOPEN_SOURCE_set = yes
3935 AC_TRY_COMPILE([#include <stdlib.h>],[
3936 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
3939 [cf_XOPEN_SOURCE_set_ok=yes],
3940 [cf_XOPEN_SOURCE_set_ok=no])
3941 if test $cf_XOPEN_SOURCE_set_ok = no
3943 AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)