~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to m4/onceonly.m4

  • Committer: Monty Taylor
  • Date: 2009-01-29 19:04:39 UTC
  • mto: (779.3.29 devel)
  • mto: This revision was merged to the branch mainline in revision 823.
  • Revision ID: mordred@inaugust.com-20090129190439-vfr95s6gaudjacm7
Add timegm which is missing on Solaris.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# onceonly.m4 serial 5
 
2
dnl Copyright (C) 2002-2003, 2005-2006, 2008 Free Software Foundation, Inc.
 
3
dnl This file is free software, distributed under the terms of the GNU
 
4
dnl General Public License.  As a special exception to the GNU General
 
5
dnl Public License, this file may be distributed as part of a program
 
6
dnl that contains a configuration script generated by Autoconf, under
 
7
dnl the same distribution terms as the rest of that program.
 
8
 
 
9
dnl This file defines some "once only" variants of standard autoconf macros.
 
10
dnl   AC_CHECK_HEADERS_ONCE          like  AC_CHECK_HEADERS
 
11
dnl   AC_CHECK_FUNCS_ONCE            like  AC_CHECK_FUNCS
 
12
dnl   AC_CHECK_DECLS_ONCE            like  AC_CHECK_DECLS
 
13
dnl   AC_REQUIRE([AC_FUNC_STRCOLL])  like  AC_FUNC_STRCOLL
 
14
dnl The advantage is that the check for each of the headers/functions/decls
 
15
dnl will be put only once into the 'configure' file. It keeps the size of
 
16
dnl the 'configure' file down, and avoids redundant output when 'configure'
 
17
dnl is run.
 
18
dnl The drawback is that the checks cannot be conditionalized. If you write
 
19
dnl   if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
 
20
dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
 
21
dnl empty, and the check will be inserted before the body of the AC_DEFUNed
 
22
dnl function.
 
23
 
 
24
dnl This is like onceonly.m4, except that it uses diversions to named sections
 
25
dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once,
 
26
dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The
 
27
dnl size reduction is ca. 9%.
 
28
 
 
29
dnl Autoconf version 2.59 plus gnulib is required; this file is not needed
 
30
dnl with Autoconf 2.60 or greater.
 
31
AC_PREREQ([2.59])
 
32
 
 
33
# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
 
34
# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
 
35
AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
 
36
  :
 
37
  m4_foreach_w([gl_HEADER_NAME], [$1], [
 
38
    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
 
39
                                                 [./-], [___])), [
 
40
      m4_divert_text([INIT_PREPARE],
 
41
        [gl_header_list="$gl_header_list gl_HEADER_NAME"])
 
42
      gl_HEADERS_EXPANSION
 
43
      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])),
 
44
        [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.])
 
45
    ])
 
46
    AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
 
47
                                                   [./-], [___])))
 
48
  ])
 
49
])
 
50
m4_define([gl_HEADERS_EXPANSION], [
 
51
  m4_divert_text([DEFAULTS], [gl_header_list=])
 
52
  AC_CHECK_HEADERS([$gl_header_list])
 
53
  m4_define([gl_HEADERS_EXPANSION], [])
 
54
])
 
55
 
 
56
# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
 
57
# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
 
58
AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
 
59
  :
 
60
  m4_foreach_w([gl_FUNC_NAME], [$1], [
 
61
    AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
 
62
      m4_divert_text([INIT_PREPARE],
 
63
        [gl_func_list="$gl_func_list gl_FUNC_NAME"])
 
64
      gl_FUNCS_EXPANSION
 
65
      AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])),
 
66
        [Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.])
 
67
    ])
 
68
    AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
 
69
  ])
 
70
])
 
71
m4_define([gl_FUNCS_EXPANSION], [
 
72
  m4_divert_text([DEFAULTS], [gl_func_list=])
 
73
  AC_CHECK_FUNCS([$gl_func_list])
 
74
  m4_define([gl_FUNCS_EXPANSION], [])
 
75
])
 
76
 
 
77
# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
 
78
# AC_CHECK_DECLS(DECL1, DECL2, ...).
 
79
AC_DEFUN([AC_CHECK_DECLS_ONCE], [
 
80
  :
 
81
  m4_foreach_w([gl_DECL_NAME], [$1], [
 
82
    AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [
 
83
      AC_CHECK_DECLS(m4_defn([gl_DECL_NAME]))
 
84
    ])
 
85
    AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]))
 
86
  ])
 
87
])