Compare commits
10 Commits
c1093aa33d
...
f9da5a30b5
Author | SHA1 | Date |
---|---|---|
dsc | f9da5a30b5 | 2 months ago |
dsc | 66c2b5d8ad | 5 months ago |
dsc | b2c9c6b2ae | 5 months ago |
dsc | dd1c07a58b | 5 months ago |
dsc | b1d3a27af9 | 6 months ago |
wowario | 276fd65f2a | 7 months ago |
j-berman | 1e38c3c508 | 7 months ago |
jeffro256 | 1cb536ff45 | 7 months ago |
tobtoht | 7737171b6c | 7 months ago |
selsta | 1b8475003c | 8 months ago |
@ -1,19 +1,12 @@
|
|||||||
[submodule "external/miniupnp"]
|
|
||||||
path = external/miniupnp
|
|
||||||
url = https://github.com/miniupnp/miniupnp
|
|
||||||
[submodule "external/rapidjson"]
|
|
||||||
path = external/rapidjson
|
|
||||||
url = https://github.com/Tencent/rapidjson
|
|
||||||
[submodule "external/trezor-common"]
|
[submodule "external/trezor-common"]
|
||||||
active = false
|
active = false
|
||||||
path = external/trezor-common
|
path = external/trezor-common
|
||||||
url = https://github.com/trezor/trezor-common.git
|
url = https://github.com/trezor/trezor-common.git
|
||||||
[submodule "external/supercop"]
|
[submodule "external/supercop"]
|
||||||
path = external/supercop
|
path = external/supercop
|
||||||
url = https://github.com/monero-project/supercop
|
url = https://git.wownero.com/dsc/supercop.git
|
||||||
branch = monero
|
branch = cmake-rewrite
|
||||||
[submodule "external/randomwow"]
|
[submodule "external/randomwow"]
|
||||||
path = external/randomwow
|
path = external/randomwow
|
||||||
url = https://git.wownero.com/wownero/RandomWOW
|
url = https://git.wownero.com/dsc/randomwow.git
|
||||||
branch = 1.1.10-wow
|
branch = cmake-rewrite
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,164 +0,0 @@
|
|||||||
# Portions Copyright (c) 2017-2022, The Monero Project
|
|
||||||
# This file is based off of the https://code.google.com/archive/p/ios-cmake/
|
|
||||||
# It has been altered for Monero iOS development
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Options:
|
|
||||||
#
|
|
||||||
# IOS_PLATFORM = OS (default) or SIMULATOR or SIMULATOR64
|
|
||||||
# This decides if SDKS will be selected from the iPhoneOS.platform or iPhoneSimulator.platform folders
|
|
||||||
# OS - the default, used to build for iPhone and iPad physical devices, which have an arm arch.
|
|
||||||
# SIMULATOR - used to build for the Simulator platforms, which have an x86 arch.
|
|
||||||
#
|
|
||||||
# CMAKE_IOS_DEVELOPER_ROOT = automatic(default) or /path/to/platform/Developer folder
|
|
||||||
# By default this location is automatcially chosen based on the IOS_PLATFORM value above.
|
|
||||||
# If set manually, it will override the default location and force the user of a particular Developer Platform
|
|
||||||
#
|
|
||||||
# CMAKE_IOS_SDK_ROOT = automatic(default) or /path/to/platform/Developer/SDKs/SDK folder
|
|
||||||
# By default this location is automatcially chosen based on the CMAKE_IOS_DEVELOPER_ROOT value.
|
|
||||||
# In this case it will always be the most up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path.
|
|
||||||
# If set manually, this will force the use of a specific SDK version
|
|
||||||
|
|
||||||
|
|
||||||
# Standard settings
|
|
||||||
set (CMAKE_SYSTEM_NAME Darwin)
|
|
||||||
set (CMAKE_SYSTEM_VERSION 1)
|
|
||||||
set (UNIX True)
|
|
||||||
set (APPLE True)
|
|
||||||
set (IOS True)
|
|
||||||
|
|
||||||
# Required as of cmake 2.8.10
|
|
||||||
set (CMAKE_OSX_DEPLOYMENT_TARGET "" CACHE STRING "Force unset of the deployment target for iOS" FORCE)
|
|
||||||
|
|
||||||
# Determine the cmake host system version so we know where to find the iOS SDKs
|
|
||||||
find_program (CMAKE_UNAME uname /bin /usr/bin /usr/local/bin)
|
|
||||||
if (CMAKE_UNAME)
|
|
||||||
exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
|
|
||||||
string (REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
|
|
||||||
endif (CMAKE_UNAME)
|
|
||||||
|
|
||||||
# Force the compilers to gcc for iOS
|
|
||||||
include (CMakeForceCompiler)
|
|
||||||
# set (MAKE_C_COMPILER "/usr/bin/gcc Apple")
|
|
||||||
# set (CMAKE_CXX_COMPILER "/usr/bin/g++ Apple")
|
|
||||||
set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
|
|
||||||
|
|
||||||
# Skip the platform compiler checks for cross compiling
|
|
||||||
set (CMAKE_CXX_COMPILER_WORKS TRUE)
|
|
||||||
set (CMAKE_C_COMPILER_WORKS TRUE)
|
|
||||||
|
|
||||||
# All iOS/Darwin specific settings - some may be redundant
|
|
||||||
set (CMAKE_SHARED_LIBRARY_PREFIX "lib")
|
|
||||||
set (CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
|
|
||||||
set (CMAKE_SHARED_MODULE_PREFIX "lib")
|
|
||||||
set (CMAKE_SHARED_MODULE_SUFFIX ".so")
|
|
||||||
set (CMAKE_MODULE_EXISTS 1)
|
|
||||||
set (CMAKE_DL_LIBS "")
|
|
||||||
|
|
||||||
set (CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
|
|
||||||
set (CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
|
|
||||||
set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
|
||||||
set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
|
||||||
|
|
||||||
# Hidden visibilty is required for cxx on iOS
|
|
||||||
set (CMAKE_C_FLAGS_INIT "")
|
|
||||||
set (CMAKE_CXX_FLAGS_INIT "-fvisibility=hidden -fvisibility-inlines-hidden")
|
|
||||||
|
|
||||||
set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
|
|
||||||
set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
|
|
||||||
|
|
||||||
set (CMAKE_PLATFORM_HAS_INSTALLNAME 1)
|
|
||||||
set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names")
|
|
||||||
set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")
|
|
||||||
set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
|
|
||||||
set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
|
|
||||||
set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
|
|
||||||
|
|
||||||
# Setup iOS platform unless specified manually with IOS_PLATFORM
|
|
||||||
if (NOT DEFINED IOS_PLATFORM)
|
|
||||||
set (IOS_PLATFORM "OS")
|
|
||||||
endif (NOT DEFINED IOS_PLATFORM)
|
|
||||||
set (IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform")
|
|
||||||
|
|
||||||
# Setup building for arm64 or not
|
|
||||||
if (NOT DEFINED BUILD_ARM64)
|
|
||||||
set (BUILD_ARM64 true)
|
|
||||||
endif (NOT DEFINED BUILD_ARM64)
|
|
||||||
set (BUILD_ARM64 ${BUILD_ARM64} CACHE STRING "Build arm64 arch or not")
|
|
||||||
|
|
||||||
# Check the platform selection and setup for developer root
|
|
||||||
if (${IOS_PLATFORM} STREQUAL "OS")
|
|
||||||
set (IOS_PLATFORM_LOCATION "iPhoneOS.platform")
|
|
||||||
|
|
||||||
# This causes the installers to properly locate the output libraries
|
|
||||||
set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos")
|
|
||||||
elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR")
|
|
||||||
set (SIMULATOR true)
|
|
||||||
set (IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
|
|
||||||
|
|
||||||
# This causes the installers to properly locate the output libraries
|
|
||||||
set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
|
|
||||||
elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR64")
|
|
||||||
set (SIMULATOR true)
|
|
||||||
set (IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
|
|
||||||
|
|
||||||
# This causes the installers to properly locate the output libraries
|
|
||||||
set (CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
|
|
||||||
else (${IOS_PLATFORM} STREQUAL "OS")
|
|
||||||
message (FATAL_ERROR "Unsupported IOS_PLATFORM value selected. Please choose OS or SIMULATOR")
|
|
||||||
endif (${IOS_PLATFORM} STREQUAL "OS")
|
|
||||||
|
|
||||||
# Setup iOS developer location unless specified manually with CMAKE_IOS_DEVELOPER_ROOT
|
|
||||||
# Note Xcode 4.3 changed the installation location, choose the most recent one available
|
|
||||||
exec_program(/usr/bin/xcode-select ARGS -print-path OUTPUT_VARIABLE CMAKE_XCODE_DEVELOPER_DIR)
|
|
||||||
set (XCODE_POST_43_ROOT "${CMAKE_XCODE_DEVELOPER_DIR}/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
|
||||||
set (XCODE_PRE_43_ROOT "/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
|
||||||
if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
|
||||||
if (EXISTS ${XCODE_POST_43_ROOT})
|
|
||||||
set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT})
|
|
||||||
elseif(EXISTS ${XCODE_PRE_43_ROOT})
|
|
||||||
set (CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT})
|
|
||||||
endif (EXISTS ${XCODE_POST_43_ROOT})
|
|
||||||
endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
|
||||||
set (CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT} CACHE PATH "Location of iOS Platform")
|
|
||||||
|
|
||||||
# Find and use the most recent iOS sdk unless specified manually with CMAKE_IOS_SDK_ROOT
|
|
||||||
if (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
|
||||||
file (GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*")
|
|
||||||
if (_CMAKE_IOS_SDKS)
|
|
||||||
list (SORT _CMAKE_IOS_SDKS)
|
|
||||||
list (REVERSE _CMAKE_IOS_SDKS)
|
|
||||||
list (GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT)
|
|
||||||
else (_CMAKE_IOS_SDKS)
|
|
||||||
message (FATAL_ERROR "No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}. Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.")
|
|
||||||
endif (_CMAKE_IOS_SDKS)
|
|
||||||
message (STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}")
|
|
||||||
endif (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
|
||||||
set (CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Location of the selected iOS SDK")
|
|
||||||
|
|
||||||
# Set the sysroot default to the most recent SDK
|
|
||||||
set (CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} CACHE PATH "Sysroot used for iOS support")
|
|
||||||
|
|
||||||
# set the architecture for iOS
|
|
||||||
if (NOT DEFINED ARCH)
|
|
||||||
set (ARCH armv7)
|
|
||||||
endif()
|
|
||||||
set (IOS_ARCH ${ARCH})
|
|
||||||
|
|
||||||
set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE string "Build architecture for iOS")
|
|
||||||
message(STATUS "ios arch: ${IOS_ARCH}")
|
|
||||||
|
|
||||||
# Set the find root to the iOS developer roots and to user defined paths
|
|
||||||
set (CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_IOS_SDK_ROOT} ${CMAKE_PREFIX_PATH} CACHE string "iOS find search path root")
|
|
||||||
|
|
||||||
# default to searching for frameworks first
|
|
||||||
set (CMAKE_FIND_FRAMEWORK FIRST)
|
|
||||||
|
|
||||||
# set up the default search directories for frameworks
|
|
||||||
set (CMAKE_SYSTEM_FRAMEWORK_PATH
|
|
||||||
${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks
|
|
||||||
${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks
|
|
||||||
${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks
|
|
||||||
)
|
|
||||||
|
|
||||||
message(STATUS "IOS CMAKE conf finished")
|
|
@ -1,14 +0,0 @@
|
|||||||
#ifdef __CLASSIC_C__
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
int ac;
|
|
||||||
char* av[];
|
|
||||||
#else
|
|
||||||
int main(int ac, char* av[])
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
if (ac > 1000) {
|
|
||||||
return *av[0];
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
include(CheckCCompilerFlag)
|
|
||||||
|
|
||||||
macro(CHECK_LINKER_FLAG flag VARIABLE)
|
|
||||||
if(NOT DEFINED "${VARIABLE}")
|
|
||||||
if(NOT CMAKE_REQUIRED_QUIET)
|
|
||||||
message(STATUS "Looking for ${flag} linker flag")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_cle_source ${CMAKE_SOURCE_DIR}/cmake/CheckLinkerFlag.c)
|
|
||||||
|
|
||||||
set(saved_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
|
||||||
set(CMAKE_C_FLAGS "${flag}")
|
|
||||||
try_compile(${VARIABLE}
|
|
||||||
${CMAKE_BINARY_DIR}
|
|
||||||
${_cle_source}
|
|
||||||
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${flag}
|
|
||||||
CMAKE_FLAGS
|
|
||||||
"-DCMAKE_EXE_LINKER_FLAGS=${flag}"
|
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
|
||||||
unset(_cle_source)
|
|
||||||
set(CMAKE_C_FLAGS ${saved_CMAKE_C_FLAGS})
|
|
||||||
unset(saved_CMAKE_C_FLAGS)
|
|
||||||
|
|
||||||
if ("${OUTPUT}" MATCHES "warning.*ignored")
|
|
||||||
set(${VARIABLE} 0)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(${VARIABLE})
|
|
||||||
if(NOT CMAKE_REQUIRED_QUIET)
|
|
||||||
message(STATUS "Looking for ${flag} linker flag - found")
|
|
||||||
endif()
|
|
||||||
set(${VARIABLE} 1 CACHE INTERNAL "Have linker flag ${flag}")
|
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
|
||||||
"Determining if the ${flag} linker flag is supported "
|
|
||||||
"passed with the following output:\n"
|
|
||||||
"${OUTPUT}\n\n")
|
|
||||||
else()
|
|
||||||
if(NOT CMAKE_REQUIRED_QUIET)
|
|
||||||
message(STATUS "Looking for ${flag} linker flag - not found")
|
|
||||||
endif()
|
|
||||||
set(${VARIABLE} "" CACHE INTERNAL "Have linker flag ${flag}")
|
|
||||||
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
|
||||||
"Determining if the ${flag} linker flag is supported "
|
|
||||||
"failed with the following output:\n"
|
|
||||||
"${OUTPUT}\n\n")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
@ -1,181 +0,0 @@
|
|||||||
OPTION(USE_DEVICE_TREZOR "Trezor support compilation" ON)
|
|
||||||
OPTION(USE_DEVICE_TREZOR_LIBUSB "Trezor LibUSB compilation" ON)
|
|
||||||
OPTION(USE_DEVICE_TREZOR_UDP_RELEASE "Trezor UdpTransport in release mode" OFF)
|
|
||||||
OPTION(USE_DEVICE_TREZOR_DEBUG "Trezor Debugging enabled" OFF)
|
|
||||||
OPTION(TREZOR_DEBUG "Main trezor debugging switch" OFF)
|
|
||||||
|
|
||||||
# Helper function to fix cmake < 3.6.0 FindProtobuf variables
|
|
||||||
function(_trezor_protobuf_fix_vars)
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.6.0")
|
|
||||||
foreach(UPPER
|
|
||||||
PROTOBUF_SRC_ROOT_FOLDER
|
|
||||||
PROTOBUF_IMPORT_DIRS
|
|
||||||
PROTOBUF_DEBUG
|
|
||||||
PROTOBUF_LIBRARY
|
|
||||||
PROTOBUF_PROTOC_LIBRARY
|
|
||||||
PROTOBUF_INCLUDE_DIR
|
|
||||||
PROTOBUF_PROTOC_EXECUTABLE
|
|
||||||
PROTOBUF_LIBRARY_DEBUG
|
|
||||||
PROTOBUF_PROTOC_LIBRARY_DEBUG
|
|
||||||
PROTOBUF_LITE_LIBRARY
|
|
||||||
PROTOBUF_LITE_LIBRARY_DEBUG
|
|
||||||
)
|
|
||||||
if (DEFINED ${UPPER})
|
|
||||||
string(REPLACE "PROTOBUF_" "Protobuf_" Camel ${UPPER})
|
|
||||||
if (NOT DEFINED ${Camel})
|
|
||||||
set(${Camel} ${${UPPER}} PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# Use Trezor master switch
|
|
||||||
if (USE_DEVICE_TREZOR)
|
|
||||||
# Protobuf is required to build protobuf messages for Trezor
|
|
||||||
include(FindProtobuf OPTIONAL)
|
|
||||||
find_package(Protobuf)
|
|
||||||
_trezor_protobuf_fix_vars()
|
|
||||||
|
|
||||||
# Protobuf handling the cache variables set in docker.
|
|
||||||
if(NOT Protobuf_FOUND AND NOT Protobuf_LIBRARY AND NOT Protobuf_PROTOC_EXECUTABLE AND NOT Protobuf_INCLUDE_DIR)
|
|
||||||
message(STATUS "Could not find Protobuf")
|
|
||||||
elseif(NOT Protobuf_LIBRARY OR NOT EXISTS "${Protobuf_LIBRARY}")
|
|
||||||
message(STATUS "Protobuf library not found: ${Protobuf_LIBRARY}")
|
|
||||||
unset(Protobuf_FOUND)
|
|
||||||
elseif(NOT Protobuf_PROTOC_EXECUTABLE OR NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
|
|
||||||
message(STATUS "Protobuf executable not found: ${Protobuf_PROTOC_EXECUTABLE}")
|
|
||||||
unset(Protobuf_FOUND)
|
|
||||||
elseif(NOT Protobuf_INCLUDE_DIR OR NOT EXISTS "${Protobuf_INCLUDE_DIR}")
|
|
||||||
message(STATUS "Protobuf include dir not found: ${Protobuf_INCLUDE_DIR}")
|
|
||||||
unset(Protobuf_FOUND)
|
|
||||||
else()
|
|
||||||
message(STATUS "Protobuf lib: ${Protobuf_LIBRARY}, inc: ${Protobuf_INCLUDE_DIR}, protoc: ${Protobuf_PROTOC_EXECUTABLE}")
|
|
||||||
set(Protobuf_INCLUDE_DIRS ${Protobuf_INCLUDE_DIR})
|
|
||||||
set(Protobuf_FOUND 1) # override found if all rquired info was provided by variables
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(TREZOR_DEBUG)
|
|
||||||
set(USE_DEVICE_TREZOR_DEBUG 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Compile debugging support (for tests)
|
|
||||||
if (USE_DEVICE_TREZOR_DEBUG)
|
|
||||||
add_definitions(-DWITH_TREZOR_DEBUGGING=1)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
message(STATUS "Trezor support disabled by USE_DEVICE_TREZOR")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(Protobuf_FOUND AND USE_DEVICE_TREZOR)
|
|
||||||
if (NOT "$ENV{TREZOR_PYTHON}" STREQUAL "")
|
|
||||||
set(TREZOR_PYTHON "$ENV{TREZOR_PYTHON}" CACHE INTERNAL "Copied from environment variable TREZOR_PYTHON")
|
|
||||||
else()
|
|
||||||
find_package(Python QUIET COMPONENTS Interpreter) # cmake 3.12+
|
|
||||||
if(Python_Interpreter_FOUND)
|
|
||||||
set(TREZOR_PYTHON "${Python_EXECUTABLE}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT TREZOR_PYTHON)
|
|
||||||
find_package(PythonInterp)
|
|
||||||
if(PYTHONINTERP_FOUND AND PYTHON_EXECUTABLE)
|
|
||||||
set(TREZOR_PYTHON "${PYTHON_EXECUTABLE}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT TREZOR_PYTHON)
|
|
||||||
message(STATUS "Trezor: Python not found")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Protobuf compilation test
|
|
||||||
if(Protobuf_FOUND AND USE_DEVICE_TREZOR AND TREZOR_PYTHON)
|
|
||||||
execute_process(COMMAND ${Protobuf_PROTOC_EXECUTABLE} -I "${CMAKE_CURRENT_LIST_DIR}" -I "${Protobuf_INCLUDE_DIR}" "${CMAKE_CURRENT_LIST_DIR}/test-protobuf.proto" --cpp_out ${CMAKE_BINARY_DIR} RESULT_VARIABLE RET OUTPUT_VARIABLE OUT ERROR_VARIABLE ERR)
|
|
||||||
if(RET)
|
|
||||||
message(STATUS "Protobuf test generation failed: ${OUT} ${ERR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
try_compile(Protobuf_COMPILE_TEST_PASSED
|
|
||||||
"${CMAKE_BINARY_DIR}"
|
|
||||||
SOURCES
|
|
||||||
"${CMAKE_BINARY_DIR}/test-protobuf.pb.cc"
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/test-protobuf.cpp"
|
|
||||||
CMAKE_FLAGS
|
|
||||||
"-DINCLUDE_DIRECTORIES=${Protobuf_INCLUDE_DIR};${CMAKE_BINARY_DIR}"
|
|
||||||
"-DCMAKE_CXX_STANDARD=11"
|
|
||||||
LINK_LIBRARIES ${Protobuf_LIBRARY}
|
|
||||||
OUTPUT_VARIABLE OUTPUT
|
|
||||||
)
|
|
||||||
if(NOT Protobuf_COMPILE_TEST_PASSED)
|
|
||||||
message(STATUS "Protobuf Compilation test failed: ${OUTPUT}.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Try to build protobuf messages
|
|
||||||
if(Protobuf_FOUND AND USE_DEVICE_TREZOR AND TREZOR_PYTHON AND Protobuf_COMPILE_TEST_PASSED)
|
|
||||||
set(ENV{PROTOBUF_INCLUDE_DIRS} "${Protobuf_INCLUDE_DIR}")
|
|
||||||
set(ENV{PROTOBUF_PROTOC_EXECUTABLE} "${Protobuf_PROTOC_EXECUTABLE}")
|
|
||||||
set(TREZOR_PROTOBUF_PARAMS "")
|
|
||||||
if (USE_DEVICE_TREZOR_DEBUG)
|
|
||||||
set(TREZOR_PROTOBUF_PARAMS "--debug")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
execute_process(COMMAND ${TREZOR_PYTHON} tools/build_protob.py ${TREZOR_PROTOBUF_PARAMS} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../src/device_trezor/trezor RESULT_VARIABLE RET OUTPUT_VARIABLE OUT ERROR_VARIABLE ERR)
|
|
||||||
if(RET)
|
|
||||||
message(WARNING "Trezor protobuf messages could not be regenerated (err=${RET}, python ${PYTHON})."
|
|
||||||
"OUT: ${OUT}, ERR: ${ERR}."
|
|
||||||
"Please read src/device_trezor/trezor/tools/README.md")
|
|
||||||
else()
|
|
||||||
message(STATUS "Trezor protobuf messages regenerated out: \"${OUT}.\"")
|
|
||||||
set(DEVICE_TREZOR_READY 1)
|
|
||||||
add_definitions(-DDEVICE_TREZOR_READY=1)
|
|
||||||
add_definitions(-DPROTOBUF_INLINE_NOT_IN_HEADERS=0)
|
|
||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
add_definitions(-DTREZOR_DEBUG=1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(USE_DEVICE_TREZOR_UDP_RELEASE)
|
|
||||||
add_definitions(-DUSE_DEVICE_TREZOR_UDP_RELEASE=1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (Protobuf_INCLUDE_DIR)
|
|
||||||
include_directories(${Protobuf_INCLUDE_DIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# LibUSB support, check for particular version
|
|
||||||
# Include support only if compilation test passes
|
|
||||||
if (USE_DEVICE_TREZOR_LIBUSB)
|
|
||||||
find_package(LibUSB)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LibUSB_COMPILE_TEST_PASSED)
|
|
||||||
add_definitions(-DHAVE_TREZOR_LIBUSB=1)
|
|
||||||
if(LibUSB_INCLUDE_DIRS)
|
|
||||||
include_directories(${LibUSB_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(TREZOR_LIBUSB_LIBRARIES "")
|
|
||||||
if(LibUSB_COMPILE_TEST_PASSED)
|
|
||||||
list(APPEND TREZOR_LIBUSB_LIBRARIES ${LibUSB_LIBRARIES} ${LIBUSB_DEP_LINKER})
|
|
||||||
message(STATUS "Trezor compatible LibUSB found at: ${LibUSB_INCLUDE_DIRS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (BUILD_GUI_DEPS)
|
|
||||||
set(TREZOR_DEP_LIBS "")
|
|
||||||
set(TREZOR_DEP_LINKER "")
|
|
||||||
|
|
||||||
if (Protobuf_LIBRARY)
|
|
||||||
list(APPEND TREZOR_DEP_LIBS ${Protobuf_LIBRARY})
|
|
||||||
string(APPEND TREZOR_DEP_LINKER " -lprotobuf")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (TREZOR_LIBUSB_LIBRARIES)
|
|
||||||
list(APPEND TREZOR_DEP_LIBS ${TREZOR_LIBUSB_LIBRARIES})
|
|
||||||
string(APPEND TREZOR_DEP_LINKER " -lusb-1.0 ${LIBUSB_DEP_LINKER}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
|||||||
/* increase vertical space */
|
|
||||||
#titlearea, #nav-path {
|
|
||||||
display: none;
|
|
||||||
height: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* uncomment these lines for some extra vertical space */
|
|
||||||
|
|
||||||
/*
|
|
||||||
.tablist li {
|
|
||||||
line-height: 26px;
|
|
||||||
}
|
|
||||||
*/
|
|
@ -0,0 +1,104 @@
|
|||||||
|
#[=======================================================================[.rst:
|
||||||
|
FindLibunbound
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Find the Libunbound library
|
||||||
|
|
||||||
|
Imported targets
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This module defines the following :prop_tgt:`IMPORTED` targets:
|
||||||
|
|
||||||
|
``Libunbound::Libunbound``
|
||||||
|
The Libunbound library, if found.
|
||||||
|
|
||||||
|
Result variables
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This module will set the following variables in your project:
|
||||||
|
|
||||||
|
``Libunbound_FOUND``
|
||||||
|
If false, do not try to use Libunbound.
|
||||||
|
``LIBUNBOUND_INCLUDE_DIR``
|
||||||
|
where to find libunbound headers.
|
||||||
|
``LIBUNBOUND_LIBRARIES``
|
||||||
|
the libraries needed to use Libunbound.
|
||||||
|
``LIBUNBOUND_VERSION``
|
||||||
|
the version of the Libunbound library found
|
||||||
|
|
||||||
|
#]=======================================================================]
|
||||||
|
|
||||||
|
find_package(PkgConfig QUIET)
|
||||||
|
if (PKG_CONFIG_FOUND)
|
||||||
|
pkg_check_modules(PkgLibunbound IMPORTED_TARGET GLOBAL QUIET libunbound)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (PkgLibunbound_FOUND)
|
||||||
|
set(LIBUNBOUND_INCLUDE_DIR ${PkgLibunbound_INCLUDE_DIRS} CACHE FILEPATH "libunbound include path")
|
||||||
|
set(LIBUNBOUND_LIBRARIES ${PkgLibunbound_LIBRARIES} CACHE STRING "libunbound libraries")
|
||||||
|
set(LIBUNBOUND_VERSION ${PkgLibunbound_VERSION})
|
||||||
|
add_library(Libunbound::Libunbound ALIAS PkgConfig::PkgLibunbound)
|
||||||
|
set(Libunbound_FOUND ON)
|
||||||
|
else ()
|
||||||
|
find_path(LIBUNBOUND_INCLUDE_DIR unbound.h
|
||||||
|
HINTS
|
||||||
|
"${LIBUNBOUND_DIR}"
|
||||||
|
"${LIBUNBOUND_DIR}/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(LIBUNBOUND_LIBRARY NAMES unbound
|
||||||
|
HINTS
|
||||||
|
"${LIBUNBOUND_DIR}"
|
||||||
|
"${LIBUNBOUND_DIR}/lib"
|
||||||
|
)
|
||||||
|
|
||||||
|
set(_LIBUNBOUND_LIBRARIES "")
|
||||||
|
|
||||||
|
if (UNIX)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
|
||||||
|
list(APPEND _LIBUNBOUND_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
||||||
|
list(APPEND _LIBUNBOUND_LIBRARIES "${OPENSSL_LIBRARIES}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (LIBUNBOUND_INCLUDE_DIR AND LIBUNBOUND_LIBRARY)
|
||||||
|
if (NOT TARGET Libunbound::Libunbound)
|
||||||
|
add_library(Libunbound::Libunbound UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(Libunbound::Libunbound PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${LIBUNBOUND_INCLUDE_DIR}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${LIBUNBOUND_LIBRARY}"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX AND TARGET Threads::Threads)
|
||||||
|
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
||||||
|
INTERFACE_LINK_LIBRARIES Threads::Threads)
|
||||||
|
endif ()
|
||||||
|
if(UNIX AND TARGET OpenSSL::SSL)
|
||||||
|
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
||||||
|
INTERFACE_LINK_LIBRARIES OpenSSL::SSL)
|
||||||
|
endif ()
|
||||||
|
if(UNIX AND TARGET OpenSSL::Crypto)
|
||||||
|
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
||||||
|
INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT LIBUNBOUND_VERSION AND LIBUNBOUND_INCLUDE_DIR AND EXISTS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h")
|
||||||
|
file(STRINGS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h" LIBUNBOUND_H REGEX "^#define UNBOUND_VERSION_M[A-Z]+")
|
||||||
|
string(REGEX REPLACE "^.*MAJOR ([0-9]+).*MINOR ([0-9]+).*MICRO ([0-9]+).*$" "\\1.\\2.\\3" LIBUNBOUND_VERSION "${LIBUNBOUND_H}")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
list(APPEND _LIBUNBOUND_LIBRARIES "${LIBUNBOUND_LIBRARY}")
|
||||||
|
set(LIBUNBOUND_LIBRARIES ${_LIBUNBOUND_LIBRARIES} CACHE STRING "libunbound libraries")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Libunbound
|
||||||
|
REQUIRED_VARS LIBUNBOUND_LIBRARIES LIBUNBOUND_INCLUDE_DIR
|
||||||
|
VERSION_VAR LIBUNBOUND_VERSION
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
mark_as_advanced(LIBUNBOUND_INCLUDE_DIR LIBUNBOUND_LIBRARIES LIBUNBOUND_LIBRARY)
|
@ -1,40 +0,0 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
# permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer.
|
|
||||||
#
|
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
# of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
# materials provided with the distribution.
|
|
||||||
#
|
|
||||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
# used to endorse or promote products derived from this software without specific
|
|
||||||
# prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
MESSAGE(STATUS "Looking for libunbound")
|
|
||||||
|
|
||||||
FIND_PATH(UNBOUND_INCLUDE_DIR
|
|
||||||
NAMES unbound.h
|
|
||||||
PATH_SUFFIXES include/ include/unbound/
|
|
||||||
PATHS "${PROJECT_SOURCE_DIR}"
|
|
||||||
${UNBOUND_ROOT}
|
|
||||||
$ENV{UNBOUND_ROOT}
|
|
||||||
/usr/local/
|
|
||||||
/usr/
|
|
||||||
)
|
|
||||||
|
|
||||||
find_library(UNBOUND_LIBRARIES unbound)
|
|
@ -0,0 +1,17 @@
|
|||||||
|
# - Try to find ZMQ
|
||||||
|
# Once done this will define
|
||||||
|
# ZMQ_FOUND - System has ZMQ
|
||||||
|
# ZMQ_INCLUDE_DIRS - The ZMQ include directories
|
||||||
|
# ZMQ_LIBRARIES - The libraries needed to use ZMQ
|
||||||
|
# ZMQ_DEFINITIONS - Compiler switches required for using ZMQ
|
||||||
|
|
||||||
|
find_path ( ZMQ_INCLUDE_DIR zmq.h )
|
||||||
|
find_library ( ZMQ_LIBRARY NAMES zmq )
|
||||||
|
|
||||||
|
set ( ZMQ_LIBRARIES ${ZMQ_LIBRARY} )
|
||||||
|
set ( ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR} )
|
||||||
|
|
||||||
|
include ( FindPackageHandleStandardArgs )
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set ZMQ_FOUND to TRUE
|
||||||
|
# if all listed variables are TRUE
|
||||||
|
find_package_handle_standard_args ( ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR )
|
@ -0,0 +1,291 @@
|
|||||||
|
# Written in 2016 by Henrik Steffen Gaßmann <henrik@gassmann.onl>
|
||||||
|
#
|
||||||
|
# To the extent possible under law, the author(s) have dedicated all copyright
|
||||||
|
# and related and neighboring rights to this software to the public domain
|
||||||
|
# worldwide. This software is distributed without any warranty.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the CC0 Public Domain Dedication along with
|
||||||
|
# this software. If not, see
|
||||||
|
#
|
||||||
|
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
#
|
||||||
|
# ##############################################################################
|
||||||
|
# Tries to find the local libsodium installation.
|
||||||
|
#
|
||||||
|
# On Windows the sodium_DIR environment variable is used as a default hint which
|
||||||
|
# can be overridden by setting the corresponding cmake variable.
|
||||||
|
#
|
||||||
|
# Once done the following variables will be defined:
|
||||||
|
#
|
||||||
|
# sodium_FOUND sodium_INCLUDE_DIR sodium_LIBRARY_DEBUG sodium_LIBRARY_RELEASE
|
||||||
|
# sodium_VERSION_STRING
|
||||||
|
#
|
||||||
|
# Furthermore an imported "sodium" target is created.
|
||||||
|
#
|
||||||
|
|
||||||
|
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||||
|
set(_GCC_COMPATIBLE 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# static library option
|
||||||
|
if(NOT DEFINED sodium_USE_STATIC_LIBS)
|
||||||
|
option(sodium_USE_STATIC_LIBS "enable to statically link against sodium" OFF)
|
||||||
|
endif()
|
||||||
|
if(NOT (sodium_USE_STATIC_LIBS EQUAL sodium_USE_STATIC_LIBS_LAST))
|
||||||
|
unset(sodium_LIBRARY CACHE)
|
||||||
|
unset(sodium_LIBRARY_DEBUG CACHE)
|
||||||
|
unset(sodium_LIBRARY_RELEASE CACHE)
|
||||||
|
unset(sodium_DLL_DEBUG CACHE)
|
||||||
|
unset(sodium_DLL_RELEASE CACHE)
|
||||||
|
set(sodium_USE_STATIC_LIBS_LAST
|
||||||
|
${sodium_USE_STATIC_LIBS}
|
||||||
|
CACHE INTERNAL "internal change tracking variable")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# ##############################################################################
|
||||||
|
# UNIX
|
||||||
|
if(UNIX)
|
||||||
|
# import pkg-config
|
||||||
|
find_package(PkgConfig QUIET)
|
||||||
|
if(PKG_CONFIG_FOUND)
|
||||||
|
pkg_check_modules(sodium_PKG QUIET libsodium)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(sodium_USE_STATIC_LIBS)
|
||||||
|
if(sodium_PKG_STATIC_LIBRARIES)
|
||||||
|
foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
|
||||||
|
if(NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending
|
||||||
|
# with .a
|
||||||
|
list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
|
||||||
|
else()
|
||||||
|
# if pkgconfig for libsodium doesn't provide static lib info, then
|
||||||
|
# override PKG_STATIC here..
|
||||||
|
set(sodium_PKG_STATIC_LIBRARIES libsodium.a)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(XPREFIX sodium_PKG_STATIC)
|
||||||
|
else()
|
||||||
|
if(sodium_PKG_LIBRARIES STREQUAL "")
|
||||||
|
set(sodium_PKG_LIBRARIES sodium)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(XPREFIX sodium_PKG)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_path(sodium_INCLUDE_DIR sodium.h HINTS ${${XPREFIX}_INCLUDE_DIRS})
|
||||||
|
find_library(sodium_LIBRARY_DEBUG
|
||||||
|
NAMES ${${XPREFIX}_LIBRARIES}
|
||||||
|
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
||||||
|
find_library(sodium_LIBRARY_RELEASE
|
||||||
|
NAMES ${${XPREFIX}_LIBRARIES}
|
||||||
|
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
||||||
|
|
||||||
|
# ############################################################################
|
||||||
|
# Windows
|
||||||
|
elseif(WIN32)
|
||||||
|
set(sodium_DIR "$ENV{sodium_DIR}" CACHE FILEPATH "sodium install directory")
|
||||||
|
mark_as_advanced(sodium_DIR)
|
||||||
|
|
||||||
|
find_path(sodium_INCLUDE_DIR sodium.h
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES include)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
# detect target architecture
|
||||||
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[
|
||||||
|
#if defined _M_IX86
|
||||||
|
#error ARCH_VALUE x86_32
|
||||||
|
#elif defined _M_X64
|
||||||
|
#error ARCH_VALUE x86_64
|
||||||
|
#endif
|
||||||
|
#error ARCH_VALUE unknown
|
||||||
|
]=])
|
||||||
|
try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/arch.c"
|
||||||
|
OUTPUT_VARIABLE _COMPILATION_LOG)
|
||||||
|
string(REGEX
|
||||||
|
REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*"
|
||||||
|
"\\1"
|
||||||
|
_TARGET_ARCH
|
||||||
|
"${_COMPILATION_LOG}")
|
||||||
|
|
||||||
|
# construct library path
|
||||||
|
if(_TARGET_ARCH STREQUAL "x86_32")
|
||||||
|
string(APPEND _PLATFORM_PATH "Win32")
|
||||||
|
elseif(_TARGET_ARCH STREQUAL "x86_64")
|
||||||
|
string(APPEND _PLATFORM_PATH "x64")
|
||||||
|
else()
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
"the ${_TARGET_ARCH} architecture is not supported by Findsodium.cmake."
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
string(APPEND _PLATFORM_PATH "/$$CONFIG$$")
|
||||||
|
|
||||||
|
if(MSVC_VERSION LESS 1900)
|
||||||
|
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 60")
|
||||||
|
else()
|
||||||
|
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 50")
|
||||||
|
endif()
|
||||||
|
string(APPEND _PLATFORM_PATH "/v${_VS_VERSION}")
|
||||||
|
|
||||||
|
if(sodium_USE_STATIC_LIBS)
|
||||||
|
string(APPEND _PLATFORM_PATH "/static")
|
||||||
|
else()
|
||||||
|
string(APPEND _PLATFORM_PATH "/dynamic")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
string(REPLACE "$$CONFIG$$"
|
||||||
|
"Debug"
|
||||||
|
_DEBUG_PATH_SUFFIX
|
||||||
|
"${_PLATFORM_PATH}")
|
||||||
|
string(REPLACE "$$CONFIG$$"
|
||||||
|
"Release"
|
||||||
|
_RELEASE_PATH_SUFFIX
|
||||||
|
"${_PLATFORM_PATH}")
|
||||||
|
|
||||||
|
find_library(sodium_LIBRARY_DEBUG libsodium.lib
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
||||||
|
find_library(sodium_LIBRARY_RELEASE libsodium.lib
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
||||||
|
if(NOT sodium_USE_STATIC_LIBS)
|
||||||
|
set(CMAKE_FIND_LIBRARY_SUFFIXES_BCK ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
|
||||||
|
find_library(sodium_DLL_DEBUG libsodium
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
||||||
|
find_library(sodium_DLL_RELEASE libsodium
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
||||||
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BCK})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
elseif(_GCC_COMPATIBLE)
|
||||||
|
if(sodium_USE_STATIC_LIBS)
|
||||||
|
find_library(sodium_LIBRARY_DEBUG libsodium.a
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES lib)
|
||||||
|
find_library(sodium_LIBRARY_RELEASE libsodium.a
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES lib)
|
||||||
|
else()
|
||||||
|
find_library(sodium_LIBRARY_DEBUG libsodium.dll.a
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES lib)
|
||||||
|
find_library(sodium_LIBRARY_RELEASE libsodium.dll.a
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES lib)
|
||||||
|
|
||||||
|
file(GLOB _DLL
|
||||||
|
LIST_DIRECTORIES false
|
||||||
|
RELATIVE "${sodium_DIR}/bin"
|
||||||
|
"${sodium_DIR}/bin/libsodium*.dll")
|
||||||
|
find_library(sodium_DLL_DEBUG ${_DLL} libsodium
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES bin)
|
||||||
|
find_library(sodium_DLL_RELEASE ${_DLL} libsodium
|
||||||
|
HINTS ${sodium_DIR}
|
||||||
|
PATH_SUFFIXES bin)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# ############################################################################
|
||||||
|
# unsupported
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# ##############################################################################
|
||||||
|
# common stuff
|
||||||
|
|
||||||
|
# extract sodium version
|
||||||
|
if(sodium_INCLUDE_DIR)
|
||||||
|
set(_VERSION_HEADER "${sodium_INCLUDE_DIR}/sodium/version.h")
|
||||||
|
if(EXISTS "${_VERSION_HEADER}")
|
||||||
|
file(READ "${_VERSION_HEADER}" _VERSION_HEADER_CONTENT)
|
||||||
|
string(REGEX
|
||||||
|
REPLACE ".*define[ \t]+SODIUM_VERSION_STRING[^\"]+\"([^\"]+)\".*"
|
||||||
|
"\\1"
|
||||||
|
sodium_VERSION_STRING
|
||||||
|
"${_VERSION_HEADER_CONTENT}")
|
||||||
|
set(sodium_VERSION_STRING "${sodium_VERSION_STRING}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# communicate results
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(sodium
|
||||||
|
REQUIRED_VARS
|
||||||
|
sodium_LIBRARY_RELEASE
|
||||||
|
sodium_LIBRARY_DEBUG
|
||||||
|
sodium_INCLUDE_DIR
|
||||||
|
VERSION_VAR
|
||||||
|
sodium_VERSION_STRING)
|
||||||
|
|
||||||
|
# mark file paths as advanced
|
||||||
|
mark_as_advanced(sodium_INCLUDE_DIR)
|
||||||
|
mark_as_advanced(sodium_LIBRARY_DEBUG)
|
||||||
|
mark_as_advanced(sodium_LIBRARY_RELEASE)
|
||||||
|
if(WIN32)
|
||||||
|
mark_as_advanced(sodium_DLL_DEBUG)
|
||||||
|
mark_as_advanced(sodium_DLL_RELEASE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# create imported target
|
||||||
|
if(sodium_USE_STATIC_LIBS)
|
||||||
|
set(_LIB_TYPE STATIC)
|
||||||
|
else()
|
||||||
|
set(_LIB_TYPE SHARED)
|
||||||
|
endif()
|
||||||
|
add_library(sodium ${_LIB_TYPE} IMPORTED)
|
||||||
|
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
"${sodium_INCLUDE_DIR}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES
|
||||||
|
"C")
|
||||||
|
|
||||||
|
if(sodium_USE_STATIC_LIBS)
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
||||||
|
"SODIUM_STATIC"
|
||||||
|
IMPORTED_LOCATION
|
||||||
|
"${sodium_LIBRARY_RELEASE}"
|
||||||
|
IMPORTED_LOCATION_DEBUG
|
||||||
|
"${sodium_LIBRARY_DEBUG}")
|
||||||
|
else()
|
||||||
|
if(UNIX)
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES IMPORTED_LOCATION
|
||||||
|
"${sodium_LIBRARY_RELEASE}"
|
||||||
|
IMPORTED_LOCATION_DEBUG
|
||||||
|
"${sodium_LIBRARY_DEBUG}")
|
||||||
|
elseif(WIN32)
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES IMPORTED_IMPLIB
|
||||||
|
"${sodium_LIBRARY_RELEASE}"
|
||||||
|
IMPORTED_IMPLIB_DEBUG
|
||||||
|
"${sodium_LIBRARY_DEBUG}")
|
||||||
|
if(NOT (sodium_DLL_DEBUG MATCHES ".*-NOTFOUND"))
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES IMPORTED_LOCATION_DEBUG
|
||||||
|
"${sodium_DLL_DEBUG}")
|
||||||
|
endif()
|
||||||
|
if(NOT (sodium_DLL_RELEASE MATCHES ".*-NOTFOUND"))
|
||||||
|
set_target_properties(sodium
|
||||||
|
PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO
|
||||||
|
"${sodium_DLL_RELEASE}"
|
||||||
|
IMPORTED_LOCATION_MINSIZEREL
|
||||||
|
"${sodium_DLL_RELEASE}"
|
||||||
|
IMPORTED_LOCATION_RELEASE
|
||||||
|
"${sodium_DLL_RELEASE}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
@ -1,72 +0,0 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
|
||||||
#
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
# permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
# conditions and the following disclaimer.
|
|
||||||
#
|
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
# of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
# materials provided with the distribution.
|
|
||||||
#
|
|
||||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
# used to endorse or promote products derived from this software without specific
|
|
||||||
# prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
# https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_CLANG_TIDY.html
|
|
||||||
# This module sets the following variables:
|
|
||||||
# CMAKE_C_CLANG_TIDY
|
|
||||||
# CMAKE_CXX_CLANG_TIDY
|
|
||||||
# when clang-tidy is found in PATH. Afterwards, the code is being linted by the tool.
|
|
||||||
# The checks to be enabled can be manipulated with the variable MONERO_CLANG_TIDY_CHECKS
|
|
||||||
|
|
||||||
macro (monero_clang_tidy LANGUAGE)
|
|
||||||
set(TOOL_NAME "clang-tidy")
|
|
||||||
set(MONERO_CLANG_TIDY_MIN_VERSION "3.6")
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "${MONERO_CLANG_TIDY_MIN_VERSION}")
|
|
||||||
message(FATAL_ERROR "Sorry, ${TOOL_NAME} is available for CMake from version ${MONERO_CLANG_TIDY_MIN_VERSION}")
|
|
||||||
else()
|
|
||||||
message(STATUS "Trying to enable ${TOOL_NAME}")
|
|
||||||
find_program(MONERO_CLANG_BIN ${TOOL_NAME})
|
|
||||||
if(NOT MONERO_CLANG_BIN)
|
|
||||||
message(FATAL_ERROR "${TOOL_NAME} not found! Try running: sudo apt install ${TOOL_NAME}")
|
|
||||||
else()
|
|
||||||
message(STATUS "Found ${MONERO_CLANG_BIN}")
|
|
||||||
set(MONERO_CLANG_TIDY_CHECKS
|
|
||||||
-header-filter=.; # By default the headers are excluded. This line enables them.
|
|
||||||
-checks=*; # Currently enabling all checks
|
|
||||||
# An example of selectively enabling checks:
|
|
||||||
#-checks=bugprone-*,cppcoreguidelines-avoid-goto # Have to be in one line :(
|
|
||||||
)
|
|
||||||
# Current list of checks is avaibale under:
|
|
||||||
# https://clang.llvm.org/extra/clang-tidy/
|
|
||||||
if (${LANGUAGE} STREQUAL "C")
|
|
||||||
set(CMAKE_C_CLANG_TIDY
|
|
||||||
${MONERO_CLANG_BIN}; # Mind the semicolon
|
|
||||||
${MONERO_CLANG_TIDY_CHECKS}
|
|
||||||
)
|
|
||||||
elseif (${LANGUAGE} STREQUAL "CXX")
|
|
||||||
set(CMAKE_CXX_CLANG_TIDY
|
|
||||||
${MONERO_CLANG_BIN}; # Mind the semicolon
|
|
||||||
${MONERO_CLANG_TIDY_CHECKS}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "${TOOL_NAME}: Unsupported language: ${LANGUAGE}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
@ -0,0 +1,63 @@
|
|||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules/")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/modules/functions.cmake")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/WowneroTargets.cmake")
|
||||||
|
|
||||||
|
if(STATIC)
|
||||||
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
set(MINIUPNPC_USE_STATIC_LIBS ON)
|
||||||
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
|
set(Boost_USE_STATIC_RUNTIME ON)
|
||||||
|
set(sodium_USE_STATIC_LIBS ON)
|
||||||
|
set(OPENSSL_USE_STATIC_LIBS ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(Threads)
|
||||||
|
find_package(Backtrace)
|
||||||
|
find_package(PythonInterp)
|
||||||
|
find_package(miniupnpc REQUIRED)
|
||||||
|
find_package(ZMQ REQUIRED)
|
||||||
|
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
find_package(Boost 1.58 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options locale)
|
||||||
|
find_package(Libunbound 1.16 REQUIRED)
|
||||||
|
find_package(sodium REQUIRED)
|
||||||
|
|
||||||
|
print_cmake_summary()
|
||||||
|
|
||||||
|
check_required_components(epee)
|
||||||
|
check_required_components(easylogging)
|
||||||
|
check_required_components(qrcodegen)
|
||||||
|
check_required_components(lmdb)
|
||||||
|
check_required_components(cncrypto)
|
||||||
|
check_required_components(version)
|
||||||
|
check_required_components(common)
|
||||||
|
check_required_components(lmdb_lib)
|
||||||
|
check_required_components(randomx)
|
||||||
|
check_required_components(cryptonote_format_utils_basic)
|
||||||
|
check_required_components(monero-crypto-amd64-64-24k)
|
||||||
|
check_required_components(wallet-crypto)
|
||||||
|
check_required_components(ringct)
|
||||||
|
check_required_components(cryptonote_basic)
|
||||||
|
check_required_components(ringct_basic)
|
||||||
|
check_required_components(checkpoints)
|
||||||
|
check_required_components(blockchain_db)
|
||||||
|
check_required_components(cryptonote_core)
|
||||||
|
check_required_components(cryptonote_protocol)
|
||||||
|
check_required_components(mnemonics)
|
||||||
|
check_required_components(device)
|
||||||
|
check_required_components(blocks)
|
||||||
|
check_required_components(wallet)
|
||||||
|
check_required_components(wallet_api)
|
||||||
|
check_required_components(rpc_base)
|
||||||
|
check_required_components(rpc)
|
||||||
|
check_required_components(rpc_pub)
|
||||||
|
check_required_components(daemon_messages)
|
||||||
|
check_required_components(daemon_rpc_server)
|
||||||
|
check_required_components(net)
|
||||||
|
check_required_components(p2p)
|
||||||
|
check_required_components(multisig)
|
||||||
|
check_required_components(hardforks)
|
||||||
|
check_required_components(daemonizer)
|
||||||
|
check_required_components(serialization)
|
@ -0,0 +1,97 @@
|
|||||||
|
include(GNUInstallDirs)
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
function(wownero_install_library targetName)
|
||||||
|
set(flags)
|
||||||
|
set(args)
|
||||||
|
set(listArgs INCLUDE_DIR HEADERS)
|
||||||
|
cmake_parse_arguments(arg "${flags}" "${args}" "${listArgs}" ${ARGN})
|
||||||
|
|
||||||
|
set(include_dir "${arg_INCLUDE_DIR}")
|
||||||
|
set(headers "${arg_HEADERS}")
|
||||||
|
|
||||||
|
if(NOT include_dir)
|
||||||
|
set(include_dir "${CMAKE_INSTALL_INCLUDEDIR}/wownero/")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(headers AND include_dir)
|
||||||
|
install_with_directory(DESTINATION ${include_dir} FILES ${headers})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS ${targetName} EXPORT WowneroTargets
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/wownero/
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/wownero/
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/wownero/
|
||||||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/wownero/)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(print_cmake_summary)
|
||||||
|
message(STATUS "====== SUMMARY")
|
||||||
|
message(STATUS "[+] WOWNERO VERSION: ${VERSION}")
|
||||||
|
if(STATIC)
|
||||||
|
message(STATUS "[+] STATIC: yes")
|
||||||
|
else()
|
||||||
|
message(STATUS "[+] STATIC: no")
|
||||||
|
endif()
|
||||||
|
# message(STATUS "[+] ARM: ${ARM}")
|
||||||
|
# message(STATUS "[+] Android: ${ANDROID}")
|
||||||
|
# message(STATUS "[+] iOS: ${IOS}")
|
||||||
|
|
||||||
|
if(GIT_FOUND)
|
||||||
|
execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
execute_process(COMMAND git rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
message(STATUS "[+] Git")
|
||||||
|
message(STATUS " - head: ${GIT_HEAD}")
|
||||||
|
message(STATUS " - branch: ${GIT_BRANCH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message(STATUS "[+] OpenSSL")
|
||||||
|
message(STATUS " - version: ${OPENSSL_VERSION}")
|
||||||
|
message(STATUS " - include: ${OPENSSL_INCLUDE_DIR}")
|
||||||
|
message(STATUS " - libs: ${OPENSSL_LIBRARIES}")
|
||||||
|
|
||||||
|
message(STATUS "[+] Miniunpnp")
|
||||||
|
get_target_property(miniupnpc_include miniupnpc::miniupnpc INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
|
message(STATUS " - include: ${miniupnpc_include}")
|
||||||
|
|
||||||
|
message(STATUS "[+] ZMQ")
|
||||||
|
message(STATUS " - dirs: ${ZMQ_INCLUDE_DIRS}")
|
||||||
|
message(STATUS " - libs: ${ZMQ_LIBRARIES}")
|
||||||
|
|
||||||
|
message(STATUS "[+] Boost")
|
||||||
|
message(STATUS " - version: ${Boost_VERSION}")
|
||||||
|
message(STATUS " - dirs: ${Boost_INCLUDE_DIRS}")
|
||||||
|
message(STATUS " - libs: ${Boost_LIBRARIES}")
|
||||||
|
|
||||||
|
message(STATUS "[+] Unbound")
|
||||||
|
message(STATUS " - version: ${LIBUNBOUND_VERSION}")
|
||||||
|
message(STATUS " - dirs: ${LIBUNBOUND_INCLUDE_DIR}")
|
||||||
|
message(STATUS " - libs: ${LIBUNBOUND_LIBRARIES}")
|
||||||
|
|
||||||
|
message(STATUS "[+] Sodium")
|
||||||
|
message(STATUS " - version: ${sodium_VERSION_STRING}")
|
||||||
|
message(STATUS " - dirs: ${sodium_INCLUDE_DIR}")
|
||||||
|
message(STATUS " - libs: ${sodium_LIBRARY_RELEASE}")
|
||||||
|
|
||||||
|
if(C_SECURITY_FLAGS)
|
||||||
|
message(STATUS "C security hardening flags: ${C_SECURITY_FLAGS}")
|
||||||
|
endif()
|
||||||
|
if(CXX_SECURITY_FLAGS)
|
||||||
|
message(STATUS "C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
|
||||||
|
endif()
|
||||||
|
if(LD_SECURITY_FLAGS)
|
||||||
|
message(STATUS "linker security hardening flags: ${LD_SECURITY_FLAGS}")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
macro(install_with_directory)
|
||||||
|
set(optionsArgs "")
|
||||||
|
set(oneValueArgs "DESTINATION")
|
||||||
|
set(multiValueArgs "FILES")
|
||||||
|
cmake_parse_arguments(CAS "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
|
|
||||||
|
foreach(FILE ${CAS_FILES})
|
||||||
|
get_filename_component(DIR ${FILE} DIRECTORY)
|
||||||
|
INSTALL(FILES ${FILE} DESTINATION ${CAS_DESTINATION}/${DIR})
|
||||||
|
endforeach()
|
||||||
|
endmacro(install_with_directory)
|
@ -1,52 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#include <libusb.h>
|
|
||||||
|
|
||||||
#define UNUSED(expr) (void)(expr)
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
|
||||||
libusb_device **devs;
|
|
||||||
libusb_context *ctx = NULL;
|
|
||||||
|
|
||||||
int r = libusb_init(&ctx); UNUSED(r);
|
|
||||||
ssize_t cnt = libusb_get_device_list(ctx, &devs); UNUSED(cnt);
|
|
||||||
|
|
||||||
struct libusb_device_descriptor desc;
|
|
||||||
r = libusb_get_device_descriptor(devs[0], &desc); UNUSED(r);
|
|
||||||
uint8_t bus_id = libusb_get_bus_number(devs[0]); UNUSED(bus_id);
|
|
||||||
uint8_t addr = libusb_get_device_address(devs[0]); UNUSED(addr);
|
|
||||||
|
|
||||||
uint8_t tmp_path[16];
|
|
||||||
r = libusb_get_port_numbers(devs[0], tmp_path, sizeof(tmp_path));
|
|
||||||
UNUSED(r);
|
|
||||||
UNUSED(tmp_path);
|
|
||||||
|
|
||||||
libusb_free_device_list(devs, 1);
|
|
||||||
libusb_exit(ctx);
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <iostream>
|
|
||||||
#include <google/protobuf/message.h>
|
|
||||||
#include <google/protobuf/unknown_field_set.h>
|
|
||||||
#include "test-protobuf.pb.h"
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
|
||||||
google::protobuf::UnknownFieldSet ufs;
|
|
||||||
ufs.ClearAndFreeMemory();
|
|
||||||
|
|
||||||
Success sc;
|
|
||||||
sc.set_message("test");
|
|
||||||
sc.SerializeToOstream(&std::cerr);
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
syntax = "proto2";
|
|
||||||
|
|
||||||
import "google/protobuf/descriptor.proto";
|
|
||||||
|
|
||||||
message Success {
|
|
||||||
optional string message = 1;
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
static_assert(1, "FAIL");
|
|
||||||
int main(int argc, char *argv[]) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,34 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
static_assert(1, "FAIL");
|
|
||||||
int main(int argc, char *argv[]) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 544e6fcc73c5ad9af48a8985c94f0f1d742ef2e0
|
|
@ -1,8 +1,16 @@
|
|||||||
project(libqrcodegen)
|
add_library(qrcodegen)
|
||||||
|
|
||||||
add_library(qrcodegen STATIC QrCode.cpp)
|
target_sources(qrcodegen
|
||||||
set_target_properties(qrcodegen PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
PRIVATE
|
||||||
set_target_properties(qrcodegen PROPERTIES CXX_STANDARD 11)
|
${CMAKE_CURRENT_SOURCE_DIR}/QrCode.cpp
|
||||||
|
)
|
||||||
|
|
||||||
target_include_directories(qrcodegen PUBLIC
|
target_include_directories(qrcodegen
|
||||||
${CMAKE_CURRENT_SOURCE_DIR})
|
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/wownero/>
|
||||||
|
)
|
||||||
|
|
||||||
|
wownero_install_library(qrcodegen
|
||||||
|
INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/wownero/qrcodegen/"
|
||||||
|
HEADERS QrCode.hpp)
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 607bad48f3687c2490d90f8c55efa2dcd7cbc195
|
Subproject commit 334e1d096731e0e8a2310a92975d246c6b5dcbbd
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 129d19ba7f496df5e33658527a7158c79b99c21c
|
|
@ -1 +1 @@
|
|||||||
Subproject commit 633500ad8c8759995049ccd022107d1fa8a1bbc9
|
Subproject commit 772267cb20db1d9c4ddd9271d1024fd5a3ba3adb
|
@ -1,98 +0,0 @@
|
|||||||
#include <cstddef>
|
|
||||||
#include <cstdint>
|
|
||||||
#include <strings.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <glob.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fnmatch.h>
|
|
||||||
|
|
||||||
#if defined(HAVE_SYS_SELECT_H)
|
|
||||||
#include <sys/select.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Prior to GLIBC_2.14, memcpy was aliased to memmove.
|
|
||||||
extern "C" void* memmove(void* a, const void* b, size_t c);
|
|
||||||
//extern "C" void* memset(void* a, int b, long unsigned int c);
|
|
||||||
extern "C" void* memcpy(void* a, const void* b, size_t c)
|
|
||||||
{
|
|
||||||
return memmove(a, b, c);
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" void __chk_fail(void) __attribute__((__noreturn__));
|
|
||||||
|
|
||||||
#if defined(__i386__) || defined(__arm__)
|
|
||||||
|
|
||||||
extern "C" int64_t __udivmoddi4(uint64_t u, uint64_t v, uint64_t* rp);
|
|
||||||
|
|
||||||
extern "C" int64_t __wrap___divmoddi4(int64_t u, int64_t v, int64_t* rp)
|
|
||||||
{
|
|
||||||
int32_t c1 = 0, c2 = 0;
|
|
||||||
int64_t uu = u, vv = v;
|
|
||||||
int64_t w;
|
|
||||||
int64_t r;
|
|
||||||
|
|
||||||
if (uu < 0) {
|
|
||||||
c1 = ~c1, c2 = ~c2, uu = -uu;
|
|
||||||
}
|
|
||||||
if (vv < 0) {
|
|
||||||
c1 = ~c1, vv = -vv;
|
|
||||||
}
|
|
||||||
|
|
||||||
w = __udivmoddi4(uu, vv, (uint64_t*)&r);
|
|
||||||
if (c1)
|
|
||||||
w = -w;
|
|
||||||
if (c2)
|
|
||||||
r = -r;
|
|
||||||
|
|
||||||
*rp = r;
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* glibc-internal users use __explicit_bzero_chk, and explicit_bzero
|
|
||||||
redirects to that. */
|
|
||||||
#undef explicit_bzero
|
|
||||||
/* Set LEN bytes of S to 0. The compiler will not delete a call to
|
|
||||||
this function, even if S is dead after the call. */
|
|
||||||
void
|
|
||||||
explicit_bzero (void *s, size_t len)
|
|
||||||
{
|
|
||||||
memset (s, '\0', len);
|
|
||||||
/* Compiler barrier. */
|
|
||||||
asm volatile ("" ::: "memory");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Redefine explicit_bzero_chk
|
|
||||||
void
|
|
||||||
__explicit_bzero_chk (void *dst, size_t len, size_t dstlen)
|
|
||||||
{
|
|
||||||
/* Inline __memset_chk to avoid a PLT reference to __memset_chk. */
|
|
||||||
if (__glibc_unlikely (dstlen < len))
|
|
||||||
__chk_fail ();
|
|
||||||
memset (dst, '\0', len);
|
|
||||||
/* Compiler barrier. */
|
|
||||||
asm volatile ("" ::: "memory");
|
|
||||||
}
|
|
||||||
/* libc-internal references use the hidden
|
|
||||||
__explicit_bzero_chk_internal symbol. This is necessary if
|
|
||||||
__explicit_bzero_chk is implemented as an IFUNC because some
|
|
||||||
targets do not support hidden references to IFUNC symbols. */
|
|
||||||
#define strong_alias (__explicit_bzero_chk, __explicit_bzero_chk_internal)
|
|
||||||
|
|
||||||
#undef glob
|
|
||||||
extern "C" int glob_old(const char * pattern, int flags, int (*errfunc) (const char *epath, int eerrno), glob_t *pglob);
|
|
||||||
#ifdef __i386__
|
|
||||||
__asm__(".symver glob_old,glob@GLIBC_2.0");
|
|
||||||
#elif defined(__amd64__)
|
|
||||||
__asm__(".symver glob_old,glob@GLIBC_2.2.5");
|
|
||||||
#elif defined(__arm__)
|
|
||||||
__asm(".symver glob_old,glob@GLIBC_2.4");
|
|
||||||
#elif defined(__aarch64__)
|
|
||||||
__asm__(".symver glob_old,glob@GLIBC_2.17");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern "C" int __wrap_glob(const char * pattern, int flags, int (*errfunc) (const char *epath, int eerrno), glob_t *pglob)
|
|
||||||
{
|
|
||||||
return glob_old(pattern, flags, errfunc, pglob);
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <malloc.h>
|
|
@ -1,33 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#define alloca(size) _alloca(size)
|
|
@ -1,35 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
#define inline __inline
|
|
||||||
#endif
|
|
@ -1,39 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#if !defined(__cplusplus)
|
|
||||||
|
|
||||||
typedef int bool;
|
|
||||||
#define true 1
|
|
||||||
#define false 0
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,36 +0,0 @@
|
|||||||
// Copyright (c) 2014-2022, The Monero Project
|
|
||||||
//
|
|
||||||
// All rights reserved.
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without modification, are
|
|
||||||
// permitted provided that the following conditions are met:
|
|
||||||
//
|
|
||||||
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
||||||
// conditions and the following disclaimer.
|
|
||||||
//
|
|
||||||
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
||||||
// of conditions and the following disclaimer in the documentation and/or other
|
|
||||||
// materials provided with the distribution.
|
|
||||||
//
|
|
||||||
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
||||||
// used to endorse or promote products derived from this software without specific
|
|
||||||
// prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
||||||
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
||||||
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
//
|
|
||||||
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#define LITTLE_ENDIAN 1234
|
|
||||||
#define BIG_ENDIAN 4321
|
|
||||||
#define PDP_ENDIAN 3412
|
|
||||||
#define BYTE_ORDER LITTLE_ENDIAN
|
|
Loading…
Reference in new issue