diff options
| author | Aaron Clauson <aaron@sipsorcery.com> | 2017-10-18 21:18:08 +1100 |
|---|---|---|
| committer | Aaron Clauson <aaron@sipsorcery.com> | 2017-10-18 21:18:08 +1100 |
| commit | fc80d72089e1a12b1f8447dc91bbb0018437b141 (patch) | |
| tree | dda1288895ea89fe9acac1302b2532d2f7568412 | |
| parent | 2b41ebc75957d2e40036f52854af9f5cdd22b3a9 (diff) | |
| download | vcpkg-fc80d72089e1a12b1f8447dc91bbb0018437b141.tar.gz vcpkg-fc80d72089e1a12b1f8447dc91bbb0018437b141.zip | |
Port (cmake) for secp256k1 crypto project.
| -rw-r--r-- | ports/secp256k1/CMakeLists.txt | 26 | ||||
| -rw-r--r-- | ports/secp256k1/CONTROL | 3 | ||||
| -rw-r--r-- | ports/secp256k1/libsecp256k1-config.h | 29 | ||||
| -rw-r--r-- | ports/secp256k1/portfile.cmake | 31 |
4 files changed, 89 insertions, 0 deletions
diff --git a/ports/secp256k1/CMakeLists.txt b/ports/secp256k1/CMakeLists.txt new file mode 100644 index 000000000..708ff68fa --- /dev/null +++ b/ports/secp256k1/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.8) +project(secp256k1 C) + +option(INSTALL_HEADERS "Install header files" ON) + +add_definitions( + -DENABLE_MODULE_ECDH + -DENABLE_MODULE_RECOVERY + -DHAVE_CONFIG_H +) + +file(GLOB SOURCES src/secp256k1.c) +add_library(secp256k1 ${SOURCES}) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +install(TARGETS secp256k1 + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +if(INSTALL_HEADERS) + file(GLOB HEADERS include/*.h) + install(FILES ${HEADERS} DESTINATION include) +endif()
\ No newline at end of file diff --git a/ports/secp256k1/CONTROL b/ports/secp256k1/CONTROL new file mode 100644 index 000000000..0198cf1b8 --- /dev/null +++ b/ports/secp256k1/CONTROL @@ -0,0 +1,3 @@ +Source: secp256k1
+Version:
+Description: Optimized C library for EC operations on curve
diff --git a/ports/secp256k1/libsecp256k1-config.h b/ports/secp256k1/libsecp256k1-config.h new file mode 100644 index 000000000..693d3ed25 --- /dev/null +++ b/ports/secp256k1/libsecp256k1-config.h @@ -0,0 +1,29 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_BASIC_CONFIG_H +#define SECP256K1_BASIC_CONFIG_H + +#undef USE_ASM_X86_64 +#undef USE_ENDOMORPHISM +#undef USE_FIELD_10X26 +#undef USE_FIELD_5X52 +#undef USE_FIELD_INV_BUILTIN +#undef USE_FIELD_INV_NUM +#undef USE_NUM_GMP +#undef USE_NUM_NONE +#undef USE_SCALAR_4X64 +#undef USE_SCALAR_8X32 +#undef USE_SCALAR_INV_BUILTIN +#undef USE_SCALAR_INV_NUM + +#define USE_NUM_NONE 1 +#define USE_FIELD_INV_BUILTIN 1 +#define USE_SCALAR_INV_BUILTIN 1 +#define USE_FIELD_10X26 1 +#define USE_SCALAR_8X32 1 + +#endif /* SECP256K1_BASIC_CONFIG_H */ diff --git a/ports/secp256k1/portfile.cmake b/ports/secp256k1/portfile.cmake new file mode 100644 index 000000000..9ff3fff8f --- /dev/null +++ b/ports/secp256k1/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/secp256k1-0b7024185045a49a1a6a4c5615bf31c94f63d9c4/)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH "secp256k1"
+ REPO "bitcoin-core/secp256k1"
+ REF "0b7024185045a49a1a6a4c5615bf31c94f63d9c4"
+ SHA512 54e0c446ae63105800dfaf23dc934734f196c91f275db0455e58a36926c29ecc51a13d9b1eb2e45bc86199120c3c472ec7b39086787a49ce388a4df462a870bc
+)
+
+message("Copying config header to " ${SOURCE_PATH})
+
+file(COPY ${CURRENT_PORT_DIR}/libsecp256k1-config.h DESTINATION ${SOURCE_PATH})
+
+message(STATUS "Building")
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DINSTALL_HEADERS=OFF
+ OPTIONS_DEBUG
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/secp256k1 RENAME copyright)
|
