OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [gnulib/] [m4/] [onceonly.m4] - Blame information for rev 330

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.