mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge pull request #85616 from etcwilde/ewilde/stdlib-tracing
CMake: Runtimes: Enable tracing on Apple OSs
This commit is contained in:
@@ -106,11 +106,11 @@ defaulted_option(SwiftCore_ENABLE_RUNTIME_OS_VERSIONING "Enable runtime OS versi
|
||||
defaulted_option(SwiftCore_ENABLE_STATIC_PRINT "Disable full print")
|
||||
defaulted_option(SwiftCore_ENABLE_COMPACT_ABSOLUTE_FUNCTION_POINTERS "Resolve absolute function pointer as identity")
|
||||
defaulted_option(SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT "Add symbols for runtime backdeployment")
|
||||
defaulted_option(SwiftCore_ENABLE_STDLIB_TRACING "Enable tracing in the runtime. Assumes the presence of os_log(3) and the os_signpost(3) API.")
|
||||
defaulted_option(SwiftCore_ENABLE_CONCURRENCY "Enable Concurrency runtime support")
|
||||
defaulted_option(SwiftCore_ENABLE_REMOTE_MIRROR "Enable RemoteMirror runtime support")
|
||||
defaulted_option(SwiftCore_ENABLE_DIRECT_RETAIN_RELEASE "Use direct retain release in the runtime/stdlib")
|
||||
defaulted_set(SwiftCore_CONCURRENCY_GLOBAL_EXECUTOR STRING "Default Concurrency global executor implementation")
|
||||
option(SwiftCore_ENABLE_STDLIB_TRACING "Enable tracing in the runtime. Requires os_log(3) and the os_signpost(3) API." OFF)
|
||||
option(SwiftCore_ENABLE_COMMANDLINE_SUPPORT "Enable command line argument support" ON)
|
||||
option(SwiftCore_ENABLE_UNICODE_DATA "Include unicode data in Swift runtimes" ON)
|
||||
option(SwiftCore_ENABLE_SHORT_MANGLING_LOOKUPS "Build with fast-path context descriptor lookups based on well-known short manglings." ON)
|
||||
|
||||
@@ -22,7 +22,6 @@ add_library(swift_Concurrency
|
||||
TaskLocal.cpp
|
||||
TaskStatus.cpp
|
||||
ThreadingError.cpp
|
||||
TracingSignpost.cpp
|
||||
"${PROJECT_SOURCE_DIR}/CompatibilityOverride/CompatibilityOverride.cpp"
|
||||
"./linker-support/magic-symbols-for-install-name.c"
|
||||
Actor.swift
|
||||
@@ -99,6 +98,13 @@ add_library(swift_Concurrency
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/TaskGroup+addTask.swift"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/Task+immediate.swift")
|
||||
|
||||
if(SwiftCore_ENABLE_STDLIB_TRACING)
|
||||
target_compile_definitions(swift_Concurrency
|
||||
PRIVATE SWIFT_STDLIB_CONCURRENCY_TRACING)
|
||||
target_sources(swift_Concurrency
|
||||
PRIVATE TracingSignpost.cpp)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
target_sources(swift_Concurrency PRIVATE
|
||||
CFExecutor.swift
|
||||
|
||||
@@ -13,6 +13,7 @@ set(SwiftCore_ENABLE_RUNTIME_FUNCTION_COUNTERS ON CACHE BOOL "")
|
||||
set(SwiftCore_ENABLE_BACKDEPLOYMENT_SUPPORT ON CACHE BOOL "")
|
||||
set(SwiftCore_ENABLE_FILESYSTEM_SUPPORT ON CACHE BOOL "")
|
||||
set(SwiftCore_ENABLE_STRICT_AVAILABILITY ON CACHE BOOL "")
|
||||
set(SwiftCore_ENABLE_STDLIB_TRACING ON CACHE BOOL "")
|
||||
|
||||
set(SwiftCore_OPTIMIZATION_REMARKS "bitstream" CACHE STRING "")
|
||||
|
||||
|
||||
@@ -72,6 +72,14 @@ if(SwiftCore_ENABLE_FILESYSTEM_SUPPORT AND (NOT SwiftCore_ARCH_SUBDIR OR NOT Swi
|
||||
message(SEND_ERROR "Filesystem support requires setting `SwiftCore_ARCH_SUBDIR` and `SwiftCore_PLATFORM_SUBDIR`")
|
||||
endif()
|
||||
|
||||
if(SwiftCore_ENABLE_STDLIB_TRACING)
|
||||
check_symbol_exists("os_signpost_interval_begin" "os/signpost.h" SwiftCore_HAS_OS_SIGNPOST)
|
||||
check_symbol_exists("os_log" "os/log.h" SwiftCore_HAS_OS_LOG)
|
||||
if(NOT SwiftCore_HAS_OS_LOG OR NOT SwiftCore_HAS_OS_SIGNPOST)
|
||||
message(SEND_ERROR "Tracing requires 'os_signpost' and 'os_log' APIs")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO: Probably worth considering putting half of these in a RuntimeConfig.h.in
|
||||
# file rather than pushing them through macro flags.
|
||||
target_compile_definitions(swiftRuntime
|
||||
|
||||
Reference in New Issue
Block a user