diff --git a/eng/DotNetBuild.props b/eng/DotNetBuild.props
index 81d4d6792a1098..f0e3efa2bf8797 100644
--- a/eng/DotNetBuild.props
+++ b/eng/DotNetBuild.props
@@ -112,13 +112,14 @@
$(InnerBuildArgs) /p:GitHubRepositoryName=$(GitHubRepositoryName)
- +$(UseSystemLibs)+
- $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_BROTLI=true
- $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=true
+ +$(UseSystemLibs)
+ $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_BROTLI=true
+ $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=true
- $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_RAPIDJSON=true
- $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_ZLIB=true
+ $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_RAPIDJSON=true
+ $(InnerBuildArgs) --cmakeargs -DCLR_CMAKE_USE_SYSTEM_ZLIB=true
+ $(InnerBuildArgs) /p:FeatureXplatEventSource=false
$(InnerBuildArgs) /p:NetCoreAppToolCurrentVersion=$(NetCoreAppToolCurrentVersion)
diff --git a/src/coreclr/clr.featuredefines.props b/src/coreclr/clr.featuredefines.props
index 17ed60b5f8deca..5dd3516f862372 100644
--- a/src/coreclr/clr.featuredefines.props
+++ b/src/coreclr/clr.featuredefines.props
@@ -6,7 +6,7 @@
- true
+ true
true
diff --git a/src/coreclr/clrdefinitions.cmake b/src/coreclr/clrdefinitions.cmake
index 550ce70a14ef7a..6df63f17471db8 100644
--- a/src/coreclr/clrdefinitions.cmake
+++ b/src/coreclr/clrdefinitions.cmake
@@ -115,9 +115,9 @@ endif(FEATURE_GDBJIT_LANGID_CS)
if(FEATURE_GDBJIT_SYMTAB)
add_definitions(-DFEATURE_GDBJIT_SYMTAB)
endif(FEATURE_GDBJIT_SYMTAB)
-if(CLR_CMAKE_TARGET_LINUX)
+if(FEATURE_EVENTSOURCE_XPLAT)
add_definitions(-DFEATURE_EVENTSOURCE_XPLAT)
-endif(CLR_CMAKE_TARGET_LINUX)
+endif(FEATURE_EVENTSOURCE_XPLAT)
# NetBSD doesn't implement this feature
if(NOT CLR_CMAKE_TARGET_NETBSD AND NOT CLR_CMAKE_TARGET_ARCH_WASM)
add_definitions(-DFEATURE_HIJACK)
diff --git a/src/coreclr/clrfeatures.cmake b/src/coreclr/clrfeatures.cmake
index 6bb761a8e0e2f8..19b53e6ed268af 100644
--- a/src/coreclr/clrfeatures.cmake
+++ b/src/coreclr/clrfeatures.cmake
@@ -9,6 +9,13 @@ if(NOT DEFINED FEATURE_EVENT_TRACE)
endif()
endif(NOT DEFINED FEATURE_EVENT_TRACE)
+if(NOT DEFINED FEATURE_EVENTSOURCE_XPLAT)
+ if (CLR_CMAKE_TARGET_LINUX AND NOT CLR_CMAKE_TARGET_ANDROID)
+ # To actually disable FEATURE_EVENTSOURCE_XPLAT, also change clr.featuredefines.props
+ set(FEATURE_EVENTSOURCE_XPLAT 1)
+ endif()
+endif(NOT DEFINED FEATURE_EVENTSOURCE_XPLAT)
+
if(NOT DEFINED FEATURE_PERFTRACING AND FEATURE_EVENT_TRACE)
set(FEATURE_PERFTRACING 1)
endif(NOT DEFINED FEATURE_PERFTRACING AND FEATURE_EVENT_TRACE)
diff --git a/src/coreclr/pal/src/configure.cmake b/src/coreclr/pal/src/configure.cmake
index 55d3f47ff46748..5dd56c1748dbdc 100644
--- a/src/coreclr/pal/src/configure.cmake
+++ b/src/coreclr/pal/src/configure.cmake
@@ -942,7 +942,7 @@ elseif(CLR_CMAKE_TARGET_BROWSER)
set(HAVE_SCHED_OTHER_ASSIGNABLE 0)
else() # Anything else is Linux
# LTTNG is not available on Android, so don't error out
- if(NOT HAVE_LTTNG_TRACEPOINT_H AND NOT CLR_CMAKE_TARGET_ANDROID AND FEATURE_EVENT_TRACE)
+ if(FEATURE_EVENTSOURCE_XPLAT AND NOT HAVE_LTTNG_TRACEPOINT_H)
unset(HAVE_LTTNG_TRACEPOINT_H CACHE)
message(FATAL_ERROR "Cannot find liblttng-ust-dev. Try installing liblttng-ust-dev (or the appropriate packages for your platform)")
endif()
diff --git a/src/coreclr/pal/src/eventprovider/CMakeLists.txt b/src/coreclr/pal/src/eventprovider/CMakeLists.txt
index 76bbf56e8e114c..ae7b58bb9fd076 100644
--- a/src/coreclr/pal/src/eventprovider/CMakeLists.txt
+++ b/src/coreclr/pal/src/eventprovider/CMakeLists.txt
@@ -1,6 +1,6 @@
set(EVENT_MANIFEST ${VM_DIR}/ClrEtwAll.man)
-if(CLR_CMAKE_HOST_LINUX AND NOT CLR_CMAKE_HOST_ANDROID)
+if(FEATURE_EVENTSOURCE_XPLAT)
add_subdirectory(lttngprovider)
else()
add_subdirectory(dummyprovider)
diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj
index 9da9af3cc09923..a5ef3e0169b426 100644
--- a/src/coreclr/runtime.proj
+++ b/src/coreclr/runtime.proj
@@ -51,6 +51,7 @@
<_CoreClrBuildArg Include="-cmakeargs "-DCLR_DOTNET_HOST_PATH=$(DOTNET_HOST_PATH)"" />
<_CoreClrBuildArg Condition="'$(HasCdacBuildTool)' == 'true'" Include="-cmakeargs "-DCDAC_BUILD_TOOL_BINARY_PATH=$(RuntimeBinDir)cdac-build-tool\cdac-build-tool.dll"" />
<_CoreClrBuildArg Condition="'$(_IcuDir)' != ''" Include="-cmakeargs "-DCLR_CMAKE_ICU_DIR=$(_IcuDir)"" />
+ <_CoreClrBuildArg Condition="'$(FeatureXplatEventSource)' == 'false'" Include="-cmakeargs "-DFEATURE_EVENTSOURCE_XPLAT=0"" />