From f2057a23630901a76a12bf876a6f9a28d7fc52fd Mon Sep 17 00:00:00 2001 From: Czarek Nakamoto Date: Mon, 1 Apr 2024 06:54:50 +0200 Subject: [PATCH] fix: wownero and monero wallets in the same process ci: cache ~/.ccache directory --- .woodpecker/linux.yaml | 20 +++++++++++++++++++ monero_libwallet2_api_c/CMakeLists.txt | 6 ++++++ .../src/main/cpp/wallet2_api_c.h | 2 +- .../src/main/cpp/wallet2_api_c.h | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.woodpecker/linux.yaml b/.woodpecker/linux.yaml index 29d6e83..fc2fd67 100644 --- a/.woodpecker/linux.yaml +++ b/.woodpecker/linux.yaml @@ -35,60 +35,80 @@ steps: - apt update - apt install -y gperf libtinfo5 - ./build_single.sh ${repo} x86_64-apple-darwin11 -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: aarch64-apple-darwin11 image: git.mrcyjanek.net/mrcyjanek/debian:bookworm commands: - apt update - apt install -y gperf libtinfo5 - ./build_single.sh ${repo} aarch64-apple-darwin11 -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: x86_64-w64-mingw32 image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf libtinfo5 - ./build_single.sh ${repo} x86_64-w64-mingw32 -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: i686-w64-mingw32 image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache gcc-mingw-w64-i686 g++-mingw-w64-i686 gperf libtinfo5 - ./build_single.sh ${repo} i686-w64-mingw32 -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: x86_64-linux-gnu image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache gcc g++ gperf - ./build_single.sh ${repo} x86_64-linux-gnu -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: i686-linux-gnu image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache gcc-i686-linux-gnu g++-i686-linux-gnu gperf - ./build_single.sh ${repo} i686-linux-gnu -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: aarch64-linux-gnu image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gperf - ./build_single.sh ${repo} aarch64-linux-gnu -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: x86_64-linux-android image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache libtinfo5 gperf - ./build_single.sh ${repo} x86_64-linux-android -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: aarch64-linux-android image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache libtinfo5 gperf - ./build_single.sh ${repo} aarch64-linux-android -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: arm-linux-androideabi image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: - apt update - apt install -y ccache libtinfo5 gperf - ./build_single.sh ${repo} arm-linux-androideabi -j$(nproc) + volumes: + - /opt/cache/monero_c/dotccache:/root/.ccache - name: cache depends image: git.mrcyjanek.net/mrcyjanek/debian:buster commands: diff --git a/monero_libwallet2_api_c/CMakeLists.txt b/monero_libwallet2_api_c/CMakeLists.txt index b222f9a..175cc9e 100644 --- a/monero_libwallet2_api_c/CMakeLists.txt +++ b/monero_libwallet2_api_c/CMakeLists.txt @@ -21,6 +21,9 @@ add_library( wallet2_api_c src/main/cpp/helpers.cpp src/main/cpp/wallet2_api_c.cpp ) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") + set(MONERO_DIR ${CMAKE_SOURCE_DIR}/../${MONERO_FLAVOR}) set(EXTERNAL_LIBS_DIR ${MONERO_DIR}/contrib/depends/${HOST_ABI}) @@ -295,6 +298,9 @@ elseif(${MONERO_FLAVOR} STREQUAL "wownero") target_compile_definitions(wallet2_api_c PRIVATE FLAVOR_WOWNERO) endif() +if(NOT ${HOST_ABI} STREQUAL "x86_64-apple-darwin11" AND NOT ${HOST_ABI} STREQUAL "aarch64-apple-darwin11") + set_target_properties(wallet2_api_c PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL") +endif() target_link_libraries( wallet2_api_c wallet_api diff --git a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h index 22fd8d5..c995b24 100644 --- a/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h +++ b/monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h @@ -19,7 +19,7 @@ extern "C" #ifdef __MINGW32__ #define ADDAPI __declspec(dllexport) #else - #define ADDAPI + #define ADDAPI __attribute__((__visibility__("default"))) #endif // namespace Monero { diff --git a/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h index 8e67d4b..44091df 100644 --- a/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h +++ b/wownero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h @@ -19,7 +19,7 @@ extern "C" #ifdef __MINGW32__ #define ADDAPI __declspec(dllexport) #else - #define ADDAPI + #define ADDAPI __attribute__((__visibility__("default"))) #endif // namespace Monero {