Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

XSECW32Config.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2002-2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * XSEC
00019  * 
00020  * Configuration file for Windows platform
00021  *
00022  * Needs to be modified by hand
00023  *
00024  * Author(s): Berin Lautenbach
00025  *
00026  * $Id: XSECW32Config.hpp 464120 2006-10-15 05:15:27Z blautenb $
00027  *
00028  */
00029 
00030 #include <xercesc/util/XercesVersion.hpp>
00031 
00032 /*
00033  * These are the high level numerics that need to be changed to bump the
00034  * version number.
00035  *
00036  * They are used to create version strings - see the details at the end of this file
00037  */
00038 
00039 #define XSEC_VERSION_MAJOR   1
00040 #define XSEC_VERSION_MEDIUM  3
00041 #define XSEC_VERSION_MINOR   1
00042 
00043 /*
00044  * Because we don't have a configure script, we need to rely on version
00045  * numbers to understand library idiosycracies
00046  */
00047 
00048 #if (XERCES_VERSION_MAJOR >= 3)
00049 
00050 /* Is it possible to setIdAttributes? - DOM level 3 call.  V3.x
00051    API Version */
00052 
00053 #   define XSEC_XERCES_HAS_BOOLSETIDATTRIBUTE 1
00054 
00055 /* 3.0 no longer supports DOMWriter, must use DOMLSSerializer instead
00056 */
00057 
00058 #   define XSEC_XERCES_DOMLSSERIALIZER 1
00059 
00060 /* 3.0 now uses getInputEncoding rather than getEncoding to determine
00061    encoding that was found in input document */
00062 
00063 #   define XSEC_XERCES_DOMENTITYINPUTENCODING 1
00064 #endif
00065 
00066 #if (XERCES_VERSION_MAJOR == 3) || ((XERCES_VERSION_MAJOR == 2) && (XERCES_VERSION_MINOR >= 3))
00067 /* 
00068  * As of version 2.3, xerces requires a version parameter in XMLFormatter
00069  * constructors
00070  */
00071 #   define XSEC_XERCES_FORMATTER_REQUIRES_VERSION 1
00072 
00073  /* 2.3 and above use a user defined Memory Manager.  In some cases, this
00074    actually needs to be passed to functions
00075 */
00076 
00077 #   define XSEC_XERCES_REQUIRES_MEMMGR 1
00078 
00079 /* Does XMLString::release() exist */
00080 
00081 #   define XSEC_XERCES_XMLSTRING_HAS_RELEASE 1
00082 
00083 #   if (XERCES_VERSION_MAJOR < 3)
00084         /* Is it possible to setIdAttributes? - DOM level 3 call.  V2.x API */
00085 
00086 #       define XSEC_XERCES_HAS_SETIDATTRIBUTE 1
00087 
00088 #   endif
00089 
00090 #else
00091 /*
00092  * In version 2.2, the XMLUri class was broken for relative URI de-referencing
00093  */
00094 #   define XSEC_XERCES_BROKEN_XMLURI 1
00095 #endif
00096 
00097 
00098 
00099 /*
00100  * The following defines whether Xalan integration is required.
00101  *
00102  * Xalan is used for XSLT and complex XPath processing.
00103  * Activate this #define if Xalan is not required (or desired)
00104  */
00105 
00106 // #define XSEC_NO_XALAN
00107 
00108 #if !defined (XSEC_NO_XALAN)
00109 
00110 #   include <xalanc/Include/XalanVersion.hpp>
00111 
00112 #   if (_XALAN_VERSION <= 10800)
00113 #       define XSEC_XSLEXCEPTION_RETURNS_DOMSTRING  1
00114 #   endif
00115 #   if (_XALAN_VERSION >= 10900)
00116         
00117         /* 1.9 and above have XSLException::getType() returns XalanDOMChar *, not
00118             XalanDOMString
00119         */
00120 
00121 #       undef XSEC_XSLEXCEPTION_RETURNS_DOMSTRING
00122 
00123         /* 1.9 and above do not take a XercesDOMSupport as input to the ctor */
00124 
00125 #       undef XSEC_XERCESPARSERLIAISON_REQS_DOMSUPPORT
00126 
00127         /* 1.9 and above require a NodeRefList as input to XPathEvaluator::
00128            selectNodeList 
00129         */
00130 
00131 #       define XSEC_SELECTNODELIST_REQS_NODEREFLIST
00132 
00133         /* 1.9 and above use MemoryManager for the XPath Function classes
00134         */
00135 
00136 #       define XSEC_XALAN_REQS_MEMORYMANAGER
00137 #   else
00138         /* 1.9 and above have XSLException::getType() returns XalanDOMChar *, not
00139             XalanDOMString
00140         */
00141 
00142 #       define XSEC_XSLEXCEPTION_RETURNS_DOMSTRING 1
00143 
00144         /* 1.9 and above do not take a XercesDOMSupport as input to the ctor */
00145 
00146 #       define XSEC_XERCESPARSERLIAISON_REQS_DOMSUPPORT
00147 
00148         /* 1.9 and above require a NodeRefList as input to XPathEvaluator::
00149            selectNodeList 
00150         */
00151 
00152 #       undef XSEC_SELECTNODELIST_REQS_NODEREFLIST
00153 
00154         /* 1.9 and above use MemoryManager for the XPath Function classes
00155         */
00156 
00157 #       undef XSEC_XALAN_REQS_MEMORYMANAGER
00158 
00159 #   endif
00160 
00161 #endif
00162 
00163 /*
00164  * Define presence of cryptographic providers
00165  */
00166 
00167 #define HAVE_OPENSSL 1
00168 
00169 #define HAVE_WINCAPI 1
00170 
00171 // NSS Code is currently alpha.  It should work, but you will also
00172 // need to include the NSS libraries during the link.
00173 
00174 /* #define HAVE_NSS 1 */
00175 
00176 
00177 /*
00178  * Some settings for OpenSSL if we have it
00179  *
00180  */
00181 
00182 #if defined (HAVE_OPENSSL)
00183 
00184 #   include <openssl/opensslv.h>
00185 #   if (OPENSSL_VERSION_NUMBER >= 0x00907000)
00186 
00187 #       define XSEC_OPENSSL_CONST_BUFFERS
00188 #       define XSEC_OPENSSL_HAVE_AES
00189 #       define XSEC_OPENSSL_CANSET_PADDING
00190 #       define XSEC_OPENSSL_HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
00191 #   endif
00192 #   if (OPENSSL_VERSION_NUMBER >= 0x00908000)
00193 #       define XSEC_OPENSSL_D2IX509_CONST_BUFFER
00194 #   endif
00195 
00196 #endif
00197 
00198 /*
00199  * Macros used to determine what header files exist on this
00200  * system
00201  */
00202 
00203 /* Posix unistd.h */
00204 /* #define HAVE_UNISTD_H */
00205 
00206 /* Windows direct.h */
00207 #define HAVE_DIRECT_H 1
00208 
00209 // --------------------------------------------------------------------------------
00210 //           Version Handling
00211 // --------------------------------------------------------------------------------
00212 
00213 /*
00214  * The following code makes use of the Xerces version handling macros to define
00215  * some constants that can be used during conditional compilation.
00216  */
00217 
00218 /* This can be used for conditional compilation and for testing during
00219  * autoconfigures.
00220  *
00221  * It will create a string of the form 10000 * MAJOR + 100 * MEDIUM + MINOR
00222  * E.g. 10301 for version 1.3.1
00223  */
00224 
00225 #define _XSEC_VERSION_FULL CALC_EXPANDED_FORM (XSEC_VERSION_MAJOR,XSEC_VERSION_MEDIUM,XSEC_VERSION_MINOR)
00226 
00227 /* Some useful strings for versioning - based on the same strings from Xerces */
00228 
00229 #define XSEC_FULLVERSIONSTR INVK_CAT3_SEP_UNDERSCORE(XSEC_VERSION_MAJOR,XSEC_VERSION_MEDIUM,XSEC_VERSION_MINOR)
00230 #define XSEC_FULLVERSIONDOT INVK_CAT3_SEP_PERIOD(XSEC_VERSION_MAJOR,XSEC_VERSION_MEDIUM,XSEC_VERSION_MINOR)
00231 #define XSEC_FULLVERSIONNUM INVK_CAT3_SEP_NIL(XSEC_VERSION_MAJOR,XSEC_VERSION_MEDIUM,XSEC_VERSION_MINOR)
00232 #define XSEC_VERSIONSTR     INVK_CAT2_SEP_UNDERSCORE(XSEC_VERSION_MAJOR,XSEC_VERSION_MEDIUM)
00233 
00234 /* The following is used for backwards compatibility with previous version handling */
00235 
00236 #define XSEC_VERSION         "XSEC_FULLVERSIONDOT"
00237 
00238 

Generated on Sun Jan 28 19:37:24 2007 for XML-Security-C by  doxygen 1.4.2