~pragmatic-core/pragmatic/pragmatic2d-2.0

« back to all changes in this revision

Viewing changes to ax_check_define.m4

  • Committer: ggorman
  • Date: 2011-03-22 12:12:35 UTC
  • Revision ID: svn-v4:dbd7c75c-275a-40fc-989c-5fa58d705081:trunk:135
Improved portability - particularly with respect to the intel compiler suite and GCC < 4.4.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# ===========================================================================
 
2
#            http://autoconf-archive.cryp.to/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
#   This program is free software; you can redistribute it and/or modify it
 
22
#   under the terms of the GNU General Public License as published by the
 
23
#   Free Software Foundation; either version 2 of the License, or (at your
 
24
#   option) any later version.
 
25
#
 
26
#   This program is distributed in the hope that it will be useful, but
 
27
#   WITHOUT ANY WARRANTY; without even the implied warranty of
 
28
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 
29
#   Public License for more details.
 
30
#
 
31
#   You should have received a copy of the GNU General Public License along
 
32
#   with this program. If not, see <http://www.gnu.org/licenses/>.
 
33
#
 
34
#   As a special exception, the respective Autoconf Macro's copyright owner
 
35
#   gives unlimited permission to copy, distribute and modify the configure
 
36
#   scripts that are the output of Autoconf when processing the Macro. You
 
37
#   need not follow the terms of the GNU General Public License when using
 
38
#   or distributing such scripts, even though portions of the text of the
 
39
#   Macro appear in them. The GNU General Public License (GPL) does govern
 
40
#   all other use of the material that constitutes the Autoconf Macro.
 
41
#
 
42
#   This special exception to the GPL applies to versions of the Autoconf
 
43
#   Macro released by the Autoconf Archive. When you make and distribute a
 
44
#   modified version of the Autoconf Macro, you may extend this special
 
45
#   exception to the GPL to apply to your modified version as well.
 
46
 
 
47
AC_DEFUN([AC_CHECK_DEFINED],[
 
48
AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$1])dnl
 
49
AC_CACHE_CHECK([for $1 defined], ac_var,
 
50
AC_TRY_COMPILE(,[
 
51
  #ifdef $1
 
52
  int ok;
 
53
  #else
 
54
  choke me
 
55
  #endif
 
56
],AS_VAR_SET(ac_var, yes),AS_VAR_SET(ac_var, no)))
 
57
AS_IF([test AS_VAR_GET(ac_var) != "no"], [$2], [$3])dnl
 
58
AS_VAR_POPDEF([ac_var])dnl
 
59
])
 
60
 
 
61
AC_DEFUN([AX_CHECK_DEFINED],[
 
62
AS_VAR_PUSHDEF([ac_var],[ac_cv_defined_$2])dnl
 
63
AC_CACHE_CHECK([for $1 defined], ac_var,
 
64
AC_TRY_COMPILE($1,[
 
65
  #ifndef $2
 
66
  int ok;
 
67
  #else
 
68
  choke me
 
69
  #endif
 
70
],AS_VAR_SET(ac_var, yes),AS_VAR_SET(ac_var, no)))
 
71
AS_IF([test AS_VAR_GET(ac_var) != "no"], [$3], [$4])dnl
 
72
AS_VAR_POPDEF([ac_var])dnl
 
73
])
 
74
 
 
75
AC_DEFUN([AX_CHECK_FUNC],
 
76
[AS_VAR_PUSHDEF([ac_var], [ac_cv_func_$2])dnl
 
77
AC_CACHE_CHECK([for $2], ac_var,
 
78
dnl AC_LANG_FUNC_LINK_TRY
 
79
[AC_LINK_IFELSE([AC_LANG_PROGRAM([$1
 
80
                #undef $2
 
81
                char $2 ();],[
 
82
                char (*f) () = $2;
 
83
                return f != $2; ])],
 
84
                [AS_VAR_SET(ac_var, yes)],
 
85
                [AS_VAR_SET(ac_var, no)])])
 
86
AS_IF([test AS_VAR_GET(ac_var) = yes], [$3], [$4])dnl
 
87
AS_VAR_POPDEF([ac_var])dnl
 
88
])# AC_CHECK_FUNC