[lldb] Build debugserver 2-way fat on AS
When compiling for arm, build debugserver 2 way fat with an arm64 and
arm64e slice. You can only debug arm64e processes using an arm64e
debugserver.
GitOrigin-RevId: e825effe9ba98c81c9c1799f58e3a7a43e887b38
diff --git a/tools/debugserver/source/CMakeLists.txt b/tools/debugserver/source/CMakeLists.txt
index 2e78896..b2bf01d 100644
--- a/tools/debugserver/source/CMakeLists.txt
+++ b/tools/debugserver/source/CMakeLists.txt
@@ -83,6 +83,30 @@
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-extended-offsetof")
endif ()
+# When compiling for arm, build debugserver 2 way fat with an arm64 and arm64e
+# slice. You can only debug arm64e processes using an arm64e debugserver.
+include(CheckCSourceCompiles)
+check_c_source_compiles(
+ "
+ #include <TargetConditionals.h>
+ #if TARGET_CPU_ARM
+ #if TARGET_OS_OSX
+ #warning Building for macOS
+ #else
+ #error Not building for macOS
+ #endif
+ #else
+ #error Not building for ARM
+ #endif
+ int main() { return 0; }
+ "
+ BUILDING_FOR_ARM_OSX
+)
+
+if (BUILDING_FOR_ARM_OSX)
+ set(CMAKE_OSX_ARCHITECTURES "arm64;arm64e")
+endif ()
+
check_library_exists(compression compression_encode_buffer "" HAVE_LIBCOMPRESSION)
find_library(SECURITY_LIBRARY Security)