Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Runtimes/Core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ 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_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)
Expand Down
8 changes: 7 additions & 1 deletion Runtimes/Core/Concurrency/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 "")

Expand Down
8 changes: 8 additions & 0 deletions Runtimes/Core/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down