-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build with bazel
on linux-arm64
#16
Conversation
Co-authored-by: Peter McEvoy <git@mcevoypeter.com>
When branching this runtime-specific repo off from the urbit monorepo, we initially based off of |
Description
Resolves #3.
This PR adds support for cross compiling for
linux-arm64
onlinux-x86_64
using theaarch64-linux-gnu-gcc
toolchain. The build processes forcurl
,gmp
,h2o
,openssl
,secp256k1
,sigsegv
,softfloat
, anduv
had to be updated to include explicit cross-compilation support when targetinglinux-arm64
fromlinux-x86_64
. Also, a new dependency--sse2neon--was added to translate Intel SSE intrinsics to ARM NEON intrinsics inh2o
.Also added:
//bazel/toolchain:BUILD.bazel
.platform()
s with unspecified compilers, specificallylinux-x86_64
andlinux-arm64
. The target platform need not specify a compiler, since the compiler toolchain is only relevant for the host platform.Testing
Host platform: ThinkPad (
x86_64
) running Arch Linux withv12.2.0
ofaarch64-linux-gnu-gcc
installed.Note that test targets are not building because of #15, and even if they were, running them on would be difficult given that the
linux-arm64
build is cross compiled form alinux-x86_64
machine.