|
||||
File indexing completed on 2025-01-18 09:54:55
0001 // config_ver.h - written and placed in public domain by Jeffrey Walton 0002 // the bits that make up this source file are from the 0003 // library's monolithic config.h. 0004 0005 /// \file config_ver.h 0006 /// \brief Library configuration file 0007 /// \details <tt>config_ver.h</tt> provides defines for library and compiler 0008 /// versions. 0009 /// \details <tt>config.h</tt> was split into components in May 2019 to better 0010 /// integrate with Autoconf and its feature tests. The splitting occurred so 0011 /// users could continue to include <tt>config.h</tt> while allowing Autoconf 0012 /// to write new <tt>config_asm.h</tt> and new <tt>config_cxx.h</tt> using 0013 /// its feature tests. 0014 /// \note You should include <tt>config.h</tt> rather than <tt>config_ver.h</tt> 0015 /// directly. 0016 /// \sa <A HREF="https://github.com/weidai11/cryptopp/issues/835">Issue 835, 0017 /// Make config.h more autoconf friendly</A>, 0018 /// <A HREF="https://www.cryptopp.com/wiki/Configure.sh">Configure.sh script</A> 0019 /// on the Crypto++ wiki 0020 /// \since Crypto++ 8.3 0021 0022 #ifndef CRYPTOPP_CONFIG_VERSION_H 0023 #define CRYPTOPP_CONFIG_VERSION_H 0024 0025 /// \brief Library major version 0026 /// \details CRYPTOPP_MAJOR reflects the major version of the library the 0027 /// headers came from. It is not necessarily the version of the library built 0028 /// as a shared object if versions are inadvertently mixed and matched. 0029 /// \sa CRYPTOPP_VERSION, LibraryVersion(), HeaderVersion() 0030 /// \since Crypto++ 8.2 0031 #define CRYPTOPP_MAJOR 8 0032 /// \brief Library minor version 0033 /// \details CRYPTOPP_MINOR reflects the minor version of the library the 0034 /// headers came from. It is not necessarily the version of the library built 0035 /// as a shared object if versions are inadvertently mixed and matched. 0036 /// \sa CRYPTOPP_VERSION, LibraryVersion(), HeaderVersion() 0037 /// \since Crypto++ 8.2 0038 #define CRYPTOPP_MINOR 9 0039 /// \brief Library revision number 0040 /// \details CRYPTOPP_REVISION reflects the revision number of the library the 0041 /// headers came from. It is not necessarily the revision of the library built 0042 /// as a shared object if versions are inadvertently mixed and matched. 0043 /// \sa CRYPTOPP_VERSION, LibraryVersion(), HeaderVersion() 0044 /// \since Crypto++ 8.2 0045 #define CRYPTOPP_REVISION 0 0046 0047 /// \brief Full library version 0048 /// \details CRYPTOPP_VERSION reflects the version of the library the headers 0049 /// came from. It is not necessarily the version of the library built as a 0050 /// shared object if versions are inadvertently mixed and matched. 0051 /// \sa CRYPTOPP_MAJOR, CRYPTOPP_MINOR, CRYPTOPP_REVISION, LibraryVersion(), HeaderVersion() 0052 /// \since Crypto++ 5.6 0053 #define CRYPTOPP_VERSION 890 0054 0055 // Compiler version macros 0056 0057 // Apple and LLVM Clang versions. Apple Clang version 7.0 roughly equals 0058 // LLVM Clang version 3.7. Also see https://gist.github.com/yamaya/2924292 0059 #if defined(__clang__) && defined(__apple_build_version__) 0060 # define CRYPTOPP_APPLE_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) 0061 #elif defined(__clang__) 0062 # define CRYPTOPP_LLVM_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) 0063 #endif 0064 0065 // Clang pretends to be other compilers. The compiler gets into 0066 // code paths that it cannot compile. Unset Clang to save the grief. 0067 // Also see http://github.com/weidai11/cryptopp/issues/147. 0068 0069 #if defined(__GNUC__) && !defined(__clang__) 0070 # undef CRYPTOPP_APPLE_CLANG_VERSION 0071 # undef CRYPTOPP_LLVM_CLANG_VERSION 0072 # define CRYPTOPP_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) 0073 #endif 0074 0075 #if defined(__xlc__) || defined(__xlC__) && !defined(__clang__) 0076 # undef CRYPTOPP_LLVM_CLANG_VERSION 0077 # define CRYPTOPP_XLC_VERSION ((__xlC__ / 256) * 10000 + (__xlC__ % 256) * 100) 0078 #endif 0079 0080 #if defined(__INTEL_COMPILER) && !defined(__clang__) 0081 # undef CRYPTOPP_LLVM_CLANG_VERSION 0082 # define CRYPTOPP_INTEL_VERSION (__INTEL_COMPILER) 0083 #endif 0084 0085 #if defined(_MSC_VER) && !defined(__clang__) 0086 # undef CRYPTOPP_LLVM_CLANG_VERSION 0087 # define CRYPTOPP_MSC_VERSION (_MSC_VER) 0088 #endif 0089 0090 // To control <x86intrin.h> include. May need a guard, like GCC 4.5 and above 0091 // Also see https://stackoverflow.com/a/42493893 and https://github.com/weidai11/cryptopp/issues/1198 0092 #if defined(CRYPTOPP_GCC_VERSION) || defined(CRYPTOPP_APPLE_CLANG_VERSION) || defined(CRYPTOPP_LLVM_CLANG_VERSION) 0093 # define CRYPTOPP_GCC_COMPATIBLE 1 0094 #endif 0095 0096 #endif // CRYPTOPP_CONFIG_VERSION_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |