Skip to content

Commit 9158feb

Browse files
authored
Merge branch 'monero-project:master' into master
2 parents 1f14a22 + 257db6d commit 9158feb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+870
-569
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ jobs:
4545
- uses: ./.github/actions/set-make-job-count
4646
- name: install dependencies
4747
run: |
48-
HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq miniupnpc expat libunwind-headers protobuf@21 ccache
49-
brew link protobuf@21 boost
48+
HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq miniupnpc expat libunwind-headers protobuf ccache
5049
- name: build
5150
run: |
5251
${{env.CCACHE_SETTINGS}}
@@ -132,10 +131,6 @@ jobs:
132131
fail-fast: false
133132
matrix:
134133
include:
135-
# Oldest supported Ubuntu LTS version
136-
- name: Ubuntu 20.04
137-
container: ubuntu:20.04
138-
139134
# Most popular Ubuntu LTS version
140135
- name: Ubuntu 22.04
141136
container: ubuntu:22.04
@@ -172,11 +167,11 @@ jobs:
172167
173168
test-ubuntu:
174169
name: "${{ matrix.name }} (tests)"
175-
needs: build-ubuntu
176170
runs-on: ubuntu-latest
177171
strategy:
178172
matrix:
179173
include:
174+
# Oldest supported Ubuntu LTS version
180175
- name: Ubuntu 20.04
181176
container: ubuntu:20.04
182177
container:

.github/workflows/guix.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ on:
77
- 'contrib/guix/**'
88
- '!contrib/**.md'
99
- '.github/workflows/guix.yml'
10+
- '**/Cargo.lock'
1011
pull_request:
1112
paths:
1213
- 'contrib/depends/**'
1314
- 'contrib/guix/**'
1415
- '!contrib/**.md'
1516
- '.github/workflows/guix.yml'
17+
- '**/Cargo.lock'
1618

1719
jobs:
1820
cache-sources:

CMakeLists.txt

Lines changed: 10 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -393,20 +393,11 @@ endif()
393393
list(INSERT CMAKE_MODULE_PATH 0
394394
"${CMAKE_SOURCE_DIR}/cmake")
395395

396-
if (NOT DEFINED ENV{DEVELOPER_LOCAL_TOOLS})
397-
message(STATUS "Could not find DEVELOPER_LOCAL_TOOLS in env (not required)")
398-
set(BOOST_IGNORE_SYSTEM_PATHS_DEFAULT OFF)
399-
elseif ("$ENV{DEVELOPER_LOCAL_TOOLS}" EQUAL 1)
400-
message(STATUS "Found: env DEVELOPER_LOCAL_TOOLS = 1")
401-
set(BOOST_IGNORE_SYSTEM_PATHS_DEFAULT ON)
402-
else()
403-
message(STATUS "Found: env DEVELOPER_LOCAL_TOOLS = 0")
404-
set(BOOST_IGNORE_SYSTEM_PATHS_DEFAULT OFF)
396+
option(BOOST_IGNORE_SYSTEM_PATHS "Ignore boost system paths for local boost installation" OFF)
397+
if (BOOST_IGNORE_SYSTEM_PATHS)
398+
set(Boost_NO_SYSTEM_PATHS TRUE)
405399
endif()
406400

407-
message(STATUS "BOOST_IGNORE_SYSTEM_PATHS defaults to ${BOOST_IGNORE_SYSTEM_PATHS_DEFAULT}")
408-
option(BOOST_IGNORE_SYSTEM_PATHS "Ignore boost system paths for local boost installation" ${BOOST_IGNORE_SYSTEM_PATHS_DEFAULT})
409-
410401
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
411402
enable_testing()
412403

@@ -462,7 +453,7 @@ endif()
462453

463454
include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external external/supercop/include)
464455

465-
if(MSVC OR MINGW)
456+
if(MINGW)
466457
set(DEFAULT_STATIC true)
467458
else()
468459
set(DEFAULT_STATIC false)
@@ -485,23 +476,15 @@ endif()
485476
set(PIC_FLAG "-fPIC")
486477

487478
if(STATIC)
488-
if(MSVC)
489-
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll.a .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
490-
else()
491-
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
492-
endif()
479+
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
493480
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZMQ_STATIC")
494481
endif()
495482

496483
option(SANITIZE "Use ASAN memory sanitizer" OFF)
497484
if(SANITIZE)
498-
if (MSVC)
499-
message(FATAL_ERROR "Cannot sanitize with MSVC")
500-
else()
501-
message(STATUS "Using ASAN")
502-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
503-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
504-
endif()
485+
message(STATUS "Using ASAN")
486+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
487+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
505488
endif()
506489

507490
# Set default blockchain storage location:
@@ -606,7 +589,7 @@ function(set_default_arch)
606589
set(ARCH ${ARCH} CACHE STRING "CPU to build for: -march value or 'default' to not pass -march at all")
607590
endfunction()
608591

609-
if (NOT (MSVC OR ARCH))
592+
if (NOT ARCH)
610593
set_default_arch()
611594
endif()
612595

@@ -688,16 +671,6 @@ endif()
688671
# Trezor support check
689672
include(CheckTrezor)
690673

691-
if(MSVC)
692-
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /D__SSE4_1__")
693-
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Dinline=__inline")
694-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:10485760")
695-
if(STATIC)
696-
foreach(VAR CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE)
697-
string(REPLACE "/MD" "/MT" ${VAR} "${${VAR}}")
698-
endforeach()
699-
endif()
700-
else()
701674
include(TestCXXAcceptsFlag)
702675
message(STATUS "Building on ${CMAKE_SYSTEM_PROCESSOR} for ${ARCH}")
703676
if(ARCH STREQUAL "default")
@@ -1041,11 +1014,6 @@ else()
10411014
endif()
10421015
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${STATIC_FLAGS} ")
10431016
endif()
1044-
endif()
1045-
1046-
if (${BOOST_IGNORE_SYSTEM_PATHS} STREQUAL "ON")
1047-
set(Boost_NO_SYSTEM_PATHS TRUE)
1048-
endif()
10491017

10501018
set(OLD_LIB_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
10511019
set(Boost_NO_BOOST_CMAKE ON)
@@ -1109,7 +1077,7 @@ elseif(DRAGONFLY)
11091077
set(EXTRA_LIBRARIES execinfo ${COMPAT})
11101078
elseif(CMAKE_SYSTEM_NAME MATCHES "(SunOS|Solaris)")
11111079
set(EXTRA_LIBRARIES socket nsl resolv)
1112-
elseif(NOT MSVC AND NOT DEPENDS)
1080+
elseif(NOT DEPENDS)
11131081
find_library(RT rt)
11141082
find_library(Z z)
11151083
set(EXTRA_LIBRARIES ${RT} ${Z})

contrib/brew/Brewfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ brew "doxygen"
2828
brew "graphviz"
2929
brew "libunwind-headers"
3030
brew "xz"
31-
brew "protobuf@21", link: true
31+
brew "protobuf"
3232
brew "libusb"

contrib/depends/funcs.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ $(1)_config_env+=CMAKE_MODULE_PATH=$($($(1)_type)_prefix)/lib/cmake
157157
$(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)"
158158
$(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)"
159159
$(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)"
160-
$(1)_autoconf=./configure --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
160+
$(1)_autoconf=./configure --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) --with-pic $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
161161

162162
ifeq ($(filter $(1),libusb unbound),)
163163
$(1)_autoconf += --disable-dependency-tracking

contrib/depends/hosts/android.mk

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
ANDROID_API=21
22

33
ifeq ($(host_arch),arm)
4-
host_toolchain=arm-linux-androideabi-
4+
host_toolchain=armv7a-linux-androideabi$(ANDROID_API)-
5+
else ifeq ($(host_arch),aarch64)
6+
host_toolchain=aarch64-linux-android$(ANDROID_API)-
57
endif
68

7-
android_CC=$(host_toolchain)clang
8-
android_CXX=$(host_toolchain)clang++
9-
android_RANLIB=:
9+
clear_guix_env=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
10+
-u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
11+
-u LIBRARY_PATH
12+
13+
android_CC=$(clear_guix_env) $(build_prefix)/bin/$(host_toolchain)clang
14+
android_CXX=$(clear_guix_env) $(build_prefix)/bin/$(host_toolchain)clang++
15+
16+
android_AR=llvm-ar
17+
android_RANLIB=llvm-ranlib
1018

1119
android_CFLAGS=-pipe
1220
android_CXXFLAGS=$(android_CFLAGS)
@@ -20,4 +28,8 @@ android_debug_CXXFLAGS=$(android_debug_CFLAGS)
2028

2129
android_native_toolchain=android_ndk
2230

23-
android_cmake_system=Android
31+
# CMake 3.24 fails to detect API level for Android, even if set explicitly in
32+
# toolchain.cmake. It also tries to manually construct paths to clang(++), but we
33+
# want it to always use the options defined here. It's easier to just pretend
34+
# we're a generic Linux target, than to hack around it.
35+
android_cmake_system=Linux
Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,15 @@
11
package=android_ndk
2-
$(package)_version=18b
2+
$(package)_version=27c
33
$(package)_download_path=https://dl.google.com/android/repository/
4-
$(package)_file_name=android-ndk-r$($(package)_version)-linux-x86_64.zip
5-
$(package)_sha256_hash=4f61cbe4bbf6406aa5ef2ae871def78010eed6271af72de83f8bd0b07a9fd3fd
6-
$(package)_patches=api_definition.patch fix_env.patch
7-
8-
define $(package)_set_vars
9-
$(package)_config_opts_arm=--arch arm
10-
$(package)_config_opts_aarch64=--arch arm64
11-
endef
4+
$(package)_file_name=android-ndk-r$($(package)_version)-linux.zip
5+
$(package)_sha256_hash=59c2f6dc96743b5daf5d1626684640b20a6bd2b1d85b13156b90333741bad5cc
126

137
define $(package)_extract_cmds
148
echo $($(package)_sha256_hash) $($(1)_source_dir)/$($(package)_file_name) | sha256sum -c &&\
159
unzip -q $($(1)_source_dir)/$($(package)_file_name)
1610
endef
1711

18-
define $(package)_preprocess_cmds
19-
cd android-ndk-r$($(package)_version) && \
20-
patch -p1 < $($(package)_patch_dir)/api_definition.patch && \
21-
patch -p1 < $($(package)_patch_dir)/fix_env.patch
22-
endef
23-
2412
define $(package)_stage_cmds
25-
python3 android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api 21 \
26-
--install-dir $(build_prefix) --stl=libc++ $($(package)_config_opts) &&\
27-
mv $(build_prefix) $($(package)_staging_dir)/$(host_prefix)
13+
mkdir -p $($(package)_staging_prefix_dir) && \
14+
mv android-ndk-r$($(package)_version)/toolchains/llvm/prebuilt/linux-x86_64/* $($(package)_staging_prefix_dir)
2815
endef
29-

contrib/depends/packages/darwin_sdk.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $(package)_sha256_hash=df75d30ecafc429e905134333aeae56ac65fac67cb4182622398fd717
88
# our own version of readline.
99

1010
define $(package)_stage_cmds
11-
mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
11+
mkdir -p $($(package)_staging_prefix_dir)/SDK &&\
1212
rm -rf usr/include/readline && \
13-
mv * $($(package)_staging_dir)/$(host_prefix)/native/SDK
13+
mv * $($(package)_staging_prefix_dir)/SDK
1414
endef

contrib/depends/packages/freebsd_base.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ endef
1414
# statically link our own version of OpenSSL.
1515

1616
define $(package)_stage_cmds
17-
mkdir $($(package)_staging_dir)/$(host_prefix)/native &&\
17+
mkdir $($(package)_staging_prefix_dir) &&\
1818
rm -rf usr/include/openssl &&\
19-
mv lib usr $($(package)_staging_dir)/$(host_prefix)/native
19+
mv lib usr $($(package)_staging_prefix_dir)
2020
endef

contrib/depends/packages/libusb.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ endef
1010

1111
define $(package)_set_vars
1212
$(package)_config_opts=--disable-shared
13-
$(package)_config_opts_linux=--with-pic --disable-udev
13+
$(package)_config_opts_linux=--disable-udev
1414
$(package)_config_opts_mingw32=--disable-udev
1515
$(package)_config_opts_darwin=--disable-udev
16-
$(package)_config_opts_freebsd=--with-pic --disable-udev
16+
$(package)_config_opts_freebsd=--disable-udev
1717
endef
1818

1919
define $(package)_config_cmds

0 commit comments

Comments
 (0)