Merge pull request #19823 from echesakovMSFT/CrossBitnessValueNumbering
[platform/upstream/coreclr.git] / clrdefinitions.cmake
index 12b074a..4f12e4b 100644 (file)
@@ -1,10 +1,20 @@
 include(clrfeatures.cmake)
 
+# If set, indicates that this is not an officially supported release
+# Keep in sync with IsPrerelease in dir.props
+set(PRERELEASE 1)
+
+# Features we're currently flighting, but don't intend to ship in officially supported releases
+if (PRERELEASE)
+  add_definitions(-DFEATURE_DEFAULT_INTERFACES=1)  
+endif (PRERELEASE)
+
 if (CLR_CMAKE_TARGET_ARCH_AMD64)
   if (CLR_CMAKE_PLATFORM_UNIX)
     add_definitions(-DDBG_TARGET_AMD64_UNIX)
   endif()
   add_definitions(-D_TARGET_AMD64_=1)
+  add_definitions(-D_TARGET_64BIT_=1)
   add_definitions(-DDBG_TARGET_64BIT=1)
   add_definitions(-DDBG_TARGET_AMD64=1)
   add_definitions(-DDBG_TARGET_WIN64=1)
@@ -13,6 +23,7 @@ elseif (CLR_CMAKE_TARGET_ARCH_ARM64)
     add_definitions(-DDBG_TARGET_ARM64_UNIX)
   endif()
   add_definitions(-D_TARGET_ARM64_=1)
+  add_definitions(-D_TARGET_64BIT_=1)
   add_definitions(-DDBG_TARGET_64BIT=1)
   add_definitions(-DDBG_TARGET_ARM64=1)
   add_definitions(-DDBG_TARGET_WIN64=1)
@@ -47,6 +58,7 @@ if (CLR_CMAKE_PLATFORM_UNIX)
     add_definitions(-DUNIX_AMD64_ABI)
   elseif (CLR_CMAKE_TARGET_ARCH_ARM)
     add_definitions(-DUNIX_ARM_ABI)
+    add_definitions(-DFEATURE_DATATARGET4)
   elseif (CLR_CMAKE_TARGET_ARCH_I386)
     add_definitions(-DUNIX_X86_ABI)
   endif()
@@ -115,6 +127,7 @@ if(FEATURE_DBGIPC)
 endif(FEATURE_DBGIPC)
 if(FEATURE_EVENT_TRACE)
     add_definitions(-DFEATURE_EVENT_TRACE=1)
+    add_definitions(-DFEATURE_PERFTRACING=1)
 endif(FEATURE_EVENT_TRACE)
 if(FEATURE_GDBJIT)
     add_definitions(-DFEATURE_GDBJIT)
@@ -128,9 +141,6 @@ endif(FEATURE_GDBJIT_LANGID_CS)
 if(FEATURE_GDBJIT_SYMTAB)
     add_definitions(-DFEATURE_GDBJIT_SYMTAB)
 endif(FEATURE_GDBJIT_SYMTAB)
-if(CLR_CMAKE_PLATFORM_LINUX)
-    add_definitions(-DFEATURE_PERFTRACING)
-endif(CLR_CMAKE_PLATFORM_LINUX)
 if(CLR_CMAKE_PLATFORM_UNIX)
     add_definitions(-DFEATURE_EVENTSOURCE_XPLAT=1)
 endif(CLR_CMAKE_PLATFORM_UNIX)
@@ -139,9 +149,9 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
     add_definitions(-DFEATURE_HIJACK)
 endif(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
 add_definitions(-DFEATURE_ICASTABLE)
-if (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386))
+if (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386 OR CLR_CMAKE_TARGET_ARCH_ARM64))
     add_definitions(-DFEATURE_INTEROP_DEBUGGING)
-endif (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386))
+endif (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386 OR CLR_CMAKE_TARGET_ARCH_ARM64))
 if(FEATURE_INTERPRETER)
   add_definitions(-DFEATURE_INTERPRETER)
 endif(FEATURE_INTERPRETER)
@@ -172,6 +182,10 @@ if(CLR_CMAKE_PLATFORM_LINUX)
 endif(CLR_CMAKE_PLATFORM_LINUX)
 add_definitions(-DFEATURE_PREJIT)
 
+if(NOT CLR_CMAKE_PLATFORM_UNIX)
+    add_definitions(-DFEATURE_PROFAPI_ATTACH_DETACH)
+endif(NOT CLR_CMAKE_PLATFORM_UNIX)
+
 add_definitions(-DFEATURE_READYTORUN)
 set(FEATURE_READYTORUN 1)
 
@@ -185,22 +199,30 @@ add_definitions(-DFEATURE_STRONGNAME_MIGRATION)
 if (CLR_CMAKE_PLATFORM_UNIX OR CLR_CMAKE_TARGET_ARCH_ARM64)
     add_definitions(-DFEATURE_STUBS_AS_IL)
 endif ()
+if (FEATURE_NGEN_RELOCS_OPTIMIZATIONS)
+   add_definitions(-DFEATURE_NGEN_RELOCS_OPTIMIZATIONS)
+endif(FEATURE_NGEN_RELOCS_OPTIMIZATIONS)
 add_definitions(-DFEATURE_SVR_GC)
 add_definitions(-DFEATURE_SYMDIFF)
 add_definitions(-DFEATURE_TIERED_COMPILATION)
 if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
   # Enable the AMD64 Unix struct passing JIT-EE interface for all AMD64 platforms, to enable altjit.
-  add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING_ITF)
+  add_definitions(-DUNIX_AMD64_ABI_ITF)
 endif (CLR_CMAKE_PLATFORM_ARCH_AMD64)
 if(CLR_CMAKE_PLATFORM_UNIX_AMD64)
   add_definitions(-DFEATURE_MULTIREG_RETURN)
-  add_definitions(-DFEATURE_UNIX_AMD64_STRUCT_PASSING)
 endif (CLR_CMAKE_PLATFORM_UNIX_AMD64)
+if(CLR_CMAKE_PLATFORM_UNIX AND CLR_CMAKE_TARGET_ARCH_AMD64)
+  add_definitions(-DUNIX_AMD64_ABI)
+endif(CLR_CMAKE_PLATFORM_UNIX AND CLR_CMAKE_TARGET_ARCH_AMD64)
 add_definitions(-DFEATURE_USE_ASM_GC_WRITE_BARRIERS)
+if(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR (CLR_CMAKE_PLATFORM_ARCH_ARM64 AND NOT WIN32))
+  add_definitions(-DFEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP)
+endif(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR (CLR_CMAKE_PLATFORM_ARCH_ARM64 AND NOT WIN32))
 if((CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_ARM64) AND NOT WIN32)
   add_definitions(-DFEATURE_MANUALLY_MANAGED_CARD_BUNDLES)
-  add_definitions(-DFEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP)
 endif((CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_ARM64) AND NOT WIN32)
+
 if(WIN32)
     add_definitions(-DFEATURE_VERSIONING_LOG)
 endif(WIN32)