dist: enable libbacktrace on ARM and ARM64
(and make sure it will work on Windows, when enabled)
This commit is contained in:
parent
eafe694536
commit
c5035c6eca
|
@ -32,23 +32,37 @@ if [[ "${PLATFORM}" == "Windows_amd64" ]]; then
|
||||||
deps-common build/generate_makefile
|
deps-common build/generate_makefile
|
||||||
# This can be reduced to `make CC=... ...` when it becomes possible to
|
# This can be reduced to `make CC=... ...` when it becomes possible to
|
||||||
# replace `CC=gcc` with `CC=$(CC)` in "vendor/nimbus-build-system/makefiles/targets.mk".
|
# replace `CC=gcc` with `CC=$(CC)` in "vendor/nimbus-build-system/makefiles/targets.mk".
|
||||||
|
CC=x86_64-w64-mingw32.static-gcc
|
||||||
|
CXX=x86_64-w64-mingw32.static-g++
|
||||||
make \
|
make \
|
||||||
-j$(nproc) \
|
-j$(nproc) \
|
||||||
-C vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc \
|
-C vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc \
|
||||||
-f Makefile.mingw \
|
-f Makefile.mingw \
|
||||||
CC=x86_64-w64-mingw32.static-gcc \
|
CC="${CC}" \
|
||||||
libminiupnpc.a &>/dev/null
|
libminiupnpc.a &>/dev/null
|
||||||
make \
|
make \
|
||||||
-j$(nproc) \
|
-j$(nproc) \
|
||||||
-C vendor/nim-nat-traversal/vendor/libnatpmp-upstream \
|
-C vendor/nim-nat-traversal/vendor/libnatpmp-upstream \
|
||||||
CC=x86_64-w64-mingw32.static-gcc \
|
CC="${CC}" \
|
||||||
CFLAGS="-Wall -Os -DWIN32 -DNATPMP_STATICLIB -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 ${CFLAGS}" \
|
CFLAGS="-Wall -Os -DWIN32 -DNATPMP_STATICLIB -DENABLE_STRNATPMPERR -DNATPMP_MAX_RETRIES=4 ${CFLAGS}" \
|
||||||
libnatpmp.a &>/dev/null
|
libnatpmp.a &>/dev/null
|
||||||
|
# We set CXX and add CXXFLAGS for libunwind's C++ code, even though we don't
|
||||||
|
# use those C++ objects. I don't see an easy way of disabling the C++ parts in
|
||||||
|
# libunwind itself.
|
||||||
|
#
|
||||||
|
# "libunwind.a" combines objects produced from C and C++ code. Even though we
|
||||||
|
# don't link any C++-generated objects, the linker still checks them for
|
||||||
|
# undefined symbols, so we're forced to use g++ as a linker wrapper.
|
||||||
|
# For some reason, macOS's Clang doesn't need this trick, nor do native (and
|
||||||
|
# newer) Mingw-w64 toolchains on Windows.
|
||||||
make \
|
make \
|
||||||
-j$(nproc) \
|
-j$(nproc) \
|
||||||
USE_LIBBACKTRACE=0 \
|
CC="${CC}" \
|
||||||
|
CXX="${CXX}" \
|
||||||
|
CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS -D_WIN32_WINNT=0x0600" \
|
||||||
|
USE_VENDORED_LIBUNWIND=1 \
|
||||||
LOG_LEVEL="TRACE" \
|
LOG_LEVEL="TRACE" \
|
||||||
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --os:windows --gcc.exe=x86_64-w64-mingw32.static-gcc --gcc.linkerexe=x86_64-w64-mingw32.static-gcc --passL:-static" \
|
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --os:windows --gcc.exe=${CC} --gcc.linkerexe=${CXX} --passL:-static" \
|
||||||
${BINARIES}
|
${BINARIES}
|
||||||
elif [[ "${PLATFORM}" == "Linux_arm32v7" ]]; then
|
elif [[ "${PLATFORM}" == "Linux_arm32v7" ]]; then
|
||||||
CC="arm-linux-gnueabihf-gcc"
|
CC="arm-linux-gnueabihf-gcc"
|
||||||
|
@ -59,7 +73,6 @@ elif [[ "${PLATFORM}" == "Linux_arm32v7" ]]; then
|
||||||
deps-common build/generate_makefile
|
deps-common build/generate_makefile
|
||||||
make \
|
make \
|
||||||
-j$(nproc) \
|
-j$(nproc) \
|
||||||
USE_LIBBACKTRACE=0 \
|
|
||||||
LOG_LEVEL="TRACE" \
|
LOG_LEVEL="TRACE" \
|
||||||
CC="${CC}" \
|
CC="${CC}" \
|
||||||
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --cpu:arm --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
|
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --cpu:arm --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
|
||||||
|
@ -74,7 +87,6 @@ elif [[ "${PLATFORM}" == "Linux_arm64v8" ]]; then
|
||||||
deps-common build/generate_makefile
|
deps-common build/generate_makefile
|
||||||
make \
|
make \
|
||||||
-j$(nproc) \
|
-j$(nproc) \
|
||||||
USE_LIBBACKTRACE=0 \
|
|
||||||
LOG_LEVEL="TRACE" \
|
LOG_LEVEL="TRACE" \
|
||||||
CC="${CC}" \
|
CC="${CC}" \
|
||||||
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --cpu:arm64 --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
|
NIMFLAGS="-d:disableMarchNative -d:chronicles_sinks=textlines -d:chronicles_colors=none --cpu:arm64 --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8121c08e0e7bdf92f86012b4af2330434fa7ed5d
|
Subproject commit 40be35148e87747666c3afd78fa678079406eac7
|
Loading…
Reference in New Issue