chiark / gitweb /
addrfam: Make SIN, SIN6 more regular
[adns.git] / aclocal.m4
1 # aclocal.m4 - package-specific macros for autoconf
2 #  
3 #  This file is part of adns, which is
4 #    Copyright (C) 1997-2000,2003,2006  Ian Jackson
5 #    Copyright (C) 1999-2000,2003,2006  Tony Finch
6 #    Copyright (C) 1991 Massachusetts Institute of Technology
7 #  (See the file INSTALL for full details.)
8 #
9 #  This program is free software; you can redistribute it and/or modify
10 #  it under the terms of the GNU General Public License as published by
11 #  the Free Software Foundation; either version 2, or (at your option)
12 #  any later version.
13 #  
14 #  This program is distributed in the hope that it will be useful,
15 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 #  GNU General Public License for more details.
18 #  
19 #  You should have received a copy of the GNU General Public License
20 #  along with this program; if not, write to the Free Software Foundation,
21 #  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
22
23 dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
24 define(DPKG_CACHED_TRY_COMPILE,[
25  AC_MSG_CHECKING($1)
26  AC_CACHE_VAL($2,[
27   AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
28  ])
29  if test "x$$2" = xyes; then
30   true
31   $5
32  else
33   true
34   $6
35  fi
36 ])
37
38 define(ADNS_C_GCCATTRIB,[
39  DPKG_CACHED_TRY_COMPILE(__attribute__((,,)),adns_cv_c_attribute_supported,,
40   [extern int testfunction(int x) __attribute__((,,))],
41   AC_MSG_RESULT(yes)
42   AC_DEFINE(HAVE_GNUC25_ATTRIB)
43    DPKG_CACHED_TRY_COMPILE(__attribute__((noreturn)),adns_cv_c_attribute_noreturn,,
44     [extern int testfunction(int x) __attribute__((noreturn))],
45     AC_MSG_RESULT(yes)
46     AC_DEFINE(HAVE_GNUC25_NORETURN),
47     AC_MSG_RESULT(no))
48    DPKG_CACHED_TRY_COMPILE(__attribute__((const)),adns_cv_c_attribute_const,,
49     [extern int testfunction(int x) __attribute__((const))],
50     AC_MSG_RESULT(yes)
51     AC_DEFINE(HAVE_GNUC25_CONST),
52     AC_MSG_RESULT(no))
53    DPKG_CACHED_TRY_COMPILE(__attribute__((format...)),adns_cv_attribute_format,,
54     [extern int testfunction(char *y, ...) __attribute__((format(printf,1,2)))],
55     AC_MSG_RESULT(yes)
56     AC_DEFINE(HAVE_GNUC25_PRINTFFORMAT),
57     AC_MSG_RESULT(no)),
58   AC_MSG_RESULT(no))
59 ])
60
61 define(ADNS_C_GETFUNC,[
62  AC_CHECK_FUNC([$1],,[
63   AC_CHECK_LIB([$2],[$1],[$3],[
64     AC_MSG_ERROR([cannot find library function $1])
65   ])
66  ])
67 ])