1 dnl $Id: aclocal.m4,v 1.41 2016/12/02 13:03:06 tom Exp $
2 dnl Macros for byacc configure script (Thomas E. Dickey)
3 dnl ---------------------------------------------------------------------------
4 dnl Copyright 2004-2015,2016 Thomas E. Dickey
6 dnl Permission is hereby granted, free of charge, to any person obtaining a
7 dnl copy of this software and associated documentation files (the
8 dnl "Software"), to deal in the Software without restriction, including
9 dnl without limitation the rights to use, copy, modify, merge, publish,
10 dnl distribute, distribute with modifications, sublicense, and/or sell
11 dnl copies of the Software, and to permit persons to whom the Software is
12 dnl furnished to do so, subject to the following conditions:
14 dnl The above copyright notice and this permission notice shall be included
15 dnl in all copies or portions of the Software.
17 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
21 dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22 dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
23 dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 dnl Except as contained in this notice, the name(s) of the above copyright
26 dnl holders shall not be used in advertising or otherwise to promote the
27 dnl sale, use or other dealings in this Software without prior written
29 dnl ---------------------------------------------------------------------------
30 dnl ---------------------------------------------------------------------------
31 dnl CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49
32 dnl ------------------
33 dnl Conditionally generate script according to whether we're using a given autoconf.
35 dnl $1 = version to compare against
36 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
37 dnl $3 = code to use if AC_ACVERSION is older than $1.
38 define([CF_ACVERSION_CHECK],
40 ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl
41 ifdef([m4_version_compare],
42 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
43 [CF_ACVERSION_COMPARE(
44 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
45 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
46 dnl ---------------------------------------------------------------------------
47 dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
48 dnl --------------------
49 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
50 dnl MAJOR2, MINOR2, TERNARY2,
51 dnl PRINTABLE2, not FOUND, FOUND)
52 define([CF_ACVERSION_COMPARE],
53 [ifelse(builtin([eval], [$2 < $5]), 1,
54 [ifelse([$8], , ,[$8])],
55 [ifelse([$9], , ,[$9])])])dnl
56 dnl ---------------------------------------------------------------------------
57 dnl CF_ADD_CFLAGS version: 12 updated: 2015/04/12 15:39:00
59 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
60 dnl The second parameter if given makes this macro verbose.
62 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
63 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
64 dnl confused by the quotes (which require backslashes to keep them usable).
65 AC_DEFUN([CF_ADD_CFLAGS],
70 cf_new_extra_cppflags=
72 for cf_add_cflags in $1
74 case $cf_fix_cppflags in
76 case $cf_add_cflags in
77 (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
78 case $cf_add_cflags in
80 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
82 test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
83 && test -z "${cf_tst_cflags}" \
84 && cf_fix_cppflags=yes
86 if test $cf_fix_cppflags = yes ; then
87 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
89 elif test "${cf_tst_cflags}" = "\"'" ; then
90 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
99 case $cf_add_cflags in
101 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
102 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
105 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
110 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
115 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
117 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
119 test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
120 && test -z "${cf_tst_cflags}" \
121 && cf_fix_cppflags=no
126 if test -n "$cf_new_cflags" ; then
127 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
128 CFLAGS="$CFLAGS $cf_new_cflags"
131 if test -n "$cf_new_cppflags" ; then
132 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
133 CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
136 if test -n "$cf_new_extra_cppflags" ; then
137 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
138 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
141 AC_SUBST(EXTRA_CPPFLAGS)
144 dnl ---------------------------------------------------------------------------
145 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
147 dnl Allow user to disable a normally-on option.
148 AC_DEFUN([CF_ARG_DISABLE],
149 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
150 dnl ---------------------------------------------------------------------------
151 dnl CF_ARG_OPTION version: 5 updated: 2015/05/10 19:52:14
153 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
159 dnl $3 = action to perform if option is not default
160 dnl $4 = action if perform if option is default
161 dnl $5 = default option value (either 'yes' or 'no')
162 AC_DEFUN([CF_ARG_OPTION],
163 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
164 if test "$enableval" != "$5" ; then
166 ,[ $3]) ifelse([$4],,,[
169 fi],[enableval=$5 ifelse([$4],,,[
173 dnl ---------------------------------------------------------------------------
174 dnl CF_CC_ENV_FLAGS version: 6 updated: 2016/08/29 20:57:00
176 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
177 dnl into CC. This will not help with broken scripts that wrap the compiler
178 dnl with options, but eliminates a more common category of user confusion.
180 dnl In particular, it addresses the problem of being able to run the C
181 dnl preprocessor in a consistent manner.
183 dnl Caveat: this also disallows blanks in the pathname for the compiler, but
184 dnl the nuisance of having inconsistent settings for compiler and preprocessor
185 dnl outweighs that limitation.
186 AC_DEFUN([CF_CC_ENV_FLAGS],
188 # This should have been defined by AC_PROG_CC
191 AC_MSG_CHECKING(\$CC variable)
194 AC_MSG_RESULT(broken)
195 AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
197 cf_flags=`echo "$CC" | sed -e 's/^.*[[ ]]\(-[[^ ]]\)/\1/'`
198 CC=`echo "$CC " | sed -e 's/[[ ]]-[[^ ]].*$//' -e 's/[[ ]]*$//'`
199 for cf_arg in $cf_flags
203 CF_ADD_CFLAGS($cf_flags)
210 CF_VERBOSE(resulting CC: '$CC')
211 CF_VERBOSE(resulting CFLAGS: '$CFLAGS')
212 CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS')
219 dnl ---------------------------------------------------------------------------
220 dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
222 dnl Check if we're accidentally using a cache from a different machine.
223 dnl Derive the system name, as a check for reusing the autoconf cache.
225 dnl If we've packaged config.guess and config.sub, run that (since it does a
226 dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
227 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
228 dnl which is useful in cross-compiles.
230 dnl Note: we would use $ac_config_sub, but that is one of the places where
231 dnl autoconf 2.5x broke compatibility with autoconf 2.13
232 AC_DEFUN([CF_CHECK_CACHE],
234 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
235 ifelse([$1],,[AC_CANONICAL_HOST],[$1])
236 system_name="$host_os"
238 system_name="`(uname -s -r) 2>/dev/null`"
239 if test -z "$system_name" ; then
240 system_name="`(hostname) 2>/dev/null`"
243 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
244 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
246 test -z "$system_name" && system_name="$cf_cv_system_name"
247 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
249 if test ".$system_name" != ".$cf_cv_system_name" ; then
250 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
251 AC_MSG_ERROR("Please remove config.cache and try again.")
254 dnl ---------------------------------------------------------------------------
255 dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
256 dnl -----------------
257 dnl Check if the given compiler is really clang. clang's C driver defines
258 dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
259 dnl not ignore some gcc options.
261 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
262 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
263 dnl the wrappers for gcc and g++ warnings.
265 dnl $1 = GCC (default) or GXX
266 dnl $2 = CLANG_COMPILER (default)
267 dnl $3 = CFLAGS (default) or CXXFLAGS
268 AC_DEFUN([CF_CLANG_COMPILER],[
269 ifelse([$2],,CLANG_COMPILER,[$2])=no
271 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
272 AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
273 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
274 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
280 ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
281 cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
283 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
284 AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
287 dnl ---------------------------------------------------------------------------
288 dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57
290 dnl You can always use "make -n" to see the actual options, but it's hard to
291 dnl pick out/analyze warning messages when the compile-line is long.
294 dnl ECHO_LT - symbol to control if libtool is verbose
295 dnl ECHO_LD - symbol to prefix "cc -o" lines
296 dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
297 dnl SHOW_CC - symbol to put before explicit "cc -c" lines
298 dnl ECHO_CC - symbol to put before any "cc" line
300 AC_DEFUN([CF_DISABLE_ECHO],[
301 AC_MSG_CHECKING(if you want to see long compiling messages)
303 [ --disable-echo do not display "compiling" commands],
306 ECHO_LD='@echo linking [$]@;'
307 RULE_CC='@echo compiling [$]<'
308 SHOW_CC='@echo compiling [$]@'
317 AC_MSG_RESULT($enableval)
324 dnl ---------------------------------------------------------------------------
325 dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
327 dnl Combine no-leak checks with the libraries or tools that are used for the
329 AC_DEFUN([CF_DISABLE_LEAKS],[
331 AC_REQUIRE([CF_WITH_DMALLOC])
332 AC_REQUIRE([CF_WITH_DBMALLOC])
333 AC_REQUIRE([CF_WITH_VALGRIND])
335 AC_MSG_CHECKING(if you want to perform memory-leak testing)
337 [ --disable-leaks test: free permanent memory, analyze leaks],
338 [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
339 : ${with_no_leaks:=no})
340 AC_MSG_RESULT($with_no_leaks)
342 if test "$with_no_leaks" = yes ; then
343 AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
344 AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
347 dnl ---------------------------------------------------------------------------
348 dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00
349 dnl -----------------
350 dnl Test for availability of useful gcc __attribute__ directives to quiet
351 dnl compiler warnings. Though useful, not all are supported -- and contrary
352 dnl to documentation, unrecognized directives cause older compilers to barf.
353 AC_DEFUN([CF_GCC_ATTRIBUTES],
357 cat > conftest.i <<EOF
365 #define GCC_NORETURN /* nothing */
368 #define GCC_UNUSED /* nothing */
373 AC_CHECKING([for $CC __attribute__ directives])
374 cat > conftest.$ac_ext <<EOF
375 #line __oline__ "${as_me:-configure}"
376 #include "confdefs.h"
377 #include "conftest.h"
378 #include "conftest.i"
380 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
382 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
385 #define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
387 #define GCC_SCANFLIKE(fmt,var) /*nothing*/
389 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
390 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
391 extern void foo(void) GCC_NORETURN;
392 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
394 cf_printf_attribute=no
395 cf_scanf_attribute=no
396 for cf_attribute in scanf printf unused noreturn
398 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
399 cf_directive="__attribute__(($cf_attribute))"
400 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
402 case $cf_attribute in
404 cf_printf_attribute=yes
405 cat >conftest.h <<EOF
406 #define GCC_$cf_ATTRIBUTE 1
410 cf_scanf_attribute=yes
411 cat >conftest.h <<EOF
412 #define GCC_$cf_ATTRIBUTE 1
416 cat >conftest.h <<EOF
417 #define GCC_$cf_ATTRIBUTE $cf_directive
422 if AC_TRY_EVAL(ac_compile); then
423 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
424 cat conftest.h >>confdefs.h
425 case $cf_attribute in
427 AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
430 cf_value='/* nothing */'
431 if test "$cf_printf_attribute" != no ; then
432 cf_value='__attribute__((format(printf,fmt,var)))'
433 AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
435 AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
438 cf_value='/* nothing */'
439 if test "$cf_scanf_attribute" != no ; then
440 cf_value='__attribute__((format(scanf,fmt,var)))'
441 AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
443 AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
446 AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
452 fgrep define conftest.i >>confdefs.h
457 dnl ---------------------------------------------------------------------------
458 dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
460 dnl Find version of gcc
461 AC_DEFUN([CF_GCC_VERSION],[
462 AC_REQUIRE([AC_PROG_CC])
464 if test "$GCC" = yes ; then
465 AC_MSG_CHECKING(version of $CC)
466 GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
467 test -z "$GCC_VERSION" && GCC_VERSION=unknown
468 AC_MSG_RESULT($GCC_VERSION)
471 dnl ---------------------------------------------------------------------------
472 dnl CF_GCC_WARNINGS version: 32 updated: 2015/04/12 15:39:00
474 dnl Check if the compiler supports useful warning options. There's a few that
475 dnl we don't use, simply because they're too noisy:
477 dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
478 dnl -Wredundant-decls (system headers make this too noisy)
479 dnl -Wtraditional (combines too many unrelated messages, only a few useful)
480 dnl -Wwrite-strings (too noisy, but should review occasionally). This
481 dnl is enabled for ncurses using "--enable-const".
485 dnl $1 is an optional list of gcc warning flags that a particular
486 dnl application might want to use, e.g., "no-unused" for
489 dnl If $with_ext_const is "yes", add a check for -Wwrite-strings
491 AC_DEFUN([CF_GCC_WARNINGS],
493 AC_REQUIRE([CF_GCC_VERSION])
494 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
495 CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
497 cat > conftest.$ac_ext <<EOF
498 #line __oline__ "${as_me:-configure}"
499 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
502 if test "$INTEL_COMPILER" = yes
504 # The "-wdXXX" options suppress warnings:
505 # remark #1419: external declaration in primary source file
506 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
507 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
508 # remark #193: zero used for undefined preprocessing identifier
509 # remark #593: variable "curs_sb_left_arrow" was set but never used
510 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
511 # remark #869: parameter "tw" was never referenced
512 # remark #981: operands are evaluated in unspecified order
513 # warning #279: controlling expression is constant
515 AC_CHECKING([for $CC warning options])
516 cf_save_CFLAGS="$CFLAGS"
529 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
530 if AC_TRY_EVAL(ac_compile); then
531 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
532 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
535 CFLAGS="$cf_save_CFLAGS"
537 elif test "$GCC" = yes
539 AC_CHECKING([for $CC warning options])
540 cf_save_CFLAGS="$CFLAGS"
543 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
544 cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
545 test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
546 for cf_opt in W Wall \
550 Wdeclaration-after-statement \
553 Wmissing-declarations \
554 Wmissing-prototypes \
559 Wundef $cf_gcc_warnings $cf_warn_CONST $1
561 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
562 if AC_TRY_EVAL(ac_compile); then
563 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
566 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
571 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
578 CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
583 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
586 CFLAGS="$cf_save_CFLAGS"
590 AC_SUBST(EXTRA_CFLAGS)
592 dnl ---------------------------------------------------------------------------
593 dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37
595 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
596 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
597 dnl (or misfeature) of glibc2, which breaks portability of many applications,
598 dnl since it is interwoven with GNU extensions.
600 dnl Well, yes we could work around it...
601 AC_DEFUN([CF_GNU_SOURCE],
603 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
604 AC_TRY_COMPILE([#include <sys/types.h>],[
605 #ifndef _XOPEN_SOURCE
608 [cf_cv_gnu_source=no],
610 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
611 AC_TRY_COMPILE([#include <sys/types.h>],[
615 [cf_cv_gnu_source=no],
616 [cf_cv_gnu_source=yes])
621 if test "$cf_cv_gnu_source" = yes
623 AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[
624 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
625 AC_TRY_COMPILE([#include <sys/types.h>],[
626 #ifdef _DEFAULT_SOURCE
629 [cf_cv_default_source=no],
630 [cf_cv_default_source=yes])
632 test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
635 dnl ---------------------------------------------------------------------------
636 dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00
637 dnl -----------------
638 dnl Check if the given compiler is really the Intel compiler for Linux. It
639 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
640 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
642 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
643 dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from
644 dnl the wrappers for gcc and g++ warnings.
646 dnl $1 = GCC (default) or GXX
647 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
648 dnl $3 = CFLAGS (default) or CXXFLAGS
649 AC_DEFUN([CF_INTEL_COMPILER],[
650 AC_REQUIRE([AC_CANONICAL_HOST])
651 ifelse([$2],,INTEL_COMPILER,[$2])=no
653 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
656 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
657 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
658 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
660 #ifdef __INTEL_COMPILER
664 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
665 cf_save_CFLAGS="$cf_save_CFLAGS -we147"
667 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
668 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
673 dnl ---------------------------------------------------------------------------
674 dnl CF_MAKE_DOCS version: 4 updated: 2015/07/04 21:43:03
676 dnl $1 = name(s) to generate rules for
677 dnl $2 = suffix of corresponding manpages used as input.
679 dnl This works best if called at the end of configure.in, following CF_WITH_MAN2HTML
680 define([CF_MAKE_DOCS],[
681 test -z "$cf_make_docs" && cf_make_docs=0
684 test -f "$cf_output" || cf_output=Makefile
686 if test "$cf_make_docs" = 0
688 cat >>$cf_output <<CF_EOF
689 ################################################################################
691 .SUFFIXES : .html .$2 .man .ps .pdf .txt
693 ${NROFF_NOTE}.$2.txt :
694 ${NROFF_NOTE} [\$](SHELL) -c "tbl [\$]*.$2 | nroff -man | col -bx" >[\$]@
696 ${GROFF_NOTE}.ps.pdf :
697 ${GROFF_NOTE} ps2pdf [\$]*.ps
699 ${GROFF_NOTE}.$2.ps :
700 ${GROFF_NOTE} [\$](SHELL) -c "tbl [\$]*.$2 | groff -man" >[\$]@
702 ${GROFF_NOTE}.$2.txt :
703 ${GROFF_NOTE} GROFF_NO_SGR=stupid [\$](SHELL) -c "tbl [\$]*.$2 | nroff -Tascii -man | col -bx" >[\$]@
705 ${MAN2HTML_NOTE}.$2.html :
706 ${MAN2HTML_NOTE} ./${MAN2HTML_TEMP} [\$]* $2 man >[\$]@
714 cat >>$cf_output <<CF_EOF
715 ################################################################################
716 ${NROFF_NOTE}docs docs-$cf_name :: $cf_name.txt
717 ${MAN2HTML_NOTE}docs docs-$cf_name :: $cf_name.html
718 ${GROFF_NOTE}docs docs-$cf_name :: $cf_name.pdf
719 ${GROFF_NOTE}docs docs-$cf_name :: $cf_name.ps
720 ${GROFF_NOTE}docs docs-$cf_name :: $cf_name.txt
724 ${NROFF_NOTE} rm -f $cf_name.txt
725 ${MAN2HTML_NOTE} rm -f $cf_name.html
726 ${GROFF_NOTE} rm -f $cf_name.pdf
727 ${GROFF_NOTE} rm -f $cf_name.ps
728 ${GROFF_NOTE} rm -f $cf_name.txt
730 ${NROFF_NOTE}$cf_name.txt : $cf_name.$2
731 ${MAN2HTML_NOTE}$cf_name.html : $cf_name.$2
732 ${GROFF_NOTE}$cf_name.pdf : $cf_name.ps
733 ${GROFF_NOTE}$cf_name.ps : $cf_name.$2
734 ${GROFF_NOTE}$cf_name.txt : $cf_name.$2
738 dnl ---------------------------------------------------------------------------
739 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
741 dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
742 dnl a monocase filesystem.
743 AC_DEFUN([CF_MAKE_TAGS],[
744 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
746 AC_CHECK_PROGS(CTAGS, exctags ctags)
747 AC_CHECK_PROGS(ETAGS, exetags etags)
749 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
751 if test "$cf_cv_mixedcase" = yes ; then
752 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
757 if test "$MAKE_UPPER_TAGS" = yes ; then
763 if test "$MAKE_LOWER_TAGS" = yes ; then
772 AC_SUBST(MAKE_UPPER_TAGS)
773 AC_SUBST(MAKE_LOWER_TAGS)
775 dnl ---------------------------------------------------------------------------
776 dnl CF_MIXEDCASE_FILENAMES version: 7 updated: 2015/04/12 15:39:00
777 dnl ----------------------
778 dnl Check if the file-system supports mixed-case filenames. If we're able to
779 dnl create a lowercase name and see it as uppercase, it doesn't support that.
780 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
782 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
783 if test "$cross_compiling" = yes ; then
784 case $target_alias in
785 (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*)
793 rm -f conftest CONFTEST
795 if test -f CONFTEST ; then
800 rm -f conftest CONFTEST
803 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
805 dnl ---------------------------------------------------------------------------
806 dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
808 dnl Check for a working mkstemp. This creates two files, checks that they are
809 dnl successfully created and distinct (AmigaOS apparently fails on the last).
810 AC_DEFUN([CF_MKSTEMP],[
811 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
814 #include <sys/types.h>
818 #include <sys/stat.h>
821 char *tmpl = "conftestXXXXXX";
829 for (n = 0; n < 2; ++n) {
830 strcpy(name[n], tmpl);
831 if ((fd = mkstemp(name[n])) >= 0) {
832 if (!strcmp(name[n], tmpl)
833 || stat(name[n], &sb) != 0
834 || (sb.st_mode & S_IFMT) != S_IFREG
835 || (sb.st_mode & 077) != 0) {
842 && !strcmp(name[0], name[1]))
844 ${cf_cv_main_return:-return}(result);
846 ],[cf_cv_func_mkstemp=yes
847 ],[cf_cv_func_mkstemp=no
848 ],[cf_cv_func_mkstemp=maybe])
850 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
851 AC_CHECK_FUNC(mkstemp)
853 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
854 AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
857 dnl ---------------------------------------------------------------------------
858 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
860 dnl Write a debug message to config.log, along with the line number in the
861 dnl configure script.
862 AC_DEFUN([CF_MSG_LOG],[
863 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
865 dnl ---------------------------------------------------------------------------
866 dnl CF_NO_LEAKS_OPTION version: 6 updated: 2015/04/12 15:39:00
867 dnl ------------------
868 dnl see CF_WITH_NO_LEAKS
869 AC_DEFUN([CF_NO_LEAKS_OPTION],[
870 AC_MSG_CHECKING(if you want to use $1 for testing)
873 [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
877 : ${with_no_leaks:=yes}
880 AC_MSG_RESULT(${with_$1:-no})
882 case .$with_cflags in
894 dnl ---------------------------------------------------------------------------
895 dnl CF_PATH_SYNTAX version: 16 updated: 2015/04/18 08:56:57
897 dnl Check the argument to see that it looks like a pathname. Rewrite it if it
898 dnl begins with one of the prefix/exec_prefix variables, and then again if the
899 dnl result begins with 'NONE'. This is necessary to work around autoconf's
900 dnl delayed evaluation of those symbols.
901 AC_DEFUN([CF_PATH_SYNTAX],[
902 if test "x$prefix" != xNONE; then
903 cf_path_syntax="$prefix"
905 cf_path_syntax="$ac_default_prefix"
909 (.\[$]\(*\)*|.\'*\'*)
913 (.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX
915 (.\[$]{*prefix}*|.\[$]{*dir}*)
919 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
924 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
927 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
931 dnl ---------------------------------------------------------------------------
932 dnl CF_POSIX_C_SOURCE version: 9 updated: 2015/04/12 15:39:00
933 dnl -----------------
934 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
936 dnl POSIX.1-1990 _POSIX_SOURCE
937 dnl POSIX.1-1990 and _POSIX_SOURCE and
938 dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2
940 dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L
941 dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L
942 dnl X/Open 2000 _POSIX_C_SOURCE=200112L
945 dnl $1 is the nominal value for _POSIX_C_SOURCE
946 AC_DEFUN([CF_POSIX_C_SOURCE],
948 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
950 cf_save_CFLAGS="$CFLAGS"
951 cf_save_CPPFLAGS="$CPPFLAGS"
953 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
954 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
956 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
957 CF_MSG_LOG(if the symbol is already defined go no further)
958 AC_TRY_COMPILE([#include <sys/types.h>],[
959 #ifndef _POSIX_C_SOURCE
962 [cf_cv_posix_c_source=no],
963 [cf_want_posix_source=no
964 case .$cf_POSIX_C_SOURCE in
966 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
969 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
970 cf_want_posix_source=yes
973 cf_want_posix_source=yes
976 if test "$cf_want_posix_source" = yes ; then
977 AC_TRY_COMPILE([#include <sys/types.h>],[
981 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
983 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
984 CFLAGS="$cf_trim_CFLAGS"
985 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
986 CF_MSG_LOG(if the second compile does not leave our definition intact error)
987 AC_TRY_COMPILE([#include <sys/types.h>],[
988 #ifndef _POSIX_C_SOURCE
991 [cf_cv_posix_c_source=no])
992 CFLAGS="$cf_save_CFLAGS"
993 CPPFLAGS="$cf_save_CPPFLAGS"
997 if test "$cf_cv_posix_c_source" != no ; then
998 CFLAGS="$cf_trim_CFLAGS"
999 CPPFLAGS="$cf_trim_CPPFLAGS"
1000 CF_ADD_CFLAGS($cf_cv_posix_c_source)
1004 dnl ---------------------------------------------------------------------------
1005 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
1007 dnl Check for awk, ensure that the check found something.
1008 AC_DEFUN([CF_PROG_AWK],
1011 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
1013 dnl ---------------------------------------------------------------------------
1014 dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
1016 dnl standard check for CC, plus followup sanity checks
1017 dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
1018 AC_DEFUN([CF_PROG_CC],[
1019 ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
1021 CF_ACVERSION_CHECK(2.52,
1026 dnl ---------------------------------------------------------------------------
1027 dnl CF_PROG_GROFF version: 2 updated: 2015/07/04 11:16:27
1029 dnl Check if groff is available, for cases (such as html output) where nroff
1031 AC_DEFUN([CF_PROG_GROFF],[
1032 AC_PATH_PROG(GROFF_PATH,groff,no)
1033 AC_PATH_PROG(NROFF_PATH,nroff,no)
1034 if test "x$GROFF_PATH" = xno
1042 AC_SUBST(GROFF_NOTE)
1043 AC_SUBST(NROFF_NOTE)
1045 dnl ---------------------------------------------------------------------------
1046 dnl CF_PROG_LINT version: 3 updated: 2016/05/22 15:25:54
1048 AC_DEFUN([CF_PROG_LINT],
1050 AC_CHECK_PROGS(LINT, lint cppcheck splint)
1053 dnl ---------------------------------------------------------------------------
1054 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
1055 dnl ----------------
1056 dnl Remove all -U and -D options that refer to the given symbol from a list
1057 dnl of C compiler options. This works around the problem that not all
1058 dnl compilers process -U and -D options from left-to-right, so a -U option
1059 dnl cannot be used to cancel the effect of a preceding -D option.
1061 dnl $1 = target (which could be the same as the source variable)
1062 dnl $2 = source (including '$')
1063 dnl $3 = symbol to remove
1064 define([CF_REMOVE_DEFINE],
1067 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \
1068 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'`
1070 dnl ---------------------------------------------------------------------------
1071 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
1072 dnl -------------------
1073 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
1074 dnl can define it successfully.
1075 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
1076 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
1080 #include <sys/types.h>
1082 #ifndef _XOPEN_SOURCE
1085 [cf_cv_xopen_source=no],
1086 [cf_save="$CPPFLAGS"
1087 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
1091 #include <sys/types.h>
1093 #ifdef _XOPEN_SOURCE
1096 [cf_cv_xopen_source=no],
1097 [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
1102 if test "$cf_cv_xopen_source" != no ; then
1103 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
1104 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
1105 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
1106 CF_ADD_CFLAGS($cf_temp_xopen_source)
1109 dnl ---------------------------------------------------------------------------
1110 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
1112 dnl Make an uppercase version of a variable
1113 dnl $1=uppercase($2)
1114 AC_DEFUN([CF_UPPER],
1116 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
1118 dnl ---------------------------------------------------------------------------
1119 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
1121 dnl Use AC_VERBOSE w/o the warnings
1122 AC_DEFUN([CF_VERBOSE],
1123 [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
1126 dnl ---------------------------------------------------------------------------
1127 dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
1128 dnl ----------------
1129 dnl Configure-option for dbmalloc. The optional parameter is used to override
1130 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
1131 AC_DEFUN([CF_WITH_DBMALLOC],[
1132 CF_NO_LEAKS_OPTION(dbmalloc,
1133 [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
1136 if test "$with_dbmalloc" = yes ; then
1137 AC_CHECK_HEADER(dbmalloc.h,
1138 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
1141 dnl ---------------------------------------------------------------------------
1142 dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
1144 dnl Configure-option for dmalloc. The optional parameter is used to override
1145 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
1146 AC_DEFUN([CF_WITH_DMALLOC],[
1147 CF_NO_LEAKS_OPTION(dmalloc,
1148 [ --with-dmalloc test: use Gray Watson's dmalloc library],
1151 if test "$with_dmalloc" = yes ; then
1152 AC_CHECK_HEADER(dmalloc.h,
1153 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
1156 dnl ---------------------------------------------------------------------------
1157 dnl CF_WITH_MAN2HTML version: 5 updated: 2015/08/20 04:51:36
1158 dnl ----------------
1159 dnl Check for man2html and groff. Optionally prefer man2html over groff.
1160 dnl Generate a shell script which hides the differences between the two.
1162 dnl We name that "man2html.tmp".
1164 dnl The shell script can be removed later, e.g., using "make distclean".
1165 AC_DEFUN([CF_WITH_MAN2HTML],[
1166 AC_REQUIRE([CF_PROG_GROFF])
1168 AC_MSG_CHECKING(for program to convert manpage to html)
1169 AC_ARG_WITH(man2html,
1170 [ --with-man2html=XXX use XXX rather than groff],
1171 [cf_man2html=$withval],
1172 [cf_man2html=$GROFF_PATH])
1176 case $cf_man2html in
1178 AC_MSG_RESULT(man2html)
1179 AC_PATH_PROG(cf_man2html,man2html,no)
1183 cf_man2html=$GROFF_PATH
1184 AC_MSG_RESULT($cf_man2html)
1187 AC_MSG_RESULT($cf_man2html)
1191 MAN2HTML_TEMP="man2html.tmp"
1192 cat >$MAN2HTML_TEMP <<CF_EOF
1194 # Temporary script generated by CF_WITH_MAN2HTML
1195 # Convert inputs to html, sending result to standard output.
1198 # \${1} = rootname of file to convert
1199 # \${2} = suffix of file to convert, e.g., "1"
1200 # \${3} = macros to use, e.g., "man"
1215 if test "x$cf_with_groff" = xyes
1217 MAN2HTML_NOTE="$GROFF_NOTE"
1218 MAN2HTML_PATH="$GROFF_PATH"
1219 cat >>$MAN2HTML_TEMP <<CF_EOF
1220 $SHELL -c "tbl \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}"
1224 CF_PATH_SYNTAX(cf_man2html)
1225 MAN2HTML_PATH="$cf_man2html"
1226 AC_MSG_CHECKING(for $cf_man2html top/bottom margins)
1228 # for this example, expect 3 lines of content, the remainder is head/foot
1229 cat >conftest.in <<CF_EOF
1230 .TH HEAD1 HEAD2 HEAD3 HEAD4 HEAD5
1235 LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C nroff -man conftest.in >conftest.out
1237 cf_man2html_1st=`fgrep -n MARKER conftest.out |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`
1238 cf_man2html_top=`expr $cf_man2html_1st - 2`
1239 cf_man2html_bot=`wc -l conftest.out |sed -e 's/[[^0-9]]//g'`
1240 cf_man2html_bot=`expr $cf_man2html_bot - 2 - $cf_man2html_top`
1241 cf_man2html_top_bot="-topm=$cf_man2html_top -botm=$cf_man2html_bot"
1243 AC_MSG_RESULT($cf_man2html_top_bot)
1245 AC_MSG_CHECKING(for pagesize to use)
1246 for cf_block in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1248 cat >>conftest.in <<CF_EOF
1263 LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C nroff -man conftest.in >conftest.out
1264 cf_man2html_page=`fgrep -n HEAD1 conftest.out |tail -n 1 |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`
1265 test -z "$cf_man2html_page" && cf_man2html_page=99999
1266 test "$cf_man2html_page" -gt 100 && cf_man2html_page=99999
1269 AC_MSG_RESULT($cf_man2html_page)
1271 cat >>$MAN2HTML_TEMP <<CF_EOF
1272 : \${MAN2HTML_PATH=$MAN2HTML_PATH}
1273 MAN2HTML_OPTS="\$MAN2HTML_OPTS -index -title="\$ROOT\(\$TYPE\)" -compress -pgsize $cf_man2html_page"
1276 tbl \${ROOT}.\${TYPE} | nroff -\${MACS} | \$MAN2HTML_PATH -topm=0 -botm=0 \$MAN2HTML_OPTS
1279 tbl \${ROOT}.\${TYPE} | nroff -\${MACS} | \$MAN2HTML_PATH $cf_man2html_top_bot \$MAN2HTML_OPTS
1285 chmod 700 $MAN2HTML_TEMP
1287 AC_SUBST(MAN2HTML_NOTE)
1288 AC_SUBST(MAN2HTML_PATH)
1289 AC_SUBST(MAN2HTML_TEMP)
1291 dnl ---------------------------------------------------------------------------
1292 dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
1293 dnl ----------------
1294 AC_DEFUN([CF_WITH_VALGRIND],[
1295 CF_NO_LEAKS_OPTION(valgrind,
1296 [ --with-valgrind test: use valgrind],
1299 dnl ---------------------------------------------------------------------------
1300 dnl CF_WITH_WARNINGS version: 5 updated: 2004/07/23 14:40:34
1301 dnl ----------------
1302 dnl Combine the checks for gcc features into a configure-script option
1305 dnl $1 - see CF_GCC_WARNINGS
1306 AC_DEFUN([CF_WITH_WARNINGS],
1308 if ( test "$GCC" = yes || test "$GXX" = yes )
1310 AC_MSG_CHECKING(if you want to check for gcc warnings)
1311 AC_ARG_WITH(warnings,
1312 [ --with-warnings test: turn on gcc warnings],
1313 [cf_opt_with_warnings=$withval],
1314 [cf_opt_with_warnings=no])
1315 AC_MSG_RESULT($cf_opt_with_warnings)
1316 if test "$cf_opt_with_warnings" != no ; then
1318 CF_GCC_WARNINGS([$1])
1322 dnl ---------------------------------------------------------------------------
1323 dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42
1325 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
1326 dnl or adapt to the vendor's definitions to get equivalent functionality,
1327 dnl without losing the common non-POSIX features.
1330 dnl $1 is the nominal value for _XOPEN_SOURCE
1331 dnl $2 is the nominal value for _POSIX_C_SOURCE
1332 AC_DEFUN([CF_XOPEN_SOURCE],[
1333 AC_REQUIRE([AC_CANONICAL_HOST])
1335 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
1336 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
1341 cf_xopen_source="-D_ALL_SOURCE"
1347 cf_xopen_source="-D_APPLE_C_SOURCE"
1350 cf_xopen_source="-D_DARWIN_C_SOURCE"
1353 (freebsd*|dragonfly*)
1354 # 5.x headers associate
1355 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
1356 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
1357 cf_POSIX_C_SOURCE=200112L
1359 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
1362 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
1365 cf_xopen_source="-D_HPUX_SOURCE"
1368 cf_xopen_source="-D_SGI_SOURCE"
1371 (linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin)
1375 cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
1378 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
1380 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
1383 cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
1386 # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
1387 cf_xopen_source="-D_BSD_SOURCE"
1391 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
1394 cf_xopen_source="-D_OSF_SOURCE"
1397 cf_xopen_source="-D_QNX_SOURCE"
1400 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
1403 cf_xopen_source="-D__EXTENSIONS__"
1404 cf_cv_xopen_source=broken
1406 (sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
1412 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
1416 if test -n "$cf_xopen_source" ; then
1417 CF_ADD_CFLAGS($cf_xopen_source,true)
1420 dnl In anything but the default case, we may have system-specific setting
1421 dnl which is still not guaranteed to provide all of the entrypoints that
1422 dnl _XOPEN_SOURCE would yield.
1423 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
1424 AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
1425 AC_TRY_COMPILE([#include <stdlib.h>],[
1426 #ifndef _XOPEN_SOURCE
1429 [cf_XOPEN_SOURCE_set=yes],
1430 [cf_XOPEN_SOURCE_set=no])
1431 AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
1432 if test $cf_XOPEN_SOURCE_set = yes
1434 AC_TRY_COMPILE([#include <stdlib.h>],[
1435 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
1438 [cf_XOPEN_SOURCE_set_ok=yes],
1439 [cf_XOPEN_SOURCE_set_ok=no])
1440 if test $cf_XOPEN_SOURCE_set_ok = no
1442 AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)