Fix FC win32 compiling (secp256k1 related errors)
This commit is contained in:
parent
f7cf9abe55
commit
10e747409c
5 changed files with 58 additions and 47 deletions
|
|
@ -39,14 +39,14 @@ SET( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
|
||||||
|
|
||||||
|
|
||||||
IF( ECC_IMPL STREQUAL openssl )
|
IF( ECC_IMPL STREQUAL openssl )
|
||||||
SET( ECC_REST src/crypto/elliptic_impl_pub.cpp )
|
SET( ECC_REST src/crypto/elliptic_impl_pub.cpp )
|
||||||
ELSE( ECC_IMPL STREQUAL openssl )
|
ELSE( ECC_IMPL STREQUAL openssl )
|
||||||
SET( ECC_LIB secp256k1 )
|
SET( ECC_LIB secp256k1 )
|
||||||
IF( ECC_IMPL STREQUAL mixed )
|
IF( ECC_IMPL STREQUAL mixed )
|
||||||
SET( ECC_REST src/crypto/elliptic_impl_priv.cpp src/crypto/elliptic_impl_pub.cpp )
|
SET( ECC_REST src/crypto/elliptic_impl_priv.cpp src/crypto/elliptic_impl_pub.cpp )
|
||||||
ELSE( ECC_IMPL STREQUAL mixed )
|
ELSE( ECC_IMPL STREQUAL mixed )
|
||||||
SET( ECC_REST src/crypto/elliptic_impl_priv.cpp )
|
SET( ECC_REST src/crypto/elliptic_impl_priv.cpp )
|
||||||
ENDIF( ECC_IMPL STREQUAL mixed )
|
ENDIF( ECC_IMPL STREQUAL mixed )
|
||||||
ENDIF( ECC_IMPL STREQUAL openssl )
|
ENDIF( ECC_IMPL STREQUAL openssl )
|
||||||
|
|
||||||
# Configure secp256k1-zkp
|
# Configure secp256k1-zkp
|
||||||
|
|
@ -58,31 +58,40 @@ add_library( secp256k1 ${SECP256K1_SOURCES} )
|
||||||
|
|
||||||
target_include_directories( secp256k1 PRIVATE "${SECP256K1_DIR}" PUBLIC "${SECP256K1_DIR}/include" )
|
target_include_directories( secp256k1 PRIVATE "${SECP256K1_DIR}" PUBLIC "${SECP256K1_DIR}/include" )
|
||||||
|
|
||||||
# ***Will only work for Clang on 64-bit Mac/Linux***
|
|
||||||
set( SECP256K1_BUILD_DEFINES
|
|
||||||
HAVE_BUILTIN_CLZLL
|
|
||||||
HAVE_BUILTIN_EXPECT
|
|
||||||
HAVE_DLFCN_H
|
|
||||||
HAVE_INTTYPES_H
|
|
||||||
HAVE_LIBCRYPTO
|
|
||||||
HAVE_MEMORY_H
|
|
||||||
HAVE_STDINT_H
|
|
||||||
HAVE_STDLIB_H
|
|
||||||
HAVE_STRINGS_H
|
|
||||||
HAVE_STRING_H
|
|
||||||
HAVE_SYS_STAT_H
|
|
||||||
HAVE_SYS_TYPES_H
|
|
||||||
HAVE_UNISTD_H
|
|
||||||
HAVE___INT128
|
|
||||||
STDC_HEADERS
|
|
||||||
USE_FIELD_5X52
|
|
||||||
USE_FIELD_INV_BUILTIN
|
|
||||||
USE_NUM_NONE
|
|
||||||
USE_SCALAR_4X64
|
|
||||||
USE_SCALAR_INV_BUILTIN
|
|
||||||
)
|
|
||||||
set_target_properties( secp256k1 PROPERTIES COMPILE_DEFINITIONS "${SECP256K1_BUILD_DEFINES}" LINKER_LANGUAGE C )
|
|
||||||
|
|
||||||
|
if( WIN32 )
|
||||||
|
set( SECP256K1_BUILD_DEFINES
|
||||||
|
USE_FIELD_10X26
|
||||||
|
USE_FIELD_INV_BUILTIN
|
||||||
|
USE_NUM_NONE
|
||||||
|
USE_SCALAR_8X32
|
||||||
|
USE_SCALAR_INV_BUILTIN )
|
||||||
|
else()
|
||||||
|
# ***Will only work for Clang on 64-bit Mac/Linux***
|
||||||
|
set( SECP256K1_BUILD_DEFINES
|
||||||
|
HAVE_BUILTIN_CLZLL
|
||||||
|
HAVE_BUILTIN_EXPECT
|
||||||
|
HAVE_DLFCN_H
|
||||||
|
HAVE_INTTYPES_H
|
||||||
|
HAVE_LIBCRYPTO
|
||||||
|
HAVE_MEMORY_H
|
||||||
|
HAVE_STDINT_H
|
||||||
|
HAVE_STDLIB_H
|
||||||
|
HAVE_STRINGS_H
|
||||||
|
HAVE_STRING_H
|
||||||
|
HAVE_SYS_STAT_H
|
||||||
|
HAVE_SYS_TYPES_H
|
||||||
|
HAVE_UNISTD_H
|
||||||
|
HAVE___INT128
|
||||||
|
STDC_HEADERS
|
||||||
|
USE_FIELD_5X52
|
||||||
|
USE_FIELD_INV_BUILTIN
|
||||||
|
USE_NUM_NONE
|
||||||
|
USE_SCALAR_4X64
|
||||||
|
USE_SCALAR_INV_BUILTIN
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
set_target_properties( secp256k1 PROPERTIES COMPILE_DEFINITIONS "${SECP256K1_BUILD_DEFINES}" LINKER_LANGUAGE C )
|
||||||
# End configure secp256k1-zkp
|
# End configure secp256k1-zkp
|
||||||
|
|
||||||
IF( WIN32 )
|
IF( WIN32 )
|
||||||
|
|
@ -324,8 +333,10 @@ ENDIF()
|
||||||
add_executable( api tests/api.cpp )
|
add_executable( api tests/api.cpp )
|
||||||
target_link_libraries( api fc )
|
target_link_libraries( api fc )
|
||||||
|
|
||||||
add_executable( blind tests/blind.cpp )
|
if( ECC_IMPL STREQUAL secp256k1 )
|
||||||
target_link_libraries( blind fc )
|
add_executable( blind tests/blind.cpp )
|
||||||
|
target_link_libraries( blind fc )
|
||||||
|
endif()
|
||||||
|
|
||||||
include_directories( vendor/websocketpp )
|
include_directories( vendor/websocketpp )
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,10 @@ void _init_lib();
|
||||||
class private_key_impl
|
class private_key_impl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
private_key_impl() noexcept;
|
private_key_impl() BOOST_NOEXCEPT;
|
||||||
private_key_impl( const private_key_impl& cpy ) noexcept;
|
private_key_impl( const private_key_impl& cpy ) BOOST_NOEXCEPT;
|
||||||
|
|
||||||
private_key_impl& operator=( const private_key_impl& pk ) noexcept;
|
private_key_impl& operator=( const private_key_impl& pk ) BOOST_NOEXCEPT;
|
||||||
|
|
||||||
private_key_secret _key;
|
private_key_secret _key;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,18 +9,18 @@
|
||||||
namespace fc { namespace ecc {
|
namespace fc { namespace ecc {
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
private_key_impl::private_key_impl() noexcept
|
private_key_impl::private_key_impl() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
_init_lib();
|
_init_lib();
|
||||||
}
|
}
|
||||||
|
|
||||||
private_key_impl::private_key_impl( const private_key_impl& cpy ) noexcept
|
private_key_impl::private_key_impl( const private_key_impl& cpy ) BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
_init_lib();
|
_init_lib();
|
||||||
this->_key = cpy._key;
|
this->_key = cpy._key;
|
||||||
}
|
}
|
||||||
|
|
||||||
private_key_impl& private_key_impl::operator=( const private_key_impl& pk ) noexcept
|
private_key_impl& private_key_impl::operator=( const private_key_impl& pk ) BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
_key = pk._key;
|
_key = pk._key;
|
||||||
return *this;
|
return *this;
|
||||||
|
|
|
||||||
|
|
@ -29,12 +29,12 @@ namespace fc { namespace ecc {
|
||||||
class public_key_impl
|
class public_key_impl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
public_key_impl() noexcept
|
public_key_impl() BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
_init_lib();
|
_init_lib();
|
||||||
}
|
}
|
||||||
|
|
||||||
public_key_impl( const public_key_impl& cpy ) noexcept
|
public_key_impl( const public_key_impl& cpy ) BOOST_NOEXCEPT
|
||||||
: _key( cpy._key )
|
: _key( cpy._key )
|
||||||
{
|
{
|
||||||
_init_lib();
|
_init_lib();
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@
|
||||||
#include <fc/variant.hpp>
|
#include <fc/variant.hpp>
|
||||||
#include <fc/reflect/variant.hpp>
|
#include <fc/reflect/variant.hpp>
|
||||||
|
|
||||||
extern "C" {
|
//extern "C" {
|
||||||
#include <secp256k1.h>
|
//#include <secp256k1.h>
|
||||||
}
|
//}
|
||||||
//struct secp256k1_scalar_t { uint64_t v[4]; };
|
//struct secp256k1_scalar_t { uint64_t v[4]; };
|
||||||
//extern "C" { void secp256k1_scalar_get_b32(unsigned char *bin, const struct secp256k1_scalar_t* a); }
|
//extern "C" { void secp256k1_scalar_get_b32(unsigned char *bin, const struct secp256k1_scalar_t* a); }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue