mirror of https://git.tukaani.org/xz.git
liblzma: Fix a build failure related to external SHA-256 support.
If an appropriate header and structure were found by configure, but a library with a usable SHA-256 functions wasn't, the build failed.
This commit is contained in:
parent
d9311647fc
commit
16d68f874d
|
@ -15,7 +15,19 @@
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
#if defined(HAVE_COMMONCRYPTO_COMMONDIGEST_H)
|
// If either the data type or the function for external SHA-256 is missing,
|
||||||
|
// use the internal SHA-256 code.
|
||||||
|
#if !(defined(HAVE_CC_SHA256_CTX) || defined(HAVE_SHA256_CTX) \
|
||||||
|
|| defined(HAVE_SHA2_CTX)) \
|
||||||
|
|| !(defined(HAVE_CC_SHA256_INIT) \
|
||||||
|
|| defined(HAVE_SHA256_INIT) \
|
||||||
|
|| defined(HAVE_SHA256INIT))
|
||||||
|
# define HAVE_INTERNAL_SHA256 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_INTERNAL_SHA256)
|
||||||
|
// Nothing
|
||||||
|
#elif defined(HAVE_COMMONCRYPTO_COMMONDIGEST_H)
|
||||||
# include <CommonCrypto/CommonDigest.h>
|
# include <CommonCrypto/CommonDigest.h>
|
||||||
#elif defined(HAVE_SHA256_H)
|
#elif defined(HAVE_SHA256_H)
|
||||||
# include <sys/types.h>
|
# include <sys/types.h>
|
||||||
|
@ -28,13 +40,7 @@
|
||||||
# include <minix/sha2.h>
|
# include <minix/sha2.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_CC_SHA256_CTX)
|
#if defined(HAVE_INTERNAL_SHA256)
|
||||||
typedef CC_SHA256_CTX lzma_sha256_state;
|
|
||||||
#elif defined(HAVE_SHA256_CTX)
|
|
||||||
typedef SHA256_CTX lzma_sha256_state;
|
|
||||||
#elif defined(HAVE_SHA2_CTX)
|
|
||||||
typedef SHA2_CTX lzma_sha256_state;
|
|
||||||
#else
|
|
||||||
/// State for the internal SHA-256 implementation
|
/// State for the internal SHA-256 implementation
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/// Internal state
|
/// Internal state
|
||||||
|
@ -43,9 +49,17 @@ typedef struct {
|
||||||
/// Size of the message excluding padding
|
/// Size of the message excluding padding
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
} lzma_sha256_state;
|
} lzma_sha256_state;
|
||||||
|
#elif defined(HAVE_CC_SHA256_CTX)
|
||||||
|
typedef CC_SHA256_CTX lzma_sha256_state;
|
||||||
|
#elif defined(HAVE_SHA256_CTX)
|
||||||
|
typedef SHA256_CTX lzma_sha256_state;
|
||||||
|
#elif defined(HAVE_SHA2_CTX)
|
||||||
|
typedef SHA2_CTX lzma_sha256_state;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_CC_SHA256_INIT)
|
#if defined(HAVE_INTERNAL_SHA256)
|
||||||
|
// Nothing
|
||||||
|
#elif defined(HAVE_CC_SHA256_INIT)
|
||||||
# define LZMA_SHA256FUNC(x) CC_SHA256_ ## x
|
# define LZMA_SHA256FUNC(x) CC_SHA256_ ## x
|
||||||
#elif defined(HAVE_SHA256_INIT)
|
#elif defined(HAVE_SHA256_INIT)
|
||||||
# define LZMA_SHA256FUNC(x) SHA256_ ## x
|
# define LZMA_SHA256FUNC(x) SHA256_ ## x
|
||||||
|
|
Loading…
Reference in New Issue