File: macros.txt

package info (click to toggle)
nut 2.8.4%2Breally-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,720 kB
  • sloc: ansic: 132,030; sh: 17,256; cpp: 12,566; makefile: 5,646; python: 1,114; perl: 856; xml: 47
file content (77 lines) | stat: -rw-r--r-- 2,657 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
NUT-specific autoconf macros
----------------------------

The following NUT-specific autoconf macros are defined in the `m4/`
directory.

*NUT_TYPE_SOCKLEN_T*::
*NUT_TYPE_UINT8_T*::
*NUT_TYPE_UINT16_T*::

	Check for the corresponding type in the system header files, and
	`#define` a replacement if necessary.

*NUT_CHECK_LIBGD*::
*NUT_CHECK_LIBNEON*::
*NUT_CHECK_LIBNETSNMP*::
*NUT_CHECK_LIBPOWERMAN*::
*NUT_CHECK_LIBOPENSSL*::
*NUT_CHECK_LIBNSS*::
*NUT_CHECK_LIBUSB*::
*NUT_CHECK_LIBWRAP*::
*et al*::

	Determine the compiler flags for the corresponding library. On
	success, set `nut_have_libxxx="yes"` and set `LIBXXX_CFLAGS` and
	`LIBXXX_LDFLAGS`. On failure, set `nut_have_libxxx="no"`. This macro
	can be run multiple times, but will do the checking only once.
	Here "xxx" should of course be replaced by the respective library name.
+
The checks for each library grow organically to compensate for
	various bugs in the libraries, pkg-config, etc. This is why we have
	a separate macro for each library.

*NUT_CHECK_IPV6*::

	Check for various features required to compile the IPv6 support.
	Define a preprocessor symbol for each individual feature
	(`HAVE_GETADDRINFO`, `HAVE_FREEADDRINFO`, `HAVE_STRUCT_ADDRINFO`,
	`HAVE_SOCKADDR_STORAGE`, `SOCKADDR_IN6`, `IN6_ADDR`,
	`HAVE_IN6_IS_ADDR_V4MAPPED`, `HAVE_AI_ADDRCONFIG`).
+
Also set the shell variable `nut_have_ipv6=yes`	if all the required
	features are present. Set `nut_have_ipv6=no` otherwise.

*NUT_CHECK_OS*::

	Check for the exact system name and type.
	This was only used in the past to determine the packaging rule to be
	used through the `OS_NAME` variable, but may be useful for other purposes
	in the future.

*NUT_REPORT_FEATURE(FEATURE, VALUE, VARIABLE, DESCRIPTION)*::

	Schedule a line for the end-of-configuration feature summary.  The
	'FEATURE' is a descriptive string such that the sentence "Checking
	whether to FEATURE" makes sense, and 'VALUE' describes the decision
	taken (typically 'yes' or 'no'). The feature is also reported to the
	terminal.
+
Also use 'VARIABLE' and 'DESCRIPTION' for defining `AM_CONDITIONAL` and
	`AC_DEFINE` (only if `VALUE = "yes"`).
    The 'VARIABLE' is of the form `WITH_<NAME>`.

*NUT_REPORT(FEATURE, VALUE)*::

	Schedule a line for the end-of-configuration feature summary, without
	printing anything to the terminal immediately.

*NUT_PRINT_FEATURE_REPORT*::

	Print out a list of the features that have been reported by
	previous `NUT_REPORT_FEATURE` macro calls.

*NUT_ARG_WITH(FEATURE, DESCRIPTION, DEFAULT)*::

	Declare a simple `--with-FEATURE` option with the given 'DESCRIPTION'
	and 'DEFAULT'. Sets the variable `nut_with_FEATURE`.