diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index d59db3a..3939921 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -53,6 +53,50 @@ jobs: name: p2pool-${{ matrix.config.os }} path: build/p2pool + build-ubuntu-aarch64: + + runs-on: ubuntu-latest + + steps: + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y git build-essential cmake gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu + + - name: Checkout repository + uses: actions/checkout@v2 + with: + submodules: true + + - name: Build libuv + run: | + cd external/src/libuv + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ + make -j$(nproc) + + - name: Build libzmq + run: | + cd external/src/libzmq + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DWITH_TLS=OFF -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF + make -j$(nproc) + + - name: Build p2pool + run: | + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_STRIP=/usr/bin/aarch64-linux-gnu-strip -DSTATIC_LIBS=ON -DARCH_ID=aarch64 + make -j$(nproc) + + - name: Archive binary + uses: actions/upload-artifact@v2 + with: + name: p2pool-ubuntu-latest-aarch64 + path: build/p2pool + build-windows-msys2: runs-on: windows-latest diff --git a/CMakeLists.txt b/CMakeLists.txt index f663c40..ddacf07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.8.12) project(p2pool) option(STATIC_BINARY "Build static binary" OFF) +option(STATIC_LIBS "Link libuv and libzmq statically" OFF) option(WITH_RANDOMX "Include the RandomX library in the build. If this is turned off, p2pool will rely on monerod for verifying RandomX hashes" ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake") @@ -157,7 +158,7 @@ endif() add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES}) -if (STATIC_BINARY) +if (STATIC_BINARY OR STATIC_LIBS) add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} ${CMAKE_PROJECT_NAME}) if (WITH_RANDOMX)