You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build the urbit binary on darwin-arm64 (i.e. Apple Silicon machines running macOS). This will build off the work done in #2. The steps required:
Tweak third-party dependency bazel build rules in bazel/third_party/ to build on darwin-arm64 platforms.
Move the platform-specific third-party dependency patches in pkg/urbit/compat/m1brew/ to the appropriate dependency directory in bazel/third_party/; verify the patches are still correct in the context of the dependency versions we're using; and apply the patches to the dependency buidls in WORKSPACE.bazel using select().
Incorporate the compilation flags in pkg/urbit/compat/m1brew/compat.mk into the appropriate build rule(s) in pkg/.
Tweak the bazel build rules for all packages in pkg/ to build on darwin-arm64 platforms.
The text was updated successfully, but these errors were encountered:
Notes from my conversation with @mcevoypeter today:
ARM chips don't support Intel SSE, which at least h2o depends on.
a. ARM chips support NEON instead.
b. We can replace SSE headers with sse2neon.h in our ARM-specific patches.
Our platform-specific patching strategies will include:
a. For build-system patches: incorporate Makefile patches to cc_library rules in third-party <dependency>.BUILD files.
b. For source code patches: use environment variables (i.e., URBIT_RUNTIME_PLATFORM_DARWIN, etc.) and #if defined(VAR) to gate platform-specific code blocks in source files, and set the appropriate environment variables using select() calls in our third-party <dependency>.BUILD files to "select" the correct code blocks.
TODOs:
Implement updated patching strategies with:
murmur3
softfloat
lmdb
h2o
Document patching strategies more thoroughly in the top-level comment of WORKSPACE.bazel
Build the
urbit
binary ondarwin-arm64
(i.e. Apple Silicon machines runningmacOS
). This will build off the work done in #2. The steps required:bazel
build rules inbazel/third_party/
to build ondarwin-arm64
platforms.pkg/urbit/compat/m1brew/
to the appropriate dependency directory inbazel/third_party/
; verify the patches are still correct in the context of the dependency versions we're using; and apply the patches to the dependency buidls inWORKSPACE.bazel
usingselect()
.pkg/urbit/compat/m1brew/compat.mk
into the appropriate build rule(s) inpkg/
.bazel
build rules for all packages inpkg/
to build ondarwin-arm64
platforms.The text was updated successfully, but these errors were encountered: