diff --git a/build/osx/arm64_osx.mk b/build/osx/arm64_osx.mk new file mode 100644 index 0000000..bfe437b --- /dev/null +++ b/build/osx/arm64_osx.mk @@ -0,0 +1,14 @@ +## +## arm64 OSX (Apple Silicon) Makefile +## Tested on Apple M4 +## Use make +## +TargetCPU :=arm64 +OS :=osx +# -include: modern macOS g++ is clang++/libc++, which lacks abi::__forced_unwind +# that the OSX sources expect from libstdc++-era toolchains. +CXXFLAGS := -O3 -fPIC -pedantic -arch arm64 -include forced_unwind_stub.h + +# Standard part + +include common.mk diff --git a/build/osx/forced_unwind_stub.h b/build/osx/forced_unwind_stub.h new file mode 100644 index 0000000..3cdaed1 --- /dev/null +++ b/build/osx/forced_unwind_stub.h @@ -0,0 +1,6 @@ +// Apple libc++ has no abi::__forced_unwind (Linux libstdc++ pthread cancel). +// Force-included by arm64_osx.mk so upstream snap_threads.cpp compiles unchanged. +#pragma once +namespace __cxxabiv1 { +struct __forced_unwind {}; +}