mirror of
https://github.com/logos-blockchain/logos-blockchain-circuits.git
synced 2026-01-29 10:23:10 +00:00
use arm64 runner to generate native builds
This commit is contained in:
parent
df27d2781a
commit
7ebee1bf89
9
.github/resources/prover/Makefile
vendored
9
.github/resources/prover/Makefile
vendored
@ -23,18 +23,15 @@ host_linux_x86_64_static:
|
||||
-DCMAKE_PREFIX_PATH=depends/gmp/package && \
|
||||
make -j$(nproc) -vvv && make install
|
||||
|
||||
host_linux_aarch64_static:
|
||||
host_linux_arm64_static:
|
||||
rm -rf build_prover && mkdir build_prover && cd build_prover && \
|
||||
cmake .. \
|
||||
-DTARGET_PLATFORM=aarch64 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=../package \
|
||||
-DCMAKE_SYSTEM_NAME=Linux \
|
||||
-DCMAKE_SYSTEM_PROCESSOR=aarch64 \
|
||||
-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
|
||||
-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-static -static-libstdc++ -static-libgcc -no-pie" \
|
||||
-DUSE_ASM=OFF && \
|
||||
-DOpenMP_gomp_LIBRARY=$(LIBGOMP_A) \
|
||||
-DCMAKE_PREFIX_PATH=depends/gmp/package && \
|
||||
make -j$(nproc) -vvv && make install
|
||||
|
||||
host_windows_x86_64_static:
|
||||
|
||||
11
.github/resources/witness-generator/Makefile
vendored
11
.github/resources/witness-generator/Makefile
vendored
@ -13,21 +13,12 @@ OBJS := $(SRCS:.cpp=.o)
|
||||
DEPS_HPP := circom.hpp calcwit.hpp fr.hpp
|
||||
BIN := $(PROJECT)
|
||||
|
||||
# ---- Linux x86_64 ----
|
||||
# ---- Linux (x86_64 and aarch64) ----
|
||||
linux: CXXFLAGS=$(CXXFLAGS_COMMON)
|
||||
linux: LDFLAGS=-static
|
||||
linux: LDLIBS=-lgmp
|
||||
linux: $(BIN)
|
||||
|
||||
# ---- Linux aarch64 (cross-compile) ----
|
||||
# Uses GMP built in rapidsnark/depends/gmp/package_aarch64
|
||||
# Path is relative from circuit_cpp directory (e.g., mantle/pol_cpp/)
|
||||
linux_aarch64: CXX=aarch64-linux-gnu-g++
|
||||
linux_aarch64: CXXFLAGS=$(CXXFLAGS_COMMON) -I../../rapidsnark/depends/gmp/package_aarch64/include
|
||||
linux_aarch64: LDFLAGS=-static -L../../rapidsnark/depends/gmp/package_aarch64/lib
|
||||
linux_aarch64: LDLIBS=-lgmp
|
||||
linux_aarch64: $(BIN)
|
||||
|
||||
# ---- macOS ----
|
||||
macos: CXXFLAGS=$(CXXFLAGS_COMMON) -I/opt/homebrew/include -include gmp_patch.hpp
|
||||
macos: LDFLAGS=-Wl,-search_paths_first -Wl,-dead_strip
|
||||
|
||||
19
.github/workflows/build-circuits.yml
vendored
19
.github/workflows/build-circuits.yml
vendored
@ -378,14 +378,14 @@ jobs:
|
||||
path: logos-blockchain-circuits-${{ env.VERSION }}-${{ env.OS }}-${{ env.ARCH }}.tar.gz
|
||||
|
||||
build-linux-arm64:
|
||||
name: Build Linux ARM64 Binaries (Cross-compile for RPI5)
|
||||
runs-on: ubuntu-latest
|
||||
name: Build Linux ARM64 Binaries (Native for RPI5)
|
||||
runs-on: ubuntu-22.04-arm
|
||||
needs:
|
||||
- setup
|
||||
- generate-proving-keys
|
||||
env:
|
||||
VERSION: ${{ needs.setup.outputs.version }}
|
||||
OS: linux_aarch64
|
||||
OS: linux
|
||||
ARCH: aarch64
|
||||
steps:
|
||||
- name: Install Rust Toolchain
|
||||
@ -415,11 +415,8 @@ jobs:
|
||||
- name: Install Dependencies [Prover]
|
||||
run: sudo apt install -y build-essential cmake libgmp-dev libsodium-dev nasm curl m4
|
||||
|
||||
- name: Install Dependencies [Cross-compilation]
|
||||
run: sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
|
||||
|
||||
- name: Install Dependencies [Witness Generator]
|
||||
run: sudo apt install nlohmann-json3-dev
|
||||
run: sudo apt install -y nlohmann-json3-dev
|
||||
|
||||
- name: Replace Prover Makefile
|
||||
run: cp .github/resources/prover/Makefile rapidsnark/Makefile
|
||||
@ -442,8 +439,10 @@ jobs:
|
||||
- name: Compile Prover and Verifier
|
||||
working-directory: rapidsnark
|
||||
run: |
|
||||
./build_gmp.sh aarch64
|
||||
make host_linux_aarch64_static
|
||||
./build_gmp.sh host
|
||||
# Create symlink for TARGET_PLATFORM=aarch64 to find GMP
|
||||
ln -s package depends/gmp/package_aarch64
|
||||
make host_linux_arm64_static
|
||||
|
||||
- name: Bundle Rapidsnark Prover
|
||||
env:
|
||||
@ -1179,7 +1178,7 @@ jobs:
|
||||
platform:
|
||||
- os: linux
|
||||
arch: x86_64
|
||||
- os: linux_aarch64
|
||||
- os: linux
|
||||
arch: aarch64
|
||||
- os: macos
|
||||
arch: aarch64
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user