* Update Sendmail to version 8.12.10
[dragonfly.git] / contrib / sendmail / include / sm / config.h
1 /*
2  * Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
3  *      All rights reserved.
4  *
5  * By using this file, you agree to the terms and conditions set
6  * forth in the LICENSE file which can be found at the top level of
7  * the sendmail distribution.
8  *
9  *      $Id: config.h,v 1.44 2002/01/23 17:47:15 gshapiro Exp $
10  */
11
12 /*
13 **  libsm configuration macros.
14 **  The values of these macros are platform dependent.
15 **  The default values are given here.
16 **  If the default is incorrect, then the correct value can be specified
17 **  in the m4 configuration file in devtools/OS.
18 */
19
20 #ifndef SM_CONFIG_H
21 # define SM_CONFIG_H
22
23 #  include "sm_os.h"
24
25 /*
26 **  SM_CONF_STDBOOL_H is 1 if <stdbool.h> exists
27 */
28
29 # ifndef SM_CONF_STDBOOL_H
30 #  if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
31 #   define SM_CONF_STDBOOL_H            1
32 #  else /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
33 #   define SM_CONF_STDBOOL_H            0
34 #  endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
35 # endif /* ! SM_CONF_STDBOOL_H */
36
37 /*
38 **  Configuration macros that specify how __P is defined.
39 */
40
41 # ifndef SM_CONF_SYS_CDEFS_H
42 #  define SM_CONF_SYS_CDEFS_H           0
43 # endif /* ! SM_CONF_SYS_CDEFS_H */
44
45 /*
46 **  SM_CONF_STDDEF_H is 1 if <stddef.h> exists
47 */
48
49 # ifndef SM_CONF_STDDEF_H
50 #  define SM_CONF_STDDEF_H              1
51 # endif /* ! SM_CONF_STDDEF_H */
52
53 /*
54 **  Configuration macro that specifies whether strlcpy/strlcat are available.
55 **  Note: this is the default so that the libsm version (optimized) will
56 **  be used by default (sm_strlcpy/sm_strlcat).
57 */
58
59 # ifndef SM_CONF_STRL
60 #  define SM_CONF_STRL                  0
61 # endif /* ! SM_CONF_STRL */
62
63 /*
64 **  Configuration macro indicating that setitimer is available
65 */
66
67 # ifndef SM_CONF_SETITIMER
68 #  define SM_CONF_SETITIMER             1
69 # endif /* ! SM_CONF_SETITIMER */
70
71 /*
72 **  Does <sys/types.h> define uid_t and gid_t?
73 */
74
75 # ifndef SM_CONF_UID_GID
76 #  define SM_CONF_UID_GID               1
77 # endif /* ! SM_CONF_UID_GID */
78
79 /*
80 **  Does <sys/types.h> define ssize_t?
81 */
82 # ifndef SM_CONF_SSIZE_T
83 #  define SM_CONF_SSIZE_T               1
84 # endif /* ! SM_CONF_SSIZE_T */
85
86 /*
87 **  Does the C compiler support long long?
88 */
89
90 # ifndef SM_CONF_LONGLONG
91 #  if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
92 #   define SM_CONF_LONGLONG             1
93 #  else /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
94 #   if defined(__GNUC__)
95 #    define SM_CONF_LONGLONG            1
96 #   else /* defined(__GNUC__) */
97 #    define SM_CONF_LONGLONG            0
98 #   endif /* defined(__GNUC__) */
99 #  endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */
100 # endif /* ! SM_CONF_LONGLONG */
101
102 /*
103 **  Does <sys/types.h> define quad_t and u_quad_t?
104 **  We only care if long long is not available.
105 */
106
107 # ifndef SM_CONF_QUAD_T
108 #  define SM_CONF_QUAD_T                0
109 # endif /* ! SM_CONF_QUAD_T */
110
111 /*
112 **  Configuration macro indicating that shared memory is available
113 */
114
115 # ifndef SM_CONF_SHM
116 #  define SM_CONF_SHM           0
117 # endif /* ! SM_CONF_SHM */
118
119 /*
120 **  Does <setjmp.h> define sigsetjmp?
121 */
122
123 # ifndef SM_CONF_SIGSETJMP
124 #  define SM_CONF_SIGSETJMP     1
125 # endif /* ! SM_CONF_SIGSETJMP */
126
127 /*
128 **  Does <sysexits.h> exist, and define the EX_* macros with values
129 **  that differ from the default BSD values in <sm/sysexits.h>?
130 */
131
132 # ifndef SM_CONF_SYSEXITS_H
133 #  define SM_CONF_SYSEXITS_H    0
134 # endif /* ! SM_CONF_SYSEXITS_H */
135
136 /* has memchr() prototype? (if not: needs memory.h) */
137 # ifndef SM_CONF_MEMCHR
138 #  define SM_CONF_MEMCHR        1
139 # endif /* ! SM_CONF_MEMCHR */
140
141 /* try LLONG tests in libsm/t-types.c? */
142 # ifndef SM_CONF_TEST_LLONG
143 #  define SM_CONF_TEST_LLONG    1
144 # endif /* !SM_CONF_TEST_LLONG */
145
146 /* Does LDAP library have ldap_memfree()? */
147 # ifndef SM_CONF_LDAP_MEMFREE
148
149 /*
150 **  The new LDAP C API (draft-ietf-ldapext-ldap-c-api-04.txt) includes
151 **  ldap_memfree() in the API.  That draft states to use LDAP_API_VERSION
152 **  of 2004 to identify the API.
153 */
154
155 #  if USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004
156 #   define SM_CONF_LDAP_MEMFREE 1
157 #  else /* USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004 */
158 #   define SM_CONF_LDAP_MEMFREE 0
159 #  endif /* USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004 */
160 # endif /* ! SM_CONF_LDAP_MEMFREE */
161
162 #endif /* ! SM_CONFIG_H */