Add secp256k1-zkp submodule

This commit is contained in:
Vikram Rajkumar 2015-06-13 13:39:43 -04:00
parent 488e1037d8
commit f7cf9abe55
4 changed files with 60 additions and 23 deletions

5
.gitmodules vendored
View file

@ -1,3 +1,6 @@
[submodule "vendor/secp256k1-zkp"]
path = vendor/secp256k1-zkp
url = https://github.com/ElementsProject/secp256k1-zkp.git
[submodule "vendor/websocketpp"] [submodule "vendor/websocketpp"]
path = vendor/websocketpp path = vendor/websocketpp
url = https://github.com/zaphoyd/websocketpp url = https://github.com/zaphoyd/websocketpp.git

View file

@ -49,6 +49,42 @@ 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
set( SECP256K1_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp" )
file( GLOB SECP256K1_SOURCES "${SECP256K1_DIR}/src/secp256k1.c" )
add_library( secp256k1 ${SECP256K1_SOURCES} )
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 )
# End configure secp256k1-zkp
IF( WIN32 ) IF( WIN32 )
MESSAGE(STATUS "Configuring fc to build on Win32") MESSAGE(STATUS "Configuring fc to build on Win32")
@ -194,8 +230,7 @@ set( fc_sources
vendor/salsa20/salsa20.s vendor/salsa20/salsa20.s
PROPERTY LANGUAGE C) PROPERTY LANGUAGE C)
file(GLOB_RECURSE fc_headers ${CMAKE_CURRENT_SOURCE_DIR} file( GLOB_RECURSE fc_headers ${CMAKE_CURRENT_SOURCE_DIR} *.hpp *.h )
*.hpp *.h)
set( sources set( sources
${fc_sources} ${fc_sources}
@ -260,13 +295,14 @@ target_include_directories(fc
"${readline_includes}" "${readline_includes}"
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
#${CMAKE_CURRENT_SOURCE_DIR}/vendor/scrypt-jane
${CMAKE_CURRENT_SOURCE_DIR}/vendor/cyoencode-1.0.2/src
${CMAKE_CURRENT_SOURCE_DIR}/vendor/boost_1.51/include ${CMAKE_CURRENT_SOURCE_DIR}/vendor/boost_1.51/include
${CMAKE_CURRENT_SOURCE_DIR}/vendor/salsa20 ${CMAKE_CURRENT_SOURCE_DIR}/vendor/cyoencode-1.0.2/src
${CMAKE_CURRENT_SOURCE_DIR}/vendor/easylzma/src ${CMAKE_CURRENT_SOURCE_DIR}/vendor/easylzma/src
${CMAKE_CURRENT_SOURCE_DIR}/vendor/salsa20
#${CMAKE_CURRENT_SOURCE_DIR}/vendor/scrypt-jane
${CMAKE_CURRENT_SOURCE_DIR}/vendor/udt4/src ${CMAKE_CURRENT_SOURCE_DIR}/vendor/udt4/src
${CMAKE_CURRENT_SOURCE_DIR}/vendor/websocketpp ${CMAKE_CURRENT_SOURCE_DIR}/vendor/websocketpp
${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
) )
#target_link_libraries( fc PUBLIC easylzma_static scrypt udt ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES} ${PLATFORM_SPECIFIC_LIBS} ${RPCRT4} ${CMAKE_DL_LIBS} ${rt_library} ${ECC_LIB} ) #target_link_libraries( fc PUBLIC easylzma_static scrypt udt ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES} ${PLATFORM_SPECIFIC_LIBS} ${RPCRT4} ${CMAKE_DL_LIBS} ${rt_library} ${ECC_LIB} )
@ -288,8 +324,8 @@ 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 ) add_executable( blind tests/blind.cpp )
#target_link_libraries( blind fc ) target_link_libraries( blind fc )
include_directories( vendor/websocketpp ) include_directories( vendor/websocketpp )
@ -435,4 +471,3 @@ ADD_CUSTOM_COMMAND(TARGET fc POST_BUILD ${POST_BUILD_STEP_COMMANDS}
) )
MESSAGE(STATUS "Finished fc module configuration...") MESSAGE(STATUS "Finished fc module configuration...")

View file

@ -5,8 +5,6 @@
#include <fc/reflect/variant.hpp> #include <fc/reflect/variant.hpp>
extern "C" { extern "C" {
#include </Users/dlarimer/Downloads/secp256k1-zkp/src/libsecp256k1-config.h>
#include </Users/dlarimer/Downloads/secp256k1-zkp/src/scalar.h>
#include <secp256k1.h> #include <secp256k1.h>
} }
//struct secp256k1_scalar_t { uint64_t v[4]; }; //struct secp256k1_scalar_t { uint64_t v[4]; };

1
vendor/secp256k1-zkp vendored Submodule

@ -0,0 +1 @@
Subproject commit bd067945ead3b514fba884abd0de95fc4b5db9ae