@@ -147,6 +147,15 @@ typedef int (*secp256k1_nonce_function)(
|
|||||||
* 1. If using Libtool, it defines DLL_EXPORT automatically.
|
* 1. If using Libtool, it defines DLL_EXPORT automatically.
|
||||||
* 2. In other cases, SECP256K1_DLL_EXPORT must be defined. */
|
* 2. In other cases, SECP256K1_DLL_EXPORT must be defined. */
|
||||||
# define SECP256K1_API extern __declspec (dllexport)
|
# define SECP256K1_API extern __declspec (dllexport)
|
||||||
|
# else
|
||||||
|
/* Building libsecp256k1 as a static library on Windows.
|
||||||
|
* No declspec is needed, and so we would want the non-Windows-specific
|
||||||
|
* logic below take care of this case. However, this may result in setting
|
||||||
|
* __attribute__ ((visibility("default"))), which is supposed to be a noop
|
||||||
|
* on Windows but may trigger warnings when compiling with -flto due to a
|
||||||
|
* bug in GCC, see
|
||||||
|
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116478 . */
|
||||||
|
# define SECP256K1_API extern
|
||||||
# endif
|
# endif
|
||||||
/* The user must define SECP256K1_STATIC when consuming libsecp256k1 as a static
|
/* The user must define SECP256K1_STATIC when consuming libsecp256k1 as a static
|
||||||
* library on Windows. */
|
* library on Windows. */
|
||||||
@@ -156,11 +165,12 @@ typedef int (*secp256k1_nonce_function)(
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef SECP256K1_API
|
#ifndef SECP256K1_API
|
||||||
|
/* All cases not captured by the Windows-specific logic. */
|
||||||
# if defined(__GNUC__) && (__GNUC__ >= 4) && defined(SECP256K1_BUILD)
|
# if defined(__GNUC__) && (__GNUC__ >= 4) && defined(SECP256K1_BUILD)
|
||||||
/* Building libsecp256k1 on non-Windows using GCC or compatible. */
|
/* Building libsecp256k1 using GCC or compatible. */
|
||||||
# define SECP256K1_API extern __attribute__ ((visibility ("default")))
|
# define SECP256K1_API extern __attribute__ ((visibility ("default")))
|
||||||
# else
|
# else
|
||||||
/* All cases not captured above. */
|
/* Fall back to standard C's extern. */
|
||||||
# define SECP256K1_API extern
|
# define SECP256K1_API extern
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user