config.h revision 141859
1/* 2 * Copyright (c) 2000-2003 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.47 2004/10/26 21:41:07 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/* LDAP Checks */ 147# if LDAPMAP 148# include <lber.h> 149# include <ldap.h> 150 151/* Does the LDAP library have ldap_memfree()? */ 152# ifndef SM_CONF_LDAP_MEMFREE 153 154/* 155** The new LDAP C API (draft-ietf-ldapext-ldap-c-api-04.txt) includes 156** ldap_memfree() in the API. That draft states to use LDAP_API_VERSION 157** of 2004 to identify the API. 158*/ 159 160# if USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004 161# define SM_CONF_LDAP_MEMFREE 1 162# else /* USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004 */ 163# define SM_CONF_LDAP_MEMFREE 0 164# endif /* USING_NETSCAPE_LDAP || LDAP_API_VERSION >= 2004 */ 165# endif /* ! SM_CONF_LDAP_MEMFREE */ 166 167/* Does the LDAP library have ldap_initialize()? */ 168# ifndef SM_CONF_LDAP_INITIALIZE 169 170/* 171** Check for ldap_initialize() support for support for LDAP URI's with 172** non-ldap:// schemes. 173*/ 174 175/* OpenLDAP does it with LDAP_OPT_URI */ 176# ifdef LDAP_OPT_URI 177# define SM_CONF_LDAP_INITIALIZE 1 178# endif /* LDAP_OPT_URI */ 179# endif /* !SM_CONF_LDAP_INITIALIZE */ 180# endif /* LDAPMAP */ 181 182/* don't use strcpy() */ 183# ifndef DO_NOT_USE_STRCPY 184# define DO_NOT_USE_STRCPY 1 185# endif /* ! DO_NOT_USE_STRCPY */ 186 187#endif /* ! SM_CONFIG_H */ 188