abi: Use dllexport for mingw builds

This should fix mingw exports, specifically hiding the following:
secp256k1_pre_g_128
secp256k1_pre_g
secp256k1_ecmult_gen_prec_table

This changes our visibility macros to look more like gcc's recommendation:
https://gcc.gnu.org/wiki/Visibility#How_to_use_the_new_C.2B-.2B-_visibility_support
This commit is contained in:
Cory Fields 2023-05-04 15:56:39 +00:00
parent f30c74866b
commit bc7c8db179

View File

@ -133,8 +133,9 @@ typedef int (*secp256k1_nonce_function)(
# define SECP256K1_NO_BUILD # define SECP256K1_NO_BUILD
#endif #endif
/* Symbol visibility. See libtool manual, section "Windows DLLs". */ /* Symbol visibility. See https://gcc.gnu.org/wiki/Visibility */
#if defined(_WIN32) && !defined(__GNUC__) /* DLL_EXPORT is defined internally for shared builds */
#if defined(_WIN32)
# ifdef SECP256K1_BUILD # ifdef SECP256K1_BUILD
# ifdef DLL_EXPORT # ifdef DLL_EXPORT
# define SECP256K1_API __declspec (dllexport) # define SECP256K1_API __declspec (dllexport)