diff options
author | David Benjamin <davidben@chromium.org> | 2014-09-12 03:11:15 +0400 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2014-09-12 04:10:53 +0400 |
commit | a70c75cfc0ca32a43985e3f24d737ca9cafcb910 (patch) | |
tree | 97fa841a4edd2b3a4dc831f34c0d33a704e8206c /crypto/internal.h | |
parent | 1195796045e1f8bbd1ed311b2cbd8b9d87f2074a (diff) |
Add a CRYPTO_library_init and static-initializer-less build option.
Chromium does not like static initializers, and the CPU logic uses one to
initialize CPU bits. However, the crypto library lacks an explicit
initialization function, which could complicate (no compile-time errors)
porting existing code which uses crypto/, but not ssl/.
Add an explicit CRYPTO_library_init function, but make it a no-op by default.
It only does anything (and is required) if building with
BORINGSSL_NO_STATIC_INITIALIZER.
Change-Id: I6933bdc3447fb382b1f87c788e5b8142d6f3fe39
Reviewed-on: https://boringssl-review.googlesource.com/1770
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'crypto/internal.h')
-rw-r--r-- | crypto/internal.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/internal.h b/crypto/internal.h index 65a52ed3..ffac2d5e 100644 --- a/crypto/internal.h +++ b/crypto/internal.h @@ -144,6 +144,10 @@ struct st_CRYPTO_EX_DATA_IMPL { #endif /* OPENSSL_WINDOWS */ +#if defined(OPENSSL_X86) || defined(OPENSSL_X86_64) +/* OPENSSL_cpuid_setup initializes OPENSSL_ia32cap_P. */ +void OPENSSL_cpuid_setup(void); +#endif #if defined(__cplusplus) } /* extern C */ |