Botan 3.11.1
Crypto and TLS for C&
build.h
Go to the documentation of this file.
1#ifndef BOTAN_BUILD_INFO_H_
2#define BOTAN_BUILD_INFO_H_
3
4/**
5* @file build.h
6* @brief Build configuration for Botan 3.11.1
7*/
8
9/* NOLINTBEGIN(*-macro-usage,*-macro-to-enum) */
10
11/**
12 * @defgroup buildinfo Build Information
13 */
14
15/**
16 * @ingroup buildinfo
17 * @defgroup buildinfo_version Build version information
18 * @{
19 */
20
21/**
22* The major version of the release
23*/
24#define BOTAN_VERSION_MAJOR 3
25
26/**
27* The minor version of the release
28*/
29#define BOTAN_VERSION_MINOR 11
30
31/**
32* The patch version of the release
33*/
34#define BOTAN_VERSION_PATCH 1
35
36/**
37 * Expands to an integer of the form YYYYMMDD if this is an official
38 * release, or 0 otherwise. For instance, 2.19.0, which was released
39 * on January 19, 2022, has a `BOTAN_VERSION_DATESTAMP` of 20220119.
40 *
41 * This macro is deprecated; use version_datestamp from version.h
42 *
43 * TODO(Botan4) remove this
44 */
45#define BOTAN_VERSION_DATESTAMP 20260331
46
47/**
48 * A string set to the release type
49 *
50 * This macro is deprecated
51 *
52 * TODO(Botan4) remove this
53 */
54#define BOTAN_VERSION_RELEASE_TYPE "release"
55
56/**
57 * A macro expanding to a string that is set to a revision identifier
58 * corresponding to the source, or "unknown" if this could not be
59 * determined. It is set for all official releases.
60 *
61 * This macro is deprecated; use version_vc_revision from version.h
62 *
63 * TODO(Botan4) remove this
64 */
65#define BOTAN_VERSION_VC_REVISION "git:86d105523def181ae833e3aaaf773b1b0c20dda4"
66
67/**
68 * A macro expanding to a string that is set at build time using the
69 * `--distribution-info` option. It allows a packager of the library
70 * to specify any distribution-specific patches. If no value is given
71 * at build time, the value is the string "unspecified".
72 *
73 * This macro is deprecated; use version_distribution_info from version.h
74 *
75 * TODO(Botan4) remove this
76 */
77#define BOTAN_DISTRIBUTION_INFO "Fedora Linux 3.11.1-2.fc45"
78
79/**
80 * @}
81 */
82
83/**
84 * @ingroup buildinfo
85 * @defgroup buildinfo_configuration Build configurations
86 * @{
87 */
88
89
90
91
92#ifndef BOTAN_DLL
93 #define BOTAN_DLL __attribute__((visibility("default")))
94#endif
95
96/* Target identification and feature test macros */
97
98#define BOTAN_TARGET_OS_HAS_FILESYSTEM
99#define BOTAN_TARGET_OS_HAS_THREADS
100
101
102
103/**
104 * @}
105 */
106
107/**
108 * @ingroup buildinfo
109 * @defgroup buildinfo_modules Enabled modules and API versions
110 * @{
111 */
112
113/*
114* Module availability definitions
115*/
116#define BOTAN_HAS_ADLER32 20131128
117#define BOTAN_HAS_AEAD_CCM 20131128
118#define BOTAN_HAS_AEAD_CHACHA20_POLY1305 20180807
119#define BOTAN_HAS_AEAD_EAX 20131128
120#define BOTAN_HAS_AEAD_GCM 20131128
121#define BOTAN_HAS_AEAD_MODES 20131128
122#define BOTAN_HAS_AEAD_OCB 20131128
123#define BOTAN_HAS_AEAD_SIV 20131202
124#define BOTAN_HAS_AES 20131128
125#define BOTAN_HAS_ANSI_X919_MAC 20131128
126#define BOTAN_HAS_ARGON2 20210407
127#define BOTAN_HAS_ARGON2_FMT 20210407
128#define BOTAN_HAS_ARIA 20170415
129#define BOTAN_HAS_ASCON_AEAD128 20250823
130#define BOTAN_HAS_ASCON_HASH256 20250816
131#define BOTAN_HAS_ASCON_XOF128 20250817
132#define BOTAN_HAS_ASN1 20201106
133#define BOTAN_HAS_AUTO_RNG 20161126
134#define BOTAN_HAS_AUTO_SEEDING_RNG 20160821
135#define BOTAN_HAS_BASE32_CODEC 20180418
136#define BOTAN_HAS_BASE58_CODEC 20181209
137#define BOTAN_HAS_BASE64_CODEC 20131128
138#define BOTAN_HAS_BCRYPT 20131128
139#define BOTAN_HAS_BIGINT 20240529
140#define BOTAN_HAS_BLAKE2B 20130131
141#define BOTAN_HAS_BLAKE2BMAC 20201123
142#define BOTAN_HAS_BLAKE2S 20231028
143#define BOTAN_HAS_BLOCK_CIPHER 20131128
144#define BOTAN_HAS_BLOWFISH 20180718
145#define BOTAN_HAS_BZIP2 20160412
146#define BOTAN_HAS_CAMELLIA 20150922
147#define BOTAN_HAS_CASCADE 20131128
148#define BOTAN_HAS_CAST 20131128
149#define BOTAN_HAS_CAST_128 20171203
150#define BOTAN_HAS_CERTSTOR_FLATFILE 20190410
151#define BOTAN_HAS_CERTSTOR_SQL 20160818
152#define BOTAN_HAS_CERTSTOR_SQLITE3 20160818
153#define BOTAN_HAS_CERTSTOR_SYSTEM 20190411
154#define BOTAN_HAS_CHACHA 20180807
155#define BOTAN_HAS_CHACHA_RNG 20170728
156#define BOTAN_HAS_CIPHER_MODES 20180124
157#define BOTAN_HAS_CIPHER_MODE_PADDING 20131128
158#define BOTAN_HAS_CLASSICMCELIECE 20231023
159#define BOTAN_HAS_CMAC 20131128
160#define BOTAN_HAS_CODEC_FILTERS 20131128
161#define BOTAN_HAS_COMB4P 20131128
162#define BOTAN_HAS_COMPRESSION 20141117
163#define BOTAN_HAS_CRC24 20131128
164#define BOTAN_HAS_CRC32 20131128
165#define BOTAN_HAS_CRYPTO_BOX 20131128
166#define BOTAN_HAS_CSHAKE_XOF 20230911
167#define BOTAN_HAS_CTR_BE 20131128
168#define BOTAN_HAS_CURVE_25519 20170621
169#define BOTAN_HAS_DES 20200926
170#define BOTAN_HAS_DIFFIE_HELLMAN 20131128
171#define BOTAN_HAS_DILITHIUM 20221018
172#define BOTAN_HAS_DILITHIUM_AES 20221018
173#define BOTAN_HAS_DILITHIUM_COMMON 20221018
174#define BOTAN_HAS_DILITHIUM_ROUND3 20240916
175#define BOTAN_HAS_DILITHIUM_SHAKE_XOF 20240728
176#define BOTAN_HAS_DLIES 20160713
177#define BOTAN_HAS_DL_GROUP 20131128
178#define BOTAN_HAS_DL_SCHEME 20230101
179#define BOTAN_HAS_DSA 20131128
180#define BOTAN_HAS_ECC_GROUP 20250101
181#define BOTAN_HAS_ECC_KEY 20190801
182#define BOTAN_HAS_ECC_PUBLIC_KEY_CRYPTO 20131128
183#define BOTAN_HAS_ECDH 20131128
184#define BOTAN_HAS_ECDSA 20131128
185#define BOTAN_HAS_ECGDSA 20160301
186#define BOTAN_HAS_ECIES 20160128
187#define BOTAN_HAS_ECKCDSA 20160413
188#define BOTAN_HAS_EC_CURVE_GFP 20250101
189#define BOTAN_HAS_EC_HASH_TO_CURVE 20210420
190#define BOTAN_HAS_ED25519 20170607
191#define BOTAN_HAS_ED448 20240223
192#define BOTAN_HAS_ELGAMAL 20131128
193#define BOTAN_HAS_EME_OAEP 20180305
194#define BOTAN_HAS_EME_PKCS1 20190426
195#define BOTAN_HAS_EME_PKCS1v15 20131128
196#define BOTAN_HAS_EME_RAW 20150313
197#define BOTAN_HAS_EMSA_PKCS1 20140118
198#define BOTAN_HAS_EMSA_PSSR 20131128
199#define BOTAN_HAS_EMSA_RAW 20131128
200#define BOTAN_HAS_EMSA_X931 20140118
201#define BOTAN_HAS_ENTROPY_SOURCE 20151120
202#define BOTAN_HAS_FFI 20260303
203#define BOTAN_HAS_FILTERS 20160415
204#define BOTAN_HAS_FPE_FE1 20131128
205#define BOTAN_HAS_FRODOKEM 20230801
206#define BOTAN_HAS_FRODOKEM_AES 20231103
207#define BOTAN_HAS_FRODOKEM_SHAKE 20231114
208#define BOTAN_HAS_GMAC 20160207
209#define BOTAN_HAS_GOST_28147_89 20131128
210#define BOTAN_HAS_GOST_34_10_2001 20131128
211#define BOTAN_HAS_GOST_34_10_2012 20190801
212#define BOTAN_HAS_GOST_34_11 20131128
213#define BOTAN_HAS_HASH 20180112
214#define BOTAN_HAS_HEX_CODEC 20131128
215#define BOTAN_HAS_HKDF 20170927
216#define BOTAN_HAS_HMAC 20131128
217#define BOTAN_HAS_HMAC_DRBG 20140319
218#define BOTAN_HAS_HOTP 20180816
219#define BOTAN_HAS_HSS_LMS 20230925
220#define BOTAN_HAS_HYBRID_KEM 20240425
221#define BOTAN_HAS_IDEA 20131128
222#define BOTAN_HAS_ISO_9796 20161121
223#define BOTAN_HAS_JITTER_RNG 20240901
224#define BOTAN_HAS_KDF 20250528
225#define BOTAN_HAS_KDF1 20131128
226#define BOTAN_HAS_KDF1_18033 20160128
227#define BOTAN_HAS_KDF2 20131128
228#define BOTAN_HAS_KDF_BASE 20131128
229#define BOTAN_HAS_KECCAK 20131128
230#define BOTAN_HAS_KEX_TO_KEM_ADAPTER 20240504
231#define BOTAN_HAS_KMAC 20230601
232#define BOTAN_HAS_KUZNYECHIK 20230820
233#define BOTAN_HAS_KYBER 20220107
234#define BOTAN_HAS_KYBER_90S 20220107
235#define BOTAN_HAS_KYBER_COMMON 20220107
236#define BOTAN_HAS_KYBER_ROUND3 20240117
237#define BOTAN_HAS_LEGACY_EC_POINT 20250101
238#define BOTAN_HAS_LION 20131128
239#define BOTAN_HAS_MAC 20150626
240#define BOTAN_HAS_MCELIECE 20150922
241#define BOTAN_HAS_MD4 20131128
242#define BOTAN_HAS_MD5 20131128
243#define BOTAN_HAS_MGF1 20140118
244#define BOTAN_HAS_ML_DSA 20240729
245#define BOTAN_HAS_ML_KEM 20240821
246#define BOTAN_HAS_MODES 20150626
247#define BOTAN_HAS_MODE_CBC 20131128
248#define BOTAN_HAS_MODE_CFB 20131128
249#define BOTAN_HAS_MODE_XTS 20131128
250#define BOTAN_HAS_NIST_KEYWRAP 20171119
251#define BOTAN_HAS_NOEKEON 20131128
252#define BOTAN_HAS_NUMBERTHEORY 20201108
253#define BOTAN_HAS_OAEP 20250130
254#define BOTAN_HAS_OCSP 20201106
255#define BOTAN_HAS_OFB 20131128
256#define BOTAN_HAS_PARALLEL_HASH 20131128
257#define BOTAN_HAS_PASSHASH9 20131128
258#define BOTAN_HAS_PASSWORD_HASHING 20210419
259#define BOTAN_HAS_PBKDF 20180902
260#define BOTAN_HAS_PBKDF2 20180902
261#define BOTAN_HAS_PBKDF_BCRYPT 20190531
262#define BOTAN_HAS_PEM_CODEC 20131128
263#define BOTAN_HAS_PGP_S2K 20170527
264#define BOTAN_HAS_PIPE_UNIXFD_IO 20131128
265#define BOTAN_HAS_PKCS11 20160219
266#define BOTAN_HAS_PKCS5_PBES2 20141119
267#define BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING 20250126
268#define BOTAN_HAS_PKCSV15_SIGNATURE_PADDING 20250126
269#define BOTAN_HAS_POLY1305 20141227
270#define BOTAN_HAS_PROCESSOR_RNG 20200508
271#define BOTAN_HAS_PSK_DB 20171119
272#define BOTAN_HAS_PSS 20250130
273#define BOTAN_HAS_PUBLIC_KEY_CRYPTO 20131128
274#define BOTAN_HAS_RAW_SIGNATURE_PADDING 20250720
275#define BOTAN_HAS_RC4 20131128
276#define BOTAN_HAS_RFC3394_KEYWRAP 20131128
277#define BOTAN_HAS_RFC4880 20210407
278#define BOTAN_HAS_RIPEMD_160 20131128
279#define BOTAN_HAS_ROUGHTIME 20190220
280#define BOTAN_HAS_RSA 20160730
281#define BOTAN_HAS_RSA_ENCRYPTION_PADDING 20250720
282#define BOTAN_HAS_RSA_SIGNATURE_PADDING 20250720
283#define BOTAN_HAS_SALSA20 20171114
284#define BOTAN_HAS_SCRYPT 20180902
285#define BOTAN_HAS_SEED 20131128
286#define BOTAN_HAS_SERPENT 20131128
287#define BOTAN_HAS_SHA1 20131128
288#define BOTAN_HAS_SHA2_32 20131128
289#define BOTAN_HAS_SHA2_64 20131128
290#define BOTAN_HAS_SHA3 20161018
291#define BOTAN_HAS_SHACAL2 20170813
292#define BOTAN_HAS_SHAKE 20161009
293#define BOTAN_HAS_SHAKE_CIPHER 20161018
294#define BOTAN_HAS_SHAKE_XOF 20230815
295#define BOTAN_HAS_SHA_224 20250130
296#define BOTAN_HAS_SHA_256 20250130
297#define BOTAN_HAS_SHA_384 20250130
298#define BOTAN_HAS_SHA_512 20250130
299#define BOTAN_HAS_SHA_512_256 20250130
300#define BOTAN_HAS_SIPHASH 20150110
301#define BOTAN_HAS_SKEIN_512 20131128
302#define BOTAN_HAS_SLH_DSA_WITH_SHA2 20240806
303#define BOTAN_HAS_SLH_DSA_WITH_SHAKE 20240808
304#define BOTAN_HAS_SM2 20180801
305#define BOTAN_HAS_SM3 20170402
306#define BOTAN_HAS_SM4 20170716
307#define BOTAN_HAS_SODIUM_API 20190615
308#define BOTAN_HAS_SP800_108 20160128
309#define BOTAN_HAS_SP800_56A 20170501
310#define BOTAN_HAS_SP800_56C 20160211
311#define BOTAN_HAS_SPHINCS_PLUS_COMMON 20230426
312#define BOTAN_HAS_SPHINCS_PLUS_SHA2_BASE 20240807
313#define BOTAN_HAS_SPHINCS_PLUS_SHAKE_BASE 20240809
314#define BOTAN_HAS_SPHINCS_PLUS_WITH_SHA2 20230531
315#define BOTAN_HAS_SPHINCS_PLUS_WITH_SHAKE 20230531
316#define BOTAN_HAS_SRP6 20161017
317#define BOTAN_HAS_STATEFUL_RNG 20160819
318#define BOTAN_HAS_STREAM_CIPHER 20131128
319#define BOTAN_HAS_STREEBOG 20170623
320#define BOTAN_HAS_SYSTEM_RNG 20141202
321#define BOTAN_HAS_THREEFISH_512 20131224
322#define BOTAN_HAS_THRESHOLD_SECRET_SHARING 20131128
323#define BOTAN_HAS_TLS 20201128
324#define BOTAN_HAS_TLS_12 20210608
325#define BOTAN_HAS_TLS_13 20241208
326#define BOTAN_HAS_TLS_13_PQC 20241208
327#define BOTAN_HAS_TLS_CBC 20161008
328#define BOTAN_HAS_TLS_SESSION_MANAGER_SQL_DB 20141219
329#define BOTAN_HAS_TLS_SQLITE3_SESSION_MANAGER 20131128
330#define BOTAN_HAS_TLS_V12_PRF 20131128
331#define BOTAN_HAS_TOTP 20180816
332#define BOTAN_HAS_TPM2 20240610
333#define BOTAN_HAS_TPM2_CRYPTO_BACKEND 20240806
334#define BOTAN_HAS_TPM2_ECC_ADAPTER 20240925
335#define BOTAN_HAS_TPM2_RSA_ADAPTER 20240819
336#define BOTAN_HAS_TRUNCATED_HASH 20230215
337#define BOTAN_HAS_TWOFISH 20131128
338#define BOTAN_HAS_WHIRLPOOL 20131128
339#define BOTAN_HAS_X25519 20240412
340#define BOTAN_HAS_X448 20240219
341#define BOTAN_HAS_X509 20201106
342#define BOTAN_HAS_X509_CERTIFICATES 20201106
343#define BOTAN_HAS_X931_SIGNATURE_PADDING 20250720
344#define BOTAN_HAS_X942_PRF 20131128
345#define BOTAN_HAS_XMD 20240404
346#define BOTAN_HAS_XMSS_RFC8391 20201101
347#define BOTAN_HAS_XOF 20230815
348#define BOTAN_HAS_ZFEC 20211211
349#define BOTAN_HAS_ZLIB 20160412
350
351
352/*
353* Internal module feature definitions
354*
355* These macros have been in the past visible in build.h as feature macros
356* but in the future these will be only visible in an internal header.
357* Applications should not rely on or check for these macros.
358*/
359#define BOTAN_HAS_AES_CRYSTALS_XOF 20230816
360#define BOTAN_HAS_AES_NI 20131128
361#define BOTAN_HAS_AES_VPERM 20190901
362#define BOTAN_HAS_ARGON2_SIMD64 20251107
363#define BOTAN_HAS_ARIA_HWAES 20260323
364#define BOTAN_HAS_BIGINT_MP 20151225
365#define BOTAN_HAS_BITVECTOR 20241202
366#define BOTAN_HAS_CAMELLIA_HWAES 20260321
367#define BOTAN_HAS_CHACHA_AVX2 20180418
368#define BOTAN_HAS_CHACHA_SIMD32 20181104
369#define BOTAN_HAS_CPUID 20170917
370#define BOTAN_HAS_CPUID_DETECTION 20250327
371#define BOTAN_HAS_CTR_BE_AVX2 20260321
372#define BOTAN_HAS_CTR_BE_SIMD32 20260323
373#define BOTAN_HAS_DYNAMIC_LOADER 20160310
374#define BOTAN_HAS_ENTROPY_SRC_GETENTROPY 20170327
375#define BOTAN_HAS_ENTROPY_SRC_RDSEED 20151218
376#define BOTAN_HAS_GHASH 20201002
377#define BOTAN_HAS_GHASH_CLMUL_CPU 20201002
378#define BOTAN_HAS_GHASH_CLMUL_VPERM 20201002
379#define BOTAN_HAS_HASH_ID 20131128
380#define BOTAN_HAS_HTTP_UTIL 20171003
381#define BOTAN_HAS_IDEA_AVX2 20260314
382#define BOTAN_HAS_IDEA_SSE2 20131128
383#define BOTAN_HAS_KECCAK_PERM 20230613
384#define BOTAN_HAS_LOCKING_ALLOCATOR 20131128
385#define BOTAN_HAS_MDX_HASH_FUNCTION 20131128
386#define BOTAN_HAS_MEM_POOL 20180309
387#define BOTAN_HAS_NOEKEON_SIMD 20160903
388#define BOTAN_HAS_OS_UTILS 20241202
389#define BOTAN_HAS_PCURVES 20240404
390#define BOTAN_HAS_PCURVES_BRAINPOOL256R1 20240608
391#define BOTAN_HAS_PCURVES_BRAINPOOL384R1 20240608
392#define BOTAN_HAS_PCURVES_BRAINPOOL512R1 20240608
393#define BOTAN_HAS_PCURVES_FRP256V1 20240608
394#define BOTAN_HAS_PCURVES_GENERIC 20250112
395#define BOTAN_HAS_PCURVES_IMPL 20240714
396#define BOTAN_HAS_PCURVES_NUMSP512D1 20240723
397#define BOTAN_HAS_PCURVES_SECP192R1 20240709
398#define BOTAN_HAS_PCURVES_SECP224R1 20240716
399#define BOTAN_HAS_PCURVES_SECP256K1 20240608
400#define BOTAN_HAS_PCURVES_SECP256R1 20240608
401#define BOTAN_HAS_PCURVES_SECP384R1 20240608
402#define BOTAN_HAS_PCURVES_SECP521R1 20240608
403#define BOTAN_HAS_PCURVES_SM2P256V1 20240608
404#define BOTAN_HAS_POLY1305_AVX2 20260108
405#define BOTAN_HAS_POLY_DBL 20170927
406#define BOTAN_HAS_PQCRYSTALS 20240228
407#define BOTAN_HAS_RAW_HASH_FN 20230221
408#define BOTAN_HAS_RFC6979_GENERATOR 20140321
409#define BOTAN_HAS_SEED_HWAES 20260322
410#define BOTAN_HAS_SERPENT_AVX2 20180824
411#define BOTAN_HAS_SERPENT_SIMD 20160903
412#define BOTAN_HAS_SHA1_AVX2 20250505
413#define BOTAN_HAS_SHA1_SIMD_4X32 20250331
414#define BOTAN_HAS_SHA1_X86_SHA_NI 20170518
415#define BOTAN_HAS_SHA2_32_SIMD 20250402
416#define BOTAN_HAS_SHA2_32_X86 20170518
417#define BOTAN_HAS_SHA2_32_X86_AVX2 20250402
418#define BOTAN_HAS_SHACAL2_AVX2 20180826
419#define BOTAN_HAS_SHACAL2_SIMD 20170813
420#define BOTAN_HAS_SHACAL2_X86 20170814
421#define BOTAN_HAS_SIMD_2X64 20250405
422#define BOTAN_HAS_SIMD_4X32 20131128
423#define BOTAN_HAS_SIMD_AVX2 20180824
424#define BOTAN_HAS_SIMD_HWAES 20260322
425#define BOTAN_HAS_SM3_X86_AVX2_BMI2 20251212
426#define BOTAN_HAS_SM4_HWAES 20260322
427#define BOTAN_HAS_SOCKETS 20171216
428#define BOTAN_HAS_SQLITE3 20171118
429#define BOTAN_HAS_THREAD_UTILS 20190922
430#define BOTAN_HAS_UUID 20180930
431#define BOTAN_HAS_WHIRLPOOL_AVX2 20260321
432#define BOTAN_HAS_ZFEC_VPERM 20211211
433
434
435/**
436 * @}
437 */
438
439/* NOLINTEND(*-macro-usage,*-macro-to-enum) */
440
441#endif