mbedTLS: Add patch to fix build errors with some MSVC versions
This commit is contained in:
parent
b2f425fe68
commit
c985b74d89
4 changed files with 118 additions and 0 deletions
2
thirdparty/README.md
vendored
2
thirdparty/README.md
vendored
|
@ -532,6 +532,8 @@ File extracted from upstream release tarball:
|
||||||
- The `LICENSE` file (edited to keep only the Apache 2.0 variant)
|
- The `LICENSE` file (edited to keep only the Apache 2.0 variant)
|
||||||
- Applied the patch `no-flexible-arrays.diff` to fix Windows build (see
|
- Applied the patch `no-flexible-arrays.diff` to fix Windows build (see
|
||||||
upstream GH-9020)
|
upstream GH-9020)
|
||||||
|
- Applied the patch `msvc-redeclaration-bug.diff` to fix a compilation error
|
||||||
|
with some MSVC versions
|
||||||
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
|
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
|
||||||
providing configuration for light bundling with core
|
providing configuration for light bundling with core
|
||||||
- Added the file `godot_module_mbedtls_config.h` to customize the build
|
- Added the file `godot_module_mbedtls_config.h` to customize the build
|
||||||
|
|
14
thirdparty/mbedtls/include/psa/crypto.h
vendored
14
thirdparty/mbedtls/include/psa/crypto.h
vendored
|
@ -107,7 +107,9 @@ psa_status_t psa_crypto_init(void);
|
||||||
|
|
||||||
/** Return an initial value for a key attributes structure.
|
/** Return an initial value for a key attributes structure.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_key_attributes_t psa_key_attributes_init(void);
|
static psa_key_attributes_t psa_key_attributes_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Declare a key as persistent and set its key identifier.
|
/** Declare a key as persistent and set its key identifier.
|
||||||
*
|
*
|
||||||
|
@ -333,7 +335,9 @@ static void psa_set_key_bits(psa_key_attributes_t *attributes,
|
||||||
*
|
*
|
||||||
* \return The key type stored in the attribute structure.
|
* \return The key type stored in the attribute structure.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_key_type_t psa_get_key_type(const psa_key_attributes_t *attributes);
|
static psa_key_type_t psa_get_key_type(const psa_key_attributes_t *attributes);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Retrieve the key size from key attributes.
|
/** Retrieve the key size from key attributes.
|
||||||
*
|
*
|
||||||
|
@ -936,7 +940,9 @@ typedef struct psa_hash_operation_s psa_hash_operation_t;
|
||||||
|
|
||||||
/** Return an initial value for a hash operation object.
|
/** Return an initial value for a hash operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_hash_operation_t psa_hash_operation_init(void);
|
static psa_hash_operation_t psa_hash_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set up a multipart hash operation.
|
/** Set up a multipart hash operation.
|
||||||
*
|
*
|
||||||
|
@ -1295,7 +1301,9 @@ typedef struct psa_mac_operation_s psa_mac_operation_t;
|
||||||
|
|
||||||
/** Return an initial value for a MAC operation object.
|
/** Return an initial value for a MAC operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_mac_operation_t psa_mac_operation_init(void);
|
static psa_mac_operation_t psa_mac_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set up a multipart MAC calculation operation.
|
/** Set up a multipart MAC calculation operation.
|
||||||
*
|
*
|
||||||
|
@ -1708,7 +1716,9 @@ typedef struct psa_cipher_operation_s psa_cipher_operation_t;
|
||||||
|
|
||||||
/** Return an initial value for a cipher operation object.
|
/** Return an initial value for a cipher operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_cipher_operation_t psa_cipher_operation_init(void);
|
static psa_cipher_operation_t psa_cipher_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set the key for a multipart symmetric encryption operation.
|
/** Set the key for a multipart symmetric encryption operation.
|
||||||
*
|
*
|
||||||
|
@ -2226,7 +2236,9 @@ typedef struct psa_aead_operation_s psa_aead_operation_t;
|
||||||
|
|
||||||
/** Return an initial value for an AEAD operation object.
|
/** Return an initial value for an AEAD operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_aead_operation_t psa_aead_operation_init(void);
|
static psa_aead_operation_t psa_aead_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set the key for a multipart authenticated encryption operation.
|
/** Set the key for a multipart authenticated encryption operation.
|
||||||
*
|
*
|
||||||
|
@ -3213,7 +3225,9 @@ typedef struct psa_key_derivation_s psa_key_derivation_operation_t;
|
||||||
|
|
||||||
/** Return an initial value for a key derivation operation object.
|
/** Return an initial value for a key derivation operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_key_derivation_operation_t psa_key_derivation_operation_init(void);
|
static psa_key_derivation_operation_t psa_key_derivation_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Set up a key derivation operation.
|
/** Set up a key derivation operation.
|
||||||
*
|
*
|
||||||
|
|
|
@ -915,7 +915,9 @@ typedef struct psa_pake_cipher_suite_s psa_pake_cipher_suite_t;
|
||||||
|
|
||||||
/** Return an initial value for a PAKE cipher suite object.
|
/** Return an initial value for a PAKE cipher suite object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_pake_cipher_suite_t psa_pake_cipher_suite_init(void);
|
static psa_pake_cipher_suite_t psa_pake_cipher_suite_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Retrieve the PAKE algorithm from a PAKE cipher suite.
|
/** Retrieve the PAKE algorithm from a PAKE cipher suite.
|
||||||
*
|
*
|
||||||
|
@ -1048,7 +1050,9 @@ typedef struct psa_jpake_computation_stage_s psa_jpake_computation_stage_t;
|
||||||
|
|
||||||
/** Return an initial value for a PAKE operation object.
|
/** Return an initial value for a PAKE operation object.
|
||||||
*/
|
*/
|
||||||
|
#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
static psa_pake_operation_t psa_pake_operation_init(void);
|
static psa_pake_operation_t psa_pake_operation_init(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Get the length of the password in bytes from given inputs.
|
/** Get the length of the password in bytes from given inputs.
|
||||||
*
|
*
|
||||||
|
|
98
thirdparty/mbedtls/patches/msvc-redeclaration-bug.diff
vendored
Normal file
98
thirdparty/mbedtls/patches/msvc-redeclaration-bug.diff
vendored
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
diff --git a/thirdparty/mbedtls/include/psa/crypto.h b/thirdparty/mbedtls/include/psa/crypto.h
|
||||||
|
index 92f9c824e9..1cc2e7e729 100644
|
||||||
|
--- a/thirdparty/mbedtls/include/psa/crypto.h
|
||||||
|
+++ b/thirdparty/mbedtls/include/psa/crypto.h
|
||||||
|
@@ -107,7 +107,9 @@ psa_status_t psa_crypto_init(void);
|
||||||
|
|
||||||
|
/** Return an initial value for a key attributes structure.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_key_attributes_t psa_key_attributes_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Declare a key as persistent and set its key identifier.
|
||||||
|
*
|
||||||
|
@@ -333,7 +335,9 @@ static void psa_set_key_bits(psa_key_attributes_t *attributes,
|
||||||
|
*
|
||||||
|
* \return The key type stored in the attribute structure.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_key_type_t psa_get_key_type(const psa_key_attributes_t *attributes);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Retrieve the key size from key attributes.
|
||||||
|
*
|
||||||
|
@@ -936,7 +940,9 @@ typedef struct psa_hash_operation_s psa_hash_operation_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a hash operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_hash_operation_t psa_hash_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Set up a multipart hash operation.
|
||||||
|
*
|
||||||
|
@@ -1295,7 +1301,9 @@ typedef struct psa_mac_operation_s psa_mac_operation_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a MAC operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_mac_operation_t psa_mac_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Set up a multipart MAC calculation operation.
|
||||||
|
*
|
||||||
|
@@ -1708,7 +1716,9 @@ typedef struct psa_cipher_operation_s psa_cipher_operation_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a cipher operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_cipher_operation_t psa_cipher_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Set the key for a multipart symmetric encryption operation.
|
||||||
|
*
|
||||||
|
@@ -2226,7 +2236,9 @@ typedef struct psa_aead_operation_s psa_aead_operation_t;
|
||||||
|
|
||||||
|
/** Return an initial value for an AEAD operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_aead_operation_t psa_aead_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Set the key for a multipart authenticated encryption operation.
|
||||||
|
*
|
||||||
|
@@ -3213,7 +3225,9 @@ typedef struct psa_key_derivation_s psa_key_derivation_operation_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a key derivation operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_key_derivation_operation_t psa_key_derivation_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Set up a key derivation operation.
|
||||||
|
*
|
||||||
|
diff --git a/thirdparty/mbedtls/include/psa/crypto_extra.h b/thirdparty/mbedtls/include/psa/crypto_extra.h
|
||||||
|
index 6ed1f6c43a..2686b9d74d 100644
|
||||||
|
--- a/thirdparty/mbedtls/include/psa/crypto_extra.h
|
||||||
|
+++ b/thirdparty/mbedtls/include/psa/crypto_extra.h
|
||||||
|
@@ -915,7 +915,9 @@ typedef struct psa_pake_cipher_suite_s psa_pake_cipher_suite_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a PAKE cipher suite object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_pake_cipher_suite_t psa_pake_cipher_suite_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Retrieve the PAKE algorithm from a PAKE cipher suite.
|
||||||
|
*
|
||||||
|
@@ -1048,7 +1050,9 @@ typedef struct psa_jpake_computation_stage_s psa_jpake_computation_stage_t;
|
||||||
|
|
||||||
|
/** Return an initial value for a PAKE operation object.
|
||||||
|
*/
|
||||||
|
+#if !(defined(__cplusplus) && defined(_MSC_VER))
|
||||||
|
static psa_pake_operation_t psa_pake_operation_init(void);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/** Get the length of the password in bytes from given inputs.
|
||||||
|
*
|
Loading…
Reference in a new issue