Aegis  4.25.D505
/home/archives/aegis/branch.4/branch.25/delta28933.505/common/config.messy.h
Go to the documentation of this file.
00001 //
00002 //      aegis - project change supervisor
00003 //      Copyright (C) 1998, 1999, 2001-2006, 2008, 2010, 2012 Peter Miller
00004 //
00005 //      This program is free software; you can redistribute it and/or modify
00006 //      it under the terms of the GNU General Public License as published by
00007 //      the Free Software Foundation; either version 3 of the License, or
00008 //      (at your option) any later version.
00009 //
00010 //      This program is distributed in the hope that it will be useful,
00011 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 //      GNU General Public License for more details.
00014 //
00015 //      You should have received a copy of the GNU General Public License
00016 //      along with this program. If not, see
00017 //      <http://www.gnu.org/licenses/>.
00018 //
00019 // This file is included by the generated "common/config.h" file.
00020 // These actions are performed ehre, to insulate them from the attentions
00021 // of ./configure (config.status) which is a little over-0zealous about
00022 // nuking the #undef lines.
00023 //
00024 
00025 #ifndef COMMON_CONFIG_MESSY_H
00026 #define COMMON_CONFIG_MESSY_H
00027 
00028 //
00029 // Define this symbol if your system does NOT
00030 // have the seteuid system call, and it cannot be simulated.
00031 //
00032 #ifndef HAVE_SETEUID
00033 #ifndef HAVE_SETREUID
00034 #ifndef HAVE_SETRESUID
00035 #define CONF_NO_seteuid
00036 #endif
00037 #endif
00038 #endif
00039 
00040 //
00041 // For libcurl to work, it must be able to run in the top process,
00042 // not forked off in a setuid worker process.  (This isn't a problem
00043 // for most modern systems.)
00044 //
00045 #ifdef CONF_NO_seteuid
00046 #undef HAVE_CURL_CURL_H
00047 #undef HAVE_LIBCURL
00048 #endif
00049 
00050 //
00051 // Make sure Solaris includes POSIX extensions.
00052 //
00053 #if (defined(__sun) || defined(__sun__) || defined(sun)) && \
00054         (defined(__svr4__) || defined(svr4))
00055 
00056 #ifndef _POSIX_C_SOURCE
00057 #define _POSIX_C_SOURCE 1
00058 #endif
00059 
00060 #ifndef __EXTENSIONS__
00061 #define __EXTENSIONS__ 1
00062 #endif
00063 
00064 //
00065 // fix a glitch in Solaris's <sys/time.h>
00066 // which only show's up when you turn __EXTENSIONS__ on
00067 //
00068 #define _timespec timespec      // fix 2.4
00069 #define _tv_sec tv_sec          // fix 2.5.1
00070 
00071 #endif // Solaris
00072 
00073 //
00074 // normalize the wide character support
00075 //
00076 #if defined(HAVE_WCTYPE_H) && !defined(HAVE_ISWPRINT)
00077 # undef HAVE_WCTYPE_H
00078 # ifdef HAVE_ISWCTYPE
00079 #  undef HAVE_ISWCTYPE
00080 # endif
00081 #endif
00082 #if !defined(HAVE_WCTYPE_H) && defined(HAVE_ISWPRINT)
00083 # undef HAVE_ISWPRINT
00084 #endif
00085 #if defined(HAVE_WIDEC_H) && !defined(HAVE_WCTYPE_H)
00086 # undef HAVE_WIDEC_H
00087 #endif
00088 
00089 //
00090 // Need to define _POSIX_SOURCE on Linux, in order to get the fdopen,
00091 // fileno, popen and pclose function prototypes.
00092 //
00093 #ifdef __linux__
00094 #ifndef _POSIX_SOURCE
00095 #define _POSIX_SOURCE
00096 #endif
00097 #ifndef _GNU_SOURCE
00098 #define _GNU_SOURCE
00099 #endif
00100 #ifndef _BSD_SOURCE
00101 #define _BSD_SOURCE
00102 #endif
00103 #endif
00104 
00105 //
00106 // The SINGLE_USER define may be exploited to create a single-user version
00107 // of Aegis.  It is mostly used for testing, but also for Windows NT,
00108 // as the security there is stuffed.
00109 //
00110 #if defined(SOURCE_FORGE_HACK) ||  defined(__CYGWIN__) || \
00111         defined(__CYGWIN32__) || defined(__NUTC__)
00112 #define SINGLE_USER
00113 #endif
00114 
00115 //
00116 // Cope with parts of libmagic being missing
00117 // (or being something else, e.g. on HP/UX)
00118 //
00119 #if !HAVE_MAGIC_H || !HAVE_LIBMAGIC || !HAVE_MAGIC_FILE
00120 # ifdef HAVE_MAGIC_H
00121 #  undef HAVE_MAGIC_H
00122 # endif
00123 # ifdef HAVE_LIBMAGIC
00124 #  undef HAVE_LIBMAGIC
00125 # endif
00126 # ifdef HAVE_MAGIC_FILE
00127 #  undef HAVE_MAGIC_FILE
00128 # endif
00129 #endif
00130 
00131 //
00132 // The configure script will set UUID_OK to zero if it can't find a
00133 // working combination from all of the include files and functions it
00134 // found.  Unfortunately, due to the way autoconf works, it is to late
00135 // to cancel the various defines about all of those searches, so we do
00136 // it here.
00137 //
00138 #if ! UUID_OK
00139 #undef HAVE_DCE_UUID_H
00140 #undef HAVE_SYS_UUID_H
00141 #undef HAVE_UUID_CREATE
00142 #undef HAVE_UUID_EXPORT
00143 #undef HAVE_UUID_GENERATE
00144 #undef HAVE_UUID_H
00145 #undef HAVE_UUID_HASH
00146 #undef HAVE_UUID_LOAD
00147 #undef HAVE_UUID_MAKE
00148 #undef HAVE_UUID_TO_STRING
00149 #undef HAVE_UUID_UNPARSE
00150 #undef HAVE_UUID_UUID_H
00151 #endif
00152 
00153 //
00154 // The OFF_T_FMT is used to print value of the off_t type.  We use the
00155 // standard %lld format for long long value.
00156 //
00157 #if _FILE_OFFSET_BITS == 64 && LONG_BIT < 64
00158 #define OFF_T_FMT   "%lld"
00159 #else
00160 #define OFF_T_FMT   "%ld"
00161 #endif
00162 
00163 
00164 #endif // COMMON_CONFIG_MESSY_H
00165 // vim: set ts=8 sw=4 et :