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.49 2012/04/01 00:15:53 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_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
673 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
674 dnl variations of ncurses' installs.
676 dnl $1 = ncurses when looking for ncurses, or is empty
677 AC_DEFUN([CF_CURSES_HEADER],[
678 AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
679 cf_cv_ncurses_header=none
680 for cf_header in ifelse($1,,,[ \
684 curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
686 AC_TRY_COMPILE([#include <${cf_header}>],
687 [initscr(); tgoto("?", 0,0)],
688 [cf_cv_ncurses_header=$cf_header; break],[])
692 if test "$cf_cv_ncurses_header" = none ; then
693 AC_MSG_ERROR(No curses header-files found)
696 # cheat, to get the right #define's for HAVE_NCURSES_H, etc.
697 AC_CHECK_HEADERS($cf_cv_ncurses_header)
699 dnl ---------------------------------------------------------------------------
700 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
702 dnl "dirname" is not portable, so we fake it with a shell script.
703 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
704 dnl ---------------------------------------------------------------------------
705 dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
707 dnl You can always use "make -n" to see the actual options, but it's hard to
708 dnl pick out/analyze warning messages when the compile-line is long.
711 dnl ECHO_LT - symbol to control if libtool is verbose
712 dnl ECHO_LD - symbol to prefix "cc -o" lines
713 dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
714 dnl SHOW_CC - symbol to put before explicit "cc -c" lines
715 dnl ECHO_CC - symbol to put before any "cc" line
717 AC_DEFUN([CF_DISABLE_ECHO],[
718 AC_MSG_CHECKING(if you want to see long compiling messages)
720 [ --disable-echo display "compiling" commands],
723 ECHO_LD='@echo linking [$]@;'
724 RULE_CC='@echo compiling [$]<'
725 SHOW_CC='@echo compiling [$]@'
734 AC_MSG_RESULT($enableval)
741 dnl ---------------------------------------------------------------------------
742 dnl CF_ENABLE_PC_FILES version: 7 updated: 2011/12/10 18:58:47
743 dnl ------------------
744 dnl This is the "--enable-pc-files" option, which is available if there is a
745 dnl pkg-config configuration on the local machine.
746 AC_DEFUN([CF_ENABLE_PC_FILES],[
747 AC_REQUIRE([CF_PKG_CONFIG])
748 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
750 if test "$PKG_CONFIG" != none ; then
751 if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
752 AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
753 AC_ARG_ENABLE(pc-files,
754 [ --enable-pc-files generate and install .pc files for pkg-config],
755 [enable_pc_files=$enableval],
756 [enable_pc_files=no])
757 AC_MSG_RESULT($enable_pc_files)
758 elif test -z "$PKG_CONFIG_LIBDIR" || test "$PKG_CONFIG_LIBDIR" != no; then
760 AC_MSG_WARN(did not find $PKG_CONFIG library)
766 dnl ---------------------------------------------------------------------------
767 dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
769 dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
770 dnl prefer a standard location, and use -L options only if we do not find the
771 dnl library in the standard library location(s).
772 dnl $1 = library name
773 dnl $2 = library class, usually the same as library name
775 dnl $4 = code fragment to compile/link
776 dnl $5 = corresponding function-name
777 dnl $6 = flag, nonnull if failure should not cause an error-exit
779 dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
780 dnl to use a -L option.
781 AC_DEFUN([CF_FIND_LIBRARY],
783 eval 'cf_cv_have_lib_'$1'=no'
786 eval 'cf_cv_have_lib_'$1'=yes',[
788 AC_MSG_CHECKING(for $5 in -l$1)
790 AC_TRY_LINK([$3],[$4],
792 eval 'cf_cv_have_lib_'$1'=yes'
795 CF_LIBRARY_PATH(cf_search,$2)
796 for cf_libdir in $cf_search
798 AC_MSG_CHECKING(for -l$1 in $cf_libdir)
799 LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
800 AC_TRY_LINK([$3],[$4],
802 eval 'cf_cv_have_lib_'$1'=yes'
805 LIBS="$cf_save_LIBS"])
809 eval 'cf_found_library=[$]cf_cv_have_lib_'$1
811 if test $cf_found_library = no ; then
812 AC_MSG_ERROR(Cannot link $1 library)
816 dnl ---------------------------------------------------------------------------
817 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
819 dnl Find a library (specifically the linkage used in the code fragment),
820 dnl searching for it if it is not already in the library path.
821 dnl See also CF_ADD_SEARCHPATH.
823 dnl Parameters (4-on are optional):
824 dnl $1 = headers for library entrypoint
825 dnl $2 = code fragment for library entrypoint
826 dnl $3 = the library name without the "-l" option or ".so" suffix.
827 dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
828 dnl $5 = action to perform if not successful
829 dnl $6 = module name, if not the same as the library name
830 dnl $7 = extra libraries
832 dnl Sets these variables:
833 dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
834 dnl $cf_cv_header_path_$3 - include-directory if needed
835 dnl $cf_cv_library_path_$3 - library-directory if needed
836 dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
837 AC_DEFUN([CF_FIND_LINKAGE],[
839 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
840 # will be set on completion of the AC_TRY_LINK below.
841 cf_cv_header_path_$3=
842 cf_cv_library_path_$3=
844 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
848 AC_TRY_LINK([$1],[$2],[
849 cf_cv_find_linkage_$3=yes
850 cf_cv_header_path_$3=/usr/include
851 cf_cv_library_path_$3=/usr/lib
854 LIBS="-l$3 $7 $cf_save_LIBS"
856 AC_TRY_LINK([$1],[$2],[
857 cf_cv_find_linkage_$3=yes
858 cf_cv_header_path_$3=/usr/include
859 cf_cv_library_path_$3=/usr/lib
860 cf_cv_library_file_$3="-l$3"
862 cf_cv_find_linkage_$3=no
865 CF_VERBOSE(find linkage for $3 library)
866 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
868 cf_save_CPPFLAGS="$CPPFLAGS"
869 cf_test_CPPFLAGS="$CPPFLAGS"
871 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
872 for cf_cv_header_path_$3 in $cf_search
874 if test -d $cf_cv_header_path_$3 ; then
875 CF_VERBOSE(... testing $cf_cv_header_path_$3)
876 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
877 AC_TRY_COMPILE([$1],[$2],[
878 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
879 cf_cv_find_linkage_$3=maybe
880 cf_test_CPPFLAGS="$CPPFLAGS"
882 CPPFLAGS="$cf_save_CPPFLAGS"
887 if test "$cf_cv_find_linkage_$3" = maybe ; then
889 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
892 cf_save_LDFLAGS="$LDFLAGS"
895 CPPFLAGS="$cf_test_CPPFLAGS"
896 LIBS="-l$3 $7 $cf_save_LIBS"
897 AC_TRY_LINK([$1],[$2],[
898 CF_VERBOSE(... found $3 library in system)
899 cf_cv_find_linkage_$3=yes])
900 CPPFLAGS="$cf_save_CPPFLAGS"
904 if test "$cf_cv_find_linkage_$3" != yes ; then
905 CF_LIBRARY_PATH(cf_search,$3)
906 for cf_cv_library_path_$3 in $cf_search
908 if test -d $cf_cv_library_path_$3 ; then
909 CF_VERBOSE(... testing $cf_cv_library_path_$3)
910 CPPFLAGS="$cf_test_CPPFLAGS"
911 LIBS="-l$3 $7 $cf_save_LIBS"
912 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
913 AC_TRY_LINK([$1],[$2],[
914 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
915 cf_cv_find_linkage_$3=yes
916 cf_cv_library_file_$3="-l$3"
918 CPPFLAGS="$cf_save_CPPFLAGS"
920 LDFLAGS="$cf_save_LDFLAGS"
924 CPPFLAGS="$cf_save_CPPFLAGS"
925 LDFLAGS="$cf_save_LDFLAGS"
929 cf_cv_find_linkage_$3=no
936 if test "$cf_cv_find_linkage_$3" = yes ; then
938 CF_ADD_INCDIR($cf_cv_header_path_$3)
939 CF_ADD_LIBDIR($cf_cv_library_path_$3)
943 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
946 dnl ---------------------------------------------------------------------------
947 dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
948 dnl -----------------
949 dnl make ADAFLAGS consistent with CFLAGS
950 AC_DEFUN([CF_FIXUP_ADAFLAGS],[
951 AC_MSG_CHECKING(optimization options for ADAFLAGS)
959 cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[ ]].*//'`
960 CF_ADD_ADAFLAGS($cf_O_flag)
963 AC_MSG_RESULT($ADAFLAGS)
965 dnl ---------------------------------------------------------------------------
966 dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
967 dnl -----------------
968 dnl Test for availability of useful gcc __attribute__ directives to quiet
969 dnl compiler warnings. Though useful, not all are supported -- and contrary
970 dnl to documentation, unrecognized directives cause older compilers to barf.
971 AC_DEFUN([CF_GCC_ATTRIBUTES],
975 cat > conftest.i <<EOF
983 #define GCC_NORETURN /* nothing */
986 #define GCC_UNUSED /* nothing */
991 AC_CHECKING([for $CC __attribute__ directives])
992 cat > conftest.$ac_ext <<EOF
993 #line __oline__ "${as_me:-configure}"
994 #include "confdefs.h"
995 #include "conftest.h"
996 #include "conftest.i"
998 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1000 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1003 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1005 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
1007 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1008 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1009 extern void foo(void) GCC_NORETURN;
1010 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1012 cf_printf_attribute=no
1013 cf_scanf_attribute=no
1014 for cf_attribute in scanf printf unused noreturn
1016 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1017 cf_directive="__attribute__(($cf_attribute))"
1018 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1020 case $cf_attribute in #(vi
1022 cf_printf_attribute=yes
1023 cat >conftest.h <<EOF
1024 #define GCC_$cf_ATTRIBUTE 1
1028 cf_scanf_attribute=yes
1029 cat >conftest.h <<EOF
1030 #define GCC_$cf_ATTRIBUTE 1
1034 cat >conftest.h <<EOF
1035 #define GCC_$cf_ATTRIBUTE $cf_directive
1040 if AC_TRY_EVAL(ac_compile); then
1041 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1042 cat conftest.h >>confdefs.h
1043 case $cf_attribute in #(vi
1045 if test "$cf_printf_attribute" = no ; then
1046 cat >>confdefs.h <<EOF
1047 #define GCC_PRINTFLIKE(fmt,var) /* nothing */
1050 cat >>confdefs.h <<EOF
1051 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1056 if test "$cf_scanf_attribute" = no ; then
1057 cat >>confdefs.h <<EOF
1058 #define GCC_SCANFLIKE(fmt,var) /* nothing */
1061 cat >>confdefs.h <<EOF
1062 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
1070 fgrep define conftest.i >>confdefs.h
1075 dnl ---------------------------------------------------------------------------
1076 dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1078 dnl Find version of gcc
1079 AC_DEFUN([CF_GCC_VERSION],[
1080 AC_REQUIRE([AC_PROG_CC])
1082 if test "$GCC" = yes ; then
1083 AC_MSG_CHECKING(version of $CC)
1084 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1085 test -z "$GCC_VERSION" && GCC_VERSION=unknown
1086 AC_MSG_RESULT($GCC_VERSION)
1089 dnl ---------------------------------------------------------------------------
1090 dnl CF_GCC_WARNINGS version: 28 updated: 2012/03/31 20:10:46
1092 dnl Check if the compiler supports useful warning options. There's a few that
1093 dnl we don't use, simply because they're too noisy:
1095 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1096 dnl -Wredundant-decls (system headers make this too noisy)
1097 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
1098 dnl -Wwrite-strings (too noisy, but should review occasionally). This
1099 dnl is enabled for ncurses using "--enable-const".
1103 dnl $1 is an optional list of gcc warning flags that a particular
1104 dnl application might want to use, e.g., "no-unused" for
1107 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
1109 AC_DEFUN([CF_GCC_WARNINGS],
1111 AC_REQUIRE([CF_GCC_VERSION])
1112 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1114 cat > conftest.$ac_ext <<EOF
1115 #line __oline__ "${as_me:-configure}"
1116 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1119 if test "$INTEL_COMPILER" = yes
1121 # The "-wdXXX" options suppress warnings:
1122 # remark #1419: external declaration in primary source file
1123 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1124 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1125 # remark #193: zero used for undefined preprocessing identifier
1126 # remark #593: variable "curs_sb_left_arrow" was set but never used
1127 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1128 # remark #869: parameter "tw" was never referenced
1129 # remark #981: operands are evaluated in unspecified order
1130 # warning #279: controlling expression is constant
1132 AC_CHECKING([for $CC warning options])
1133 cf_save_CFLAGS="$CFLAGS"
1134 EXTRA_CFLAGS="-Wall"
1146 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1147 if AC_TRY_EVAL(ac_compile); then
1148 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1149 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1152 CFLAGS="$cf_save_CFLAGS"
1154 elif test "$GCC" = yes
1156 AC_CHECKING([for $CC warning options])
1157 cf_save_CFLAGS="$CFLAGS"
1160 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1161 for cf_opt in W Wall \
1162 Wbad-function-cast \
1166 Wmissing-declarations \
1167 Wmissing-prototypes \
1171 Wstrict-prototypes \
1172 Wundef $cf_warn_CONST $1
1174 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1175 if AC_TRY_EVAL(ac_compile); then
1176 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1177 case $cf_opt in #(vi
1179 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1182 case $GCC_VERSION in
1184 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1188 Wpointer-arith) #(vi
1189 case $GCC_VERSION in
1191 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1196 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1199 CFLAGS="$cf_save_CFLAGS"
1203 AC_SUBST(EXTRA_CFLAGS)
1205 dnl ---------------------------------------------------------------------------
1206 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
1207 dnl ----------------
1208 AC_DEFUN([CF_GNAT_GENERICS],
1210 AC_REQUIRE([CF_GNAT_VERSION])
1212 AC_MSG_CHECKING(if GNAT supports generics)
1213 case $cf_gnat_version in #(vi
1214 3.[[1-9]]*|[[4-9]].*) #(vi
1215 cf_gnat_generics=yes
1221 AC_MSG_RESULT($cf_gnat_generics)
1223 if test "$cf_gnat_generics" = yes
1225 cf_compile_generics=generics
1226 cf_generic_objects="\${GENOBJS}"
1228 cf_compile_generics=
1232 AC_SUBST(cf_compile_generics)
1233 AC_SUBST(cf_generic_objects)
1235 dnl ---------------------------------------------------------------------------
1236 dnl CF_GNAT_PRAGMA_UNREF version: 1 updated: 2010/06/19 15:22:18
1237 dnl --------------------
1238 dnl Check if the gnat pragma "Unreferenced" works.
1239 AC_DEFUN([CF_GNAT_PRAGMA_UNREF],[
1240 AC_CACHE_CHECK(if GNAT pragma Unreferenced works,cf_cv_pragma_unreferenced,[
1241 CF_GNAT_TRY_LINK([procedure conftest;],
1244 procedure conftest is
1246 pragma Unreferenced (test);
1249 Text_IO.Put ("Hello World");
1251 GNAT.OS_Lib.OS_Exit (0);
1253 [cf_cv_pragma_unreferenced=yes],
1254 [cf_cv_pragma_unreferenced=no])])
1256 # if the pragma is supported, use it (needed in the Trace code).
1257 if test $cf_cv_pragma_unreferenced = yes ; then
1262 AC_SUBST(PRAGMA_UNREF)
1264 dnl ---------------------------------------------------------------------------
1265 dnl CF_GNAT_PROJECTS version: 2 updated: 2011/03/23 20:24:41
1266 dnl ----------------
1267 dnl GNAT projects are configured with ".gpr" project files.
1268 dnl GNAT libraries are a further development, using the project feature.
1269 AC_DEFUN([CF_GNAT_PROJECTS],
1271 AC_REQUIRE([CF_GNAT_VERSION])
1273 cf_gnat_libraries=no
1276 AC_MSG_CHECKING(if GNAT supports project files)
1277 case $cf_gnat_version in #(vi
1281 case $cf_cv_system_name in #(vi
1285 mkdir conftest.src conftest.bin conftest.lib
1287 rm -rf conftest* *~conftest*
1288 cat >>library.gpr <<CF_EOF
1290 Kind := External ("LIB_KIND");
1291 for Library_Name use "ConfTest";
1292 for Object_Dir use ".";
1293 for Library_ALI_Dir use External("LIBRARY_DIR");
1294 for Library_Version use External ("SONAME");
1295 for Library_Kind use Kind;
1296 for Library_Dir use External("BUILD_DIR");
1297 Source_Dir := External ("SOURCE_DIR");
1298 for Source_Dirs use (Source_Dir);
1300 for Default_Switches ("Ada") use
1304 "-gnatVa", -- All validity checks
1305 "-gnatwa"); -- Activate all optional errors
1309 cat >>confpackage.ads <<CF_EOF
1310 package ConfPackage is
1314 cat >>confpackage.adb <<CF_EOF
1316 package body ConfPackage is
1317 procedure conftest is
1319 Text_IO.Put ("Hello World");
1324 if ( $cf_ada_make $ADAFLAGS \
1326 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
1327 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
1328 -XSOURCE_DIR=`pwd` \
1329 -XSONAME=libConfTest.so.1 \
1330 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
1331 cf_gnat_projects=yes
1334 if test -f conftest.lib/confpackage.ali
1336 cf_gnat_libraries=yes
1338 rm -rf conftest* *~conftest*
1343 AC_MSG_RESULT($cf_gnat_projects)
1345 if test $cf_gnat_projects = yes
1347 AC_MSG_CHECKING(if GNAT supports libraries)
1348 AC_MSG_RESULT($cf_gnat_libraries)
1351 if test "$cf_gnat_projects" = yes
1353 USE_OLD_MAKERULES="#"
1354 USE_GNAT_PROJECTS=""
1356 USE_OLD_MAKERULES=""
1357 USE_GNAT_PROJECTS="#"
1360 if test "$cf_gnat_libraries" = yes
1362 USE_GNAT_LIBRARIES=""
1364 USE_GNAT_LIBRARIES="#"
1367 AC_SUBST(USE_OLD_MAKERULES)
1368 AC_SUBST(USE_GNAT_PROJECTS)
1369 AC_SUBST(USE_GNAT_LIBRARIES)
1371 dnl ---------------------------------------------------------------------------
1372 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
1374 dnl Check if gnat supports SIGINT, and presumably tasking. For the latter, it
1375 dnl is noted that gnat may compile a tasking unit even for configurations which
1376 dnl fail at runtime.
1377 AC_DEFUN([CF_GNAT_SIGINT],[
1378 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
1379 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
1383 pragma Warnings (Off); -- the next pragma exists since 3.11p
1384 pragma Unreserve_All_Interrupts;
1385 pragma Warnings (On);
1387 protected Process is
1389 function Continue return Boolean;
1390 pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
1392 Done : Boolean := False;
1396 [package body ConfTest is
1397 protected body Process is
1402 function Continue return Boolean is
1408 [cf_cv_gnat_sigint=yes],
1409 [cf_cv_gnat_sigint=no])])
1411 if test $cf_cv_gnat_sigint = yes ; then
1416 AC_SUBST(USE_GNAT_SIGINT)
1418 dnl ---------------------------------------------------------------------------
1419 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
1420 dnl ----------------
1421 dnl Verify that a test program compiles/links with GNAT.
1422 dnl $cf_ada_make is set to the program that compiles/links
1423 dnl $ADAFLAGS may be set to the GNAT flags.
1425 dnl $1 is the text of the spec
1426 dnl $2 is the text of the body
1427 dnl $3 is the shell command to execute if successful
1428 dnl $4 is the shell command to execute if not successful
1429 AC_DEFUN([CF_GNAT_TRY_LINK],
1431 rm -rf conftest* *~conftest*
1432 cat >>conftest.ads <<CF_EOF
1435 cat >>conftest.adb <<CF_EOF
1438 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1439 ifelse($3,, :,[ $3])
1443 rm -rf conftest* *~conftest*
1445 dnl ---------------------------------------------------------------------------
1446 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
1448 dnl Verify that a test program compiles and runs with GNAT
1449 dnl $cf_ada_make is set to the program that compiles/links
1450 dnl $ADAFLAGS may be set to the GNAT flags.
1452 dnl $1 is the text of the spec
1453 dnl $2 is the text of the body
1454 dnl $3 is the shell command to execute if successful
1455 dnl $4 is the shell command to execute if not successful
1456 AC_DEFUN([CF_GNAT_TRY_RUN],
1458 rm -rf conftest* *~conftest*
1459 cat >>conftest.ads <<CF_EOF
1462 cat >>conftest.adb <<CF_EOF
1465 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1466 if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1467 ifelse($3,, :,[ $3])
1474 rm -rf conftest* *~conftest*
1476 dnl ---------------------------------------------------------------------------
1477 dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
1479 dnl Verify version of GNAT.
1480 AC_DEFUN([CF_GNAT_VERSION],
1482 AC_MSG_CHECKING(for gnat version)
1483 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
1484 grep '[[0-9]].[[0-9]][[0-9]]*' |\
1485 sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1486 AC_MSG_RESULT($cf_gnat_version)
1488 case $cf_gnat_version in #(vi
1489 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
1490 cf_cv_prog_gnat_correct=yes
1493 AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
1494 cf_cv_prog_gnat_correct=no
1498 dnl ---------------------------------------------------------------------------
1499 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1501 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1502 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
1503 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1504 dnl since it is interwoven with GNU extensions.
1506 dnl Well, yes we could work around it...
1507 AC_DEFUN([CF_GNU_SOURCE],
1509 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1510 AC_TRY_COMPILE([#include <sys/types.h>],[
1511 #ifndef _XOPEN_SOURCE
1514 [cf_cv_gnu_source=no],
1515 [cf_save="$CPPFLAGS"
1516 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1517 AC_TRY_COMPILE([#include <sys/types.h>],[
1518 #ifdef _XOPEN_SOURCE
1521 [cf_cv_gnu_source=no],
1522 [cf_cv_gnu_source=yes])
1526 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1528 dnl ---------------------------------------------------------------------------
1529 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
1531 dnl Construct a search-list of directories for a nonstandard header-file
1534 dnl $1 = the variable to return as result
1535 dnl $2 = the package name
1536 AC_DEFUN([CF_HEADER_PATH],
1540 # collect the current set of include-directories from compiler flags
1541 cf_header_path_list=""
1542 if test -n "${CFLAGS}${CPPFLAGS}" ; then
1543 for cf_header_path in $CPPFLAGS $CFLAGS
1545 case $cf_header_path in #(vi
1547 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
1548 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
1549 cf_header_path_list="$cf_header_path_list [$]$1"
1555 # add the variations for the package we are looking for
1556 CF_SUBDIR_PATH($1,$2,include)
1558 test "$includedir" != NONE && \
1559 test "$includedir" != "/usr/include" && \
1560 test -d "$includedir" && {
1561 test -d $includedir && $1="[$]$1 $includedir"
1562 test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
1565 test "$oldincludedir" != NONE && \
1566 test "$oldincludedir" != "/usr/include" && \
1567 test -d "$oldincludedir" && {
1568 test -d $oldincludedir && $1="[$]$1 $oldincludedir"
1569 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
1572 $1="[$]$1 $cf_header_path_list"
1574 dnl ---------------------------------------------------------------------------
1575 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
1577 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
1578 AC_DEFUN([CF_HELP_MESSAGE],
1579 [AC_DIVERT_HELP([$1])dnl
1581 dnl ---------------------------------------------------------------------------
1582 dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
1584 dnl Construct the list of include-options according to whether we're building
1585 dnl in the source directory or using '--srcdir=DIR' option. If we're building
1586 dnl with gcc, don't append the includedir if it happens to be /usr/include,
1587 dnl since that usually breaks gcc's shadow-includes.
1588 AC_DEFUN([CF_INCLUDE_DIRS],
1590 CPPFLAGS="$CPPFLAGS -I. -I../include"
1591 if test "$srcdir" != "."; then
1592 CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
1594 if test "$GCC" != yes; then
1595 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1596 elif test "$includedir" != "/usr/include"; then
1597 if test "$includedir" = '${prefix}/include' ; then
1598 if test $prefix != /usr ; then
1599 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1602 CPPFLAGS="$CPPFLAGS -I\${includedir}"
1607 dnl ---------------------------------------------------------------------------
1608 dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
1609 dnl -----------------
1610 dnl Check if the given compiler is really the Intel compiler for Linux. It
1611 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
1612 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
1614 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
1615 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
1616 dnl the wrappers for gcc and g++ warnings.
1618 dnl $1 = GCC (default) or GXX
1619 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
1620 dnl $3 = CFLAGS (default) or CXXFLAGS
1621 AC_DEFUN([CF_INTEL_COMPILER],[
1622 ifelse([$2],,INTEL_COMPILER,[$2])=no
1624 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
1627 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
1628 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
1629 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
1631 #ifdef __INTEL_COMPILER
1635 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
1636 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
1638 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
1639 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
1644 dnl ---------------------------------------------------------------------------
1645 dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
1647 dnl Add checks for large file support.
1648 AC_DEFUN([CF_LARGEFILE],[
1649 ifdef([AC_FUNC_FSEEKO],[
1651 if test "$enable_largefile" != no ; then
1654 # Normally we would collect these definitions in the config.h,
1655 # but (like _XOPEN_SOURCE), some environments rely on having these
1656 # defined before any of the system headers are included. Another
1657 # case comes up with C++, e.g., on AIX the compiler compiles the
1658 # header files by themselves before looking at the body files it is
1659 # told to compile. For ncurses, those header files do not include
1661 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
1662 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
1663 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
1665 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
1667 #include <sys/types.h>
1670 /* if transitional largefile support is setup, this is true */
1671 extern struct dirent64 * readdir(DIR *);
1672 struct dirent64 *x = readdir((DIR *)0);
1673 struct dirent *y = readdir((DIR *)0);
1676 [cf_cv_struct_dirent64=yes],
1677 [cf_cv_struct_dirent64=no])
1679 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
1683 dnl ---------------------------------------------------------------------------
1684 dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
1686 dnl For the given system and compiler, find the compiler flags to pass to the
1687 dnl loader to use the "rpath" feature.
1688 AC_DEFUN([CF_LD_RPATH_OPT],
1690 AC_REQUIRE([CF_CHECK_CACHE])
1693 AC_MSG_CHECKING(for an rpath option)
1694 case $cf_cv_system_name in #(vi
1696 if test "$GCC" = yes; then
1697 LD_RPATH_OPT="-Wl,-rpath,"
1699 LD_RPATH_OPT="-rpath "
1702 linux*|gnu*|k*bsd*-gnu) #(vi
1703 LD_RPATH_OPT="-Wl,-rpath,"
1705 openbsd[[2-9]].*|mirbsd*) #(vi
1706 LD_RPATH_OPT="-Wl,-rpath,"
1708 dragonfly*|freebsd*) #(vi
1709 LD_RPATH_OPT="-rpath "
1712 LD_RPATH_OPT="-Wl,-rpath,"
1715 LD_RPATH_OPT="-rpath "
1723 AC_MSG_RESULT($LD_RPATH_OPT)
1725 case "x$LD_RPATH_OPT" in #(vi
1727 AC_MSG_CHECKING(if we need a space after rpath option)
1728 cf_save_LIBS="$LIBS"
1729 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
1730 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
1731 LIBS="$cf_save_LIBS"
1732 AC_MSG_RESULT($cf_rpath_space)
1733 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
1737 dnl ---------------------------------------------------------------------------
1738 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
1740 dnl Construct a search-list of directories for a nonstandard library-file
1743 dnl $1 = the variable to return as result
1744 dnl $2 = the package name
1745 AC_DEFUN([CF_LIBRARY_PATH],
1748 cf_library_path_list=""
1749 if test -n "${LDFLAGS}${LIBS}" ; then
1750 for cf_library_path in $LDFLAGS $LIBS
1752 case $cf_library_path in #(vi
1754 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
1755 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
1756 cf_library_path_list="$cf_library_path_list [$]$1"
1762 CF_SUBDIR_PATH($1,$2,lib)
1764 $1="$cf_library_path_list [$]$1"
1766 dnl ---------------------------------------------------------------------------
1767 dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
1769 dnl Compute the library-prefix for the given host system
1770 dnl $1 = variable to set
1771 define([CF_LIB_PREFIX],
1773 case $cf_cv_system_name in #(vi
1780 ifelse($1,,,[$1=$LIB_PREFIX])
1781 AC_SUBST(LIB_PREFIX)
1783 dnl ---------------------------------------------------------------------------
1784 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
1786 dnl Find the and soname for the given shared library. Set the cache variable
1787 dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
1788 dnl variable to "unknown".
1792 dnl $3 = library name
1793 AC_DEFUN([CF_LIB_SONAME],
1795 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
1797 cf_cv_$3_soname=unknown
1798 if test "$cross_compiling" != yes ; then
1799 cat >conftest.$ac_ext <<CF_EOF
1804 ${cf_cv_main_return:-return}(0);
1807 cf_save_LIBS="$LIBS"
1809 if AC_TRY_EVAL(ac_compile) ; then
1810 if AC_TRY_EVAL(ac_link) ; then
1811 cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
1812 test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
1816 LIBS="$cf_save_LIBS"
1820 dnl ---------------------------------------------------------------------------
1821 dnl CF_LIB_SUFFIX version: 18 updated: 2012/02/25 15:20:07
1823 dnl Compute the library file-suffix from the given model name
1825 dnl $2 = variable to set (the nominal library suffix)
1826 dnl $3 = dependency variable to set (actual filename)
1827 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1828 AC_DEFUN([CF_LIB_SUFFIX],
1830 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
1849 case $cf_cv_system_name in
1854 cygwin*|mingw*) #(vi
1879 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1880 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
1882 dnl ---------------------------------------------------------------------------
1883 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
1885 dnl Compute the string to append to -library from the given model name
1887 dnl $2 = variable to set
1888 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1889 AC_DEFUN([CF_LIB_TYPE],
1898 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1900 dnl ---------------------------------------------------------------------------
1901 dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
1902 dnl ----------------
1903 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
1904 dnl only data (i.e., no functions), for example NeXT. On those systems we'll
1905 dnl have to provide wrappers for global tables to ensure they're linked
1907 AC_DEFUN([CF_LINK_DATAONLY],
1909 AC_MSG_CHECKING([if data-only library module links])
1910 AC_CACHE_VAL(cf_cv_link_dataonly,[
1912 cat >conftest.$ac_ext <<EOF
1913 #line __oline__ "configure"
1914 int testdata[[3]] = { 123, 456, 789 };
1916 if AC_TRY_EVAL(ac_compile) ; then
1917 mv conftest.o data.o && \
1918 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
1920 rm -f conftest.$ac_ext data.o
1921 cat >conftest.$ac_ext <<EOF
1922 #line __oline__ "configure"
1926 ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
1928 extern int testdata[[3]];
1929 return testdata[[0]] == 123
1930 && testdata[[1]] == 456
1931 && testdata[[2]] == 789;
1935 if AC_TRY_EVAL(ac_compile); then
1936 mv conftest.o func.o && \
1937 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
1939 rm -f conftest.$ac_ext func.o
1940 ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
1942 LIBS="conftest.a $LIBS"
1946 extern int testfunc();
1947 ${cf_cv_main_return:-return} (!testfunc());
1950 [cf_cv_link_dataonly=yes],
1951 [cf_cv_link_dataonly=no],
1952 [cf_cv_link_dataonly=unknown])
1955 AC_MSG_RESULT($cf_cv_link_dataonly)
1957 if test "$cf_cv_link_dataonly" = no ; then
1958 AC_DEFINE(BROKEN_LINKER)
1963 dnl ---------------------------------------------------------------------------
1964 dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
1966 dnl Most Unix systems have both link and symlink, a few don't have symlink.
1967 dnl A few non-Unix systems implement symlink, but not link.
1968 dnl A few non-systems implement neither (or have nonfunctional versions).
1969 AC_DEFUN([CF_LINK_FUNCS],
1975 if test "$cross_compiling" = yes ; then
1980 AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
1982 for cf_func in link symlink ; do
1984 #include <sys/types.h>
1985 #include <sys/stat.h>
1986 #ifdef HAVE_UNISTD_H
1992 char *src = "config.log";
1993 char *dst = "conftest.chk";
1998 fail = ($cf_func("config.log", "conftest.chk") < 0)
1999 || (stat(dst, &dst_sb) < 0)
2000 || (dst_sb.st_mtime != src_sb.st_mtime);
2006 ${cf_cv_main_return:-return} (fail);
2009 cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
2010 eval 'ac_cv_func_'$cf_func'=yes'],[
2011 eval 'ac_cv_func_'$cf_func'=no'],[
2012 eval 'ac_cv_func_'$cf_func'=error'])
2014 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
2016 test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
2017 test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
2020 dnl ---------------------------------------------------------------------------
2021 dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
2023 dnl Check if a return from main to the shell actually returns the same exit
2024 dnl code. This is true for almost any POSIX environment.
2026 dnl Some very old environments did not flush stdout, etc., on an exit. That
2027 dnl would be a useful case to test for also.
2028 AC_DEFUN([CF_MAIN_RETURN],
2030 cf_cv_main_return=return
2032 dnl ---------------------------------------------------------------------------
2033 dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
2035 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
2036 dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
2037 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
2038 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
2039 AC_DEFUN([CF_MAKEFLAGS],
2041 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
2043 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
2045 cat >cf_makeflags.tmp <<CF_EOF
2048 @ echo '.$cf_option'
2050 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'`
2051 case "$cf_result" in
2053 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
2054 case "$cf_result" in
2055 .*CC=*) cf_cv_makeflags=
2057 *) cf_cv_makeflags=$cf_option
2063 *) echo "given option \"$cf_option\", no match \"$cf_result\""
2067 rm -f cf_makeflags.tmp
2070 AC_SUBST(cf_cv_makeflags)
2072 dnl ---------------------------------------------------------------------------
2073 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
2075 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
2076 dnl a monocase filesystem.
2077 AC_DEFUN([CF_MAKE_TAGS],[
2078 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
2080 AC_CHECK_PROGS(CTAGS, exctags ctags)
2081 AC_CHECK_PROGS(ETAGS, exetags etags)
2083 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
2085 if test "$cf_cv_mixedcase" = yes ; then
2086 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
2091 if test "$MAKE_UPPER_TAGS" = yes ; then
2097 if test "$MAKE_LOWER_TAGS" = yes ; then
2106 AC_SUBST(MAKE_UPPER_TAGS)
2107 AC_SUBST(MAKE_LOWER_TAGS)
2109 dnl ---------------------------------------------------------------------------
2110 dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
2111 dnl ----------------------
2112 dnl Check if the file-system supports mixed-case filenames. If we're able to
2113 dnl create a lowercase name and see it as uppercase, it doesn't support that.
2114 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
2116 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
2117 if test "$cross_compiling" = yes ; then
2118 case $target_alias in #(vi
2119 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
2127 rm -f conftest CONFTEST
2129 if test -f CONFTEST ; then
2134 rm -f conftest CONFTEST
2137 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
2139 dnl ---------------------------------------------------------------------------
2140 dnl CF_MKSTEMP version: 8 updated: 2012/02/13 20:34:56
2142 dnl Check for a working mkstemp. This creates two files, checks that they are
2143 dnl successfully created and distinct (AmigaOS apparently fails on the last).
2144 AC_DEFUN([CF_MKSTEMP],[
2145 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
2148 #include <sys/types.h>
2152 #include <sys/stat.h>
2155 char *tmpl = "conftestXXXXXX";
2163 for (n = 0; n < 2; ++n) {
2164 strcpy(name[n], tmpl);
2165 if ((fd = mkstemp(name[n])) >= 0) {
2166 if (!strcmp(name[n], tmpl)
2167 || stat(name[n], &sb) != 0
2168 || (sb.st_mode & S_IFMT) != S_IFREG
2169 || (sb.st_mode & 077) != 0) {
2176 && !strcmp(name[0], name[1]))
2178 ${cf_cv_main_return:-return}(result);
2180 ],[cf_cv_func_mkstemp=yes
2181 ],[cf_cv_func_mkstemp=no
2182 ],[cf_cv_func_mkstemp=maybe])
2184 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
2185 AC_CHECK_FUNC(mkstemp)
2187 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
2188 AC_DEFINE(HAVE_MKSTEMP)
2191 dnl ---------------------------------------------------------------------------
2192 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
2194 dnl Write a debug message to config.log, along with the line number in the
2195 dnl configure script.
2196 AC_DEFUN([CF_MSG_LOG],[
2197 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
2199 dnl ---------------------------------------------------------------------------
2200 dnl CF_NCURSES_ADDON version: 4 updated: 2011/03/27 17:10:13
2201 dnl ----------------
2202 dnl Configure an ncurses add-on, built outside the ncurses tree.
2203 AC_DEFUN([CF_NCURSES_ADDON],[
2205 AC_PROVIDE([CF_SUBST_NCURSES_VERSION])
2207 AC_MSG_CHECKING(if you want wide-character code)
2208 AC_ARG_ENABLE(widec,
2209 [ --enable-widec compile with wide-char/UTF-8 code],
2210 [with_widec=$enableval],
2212 AC_MSG_RESULT($with_widec)
2213 if test "$with_widec" = yes ; then
2215 CF_NCURSES_CONFIG(ncursesw)
2217 CF_NCURSES_CONFIG(ncurses)
2220 if test "$NCURSES_CONFIG" != none ; then
2222 cf_version=`$NCURSES_CONFIG --version`
2224 NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
2225 NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
2226 NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
2228 # ABI version is not available from headers
2229 cf_cv_abi_version=`$NCURSES_CONFIG --abi-version`
2233 for cf_name in MAJOR MINOR PATCH
2235 cat >conftest.$ac_ext <<CF_EOF
2236 #include <${cf_cv_ncurses_header:-curses.h}>
2237 AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
2239 cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
2241 if test -f conftest.out ; then
2242 cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[ ]][[ ]]*//"`
2243 eval NCURSES_$cf_name=\"$cf_result\"
2244 # cat conftest.$ac_ext
2249 cf_cv_abi_version=${NCURSES_MAJOR}
2253 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
2255 dnl Show the computed version, for logging
2256 cf_cv_timestamp=`date`
2258 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
2260 dnl We need these values in the generated headers
2261 AC_SUBST(NCURSES_MAJOR)
2262 AC_SUBST(NCURSES_MINOR)
2263 AC_SUBST(NCURSES_PATCH)
2265 dnl We need these values in the generated makefiles
2266 AC_SUBST(cf_cv_rel_version)
2267 AC_SUBST(cf_cv_abi_version)
2269 dnl FIXME - not needed for Ada95
2270 AC_SUBST(cf_cv_builtin_bool)
2271 AC_SUBST(cf_cv_header_stdbool_h)
2272 AC_SUBST(cf_cv_type_of_bool)dnl
2275 dnl ---------------------------------------------------------------------------
2276 dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
2277 dnl -------------------
2278 dnl Check if we can compile with ncurses' header file
2279 dnl $1 is the cache variable to set
2280 dnl $2 is the header-file to include
2281 dnl $3 is the root name (ncurses or ncursesw)
2282 AC_DEFUN([CF_NCURSES_CC_CHECK],[
2284 ]ifelse($3,ncursesw,[
2285 #define _XOPEN_SOURCE_EXTENDED
2286 #undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
2287 #define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
2290 #ifdef NCURSES_VERSION
2291 ]ifelse($3,ncursesw,[
2296 printf("%s\n", NCURSES_VERSION);
2308 dnl ---------------------------------------------------------------------------
2309 dnl CF_NCURSES_CONFIG version: 9 updated: 2011/11/26 15:42:05
2310 dnl -----------------
2311 dnl Tie together the configure-script macros for ncurses.
2312 dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
2313 dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable.
2315 dnl $1 is the root library name (default: "ncurses")
2316 AC_DEFUN([CF_NCURSES_CONFIG],
2318 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
2320 echo "Looking for ${cf_ncuconfig_root}-config"
2322 CF_ACVERSION_CHECK(2.52,
2323 [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
2324 [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
2326 if test "$NCURSES_CONFIG" != none ; then
2328 CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
2329 CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
2331 # even with config script, some packages use no-override for curses.h
2332 CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
2334 dnl like CF_NCURSES_CPPFLAGS
2337 dnl like CF_NCURSES_LIBS
2338 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
2339 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2341 dnl like CF_NCURSES_VERSION
2342 cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
2346 CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
2347 CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
2351 dnl ---------------------------------------------------------------------------
2352 dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
2353 dnl -------------------
2354 dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
2355 dnl the CPPFLAGS variable so we can include its header.
2357 dnl The header files may be installed as either curses.h, or ncurses.h (would
2358 dnl be obsolete, except that some packagers prefer this name to distinguish it
2359 dnl from a "native" curses implementation). If not installed for overwrite,
2360 dnl the curses.h file would be in an ncurses subdirectory (e.g.,
2361 dnl /usr/include/ncurses), but someone may have installed overwriting the
2362 dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd
2363 dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
2366 dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
2367 dnl is already in the include-path, don't even bother with this, since we cannot
2368 dnl easily determine which file it is. In this case, it has to be <curses.h>.
2370 dnl The optional parameter gives the root name of the library, in case it is
2371 dnl not installed as the default curses library. That is how the
2372 dnl wide-character version of ncurses is installed.
2373 AC_DEFUN([CF_NCURSES_CPPFLAGS],
2374 [AC_REQUIRE([CF_WITH_CURSES_DIR])
2376 AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
2377 cf_ncuhdr_root=ifelse($1,,ncurses,$1)
2379 test -n "$cf_cv_curses_dir" && \
2380 test "$cf_cv_curses_dir" != "no" && { \
2381 CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
2384 AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
2385 cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
2386 ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
2387 for cf_header in $cf_header_list
2389 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
2390 test "$cf_cv_ncurses_h" != no && break
2397 # some applications need this, but should check for NCURSES_VERSION
2402 dnl ---------------------------------------------------------------------------
2403 dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
2404 dnl -----------------
2405 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
2406 dnl variations of ncurses' installs.
2408 dnl See also CF_CURSES_HEADER, which sets the same cache variable.
2409 AC_DEFUN([CF_NCURSES_HEADER],[
2411 if test "$cf_cv_ncurses_h" != no ; then
2412 cf_cv_ncurses_header=$cf_cv_ncurses_h
2415 AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
2416 test -n "$verbose" && echo
2417 CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
2418 test -n "$verbose" && echo search path $cf_search
2419 cf_save2_CPPFLAGS="$CPPFLAGS"
2420 for cf_incdir in $cf_search
2422 CF_ADD_INCDIR($cf_incdir)
2427 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
2428 if test "$cf_cv_ncurses_h2" != no ; then
2429 cf_cv_ncurses_h2=$cf_incdir/$cf_header
2430 test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
2433 test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
2435 CPPFLAGS="$cf_save2_CPPFLAGS"
2436 test "$cf_cv_ncurses_h2" != no && break
2438 test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
2441 CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
2442 cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
2443 if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
2444 cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
2446 CF_ADD_INCDIR($cf_1st_incdir)
2450 # Set definitions to allow ifdef'ing for ncurses.h
2452 case $cf_cv_ncurses_header in # (vi
2454 AC_DEFINE(HAVE_NCURSES_H)
2458 case $cf_cv_ncurses_header in # (vi
2459 ncurses/curses.h|ncurses/ncurses.h)
2460 AC_DEFINE(HAVE_NCURSES_NCURSES_H)
2462 ncursesw/curses.h|ncursesw/ncurses.h)
2463 AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
2468 dnl ---------------------------------------------------------------------------
2469 dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38
2471 dnl Look for the ncurses library. This is a little complicated on Linux,
2472 dnl because it may be linked with the gpm (general purpose mouse) library.
2473 dnl Some distributions have gpm linked with (bsd) curses, which makes it
2474 dnl unusable with ncurses. However, we don't want to link with gpm unless
2475 dnl ncurses has a dependency, since gpm is normally set up as a shared library,
2476 dnl and the linker will record a dependency.
2478 dnl The optional parameter gives the root name of the library, in case it is
2479 dnl not installed as the default curses library. That is how the
2480 dnl wide-character version of ncurses is installed.
2481 AC_DEFUN([CF_NCURSES_LIBS],
2482 [AC_REQUIRE([CF_NCURSES_CPPFLAGS])
2484 cf_nculib_root=ifelse($1,,ncurses,$1)
2485 # This works, except for the special case where we find gpm, but
2486 # ncurses is in a nonstandard location via $LIBS, and we really want
2489 cf_ncurses_SAVE="$LIBS"
2490 AC_CHECK_LIB(gpm,Gpm_Open,
2491 [AC_CHECK_LIB(gpm,initscr,
2492 [LIBS="$cf_ncurses_SAVE"],
2493 [cf_ncurses_LIBS="-lgpm"])])
2495 case $host_os in #(vi
2497 # This is only necessary if you are linking against an obsolete
2498 # version of ncurses (but it should do no harm, since it's static).
2499 if test "$cf_nculib_root" = ncurses ; then
2500 AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
2505 CF_ADD_LIBS($cf_ncurses_LIBS)
2507 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
2509 CF_ADD_LIBS(-l$cf_nculib_root)
2511 CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
2512 [#include <${cf_cv_ncurses_header:-curses.h}>],
2517 if test -n "$cf_ncurses_LIBS" ; then
2518 AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
2519 cf_ncurses_SAVE="$LIBS"
2520 for p in $cf_ncurses_LIBS ; do
2521 q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
2522 if test "$q" != "$LIBS" ; then
2526 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
2527 [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
2528 [AC_MSG_RESULT(yes)],
2530 LIBS="$cf_ncurses_SAVE"])
2533 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
2534 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2536 dnl ---------------------------------------------------------------------------
2537 dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
2538 dnl ------------------
2539 dnl Check for the version of ncurses, to aid in reporting bugs, etc.
2540 dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
2541 dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
2542 AC_DEFUN([CF_NCURSES_VERSION],
2544 AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
2545 AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
2546 cf_cv_ncurses_version=no
2550 #include <${cf_cv_ncurses_header:-curses.h}>
2554 FILE *fp = fopen("$cf_tempfile", "w");
2555 #ifdef NCURSES_VERSION
2556 # ifdef NCURSES_VERSION_PATCH
2557 fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
2559 fprintf(fp, "%s\n", NCURSES_VERSION);
2563 fprintf(fp, "old\n");
2568 ${cf_cv_main_return:-return}(0);
2570 cf_cv_ncurses_version=`cat $cf_tempfile`],,[
2572 # This will not work if the preprocessor splits the line after the
2573 # Autoconf token. The 'unproto' program does that.
2574 cat > conftest.$ac_ext <<EOF
2575 #include <${cf_cv_ncurses_header:-curses.h}>
2577 #ifdef NCURSES_VERSION
2578 Autoconf NCURSES_VERSION
2586 cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
2588 if test -f conftest.out ; then
2589 cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
2590 test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
2596 test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
2598 dnl ---------------------------------------------------------------------------
2599 dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
2600 dnl ------------------
2601 dnl see CF_WITH_NO_LEAKS
2602 AC_DEFUN([CF_NO_LEAKS_OPTION],[
2603 AC_MSG_CHECKING(if you want to use $1 for testing)
2606 [AC_DEFINE($3)ifelse([$4],,[
2609 : ${with_cflags:=-g}
2610 : ${with_no_leaks:=yes}
2613 AC_MSG_RESULT(${with_$1:-no})
2615 case .$with_cflags in #(vi
2617 case .$CFLAGS in #(vi
2627 dnl ---------------------------------------------------------------------------
2628 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
2629 dnl ----------------
2630 dnl Check if the given variable is a number. If not, report an error.
2631 dnl $1 is the variable
2632 dnl $2 is the message
2633 AC_DEFUN([CF_NUMBER_SYNTAX],[
2634 if test -n "$1" ; then
2639 AC_MSG_ERROR($2 is not a number: $1)
2643 AC_MSG_ERROR($2 value is empty)
2646 dnl ---------------------------------------------------------------------------
2647 dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
2649 dnl Compute the object-directory name from the given model name
2650 AC_DEFUN([CF_OBJ_SUBDIR],
2653 libtool) $2='obj_lo' ;;
2654 normal) $2='objects' ;;
2655 debug) $2='obj_g' ;;
2656 profile) $2='obj_p' ;;
2658 case $cf_cv_system_name in #(vi
2666 dnl ---------------------------------------------------------------------------
2667 dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
2669 dnl Provide a value for the $PATH and similar separator
2670 AC_DEFUN([CF_PATHSEP],
2672 case $cf_cv_system_name in
2673 os2*) PATH_SEPARATOR=';' ;;
2674 *) PATH_SEPARATOR=':' ;;
2676 ifelse([$1],,,[$1=$PATH_SEPARATOR])
2677 AC_SUBST(PATH_SEPARATOR)
2679 dnl ---------------------------------------------------------------------------
2680 dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
2682 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
2683 dnl begins with one of the prefix/exec_prefix variables, and then again if the
2684 dnl result begins with 'NONE'. This is necessary to work around autoconf's
2685 dnl delayed evaluation of those symbols.
2686 AC_DEFUN([CF_PATH_SYNTAX],[
2687 if test "x$prefix" != xNONE; then
2688 cf_path_syntax="$prefix"
2690 cf_path_syntax="$ac_default_prefix"
2693 case ".[$]$1" in #(vi
2694 .\[$]\(*\)*|.\'*\'*) #(vi
2698 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
2700 .\[$]{*prefix}*) #(vi
2702 case ".[$]$1" in #(vi
2704 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2709 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2712 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
2716 dnl ---------------------------------------------------------------------------
2717 dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
2719 dnl Check for the package-config program, unless disabled by command-line.
2720 AC_DEFUN([CF_PKG_CONFIG],
2722 AC_MSG_CHECKING(if you want to use pkg-config)
2723 AC_ARG_WITH(pkg-config,
2724 [ --with-pkg-config{=path} enable/disable use of pkg-config],
2725 [cf_pkg_config=$withval],
2726 [cf_pkg_config=yes])
2727 AC_MSG_RESULT($cf_pkg_config)
2729 case $cf_pkg_config in #(vi
2734 CF_ACVERSION_CHECK(2.52,
2735 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
2736 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
2743 test -z "$PKG_CONFIG" && PKG_CONFIG=none
2744 if test "$PKG_CONFIG" != none ; then
2745 CF_PATH_SYNTAX(PKG_CONFIG)
2748 AC_SUBST(PKG_CONFIG)
2750 dnl ---------------------------------------------------------------------------
2751 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
2752 dnl -----------------
2753 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
2755 dnl POSIX.1-1990 _POSIX_SOURCE
2756 dnl POSIX.1-1990 and _POSIX_SOURCE and
2757 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
2759 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
2760 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
2761 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
2764 dnl $1 is the nominal value for _POSIX_C_SOURCE
2765 AC_DEFUN([CF_POSIX_C_SOURCE],
2767 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
2769 cf_save_CFLAGS="$CFLAGS"
2770 cf_save_CPPFLAGS="$CPPFLAGS"
2772 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
2773 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
2775 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
2776 CF_MSG_LOG(if the symbol is already defined go no further)
2777 AC_TRY_COMPILE([#include <sys/types.h>],[
2778 #ifndef _POSIX_C_SOURCE
2781 [cf_cv_posix_c_source=no],
2782 [cf_want_posix_source=no
2783 case .$cf_POSIX_C_SOURCE in #(vi
2785 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2788 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2789 cf_want_posix_source=yes
2792 cf_want_posix_source=yes
2795 if test "$cf_want_posix_source" = yes ; then
2796 AC_TRY_COMPILE([#include <sys/types.h>],[
2797 #ifdef _POSIX_SOURCE
2800 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
2802 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
2803 CFLAGS="$cf_trim_CFLAGS"
2804 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
2805 CF_MSG_LOG(if the second compile does not leave our definition intact error)
2806 AC_TRY_COMPILE([#include <sys/types.h>],[
2807 #ifndef _POSIX_C_SOURCE
2810 [cf_cv_posix_c_source=no])
2811 CFLAGS="$cf_save_CFLAGS"
2812 CPPFLAGS="$cf_save_CPPFLAGS"
2816 if test "$cf_cv_posix_c_source" != no ; then
2817 CFLAGS="$cf_trim_CFLAGS"
2818 CPPFLAGS="$cf_trim_CPPFLAGS"
2819 CF_ADD_CFLAGS($cf_cv_posix_c_source)
2823 dnl ---------------------------------------------------------------------------
2824 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
2826 dnl Check for archiver "ar".
2827 AC_DEFUN([CF_PROG_AR],[
2828 AC_CHECK_TOOL(AR, ar, ar)
2830 dnl ---------------------------------------------------------------------------
2831 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
2833 dnl Check for awk, ensure that the check found something.
2834 AC_DEFUN([CF_PROG_AWK],
2837 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
2839 dnl ---------------------------------------------------------------------------
2840 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
2842 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
2843 dnl the output file can be renamed, and allows for a shell variable that can
2844 dnl be used later. The parameter is either CC or CXX. The result is the
2846 dnl $cf_cv_prog_CC_c_o
2847 dnl $cf_cv_prog_CXX_c_o
2848 AC_DEFUN([CF_PROG_CC_C_O],
2849 [AC_REQUIRE([AC_PROG_CC])dnl
2850 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
2851 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
2853 cat > conftest.$ac_ext <<CF_EOF
2857 ${cf_cv_main_return:-return}(0);
2860 # We do the test twice because some compilers refuse to overwrite an
2861 # existing .o file with -o, though they will create one.
2862 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
2863 if AC_TRY_EVAL(ac_try) &&
2864 test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
2866 eval cf_cv_prog_$1_c_o=yes
2868 eval cf_cv_prog_$1_c_o=no
2872 if test $cf_cv_prog_$1_c_o = yes; then
2873 AC_MSG_RESULT([yes])
2878 dnl ---------------------------------------------------------------------------
2879 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
2881 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
2882 dnl This macro adds a check to ensure the script found something.
2883 AC_DEFUN([CF_PROG_EGREP],
2884 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2885 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2886 then ac_cv_prog_egrep='grep -E'
2887 else ac_cv_prog_egrep='egrep'
2889 EGREP=$ac_cv_prog_egrep
2891 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
2893 dnl ---------------------------------------------------------------------------
2894 dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
2896 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
2897 AC_DEFUN([CF_PROG_EXT],
2899 AC_REQUIRE([CF_CHECK_CACHE])
2900 case $cf_cv_system_name in
2902 CFLAGS="$CFLAGS -Zmt"
2903 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
2904 CXXFLAGS="$CXXFLAGS -Zmt"
2905 # autoconf's macro sets -Zexe and suffix both, which conflict:w
2906 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
2916 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
2918 dnl ---------------------------------------------------------------------------
2919 dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
2921 dnl Check for gnatmake, ensure that it is complete.
2922 AC_DEFUN([CF_PROG_GNAT],[
2923 cf_ada_make=gnatmake
2924 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
2925 if test "$ac_cv_prog_gnat_exists" = no; then
2927 cf_cv_prog_gnat_correct=no
2930 AC_CHECK_PROG(M4_exists, m4, yes, no)
2931 if test "$ac_cv_prog_M4_exists" = no; then
2932 cf_cv_prog_gnat_correct=no
2933 echo Ada95 binding required program m4 not found. Ada95 binding disabled.
2935 if test "$cf_cv_prog_gnat_correct" = yes; then
2936 AC_MSG_CHECKING(if GNAT works)
2937 CF_GNAT_TRY_RUN([procedure conftest;],
2940 procedure conftest is
2942 Text_IO.Put ("Hello World");
2944 GNAT.OS_Lib.OS_Exit (0);
2945 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
2946 AC_MSG_RESULT($cf_cv_prog_gnat_correct)
2950 AC_SUBST(cf_ada_make)
2952 dnl ---------------------------------------------------------------------------
2953 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
2955 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
2956 dnl option if it is supported.
2957 AC_DEFUN([CF_PROG_LN_S],[
2959 AC_MSG_CHECKING(if $LN_S -f options work)
2961 rm -f conf$$.src conf$$dst
2963 echo first >conf$$.src
2964 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
2969 rm -f conf$$.dst conf$$src
2970 AC_MSG_RESULT($cf_prog_ln_sf)
2972 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
2974 dnl ---------------------------------------------------------------------------
2975 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
2976 dnl ----------------
2977 dnl Remove all -U and -D options that refer to the given symbol from a list
2978 dnl of C compiler options. This works around the problem that not all
2979 dnl compilers process -U and -D options from left-to-right, so a -U option
2980 dnl cannot be used to cancel the effect of a preceding -D option.
2982 dnl $1 = target (which could be the same as the source variable)
2983 dnl $2 = source (including '$')
2984 dnl $3 = symbol to remove
2985 define([CF_REMOVE_DEFINE],
2988 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
2989 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
2991 dnl ---------------------------------------------------------------------------
2992 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
2994 dnl Remove the given library from the symbol
2996 dnl $1 = target (which could be the same as the source variable)
2997 dnl $2 = source (including '$')
2998 dnl $3 = library to remove
2999 define([CF_REMOVE_LIB],
3001 # remove $3 library from $2
3002 $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
3004 dnl ---------------------------------------------------------------------------
3005 dnl CF_SHARED_OPTS version: 70 updated: 2012/02/25 15:20:07
3008 dnl Attempt to determine the appropriate CC/LD options for creating a shared
3011 dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
3012 dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
3013 dnl We avoid compiling-in a ../lib path for the shared library since that can
3014 dnl lead to unexpected results at runtime.
3015 dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
3016 dnl are compiled in ../../lib
3018 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
3019 dnl to install symbolic links to the rel/abi versions of shared libraries.
3021 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
3022 dnl version when making symbolic links.
3024 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
3025 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
3026 dnl (ex: libncurses.so.<ver>).
3028 dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
3029 AC_DEFUN([CF_SHARED_OPTS],
3031 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3032 AC_REQUIRE([CF_LD_RPATH_OPT])
3036 INSTALL_LIB="-m 644"
3038 cf_cv_do_symlinks=no
3040 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
3042 AC_MSG_CHECKING(if release/abi version should be used for shared libs)
3043 AC_ARG_WITH(shlib-version,
3044 [ --with-shlib-version=X Specify rel or abi version for shared libs],
3045 [test -z "$withval" && withval=auto
3046 case $withval in #(vi
3048 cf_cv_shlib_version=auto
3050 rel|abi|auto|no) #(vi
3051 cf_cv_shlib_version=$withval
3054 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
3057 ],[cf_cv_shlib_version=auto])
3058 AC_MSG_RESULT($cf_cv_shlib_version)
3062 # Some less-capable ports of gcc support only -fpic
3064 if test "$GCC" = yes
3066 AC_MSG_CHECKING(which $CC option to use)
3067 cf_save_CFLAGS="$CFLAGS"
3068 for CC_SHARED_OPTS in -fPIC -fpic ''
3070 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
3071 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
3073 AC_MSG_RESULT($CC_SHARED_OPTS)
3074 CFLAGS="$cf_save_CFLAGS"
3077 cf_cv_shlib_version_infix=no
3079 case $cf_cv_system_name in #(vi
3080 aix4.[3-9]*|aix[[5-7]]*) #(vi
3081 if test "$GCC" = yes; then
3083 MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
3085 # CC_SHARED_OPTS='-qpic=large -G'
3086 # perhaps "-bM:SRE -bnoentry -bexpall"
3087 MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
3091 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
3095 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
3096 cf_cv_shlib_version=cygdll
3097 cf_cv_shlib_version_infix=cygdll
3098 cat >mk_shared_lib.sh <<-CF_EOF
3101 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
3104 Linking shared library
3105 ** SHARED_LIB \[$]SHARED_LIB
3106 ** IMPORT_LIB \[$]IMPORT_LIB
3108 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
3110 chmod +x mk_shared_lib.sh
3113 EXTRA_CFLAGS="-no-cpp-precomp"
3114 CC_SHARED_OPTS="-dynamic"
3115 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
3116 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
3117 cf_cv_shlib_version_infix=yes
3118 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
3119 cf_save_LDFLAGS=$LDFLAGS
3120 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
3121 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
3122 LDFLAGS=$cf_save_LDFLAGS])
3123 if test $cf_cv_ldflags_search_paths_first = yes; then
3124 LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
3128 # (tested with gcc 2.7.2 -- I don't have c89)
3129 if test "$GCC" = yes; then
3130 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
3133 LD_SHARED_OPTS='-Wl,+b,${libdir}'
3135 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
3136 # HP-UX shared libraries must be executable, and should be
3137 # readonly to exploit a quirk in the memory manager.
3138 INSTALL_LIB="-m 555"
3141 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3142 if test "$cf_cv_shlib_version" = rel; then
3143 cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
3145 cf_shared_soname='`basename $@`'
3148 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
3151 if test "$cf_cv_enable_rpath" = yes ; then
3152 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3154 # tested with IRIX 5.2 and 'cc'.
3155 if test "$GCC" != yes; then
3156 CC_SHARED_OPTS='-KPIC'
3157 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
3159 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
3161 cf_cv_rm_so_locs=yes
3163 linux*|gnu*|k*bsd*-gnu) #(vi
3164 if test "$DFT_LWR_MODEL" = "shared" ; then
3165 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3166 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3168 if test "$cf_cv_enable_rpath" = yes ; then
3169 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3172 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3175 cf_cv_shlib_version=mingw
3176 cf_cv_shlib_version_infix=mingw
3178 MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
3179 #MK_SHARED_LIB='${CC} ${CFLAGS} -mdll -Wl,-soname,'$cf_cv_shared_soname',-stats -o $[@]'
3180 #MK_SHARED_LIB='${DLLTOOL} --export-all-symbols --output-exp --output-lib $[@]'
3181 cat >mk_shared_lib.sh <<-CF_EOF
3184 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
3187 Linking shared library
3188 ** SHARED_LIB \[$]SHARED_LIB
3189 ** IMPORT_LIB \[$]IMPORT_LIB
3191 exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
3193 chmod +x mk_shared_lib.sh
3195 openbsd[[2-9]].*|mirbsd*) #(vi
3196 if test "$DFT_LWR_MODEL" = "shared" ; then
3197 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3198 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3200 if test "$cf_cv_enable_rpath" = yes ; then
3201 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3203 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3205 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3207 nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
3208 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3209 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
3210 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3212 dragonfly*|freebsd*) #(vi
3213 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3214 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3215 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3216 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
3217 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3220 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
3223 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3224 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3225 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3226 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3227 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3228 if test "$cf_cv_shlib_version" = auto; then
3229 if test -f /usr/libexec/ld.elf_so; then
3230 cf_cv_shlib_version=abi
3232 cf_cv_shlib_version=rel
3236 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
3238 MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
3242 # tested with OSF/1 V3.2 and 'cc'
3243 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
3244 # link with shared libs).
3245 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
3246 case $host_os in #(vi
3248 MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
3251 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
3252 if test "$DFT_LWR_MODEL" = "shared" ; then
3253 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3254 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3256 cf_cv_rm_so_locs=yes
3258 sco3.2v5*) # (also uw2* and UW7: hops 13-Apr-98
3259 # tested with osr5.0.5
3260 if test "$GCC" != yes; then
3261 CC_SHARED_OPTS='-belf -KPIC'
3263 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
3264 if test "$cf_cv_enable_rpath" = yes ; then
3265 # only way is to set LD_RUN_PATH but no switch for it
3268 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3269 LINK_PROGS='LD_RUN_PATH=${libdir}'
3270 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
3273 # tested with SunOS 4.1.1 and gcc 2.7.0
3274 if test "$GCC" != yes; then
3275 CC_SHARED_OPTS='-KPIC'
3277 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
3278 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3281 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
3282 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
3283 if test "$DFT_LWR_MODEL" = "shared" ; then
3284 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
3285 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3287 if test "$cf_cv_enable_rpath" = yes ; then
3288 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
3291 if test "$GCC" != yes; then
3292 cf_save_CFLAGS="$CFLAGS"
3293 for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
3295 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
3296 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
3298 CFLAGS="$cf_save_CFLAGS"
3299 CC_SHARED_OPTS=$cf_shared_opts
3300 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3302 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3305 sysv5uw7*|unix_sv*) #(vi
3306 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
3307 if test "$GCC" != yes; then
3308 CC_SHARED_OPTS='-KPIC'
3310 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
3313 CC_SHARED_OPTS='unknown'
3314 MK_SHARED_LIB='echo unknown'
3318 # This works if the last tokens in $MK_SHARED_LIB are the -o target.
3319 case "$cf_cv_shlib_version" in #(vi
3321 case "$MK_SHARED_LIB" in #(vi
3323 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
3326 AC_MSG_WARN(ignored --with-shlib-version)
3332 # RPATH_LIST is a colon-separated list of directories
3333 test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
3334 test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
3336 CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
3337 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB)
3339 AC_SUBST(CC_SHARED_OPTS)
3340 AC_SUBST(LD_RPATH_OPT)
3341 AC_SUBST(LD_SHARED_OPTS)
3342 AC_SUBST(MK_SHARED_LIB)
3343 AC_SUBST(LINK_PROGS)
3344 AC_SUBST(LINK_TESTS)
3345 AC_SUBST(EXTRA_LDFLAGS)
3346 AC_SUBST(LOCAL_LDFLAGS)
3347 AC_SUBST(LOCAL_LDFLAGS2)
3348 AC_SUBST(INSTALL_LIB)
3349 AC_SUBST(RPATH_LIST)
3351 dnl ---------------------------------------------------------------------------
3352 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
3353 dnl ----------------
3354 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
3355 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
3358 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
3359 dnl If missing, use "rel".
3360 define([CF_SHARED_SONAME],
3362 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
3363 if test "$cf_cv_shlib_version" = rel; then
3364 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
3366 cf_cv_shared_soname='`basename $[@]`'
3369 dnl ---------------------------------------------------------------------------
3370 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
3372 dnl Remove "-g" option from the compiler options
3373 AC_DEFUN([CF_STRIP_G_OPT],
3374 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
3375 dnl ---------------------------------------------------------------------------
3376 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
3378 dnl Construct a search-list for a nonstandard header/lib-file
3379 dnl $1 = the variable to return as result
3380 dnl $2 = the package name
3381 dnl $3 = the subdirectory, e.g., bin, include or lib
3382 AC_DEFUN([CF_SUBDIR_PATH],
3386 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
3387 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
3388 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
3389 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
3390 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
3392 dnl ---------------------------------------------------------------------------
3393 dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
3395 dnl Shorthand macro for substituting things that the user may override
3396 dnl with an environment variable.
3398 dnl $1 = long/descriptive name
3399 dnl $2 = environment variable
3400 dnl $3 = default value
3401 AC_DEFUN([CF_SUBST],
3402 [AC_CACHE_VAL(cf_cv_subst_$2,[
3403 AC_MSG_CHECKING(for $1 (symbol $2))
3404 CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
3405 cf_cv_subst_$2=[$]$2
3406 AC_MSG_RESULT([$]$2)
3409 dnl ---------------------------------------------------------------------------
3410 dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
3412 dnl Look for term.h, which is part of X/Open curses. It defines the interface
3413 dnl to terminfo database. Usually it is in the same include-path as curses.h,
3414 dnl but some packagers change this, breaking various applications.
3415 AC_DEFUN([CF_TERM_HEADER],[
3416 AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
3417 case ${cf_cv_ncurses_header} in #(vi
3418 */ncurses.h|*/ncursesw.h) #(vi
3419 cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
3422 cf_term_header=term.h
3426 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
3428 AC_TRY_COMPILE([#include <stdio.h>
3429 #include <${cf_cv_ncurses_header:-curses.h}>
3431 ],[int x = auto_left_margin],[
3432 cf_cv_term_header="$cf_test"],[
3433 cf_cv_term_header=unknown
3435 test "$cf_cv_term_header" != unknown && break
3439 # Set definitions to allow ifdef'ing to accommodate subdirectories
3441 case $cf_cv_term_header in # (vi
3443 AC_DEFINE(HAVE_TERM_H)
3447 case $cf_cv_term_header in # (vi
3448 ncurses/term.h) #(vi
3449 AC_DEFINE(HAVE_NCURSES_TERM_H)
3452 AC_DEFINE(HAVE_NCURSESW_TERM_H)
3456 dnl ---------------------------------------------------------------------------
3457 dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
3459 dnl Define a top_builddir symbol, for applications that need an absolute path.
3460 AC_DEFUN([CF_TOP_BUILDDIR],
3463 AC_SUBST(top_builddir)
3465 dnl ---------------------------------------------------------------------------
3466 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
3467 dnl -------------------
3468 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
3469 dnl can define it successfully.
3470 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
3471 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
3475 #include <sys/types.h>
3477 #ifndef _XOPEN_SOURCE
3480 [cf_cv_xopen_source=no],
3481 [cf_save="$CPPFLAGS"
3482 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3486 #include <sys/types.h>
3488 #ifdef _XOPEN_SOURCE
3491 [cf_cv_xopen_source=no],
3492 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
3497 if test "$cf_cv_xopen_source" != no ; then
3498 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
3499 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
3500 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
3501 CF_ADD_CFLAGS($cf_temp_xopen_source)
3504 dnl ---------------------------------------------------------------------------
3505 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
3507 dnl Make an uppercase version of a variable
3508 dnl $1=uppercase($2)
3509 AC_DEFUN([CF_UPPER],
3511 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3513 dnl ---------------------------------------------------------------------------
3514 dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
3516 dnl Check for multibyte support, and if not found, utf8 compatibility library
3517 AC_DEFUN([CF_UTF8_LIB],
3519 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
3520 cf_save_LIBS="$LIBS"
3522 #include <stdlib.h>],[putwc(0,0);],
3523 [cf_cv_utf8_lib=yes],
3525 #include <libutf8.h>],[putwc(0,0);],utf8,
3526 [cf_cv_utf8_lib=add-on],
3527 [cf_cv_utf8_lib=no])
3530 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
3532 if test "$cf_cv_utf8_lib" = "add-on" ; then
3533 AC_DEFINE(HAVE_LIBUTF8_H)
3534 CF_ADD_INCDIR($cf_cv_header_path_utf8)
3535 CF_ADD_LIBDIR($cf_cv_library_path_utf8)
3536 CF_ADD_LIBS($cf_cv_library_file_utf8)
3539 dnl ---------------------------------------------------------------------------
3540 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
3542 dnl Use AC_VERBOSE w/o the warnings
3543 AC_DEFUN([CF_VERBOSE],
3544 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
3547 dnl ---------------------------------------------------------------------------
3548 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
3550 dnl Check for compiler-support for weak symbols.
3551 dnl This works with "recent" gcc.
3552 AC_DEFUN([CF_WEAK_SYMBOLS],[
3553 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
3556 #include <stdio.h>],
3558 #if defined(__GNUC__)
3559 # if defined __USE_ISOC99
3560 # define _cat_pragma(exp) _Pragma(#exp)
3561 # define _weak_pragma(exp) _cat_pragma(weak name)
3563 # define _weak_pragma(exp)
3565 # define _declare(name) __extension__ extern __typeof__(name) name
3566 # define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
3570 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
3573 dnl ---------------------------------------------------------------------------
3574 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
3575 dnl --------------------
3576 dnl Command-line option to specify the Ada95 compiler.
3577 AC_DEFUN([CF_WITH_ADA_COMPILER],[
3578 AC_MSG_CHECKING(for ada-compiler)
3579 AC_ARG_WITH(ada-compiler,
3580 [ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
3581 [cf_ada_compiler=$withval],
3582 [cf_ada_compiler=gnatmake])
3583 AC_SUBST(cf_ada_compiler)
3584 AC_MSG_RESULT($cf_ada_compiler)
3586 dnl ---------------------------------------------------------------------------
3587 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
3588 dnl -------------------
3589 dnl Command-line option to specify where Ada includes will install.
3590 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
3591 AC_MSG_CHECKING(for ada-include)
3592 CF_WITH_PATH(ada-include,
3593 [ --with-ada-include=DIR Ada includes are in DIR],
3595 PREFIX/share/ada/adainclude,
3596 [$]prefix/share/ada/adainclude)
3597 AC_SUBST(ADA_INCLUDE)
3598 AC_MSG_RESULT($ADA_INCLUDE)
3600 dnl ---------------------------------------------------------------------------
3601 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
3602 dnl -------------------
3603 dnl Command-line option to specify where Ada objects will install.
3604 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
3605 AC_MSG_CHECKING(for ada-objects)
3606 CF_WITH_PATH(ada-objects,
3607 [ --with-ada-objects=DIR Ada objects are in DIR],
3609 PREFIX/lib/ada/adalib,
3610 [$]prefix/lib/ada/adalib)
3611 AC_SUBST(ADA_OBJECTS)
3612 AC_MSG_RESULT($ADA_OBJECTS)
3614 dnl ---------------------------------------------------------------------------
3615 dnl CF_WITH_ADA_SHAREDLIB version: 2 updated: 2010/06/26 17:35:58
3616 dnl ---------------------
3617 dnl Command-line option to specify if an Ada95 shared-library should be built,
3618 dnl and optionally what its soname should be.
3619 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
3620 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
3621 AC_ARG_WITH(ada-sharedlib,
3622 [ --with-ada-sharedlib=XX build Ada95 shared-library],
3623 [with_ada_sharedlib=$withval],
3624 [with_ada_sharedlib=no])
3625 AC_MSG_RESULT($with_ada_sharedlib)
3627 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
3628 MAKE_ADA_SHAREDLIB="#"
3630 if test "x$with_ada_sharedlib" != xno
3633 if test "x$with_ada_sharedlib" != xyes
3635 ADA_SHAREDLIB="$with_ada_sharedlib"
3639 AC_SUBST(ADA_SHAREDLIB)
3640 AC_SUBST(MAKE_ADA_SHAREDLIB)
3642 dnl ---------------------------------------------------------------------------
3643 dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
3644 dnl ------------------
3645 dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
3647 AC_DEFUN([CF_WITH_CURSES_DIR],[
3649 AC_MSG_CHECKING(for specific curses-directory)
3650 AC_ARG_WITH(curses-dir,
3651 [ --with-curses-dir=DIR directory in which (n)curses is installed],
3652 [cf_cv_curses_dir=$withval],
3653 [cf_cv_curses_dir=no])
3654 AC_MSG_RESULT($cf_cv_curses_dir)
3656 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
3658 CF_PATH_SYNTAX(withval)
3659 if test -d "$cf_cv_curses_dir"
3661 CF_ADD_INCDIR($cf_cv_curses_dir/include)
3662 CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
3666 dnl ---------------------------------------------------------------------------
3667 dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
3668 dnl ------------------
3669 dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no
3670 dnl "lib" prefix, e.g., because it used the dll naming convention.
3672 dnl $1 = variable to set
3673 AC_DEFUN([CF_WITH_LIB_PREFIX],
3675 AC_MSG_CHECKING(if you want to have a library-prefix)
3676 AC_ARG_WITH(lib-prefix,
3677 [ --with-lib-prefix override library-prefix],
3678 [with_lib_prefix=$withval],
3679 [with_lib_prefix=auto])
3680 AC_MSG_RESULT($with_lib_prefix)
3682 if test $with_lib_prefix = auto
3685 elif test $with_lib_prefix = no
3689 LIB_PREFIX=$with_lib_prefix
3692 dnl ---------------------------------------------------------------------------
3693 dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18
3695 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
3696 dnl defaulting to yes/no.
3698 dnl $1 = option name
3700 dnl $3 = environment variable to set
3701 dnl $4 = default value, shown in the help-message, must be a constant
3702 dnl $5 = default value, if it's an expression & cannot be in the help-message
3704 AC_DEFUN([CF_WITH_PATH],
3705 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
3706 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
3707 if ifelse([$5],,true,[test -n "$5"]) ; then
3708 CF_PATH_SYNTAX(withval)
3713 dnl ---------------------------------------------------------------------------
3714 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
3715 dnl -------------------------
3716 dnl Allow the choice of the pkg-config library directory to be overridden.
3717 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
3718 if test "$PKG_CONFIG" != none ; then
3719 AC_MSG_CHECKING(for $PKG_CONFIG library directory)
3720 AC_ARG_WITH(pkg-config-libdir,
3721 [ --with-pkg-config-libdir=XXX use given directory for installing pc-files],
3722 [PKG_CONFIG_LIBDIR=$withval],
3723 [PKG_CONFIG_LIBDIR=yes])
3725 case x$PKG_CONFIG_LIBDIR in #(vi
3729 # look for the library directory using the same prefix as the executable
3730 cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
3731 case x`(arch) 2>/dev/null` in #(vi
3733 for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
3735 if test -d $cf_config/pkgconfig
3737 PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
3743 PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
3751 AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
3754 AC_SUBST(PKG_CONFIG_LIBDIR)
3756 dnl ---------------------------------------------------------------------------
3757 dnl CF_WITH_PTHREAD version: 5 updated: 2011/12/10 19:01:56
3759 dnl Check for POSIX thread library.
3760 AC_DEFUN([CF_WITH_PTHREAD],
3762 AC_MSG_CHECKING(if you want to link with the pthread library)
3763 AC_ARG_WITH(pthread,
3764 [ --with-pthread use POSIX thread library],
3765 [with_pthread=$withval],
3767 AC_MSG_RESULT($with_pthread)
3769 if test "$with_pthread" != no ; then
3770 AC_CHECK_HEADER(pthread.h,[
3771 AC_DEFINE(HAVE_PTHREADS_H)
3773 for cf_lib_pthread in pthread c_r
3775 AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
3776 cf_save_LIBS="$LIBS"
3777 CF_ADD_LIB($cf_lib_pthread)
3779 #include <pthread.h>
3781 int rc = pthread_create(0,0,0,0);
3782 int r2 = pthread_mutexattr_settype(0, 0);
3783 ],[with_pthread=yes],[with_pthread=no])
3784 LIBS="$cf_save_LIBS"
3785 AC_MSG_RESULT($with_pthread)
3786 test "$with_pthread" = yes && break
3789 if test "$with_pthread" = yes ; then
3790 CF_ADD_LIB($cf_lib_pthread)
3791 AC_DEFINE(HAVE_LIBPTHREADS)
3793 AC_MSG_ERROR(Cannot link with pthread library)
3798 dnl ---------------------------------------------------------------------------
3799 dnl CF_XOPEN_SOURCE version: 42 updated: 2012/01/07 08:26:49
3801 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
3802 dnl or adapt to the vendor's definitions to get equivalent functionality,
3803 dnl without losing the common non-POSIX features.
3806 dnl $1 is the nominal value for _XOPEN_SOURCE
3807 dnl $2 is the nominal value for _POSIX_C_SOURCE
3808 AC_DEFUN([CF_XOPEN_SOURCE],[
3810 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
3811 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
3814 case $host_os in #(vi
3816 cf_xopen_source="-D_ALL_SOURCE"
3821 darwin[[0-8]].*) #(vi
3822 cf_xopen_source="-D_APPLE_C_SOURCE"
3825 cf_xopen_source="-D_DARWIN_C_SOURCE"
3828 freebsd*|dragonfly*) #(vi
3829 # 5.x headers associate
3830 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
3831 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
3832 cf_POSIX_C_SOURCE=200112L
3834 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3837 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
3840 cf_xopen_source="-D_HPUX_SOURCE"
3843 cf_xopen_source="-D_SGI_SOURCE"
3846 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
3850 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
3852 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3855 cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
3857 openbsd[[4-9]]*) #(vi
3858 # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
3859 cf_xopen_source="-D_BSD_SOURCE"
3863 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
3866 cf_xopen_source="-D_OSF_SOURCE"
3869 cf_xopen_source="-D_QNX_SOURCE"
3872 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
3875 cf_xopen_source="-D__EXTENSIONS__"
3879 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3883 if test -n "$cf_xopen_source" ; then
3884 CF_ADD_CFLAGS($cf_xopen_source)
3887 dnl In anything but the default case, we may have system-specific setting
3888 dnl which is still not guaranteed to provide all of the entrypoints that
3889 dnl _XOPEN_SOURCE would yield.
3890 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
3891 AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
3892 AC_TRY_COMPILE([#include <stdlib.h>],[
3893 #ifndef _XOPEN_SOURCE
3896 [cf_XOPEN_SOURCE_set=yes],
3897 [cf_XOPEN_SOURCE_set=no])
3898 AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
3899 if test $cf_XOPEN_SOURCE_set = yes
3901 AC_TRY_COMPILE([#include <stdlib.h>],[
3902 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
3905 [cf_XOPEN_SOURCE_set_ok=yes],
3906 [cf_XOPEN_SOURCE_set_ok=no])
3907 if test $cf_XOPEN_SOURCE_set_ok = no
3909 AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)