1/* 2 * {- join("\n * ", @autowarntext) -} 3 * 4 * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 * 6 * Licensed under the Apache License 2.0 (the "License"). You may not use 7 * this file except in compliance with the License. You can obtain a copy 8 * in the file LICENSE in the source distribution or at 9 * https://www.openssl.org/source/license.html 10 */ 11 12#ifndef OPENSSL_CONFIGURATION_H 13# define OPENSSL_CONFIGURATION_H 14# pragma once 15 16# ifdef __cplusplus 17extern "C" { 18# endif 19 20# ifdef OPENSSL_ALGORITHM_DEFINES 21# error OPENSSL_ALGORITHM_DEFINES no longer supported 22# endif 23 24/* 25 * OpenSSL was configured with the following options: 26 */ 27 28{- if (@{$config{openssl_sys_defines}}) { 29 foreach (@{$config{openssl_sys_defines}}) { 30 $OUT .= "# ifndef $_\n"; 31 $OUT .= "# define $_ 1\n"; 32 $OUT .= "# endif\n"; 33 } 34 } 35 foreach (@{$config{openssl_api_defines}}) { 36 (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/; 37 $OUT .= "# define $macro $value\n"; 38 } 39 if (@{$config{openssl_feature_defines}}) { 40 foreach (@{$config{openssl_feature_defines}}) { 41 $OUT .= "# ifndef $_\n"; 42 $OUT .= "# define $_\n"; 43 $OUT .= "# endif\n"; 44 } 45 } 46 ""; 47-} 48 49/* Generate 80386 code? */ 50{- $config{processor} eq "386" ? "# define" : "# undef" -} I386_ONLY 51 52/* 53 * The following are cipher-specific, but are part of the public API. 54 */ 55# if !defined(OPENSSL_SYS_UEFI) 56{- $config{bn_ll} ? "# define" : "# undef" -} BN_LLONG 57/* Only one for the following should be defined */ 58{- $config{b64l} ? "# define" : "# undef" -} SIXTY_FOUR_BIT_LONG 59{- $config{b64} ? "# define" : "# undef" -} SIXTY_FOUR_BIT 60{- $config{b32} ? "# define" : "# undef" -} THIRTY_TWO_BIT 61# endif 62 63# define RC4_INT {- $config{rc4_int} -} 64 65# ifdef __cplusplus 66} 67# endif 68 69#endif /* OPENSSL_CONFIGURATION_H */ 70