1# ===========================================================================
2#     https://www.gnu.org/software/autoconf-archive/ax_check_define.html
3# ===========================================================================
4#
5# SYNOPSIS
6#
7#   AC_CHECK_DEFINE([symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT])
8#   AX_CHECK_DEFINE([includes],[symbol], [ACTION-IF-FOUND], [ACTION-IF-NOT])
9#
10# DESCRIPTION
11#
12#   Complements AC_CHECK_FUNC but it does not check for a function but for a
13#   define to exist. Consider a usage like:
14#
15#    AC_CHECK_DEFINE(__STRICT_ANSI__, CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500")
16#
17# LICENSE
18#
19#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
20#
21#   Copying and distribution of this file, with or without modification, are
22#   permitted in any medium without royalty provided the copyright notice
23#   and this notice are preserved.  This file is offered as-is, without any
24#   warranty.
25
26#serial 11
27
28AU_ALIAS([AC_CHECK_DEFINED], [AC_CHECK_DEFINE])
29AC_DEFUN([AC_CHECK_DEFINE],[
30AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$1])dnl
31AC_CACHE_CHECK([for $1 defined], ac_var,
32AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
33  #ifdef $1
34  int ok;
35  (void)ok;
36  #else
37  choke me
38  #endif
39]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)]))
40AS_IF([test AS_VAR_GET(ac_var) != "no"], [$2], [$3])dnl
41AS_VAR_POPDEF([ac_var])dnl
42])
43
44AU_ALIAS([AX_CHECK_DEFINED], [AX_CHECK_DEFINE])
45AC_DEFUN([AX_CHECK_DEFINE],[
46AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$2_$1])dnl
47AC_CACHE_CHECK([for $2 defined in $1], ac_var,
48AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <$1>]], [[
49  #ifdef $2
50  int ok;
51  (void)ok;
52  #else
53  choke me
54  #endif
55]])],[AS_VAR_SET(ac_var, yes)],[AS_VAR_SET(ac_var, no)]))
56AS_IF([test AS_VAR_GET(ac_var) != "no"], [$3], [$4])dnl
57AS_VAR_POPDEF([ac_var])dnl
58])
59
60AC_DEFUN([AX_CHECK_FUNC],
61[AS_VAR_PUSHDEF([ac_var], [ac_cv_func_$2])dnl
62AC_CACHE_CHECK([for $2], ac_var,
63dnl AC_LANG_FUNC_LINK_TRY
64[AC_LINK_IFELSE([AC_LANG_PROGRAM([$1
65                #undef $2
66                char $2 ();],[
67                char (*f) () = $2;
68                return f != $2; ])],
69                [AS_VAR_SET(ac_var, yes)],
70                [AS_VAR_SET(ac_var, no)])])
71AS_IF([test AS_VAR_GET(ac_var) = yes], [$3], [$4])dnl
72AS_VAR_POPDEF([ac_var])dnl
73])# AC_CHECK_FUNC
74