Set disableMarchNative for Fluffy Dockerfile (#1391)

This commit is contained in:
Kim De Mey 2022-12-19 13:19:50 +01:00 committed by GitHub
parent d55a72ae49
commit 05ac755e84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 9 deletions

View File

@ -40,13 +40,19 @@ if defined(windows):
if defined(disableMarchNative):
if defined(i386) or defined(amd64):
if defined(macosx):
# https://support.apple.com/kb/SP777
# "macOS Mojave - Technical Specifications": EOL as of 2021-10 so macOS
# users on pre-Nehalem must be running either some Hackintosh, or using
# an unsupported macOS version beyond that most recently EOL'd. Nehalem
# supports instruction set extensions through SSE4.2 and POPCNT.
switch("passC", "-march=nehalem")
switch("passL", "-march=nehalem")
# https://support.apple.com/kb/sp803
# "macOS Catalina - Technical Specifications": EOL as of 2022-09
# https://support.apple.com/kb/sp833
# "macOS Big Sur - Technical Specifications" lists current oldest
# supported models: MacBook (2015 or later), MacBook Air (2013 or later),
# MacBook Pro (Late 2013 or later), Mac mini (2014 or later), iMac (2014
# or later), iMac Pro (2017 or later), Mac Pro (2013 or later).
#
# These all have Haswell or newer CPUs.
#
# This ensures AVX2, AES-NI, PCLMUL, BMI1, and BMI2 instruction set support.
switch("passC", "-march=haswell -mtune=generic")
switch("passL", "-march=haswell -mtune=generic")
else:
switch("passC", "-mssse3")
switch("passL", "-mssse3")

View File

@ -8,14 +8,16 @@ RUN apt-get update \
ARG BRANCH_NAME=master
ENV NPROC=2
ENV NIMFLAGS_COMMON="-d:disableMarchNative --gcc.options.debug:'-g1' --clang.options.debug:'-gline-tables-only'"
RUN git clone https://github.com/status-im/nimbus-eth1.git \
&& cd nimbus-eth1 \
&& git checkout ${BRANCH_NAME} \
&& git pull \
&& make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" V=1 update
&& make -j${NPROC} NIMFLAGS="${NIMFLAGS_COMMON} --parallelBuild:${NPROC}" V=1 update
RUN cd nimbus-eth1 && \
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" fluffy && \
make -j${NPROC} NIMFLAGS="${NIMFLAGS_COMMON} --parallelBuild:${NPROC}" fluffy && \
mv build/fluffy /usr/bin/
# --------------------------------- #