source: trunk/third/cyrus-imapd/acconfig.h @ 17980

Revision 17980, 6.1 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17979, which included commits to RCS files with non-trunk default branches.
Line 
1/* $Id: acconfig.h,v 1.1.1.1 2002-10-13 18:02:52 ghudson Exp $ */
2/*
3 * Copyright (c) 2000 Carnegie Mellon University.  All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 *    notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in
14 *    the documentation and/or other materials provided with the
15 *    distribution.
16 *
17 * 3. The name "Carnegie Mellon University" must not be used to
18 *    endorse or promote products derived from this software without
19 *    prior written permission. For permission or any other legal
20 *    details, please contact 
21 *      Office of Technology Transfer
22 *      Carnegie Mellon University
23 *      5000 Forbes Avenue
24 *      Pittsburgh, PA  15213-3890
25 *      (412) 268-4387, fax: (412) 268-7395
26 *      tech-transfer@andrew.cmu.edu
27 *
28 * 4. Redistributions of any form whatsoever must retain the following
29 *    acknowledgment:
30 *    "This product includes software developed by Computing Services
31 *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
32 *
33 * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
34 * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
35 * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
36 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
37 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
38 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
39 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#ifndef _CYRUS_IMAPD_CONFIG_H_
43#define _CYRUS_IMAPD_CONFIG_H_
44
45@TOP@
46
47/* where are we going to be installed? */
48#define CYRUS_PATH "/usr/cyrus"
49
50/* what user are we going to run as? */
51#define CYRUS_USER "cyrus"
52
53/* do we have strerror()? */
54#undef HAS_STRERROR
55
56/* do we have kerberos? */
57#undef HAVE_KRB
58
59/* do we have gssapi.h? */
60#undef HAVE_GSSAPI_H
61
62/* And what sort of GSS_C_NT_HOSTBASED_SERVICE do we use? */
63#undef HAVE_GSS_C_NT_HOSTBASED_SERVICE
64
65/* do we already have sys_errlist? */
66#undef NEED_SYS_ERRLIST
67
68/* how should we setproctitle? */
69#undef SPT_TYPE
70
71/* do we have the AFS symbol pr_End? */
72#undef HAVE_PR_END
73
74/* do we have an acceptable regex library? */
75#undef ENABLE_REGEX
76
77/* do we support LISTEXT? */
78#undef ENABLE_LISTEXT
79
80/* do we support ANNOTATEMORE? */
81#undef ENABLE_ANNOTATEMORE
82
83/* do we support XNETSCAPE */
84#undef ENABLE_X_NETSCAPE_HACK
85
86/* define if your compile has __attribute__ */
87#undef HAVE___ATTRIBUTE__
88
89/* are we using the old sieve service name (imap) */
90#undef OLD_SIEVE_SERVICE_NAME
91
92/* we better have berkeley db 3.x */
93#undef HAVE_LIBDB
94
95/* the AFS RX (RPC) package */
96#undef HAVE_RX
97
98/* the TCP control package */
99#undef HAVE_LIBWRAP
100
101/* do we have SASL support for APOP? */
102#undef HAVE_APOP
103
104/* do we have OpenSSL? */
105#undef HAVE_SSL
106
107/* alternative to /dev/urandom? */
108#undef EGD_SOCKET
109
110/* do we have zephyr? */
111#undef HAVE_ZEPHYR
112
113/* where should we put state information? */
114#undef STATEDIR
115
116/* is Sieve enabled? */
117#undef USE_SIEVE
118
119/* use full directory hashing? */
120#undef USE_DIR_FULL
121
122/* do we have the UCD SNMP libraries? */
123#undef HAVE_UCDSNMP
124
125/* _POSIX_PTHREAD_SEMANTICS needed? */
126#undef _POSIX_PTHREAD_SEMANTICS
127
128/* _REENTRANT needed? */
129#undef _REENTRANT
130
131/* _SGI_REENTRANT_FUNCTIONS needed? */
132#undef _SGI_REENTRANT_FUNCTIONS
133
134/* This seems to be required to make Solaris happy. */
135#undef __EXTENSIONS__
136
137/* do we have socklen_t? */
138#undef HAVE_SOCKLEN_T
139
140/* do we have rlim_t? */
141#undef HAVE_RLIM_T
142
143/* do we have fdatasync */
144#undef HAVE_FDATASYNC
145
146/* Database Backends that are configurable */
147#undef CONFIG_DB_DUPLICATE
148#undef CONFIG_DB_MBOX
149#undef CONFIG_DB_SEEN
150#undef CONFIG_DB_SUBS
151#undef CONFIG_DB_TLS
152
153@BOTTOM@
154
155/* This allows us to work even when we don't have an fdatasync */
156#ifndef HAVE_FDATASYNC
157#define fdatasync(fd) fsync(fd)
158#endif
159
160/* A similar setup for not having O_DSYNC */
161#include <fcntl.h>
162
163#ifndef O_DSYNC
164#  ifdef O_SYNC
165#    define O_DSYNC     O_SYNC          /* POSIX */
166#  else
167#    define O_DSYNC     O_FSYNC         /* BSD */
168#  endif
169#endif
170
171/* where are our binaries? */
172#define SERVICE_PATH (CYRUS_PATH "/bin")
173
174#ifndef HAVE___ATTRIBUTE__
175/* Can't use attributes... */
176#define __attribute__(foo)
177#endif
178
179#ifndef HAVE_SOCKLEN_T
180typedef int socklen_t;
181#endif
182
183#ifndef HAVE_RLIM_T
184typedef int rlim_t;
185#endif
186
187/* some potentially memory saving tradeoffs,
188   preconfigured in memory-saving mode */
189
190/* call sasl_client_init() at the start of imapd */
191#define DELAY_SASL_CLIENT_INIT
192
193/* save the cmdlines for the ID command */
194#undef ID_SAVE_CMDLINE
195
196/* getaddrinfo things */
197#include <netdb.h>
198#include <sys/types.h>
199#include <sys/socket.h>
200
201#ifndef HAVE_GETADDRINFO
202#define getaddrinfo     sasl_getaddrinfo
203#define freeaddrinfo    sasl_freeaddrinfo
204#define getnameinfo     sasl_getnameinfo
205#define gai_strerror    sasl_gai_strerror
206#include "gai.h"
207#endif
208
209#ifndef NI_WITHSCOPEID
210#define NI_WITHSCOPEID  0
211#endif
212
213#ifdef OLD_SIEVE_SERVICE_NAME
214#define SIEVE_SERVICE_NAME "imap"
215#else
216#define SIEVE_SERVICE_NAME "sieve"
217#endif
218
219/* compile time options; think carefully before modifying */
220enum {
221    /* should a hierarchical rename stop on error? */
222    RENAME_STOP_ON_ERROR = 1,
223
224    /* should we call fsync() to maybe help with softupdates? (it should) */
225    APPEND_ULTRA_PARANOID = 1,
226
227    /* should we log extra information at the DEBUG level for DB stuff?
228     * 0 -> nothing; 1 -> some; higher -> even more */
229    CONFIG_DB_VERBOSE = 1,
230
231    /* log timing information to LOG_DEBUG */
232    CONFIG_TIMING_VERBOSE = 0,
233
234    /* should we be pedantic about namespace or sleezy? */
235    SLEEZY_NAMESPACE = 1,
236
237    /* should we do a fast TLS session shutdown? */
238    TLS_FAST_SHUTDOWN = 1,
239
240    /* should we use the SQUAT engine to accelerate SEARCH? */
241    SQUAT_ENGINE = 1,
242
243    /* should we have long LMTP error messages? */
244    LMTP_LONG_ERROR_MSGS = 1
245};
246
247#endif /* _CYRUS_IMAPD_CONFIG_H_ */
Note: See TracBrowser for help on using the repository browser.