From d06b49d9a45750b97eee974f2e7453fb24246165 Mon Sep 17 00:00:00 2001 From: cyan Date: Sat, 2 Nov 2024 20:50:26 +0000 Subject: [PATCH] fix build issues --- contrib/db/libmdbx/CMakeLists.txt | 2 +- .../db/libmdbx/packages/rpm/CMakeLists.txt | 2 +- contrib/depends/hosts/android.mk | 19 ++++++++++--- contrib/depends/hosts/darwin.mk | 2 +- contrib/depends/packages/android_ndk.mk | 27 ++++++++++++++----- contrib/depends/packages/boost.mk | 17 +++++++----- contrib/depends/packages/openssl.mk | 2 +- contrib/depends/toolchain.cmake.in | 17 ++++++------ contrib/epee/include/file_io_utils.h | 8 +++--- 9 files changed, 62 insertions(+), 34 deletions(-) diff --git a/contrib/db/libmdbx/CMakeLists.txt b/contrib/db/libmdbx/CMakeLists.txt index 75e9b3b0..01a5915c 100644 --- a/contrib/db/libmdbx/CMakeLists.txt +++ b/contrib/db/libmdbx/CMakeLists.txt @@ -80,7 +80,7 @@ macro(add_mdbx_option NAME DESCRIPTION DEFAULT) endmacro() # only for compatibility testing -# set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 17) if(NOT "$ENV{TEAMCITY_PROCESS_FLOW_ID}" STREQUAL "") set(CI TEAMCITY) diff --git a/contrib/db/libmdbx/packages/rpm/CMakeLists.txt b/contrib/db/libmdbx/packages/rpm/CMakeLists.txt index 5949e9f0..e7b677bd 100644 --- a/contrib/db/libmdbx/packages/rpm/CMakeLists.txt +++ b/contrib/db/libmdbx/packages/rpm/CMakeLists.txt @@ -12,7 +12,7 @@ set(MDBX_VERSION_STRING ${MDBX_VERSION_MAJOR}.${MDBX_VERSION_MINOR}.${MDBX_VERSI enable_language(C) enable_language(CXX) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED on) add_definitions(-DNDEBUG=1 -DMDBX_DEBUG=0 -DLIBMDBX_EXPORTS=1 -D_GNU_SOURCE=1) diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk index bbc8bd3b..827103c3 100644 --- a/contrib/depends/hosts/android.mk +++ b/contrib/depends/hosts/android.mk @@ -1,12 +1,22 @@ ANDROID_API=21 - -ifeq ($(host_arch),arm) -host_toolchain=arm-linux-androideabi- +host_toolchain=nonexistent +ifeq ($(host_arch),armv7a) +host_toolchain=armv7a-linux-androideabi${ANDROID_API}- +endif +ifeq ($(host_arch),x86_64) +host_toolchain=x86_64-linux-android${ANDROID_API}- +endif +ifeq ($(host_arch),i686) +host_toolchain=i686-linux-android${ANDROID_API}- +endif +ifeq ($(host_arch),aarch64) +host_toolchain=aarch64-linux-android${ANDROID_API}- endif android_CC=$(host_toolchain)clang android_CXX=$(host_toolchain)clang++ -android_RANLIB=: +android_RANLIB=llvm-ranlib +android_AR=llvm-ar android_CFLAGS=-pipe android_CXXFLAGS=$(android_CFLAGS) @@ -19,3 +29,4 @@ android_debug_CFLAGS=-g -O0 android_debug_CXXFLAGS=$(android_debug_CFLAGS) android_native_toolchain=android_ndk + diff --git a/contrib/depends/hosts/darwin.mk b/contrib/depends/hosts/darwin.mk index cbe79508..b14ee5c5 100644 --- a/contrib/depends/hosts/darwin.mk +++ b/contrib/depends/hosts/darwin.mk @@ -1,4 +1,4 @@ -OSX_MIN_VERSION=10.8 +OSX_MIN_VERSION=10.14 LD64_VERSION=609 ifeq (aarch64, $(host_arch)) CC_target=arm64-apple-$(host_os) diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk index b7fbb373..2c2914ec 100644 --- a/contrib/depends/packages/android_ndk.mk +++ b/contrib/depends/packages/android_ndk.mk @@ -1,11 +1,13 @@ package=android_ndk -$(package)_version=17b +$(package)_version=26d $(package)_download_path=https://dl.google.com/android/repository/ -$(package)_file_name=android-ndk-r$($(package)_version)-linux-x86_64.zip -$(package)_sha256_hash=5dfbbdc2d3ba859fed90d0e978af87c71a91a5be1f6e1c40ba697503d48ccecd +$(package)_file_name=android-ndk-r$($(package)_version)-linux.zip +$(package)_sha256_hash=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2a328b54 + +$(package)_version_apiversion=21 define $(package)_set_vars -$(package)_config_opts_arm=--arch arm +$(package)_config_opts_armv7a=--arch arm $(package)_config_opts_aarch64=--arch arm64 $(package)_config_opts_x86_64=--arch x86_64 $(package)_config_opts_i686=--arch x86 @@ -16,8 +18,19 @@ define $(package)_extract_cmds unzip -q $($(1)_source_dir)/$($(package)_file_name) endef +# arm-linux-androideabi-ar - openssl workaround + define $(package)_stage_cmds - android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api 21 \ - --install-dir $(build_prefix) --stl=libc++ $($(package)_config_opts) &&\ - mv $(build_prefix) $($(package)_staging_dir)/$(host_prefix) + mkdir -p $(build_prefix) &&\ + echo $(build_prefix)/toolchain && \ + android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api $($(package)_version_apiversion) \ + --install-dir $(build_prefix)/toolchain --stl=libc++ $($(package)_config_opts) &&\ + mv $(build_prefix)/toolchain $($(package)_staging_dir)/$(host_prefix)/native && \ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ar &&\ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ar &&\ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ranlib &&\ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ranlib &&\ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ar &&\ + cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ranlib endef + diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk index be382d3a..d60bfa74 100644 --- a/contrib/depends/packages/boost.mk +++ b/contrib/depends/packages/boost.mk @@ -1,8 +1,8 @@ package=boost -$(package)_version=1_70_0 -$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1.70.0/ +$(package)_version=1_84_0 +$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1.84.0/ $(package)_file_name=$(package)_$($(package)_version).tar.bz2 -$(package)_sha256_hash=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778 +$(package)_sha256_hash=cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454 $(package)_dependencies=libiconv $(package)_patches=fix_aroptions.patch fix_arm_arch.patch fix_pthread_win.patch fix_pthread.patch @@ -26,13 +26,16 @@ $(package)_config_libraries=system,filesystem,thread,timer,date_time,chrono,rege $(package)_cxxflags=-std=c++11 $(package)_cxxflags_linux=-fPIC $(package)_cxxflags_freebsd=-fPIC +$(package)_cxxflags_android=-fPIC endef +# patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\ +# patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\ +# patch -p1 < $($(package)_patch_dir)/fix_pthread_win.patch &&\ +# patch -p1 < $($(package)_patch_dir)/fix_pthread.patch &&\ +# +# define $(package)_preprocess_cmds - patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\ - patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\ - patch -p1 < $($(package)_patch_dir)/fix_pthread_win.patch &&\ - patch -p1 < $($(package)_patch_dir)/fix_pthread.patch &&\ echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : \"$($(package)_cxxflags) $($(package)_cppflags)\" \"$($(package)_ldflags)\" \"$(boost_archiver_$(host_os))\" \"$($(package)_arflags)\" \"$(host_STRIP)\" \"$(host_RANLIB)\" \"$(host_WINDRES)\" : ;" > user-config.jam endef diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk index a157762c..2430f649 100644 --- a/contrib/depends/packages/openssl.mk +++ b/contrib/depends/packages/openssl.mk @@ -34,7 +34,7 @@ $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 $(package)_config_opts_aarch64_linux=linux-generic64 -$(package)_config_opts_arm_android=--static android-arm +$(package)_config_opts_armv7a_android=--static android-arm $(package)_config_opts_aarch64_android=--static android-arm64 $(package)_config_opts_aarch64_darwin=darwin64-arm64-cc $(package)_config_opts_riscv64_linux=linux-generic64 diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in index 48279eda..48a6f947 100644 --- a/contrib/depends/toolchain.cmake.in +++ b/contrib/depends/toolchain.cmake.in @@ -14,7 +14,7 @@ SET(ARCH "default") SET(BUILD_TESTS @build_tests@) SET(TREZOR_DEBUG @build_tests@) -# where is the target environment +# where is the target environment SET(CMAKE_FIND_ROOT_PATH @prefix@ /usr) SET(ENV{PKG_CONFIG_PATH} @prefix@/lib/pkgconfig) @@ -94,26 +94,27 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") SET(BREW OFF) SET(PORT OFF) SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK/") - SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08") + SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.14") SET(CMAKE_CXX_STANDARD 14) SET(LLVM_ENABLE_PIC OFF) SET(LLVM_ENABLE_PIE OFF) elseif(CMAKE_SYSTEM_NAME STREQUAL "Android") SET(ANDROID TRUE) - if(ARCHITECTURE STREQUAL "arm") + if(ARCHITECTURE STREQUAL "armv7a") SET(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a") SET(CMAKE_SYSTEM_PROCESSOR "armv7-a") SET(CMAKE_ANDROID_ARM_MODE ON) - SET(CMAKE_C_COMPILER_TARGET arm-linux-androideabi) - SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi) - SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi-) + SET(CMAKE_C_COMPILER_TARGET armv7a-linux-androideabi21) + SET(CMAKE_CXX_COMPILER_TARGET armv7a-linux-androideabi21) + SET(_CMAKE_TOOLCHAIN_PREFIX armv7a-linux-androideabi21-) elseif(ARCHITECTURE STREQUAL "aarch64") SET(CMAKE_ANDROID_ARCH_ABI "arm64-v8a") SET(CMAKE_SYSTEM_PROCESSOR "aarch64") endif() SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native) - SET(CMAKE_C_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang") - SET(CMAKE_CXX_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang++") + SET(_ANDROID_STANDALONE_TOOLCHAIN_API 21) + SET(CMAKE_C_COMPILER @CC@) + SET(CMAKE_CXX_COMPILER @CXX@) else() SET(CMAKE_C_COMPILER @CC@) SET(CMAKE_CXX_COMPILER @CXX@) diff --git a/contrib/epee/include/file_io_utils.h b/contrib/epee/include/file_io_utils.h index 9d5118cb..622d40e6 100644 --- a/contrib/epee/include/file_io_utils.h +++ b/contrib/epee/include/file_io_utils.h @@ -35,7 +35,7 @@ #include #include #include -#include +// #include #ifndef MAKE64 #define MAKE64(low,high) ((__int64)(((DWORD)(low)) | ((__int64)((DWORD)(high))) << 32)) @@ -562,10 +562,10 @@ namespace file_io_utils try { - std::filesystem::directory_iterator end_itr; // default construction yields past-the-end - for ( std::filesystem::directory_iterator itr( epee::string_encoding::utf8_to_wstring(path) ); itr != end_itr; ++itr ) + boost::filesystem::directory_iterator end_itr; // default construction yields past-the-end + for ( boost::filesystem::directory_iterator itr( epee::string_encoding::utf8_to_wstring(path) ); itr != end_itr; ++itr ) { - if ( only_files && std::filesystem::is_directory(itr->status()) ) + if ( only_files && boost::filesystem::is_directory(itr->status()) ) { continue; } -- 2.43.0