diff --git a/src/native-clr/CMakeLists.txt b/src/native-clr/CMakeLists.txt deleted file mode 100644 index 3f2a4c627a0..00000000000 --- a/src/native-clr/CMakeLists.txt +++ /dev/null @@ -1,517 +0,0 @@ -cmake_minimum_required(VERSION 3.21) - -# -# Read product version -# -file(STRINGS "../../Directory.Build.props" XA_PRODUCT_VERSION_XML REGEX "^[ \t]*(.*)") -string(REGEX REPLACE "^[ \t]*(.*)" "\\1" XA_VERSION "${XA_PRODUCT_VERSION_XML}") - -project( - android-native-bits - VERSION ${XA_VERSION} - DESCRIPTION ".NET for Android native runtime" - HOMEPAGE_URL "https://github.com/dotnet/android" - LANGUAGES CXX C ASM -) - -# -# Sanity checks -# -macro(ensure_variable_set VARNAME) - if(NOT ${VARNAME}) - message(FATAL_ERROR "Variable ${VARNAME} not set. Please set it either on command line with -D${VARNAME}=value or in the presets file") - endif() -endmacro() - -ensure_variable_set(ANDROID_ABI) -ensure_variable_set(CMAKE_ANDROID_NDK) -ensure_variable_set(CMAKE_BUILD_TYPE) -ensure_variable_set(OUTPUT_PATH) -ensure_variable_set(XA_BUILD_CONFIGURATION) -ensure_variable_set(XA_LIB_TOP_DIR) - -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${OUTPUT_PATH}/${ANDROID_RID}" CACHE PATH "" FORCE) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_PATH}/${ANDROID_RID}" CACHE PATH "" FORCE) - -set(CMAKE_CXX_STANDARD 23) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_C_EXTENSIONS OFF) - -include("${CMAKE_ANDROID_NDK}/build/cmake/abis.cmake") -#include("${CMAKE_SOURCE_DIR}/cmake/ArchiveDSOStub.cmake") - -if(CMAKE_BUILD_TYPE STREQUAL Debug) - set(DEBUG_BUILD True) -else() - set(DEBUG_BUILD False) -endif() - -set(XA_NO_INLINE "$ENV{XA_NO_INLINE}") -if(XA_NO_INLINE) - set(DONT_INLINE_DEFAULT ON) -else() - set(DONT_INLINE_DEFAULT OFF) -endif() - -set(XA_NO_STRIP "$ENV{XA_NO_STRIP}") -if(XA_NO_STRIP OR DEBUG_BUILD) - set(STRIP_DEBUG_DEFAULT OFF) -endif() - -option(ENABLE_CLANG_ASAN "Enable the clang AddressSanitizer support" OFF) -option(ENABLE_CLANG_UBSAN "Enable the clang UndefinedBehaviorSanitizer support" OFF) - -if(ENABLE_CLANG_ASAN AND ENABLE_CLANG_UBSAN) - message(FATAL_ERROR "Both ASAN and UBSAN builds cannot be enabled at the same time") -endif() - -if(ENABLE_CLANG_ASAN OR ENABLE_CLANG_UBSAN) - if(BUILD_ARCHIVE_DSO_STUB) - message(FATAL_ERROR "ASAN/UBSAN builds aren't supported by the archive DSO target") - endif() - - set(STRIP_DEBUG_DEFAULT OFF) - set(ANALYZERS_ENABLED ON) -else() - if(NOT XA_NO_STRIP) - set(STRIP_DEBUG_DEFAULT ON) - endif() - set(ANALYZERS_ENABLED OFF) -endif() - -option(COMPILER_DIAG_COLOR "Show compiler diagnostics/errors in color" ON) -option(STRIP_DEBUG "Strip debugging information when linking" ${STRIP_DEBUG_DEFAULT}) -option(DISABLE_DEBUG "Disable the built-in debugging code" OFF) -option(USE_CCACHE "Use ccache, if found, to speed up recompilation" ON) -option(DONT_INLINE "Do not inline any functions which are usually inlined, to get better stack traces" ${DONT_INLINE_DEFAULT}) - -if(ENABLE_CLANG_ASAN) - set(STATIC_LIB_NAME_SUFFIX "-clr-asan") -elseif(ENABLE_CLANG_UBSAN) - set(STATIC_LIB_NAME_SUFFIX "-clr-ubsan") -else() - set(STATIC_LIB_NAME_SUFFIX "-clr") -endif() - -if(DEBUG_BUILD) - set(STATIC_LIB_NAME_SUFFIX "${STATIC_LIB_NAME_SUFFIX}-debug") -else() - set(STATIC_LIB_NAME_SUFFIX "${STATIC_LIB_NAME_SUFFIX}-release") -endif() - -if(USE_CCACHE) - if(CMAKE_CXX_COMPILER MATCHES "/ccache/") - message(STATUS "ccache: compiler already uses ccache") - else() - find_program(CCACHE ccache) - if(CCACHE) - set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE}") - set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE}") - message(STATUS "ccache: compiler will be lauched with ${CCACHE}") - endif() - endif() -endif() - -# -# Needed modules -# -# include(CheckIncludeFile) -# include(CheckCXXSymbolExists) -include(CheckCXXCompilerFlag) -include(CheckCCompilerFlag) -include(CheckLinkerFlag) - -# -# General config -# -set(XA_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/Build${XA_BUILD_CONFIGURATION}") -include("${XA_BUILD_DIR}/xa_build_configuration.cmake") - -# -# Paths -# -if(ANDROID_ABI MATCHES "^arm64-v8a") - set(NET_RUNTIME_DIR "${NETCORE_APP_RUNTIME_DIR_ARM64}") - set(TOOLCHAIN_TRIPLE "${NDK_ABI_arm64-v8a_TRIPLE}") -elseif(ANDROID_ABI MATCHES "^armeabi-v7a") - set(NET_RUNTIME_DIR "${NETCORE_APP_RUNTIME_DIR_ARM}") - set(TOOLCHAIN_TRIPLE "${NDK_ABI_armeabi-v7a_TRIPLE}") -elseif(ANDROID_ABI MATCHES "^x86_64") - set(NET_RUNTIME_DIR "${NETCORE_APP_RUNTIME_DIR_X86_64}") - set(TOOLCHAIN_TRIPLE "${NDK_ABI_x86_64_TRIPLE}") -elseif(ANDROID_ABI MATCHES "^x86") - set(NET_RUNTIME_DIR "${NETCORE_APP_RUNTIME_DIR_X86}") - set(TOOLCHAIN_TRIPLE "${NDK_ABI_x86_TRIPLE}") -else() - message(FATAL "${ANDROID_ABI} is not supported for .NET 6+ builds") -endif() - - -file(REAL_PATH "../../" REPO_ROOT_DIR) -set(EXTERNAL_DIR "${REPO_ROOT_DIR}/external") -set(JAVA_INTEROP_SRC_PATH "${EXTERNAL_DIR}/Java.Interop/src/java-interop") -#set(LIBUNWIND_SOURCE_DIR "${EXTERNAL_DIR}/libunwind") -#set(ROBIN_MAP_DIR "${EXTERNAL_DIR}/robin-map") - -# -# Include directories -# -set(SYSROOT_CXX_INCLUDE_DIR ${CMAKE_SYSROOT}/usr/include/c++/v1) -set(MONO_RUNTIME_INCLUDE_DIR ${NET_RUNTIME_DIR}/native/include/mono-2.0) -set(JAVA_INTEROP_INCLUDE_DIR ${JAVA_INTEROP_SRC_PATH}) -set(XA_RUNTIME_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) -set(CONSTEXPR_XXH3_DIR ${EXTERNAL_DIR}/constexpr-xxh3) - -macro(xa_add_include_directories TARGET) - target_include_directories( - ${TARGET} - PRIVATE - ${XA_RUNTIME_INCLUDE_DIR} - ${EXTERNAL_DIR} - ${CONSTEXPR_XXH3_DIR} - ) -endmacro() - -# -# Compiler defines -# -macro(xa_add_compile_definitions TARGET) - target_compile_definitions( - ${TARGET} - PRIVATE - XA_VERSION="${XA_VERSION}" - _REENTRANT - PLATFORM_ANDROID - ) - - if(ANDROID_ABI MATCHES "^(arm64-v8a|x86_64)") - target_compile_definitions( - ${TARGET} - PRIVATE - ANDROID64 - ) - endif() -endmacro() - -if(NOT BUILD_ARCHIVE_DSO_STUB) - if(DEBUG_BUILD AND NOT DISABLE_DEBUG) - add_compile_definitions(DEBUG) - endif() - - if(NOT DEBUG_BUILD) - add_compile_definitions(RELEASE NDEBUG) - endif() -endif() - -# -# Compiler argument macros -# -macro(_compiler_has_arg _lang _arg) - string(REGEX REPLACE "-|,|=" "_" _arg_name ${_arg}) - string(TOUPPER "${_lang}" _lang_upper) - - cmake_language(CALL check_${_lang}_compiler_flag "${_arg}" HAS_${_arg_name}_${_lang_upper}) - if(HAS_${_arg_name}_${_lang_upper}) - set(COMPILER_ARG_FOUND True) - else() - set(COMPILER_ARG_FOUND False) - endif() -endmacro() - -macro(cxx_compiler_has_arg _arg) - _compiler_has_arg(cxx ${_arg}) -endmacro() - -macro(c_compiler_has_arg _arg) - _compiler_has_arg(c ${_arg}) -endmacro() - -macro(_linker_has_arg _lang _arg) - string(REGEX REPLACE "-|,|=" "_" _arg_name ${_arg}) - string(TOUPPER "${_lang}" _lang_upper) - - check_linker_flag(${_lang} "${_arg}" HAS_${_arg_name}_LINKER_${_lang_upper}) - if(HAS_${_arg_name}_LINKER_${_lang_upper}) - set(LINKER_ARG_FOUND True) - else() - set(LINKER_ARG_FOUND False) - endif() -endmacro() - -macro(cxx_linker_has_arg _arg) - _linker_has_arg(CXX ${_arg}) -endmacro() - -macro(c_linker_has_arg _arg) - _linker_has_arg(C ${_arg}) -endmacro() - -macro(xa_check_c_args VARNAME _CHECK_ARGS) - set(_CHECKED_ARGS "") - - foreach(arg ${_CHECK_ARGS}) - c_compiler_has_arg(${arg}) - if(COMPILER_ARG_FOUND) - list(APPEND _CHECKED_ARGS "${arg}") - endif() - endforeach() - - set(${VARNAME} "${_CHECKED_ARGS}") -endmacro() - -macro(xa_check_cxx_args VARNAME _CHECK_ARGS) - set(_CHECKED_ARGS "") - - foreach(arg ${_CHECK_ARGS}) - cxx_compiler_has_arg(${arg}) - if(COMPILER_ARG_FOUND) - list(APPEND _CHECKED_ARGS "${arg}") - endif() - endforeach() - - set(${VARNAME} "${_CHECKED_ARGS}") -endmacro() - -macro(xa_check_c_linker_args VARNAME _CHECK_ARGS) - set(_CHECKED_ARGS "") - - foreach(arg ${_CHECK_ARGS}) - c_linker_has_arg(${arg}) - if(LINKER_ARG_FOUND) - list(APPEND _CHECKED_ARGS "${arg}") - endif() - endforeach() - - set(${VARNAME} "${_CHECKED_ARGS}") -endmacro() - -macro(xa_check_cxx_linker_args VARNAME _CHECK_ARGS) - set(_CHECKED_ARGS "") - - foreach(arg ${_CHECK_ARGS}) - cxx_linker_has_arg(${arg}) - if(LINKER_ARG_FOUND) - list(APPEND _CHECKED_ARGS "${arg}") - endif() - endforeach() - - set(${VARNAME} "${_CHECKED_ARGS}") -endmacro() - -set(CLANG_CHECK_SOURCES "") -macro(add_clang_check_sources SOURCES) - foreach(_source ${SOURCES}) - cmake_path(IS_RELATIVE _source _relative_path) - if(${_relative_path}) - list(APPEND _LOCAL_CLANG_CHECK_SOURCES_ ${CMAKE_CURRENT_SOURCE_DIR}/${_source}) - else() - list(APPEND _LOCAL_CLANG_CHECK_SOURCES_ ${_source}) - endif() - endforeach() - set(CLANG_CHECK_SOURCES "${_LOCAL_CLANG_CHECK_SOURCES_};${CLANG_CHECK_SOURCES}" PARENT_SCOPE) -endmacro() - -# -# Compiler args -# -set(CMAKE_CXX_VISIBILITY_PRESET "hidden") -set(CMAKE_C_VISIBILITY_PRESET "hidden") - -# -# Common flags are used when building all external -# and our own code -# -set(POTENTIAL_COMMON_COMPILER_ARGS - -fstack-protector-strong - -fstrict-return - -flto=thin - -fno-strict-aliasing - -fno-function-sections - -fno-data-sections - -funswitch-loops - -Wa,-noexecstack - -fPIC - -O2 -) - -if(NOT BUILD_ARCHIVE_DSO_STUB) - list(APPEND POTENTIAL_COMMON_COMPILER_ARGS - -g - ) -endif() - -set(POTENTIAL_COMMON_LINKER_ARGS - -fstack-protector-strong - -flto=thin - LINKER:-fstrict-return - LINKER:-z,now - LINKER:-z,relro - LINKER:-z,noexecstack - LINKER:--no-undefined - LINKER:--export-dynamic -) - -# Add some options to increase security. They may mildly affect performance but they won't be big, because the features are -# assisted by the hardware. -if((CMAKE_ANDROID_ARCH_ABI STREQUAL "x86") OR (CMAKE_ANDROID_ARCH_ABI STREQUAL "x86_64")) - # -fcf-protection=full: Enable control flow protection to counter Return Oriented Programming (ROP) and Jump Oriented Programming (JOP) attacks on many x86 architectures - list(APPEND POTENTIAL_COMMON_COMPILER_ARGS - -fcf-protection=full - ) -endif() - -if(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a") - # -mbranch-protection=standard: Enable branch protection to counter Return Oriented Programming (ROP) and Jump Oriented Programming (JOP) attacks on AArch64 - # In clang -mbranch-protection=standard is equivalent to -mbranch-protection=bti+pac-ret and invokes the AArch64 Branch Target Identification (BTI) and Pointer Authentication using key A (pac-ret) - list(APPEND POTENTIAL_COMMON_COMPILER_ARGS - -mbranch-protection=standard - ) -endif() - -if(COMPILER_DIAG_COLOR) - list(APPEND POTENTIAL_COMMON_COMPILER_ARGS - -fdiagnostics-color=always - -fcolor-diagnostics - ) -endif() - -if(STRIP_DEBUG) - list(APPEND POTENTIAL_COMMON_LINKER_ARGS LINKER:-S) -else() - # When not stripping symbols, we likely want to have precise stack traces, so - # we won't omit frame pointers - list(APPEND POTENTIAL_COMMON_COMPILER_ARGS - -fno-omit-frame-pointer - -fno-limit-debug-info - ) -endif() - -# -# Flags to use only when building our code -# -set(POTENTIAL_XA_COMMON_COMPILER_ARGS - -Wall - -Wconversion - -Wdeprecated - -Wduplicated-branches - -Wduplicated-cond - -Werror=format-security - -Werror=return-type - -Wextra - -Wformat-security - -Wformat=2 - -Wno-format-nonliteral - -Wno-vla-cxx-extension - -Wimplicit-fallthrough - -Wmisleading-indentation - -Wnull-dereference - -Wpointer-arith - -Wshadow - -Wsign-compare - -Wtrampolines - -Wuninitialized - -fstrict-flex-arrays=3 -) - -if (ENABLE_CLANG_ASAN OR ENABLE_CLANG_UBSAN) - list(APPEND POTENTIAL_XA_COMMON_COMPILER_ARGS - -fno-omit-frame-pointer - -fno-optimize-sibling-calls - ) -endif() - -set(POTENTIAL_XA_DSO_LINKER_ARGS - -fpic - -fstack-clash-protection -) - -unset(SANITIZER_FLAGS) -if (ENABLE_CLANG_ASAN) - set(SANITIZER_FLAGS -fsanitize=address) - set(CHECKED_BUILD_INFIX "-checked+asan") -elseif(ENABLE_CLANG_UBSAN) - set(SANITIZER_FLAGS -fsanitize=undefined) - set(CHECKED_BUILD_INFIX "-checked+ubsan") -endif() - -if(SANITIZER_FLAGS) - message(STATUS) - message(STATUS "Got sanitizer: ${SANITIZER_FLAGS}") - message(STATUS) - - list(APPEND POTENTIAL_XA_COMMON_COMPILER_ARGS ${SANITIZER_FLAGS}) - list(APPEND POTENTIAL_XA_COMMON_LINKER_ARGS ${SANITIZER_FLAGS}) - list(APPEND CMAKE_REQUIRED_LINK_OPTIONS ${SANITIZER_FLAGS}) -endif() - -message(STATUS) -message(STATUS "Checking support for common compiler and linker args") -message(STATUS) -xa_check_cxx_args(COMMON_CXX_ARGS "${POTENTIAL_COMMON_COMPILER_ARGS}") -xa_check_c_args(COMMON_C_ARGS "${POTENTIAL_COMMON_COMPILER_ARGS}") -xa_check_cxx_linker_args(COMMON_CXX_LINKER_ARGS "${POTENTIAL_COMMON_LINKER_ARGS}") -xa_check_c_linker_args(COMMON_C_LINKER_ARGS "${POTENTIAL_COMMON_LINKER_ARGS}") - -message(STATUS) -message(STATUS "Checking support for XA common compiler and linker args") -message(STATUS) -xa_check_cxx_args(XA_COMMON_CXX_ARGS "${POTENTIAL_XA_COMMON_COMPILER_ARGS}") -xa_check_c_args(XA_COMMON_C_ARGS "${POTENTIAL_XA_COMMON_COMPILER_ARGS}") -xa_check_cxx_linker_args(XA_COMMON_CXX_LINKER_ARGS "${POTENTIAL_XA_COMMON_LINKER_ARGS}") -xa_check_c_linker_args(XA_COMMON_C_LINKER_ARGS "${POTENTIAL_XA_COMMON_LINKER_ARGS}") -xa_check_c_linker_args(XA_C_DSO_LINKER_ARGS "${POTENTIAL_XA_DSO_LINKER_ARGS}") -xa_check_cxx_linker_args(XA_CXX_DSO_LINKER_ARGS "${POTENTIAL_XA_DSO_LINKER_ARGS}") - -if(NOT BUILD_ARCHIVE_DSO_STUB) - add_compile_options("$<$:${COMMON_CXX_ARGS}>") - add_compile_options("$<$:${COMMON_C_ARGS}>") - - add_link_options("$<$:${COMMON_CXX_LINKER_ARGS}>") - add_link_options("$<$:${COMMON_C_LINKER_ARGS}>") -endif() - -# -# Helper macros -# -macro(set_static_library_suffix TARGET_NAME) - if(STATIC_LIB_NAME_SUFFIX) - set_target_properties( - ${TARGET_NAME} - PROPERTIES - SUFFIX "${STATIC_LIB_NAME_SUFFIX}.a" - ) - endif() -endmacro() - -if(BUILD_ARCHIVE_DSO_STUB) - add_subdirectory(archive-dso-stub) -else() -# add_subdirectory(libunwind) - add_subdirectory(lz4) -# add_subdirectory(libstub) - add_subdirectory(shared) - add_subdirectory(java-interop) - add_subdirectory(xamarin-app-stub) - add_subdirectory(runtime-base) -# add_subdirectory(tracing) -# add_subdirectory(pinvoke-override) - add_subdirectory(startup) - add_subdirectory(host) - -# if(DEBUG_BUILD) -# add_subdirectory(xamarin-debug-app-helper) -# endif() - -# add_subdirectory(monodroid) - - add_custom_target(run_static_analysis - COMMAND ${ANDROID_TOOLCHAIN_ROOT}/bin/clang-check -analyze -p="${CMAKE_CURRENT_BINARY_DIR}" ${CLANG_CHECK_SOURCES} > ${CMAKE_SOURCE_DIR}/static-analysis.${ANDROID_ABI}.${CMAKE_BUILD_TYPE}.txt 2>&1 - COMMAND_EXPAND_LISTS - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - USES_TERMINAL - ) -endif() diff --git a/src/native-clr/CMakePresets.json.in b/src/native-clr/CMakePresets.json.in deleted file mode 100644 index 5544b1252b0..00000000000 --- a/src/native-clr/CMakePresets.json.in +++ /dev/null @@ -1,323 +0,0 @@ -{ - "version": 3, - "cmakeMinimumRequired": { - "major": 3, - "minor": 21, - "patch": 0 - }, - - "configurePresets": [ - { - "name": "common", - "hidden": true, - "generator": "Ninja", - "debug": { - "output": true - }, - "toolchainFile": "@AndroidNdkDirectory@/build/cmake/android.toolchain.cmake", - "cacheVariables": { - "ANDROID_NDK": "@AndroidNdkDirectory@", - "ANDROID_TOOLCHAIN": "clang", - "ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES": "ON", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", - "CMAKE_MAKE_PROGRAM": "@NinjaPath@", - "XA_LIB_TOP_DIR": "@MicrosoftAndroidSdkOutDir@", - "XA_BUILD_CONFIGURATION": "@XA_BUILD_CONFIGURATION@" - } - }, - - { - "name": "common-debug", - "hidden": true, - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug" - } - }, - - { - "name": "common-release", - "hidden": true, - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Release" - } - }, - - { - "name": "default-common", - "hidden": true, - "inherits": "common", - "cacheVariables": { - "ANDROID_STL": "c++_static", - "ANDROID_CPP_FEATURES": "no-rtti exceptions" - } - }, - - { - "name": "analyzers-common", - "hidden": true, - "inherits": "common", - "cacheVariables": { - "ANDROID_STL": "c++_static", - "ANDROID_CPP_FEATURES": "rtti exceptions" - } - }, - - { - "name": "default-debug", - "hidden": true, - "inherits": ["default-common", "common-debug"] - }, - - { - "name": "default-release", - "hidden": true, - "inherits": ["default-common", "common-release"] - }, - - { - "name": "analyzers-debug", - "hidden": true, - "inherits": ["analyzers-common", "common-debug"] - }, - - { - "name": "analyzers-release", - "hidden": true, - "inherits": ["analyzers-common", "common-release"] - }, - - { - "name": "common-armeabi-v7a", - "hidden": true, - "cacheVariables": { - "ANDROID_ABI": "armeabi-v7a", - "ANDROID_NATIVE_API_LEVEL": "@NDK_ARMEABI_V7_API_NET@", - "ANDROID_PLATFORM": "android-@NDK_ARMEABI_V7_API_NET@", - "ANDROID_RID": "android-arm" - } - }, - - { - "name": "common-arm64-v8a", - "hidden": true, - "cacheVariables": { - "ANDROID_ABI": "arm64-v8a", - "ANDROID_NATIVE_API_LEVEL": "@NDK_ARM64_V8A_API_NET@", - "ANDROID_PLATFORM": "android-@NDK_ARM64_V8A_API_NET@", - "ANDROID_RID": "android-arm64" - } - }, - - { - "name": "common-x86", - "hidden": true, - "cacheVariables": { - "ANDROID_ABI": "x86", - "ANDROID_NATIVE_API_LEVEL": "@NDK_X86_API_NET@", - "ANDROID_PLATFORM": "android-@NDK_X86_API_NET@", - "ANDROID_RID": "android-x86" - } - }, - - { - "name": "common-x86_64", - "hidden": true, - "cacheVariables": { - "ANDROID_ABI": "x86_64", - "ANDROID_NATIVE_API_LEVEL": "@NDK_X86_64_API_NET@", - "ANDROID_PLATFORM": "android-@NDK_X86_64_API_NET@", - "ANDROID_RID": "android-x64" - } - }, - - { - "name": "asan-common", - "hidden": true, - "cacheVariables": { - "ENABLE_CLANG_ASAN": "ON" - } - }, - - { - "name": "ubsan-common", - "hidden": true, - "cacheVariables": { - "ENABLE_CLANG_UBSAN": "ON" - } - }, - - { - "name": "default-debug-armeabi-v7a", - "inherits": ["default-common", "common-debug", "common-armeabi-v7a"] - }, - - { - "name": "default-release-armeabi-v7a", - "inherits": ["default-common", "common-release", "common-armeabi-v7a"] - }, - - { - "name": "analyzers-debug-armeabi-v7a", - "hidden": true, - "inherits": ["analyzers-common", "common-debug", "common-armeabi-v7a"] - }, - - { - "name": "analyzers-release-armeabi-v7a", - "hidden": true, - "inherits": ["analyzers-common", "common-release", "common-armeabi-v7a"] - }, - - { - "name": "asan-release-armeabi-v7a", - "inherits": ["analyzers-release-armeabi-v7a", "asan-common"] - }, - - { - "name": "asan-debug-armeabi-v7a", - "inherits": ["analyzers-debug-armeabi-v7a", "asan-common"] - }, - - { - "name": "ubsan-release-armeabi-v7a", - "inherits": ["analyzers-release-armeabi-v7a", "ubsan-common"] - }, - - { - "name": "ubsan-debug-armeabi-v7a", - "inherits": ["analyzers-debug-armeabi-v7a", "ubsan-common"] - }, - - - - { - "name": "default-debug-arm64-v8a", - "inherits": ["default-common", "common-debug", "common-arm64-v8a"] - }, - - { - "name": "default-release-arm64-v8a", - "inherits": ["default-common", "common-release", "common-arm64-v8a"] - }, - - { - "name": "analyzers-debug-arm64-v8a", - "hidden": true, - "inherits": ["analyzers-common", "common-debug", "common-arm64-v8a"] - }, - - { - "name": "analyzers-release-arm64-v8a", - "hidden": true, - "inherits": ["analyzers-common", "common-release", "common-arm64-v8a"] - }, - - { - "name": "asan-release-arm64-v8a", - "inherits": ["analyzers-release-arm64-v8a", "asan-common"] - }, - - { - "name": "asan-debug-arm64-v8a", - "inherits": ["analyzers-debug-arm64-v8a", "asan-common"] - }, - - { - "name": "ubsan-release-arm64-v8a", - "inherits": ["analyzers-release-arm64-v8a", "ubsan-common"] - }, - - { - "name": "ubsan-debug-arm64-v8a", - "inherits": ["analyzers-debug-arm64-v8a", "ubsan-common"] - }, - - - - { - "name": "default-debug-x86", - "inherits": ["default-common", "common-debug", "common-x86"] - }, - - { - "name": "default-release-x86", - "inherits": ["default-common", "common-release", "common-x86"] - }, - - { - "name": "analyzers-debug-x86", - "hidden": true, - "inherits": ["analyzers-common", "common-debug", "common-x86"] - }, - - { - "name": "analyzers-release-x86", - "hidden": true, - "inherits": ["analyzers-common", "common-release", "common-x86"] - }, - - { - "name": "asan-release-x86", - "inherits": ["analyzers-release-x86", "asan-common"] - }, - - { - "name": "asan-debug-x86", - "inherits": ["analyzers-debug-x86", "asan-common"] - }, - - { - "name": "ubsan-release-x86", - "inherits": ["analyzers-release-x86", "ubsan-common"] - }, - - { - "name": "ubsan-debug-x86", - "inherits": ["analyzers-debug-x86", "ubsan-common"] - }, - - - - { - "name": "default-debug-x86_64", - "inherits": ["default-common", "common-debug", "common-x86_64"] - }, - - { - "name": "default-release-x86_64", - "inherits": ["default-common", "common-release", "common-x86_64"] - }, - - { - "name": "analyzers-debug-x86_64", - "hidden": true, - "inherits": ["analyzers-common", "common-debug", "common-x86_64"] - }, - - { - "name": "analyzers-release-x86_64", - "hidden": true, - "inherits": ["analyzers-common", "common-release", "common-x86_64"] - }, - - { - "name": "asan-release-x86_64", - "inherits": ["analyzers-release-x86_64", "asan-common"] - }, - - { - "name": "asan-debug-x86_64", - "inherits": ["analyzers-debug-x86_64", "asan-common"] - }, - - { - "name": "ubsan-release-x86_64", - "inherits": ["analyzers-release-x86_64", "ubsan-common"] - }, - - { - "name": "ubsan-debug-x86_64", - "inherits": ["analyzers-debug-x86_64", "ubsan-common"] - } - ] -} diff --git a/src/native-clr/java-interop/CMakeLists.txt b/src/native-clr/java-interop/CMakeLists.txt deleted file mode 100644 index 24a233e2b80..00000000000 --- a/src/native-clr/java-interop/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -set(LIB_NAME xa-java-interop) -set(LIB_ALIAS xa::java-interop-clr) - -set(JAVA_INTEROP_SOURCES - ${JAVA_INTEROP_SRC_PATH}/java-interop-dlfcn.cc - ${JAVA_INTEROP_SRC_PATH}/java-interop-mono.cc - ${JAVA_INTEROP_SRC_PATH}/java-interop-util.cc - ${JAVA_INTEROP_SRC_PATH}/java-interop-util.cc - ${JAVA_INTEROP_SRC_PATH}/java-interop.cc -) -add_clang_check_sources("${JAVA_INTEROP_SOURCES}") - -add_library( - ${LIB_NAME} - STATIC - ${JAVA_INTEROP_SOURCES} -) - -add_library(${LIB_ALIAS} ALIAS ${LIB_NAME}) - -set_static_library_suffix(${LIB_NAME}) - -target_include_directories( - ${LIB_NAME} - PUBLIC - "$" -) - -target_include_directories( - ${LIB_NAME} - SYSTEM PRIVATE - ${SYSROOT_CXX_INCLUDE_DIR} - ${MONO_RUNTIME_INCLUDE_DIR} -) - -target_compile_options( - ${LIB_NAME} - PRIVATE - ${XA_COMMON_CXX_ARGS} -) - -xa_add_compile_definitions(${LIB_NAME}) diff --git a/src/native-clr/lz4/CMakeLists.txt b/src/native-clr/lz4/CMakeLists.txt deleted file mode 100644 index 140034771f1..00000000000 --- a/src/native-clr/lz4/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -set(LIB_NAME xa-lz4) -set(LIB_ALIAS xa::lz4-clr) - -set(LZ4_SRC_DIR "${EXTERNAL_DIR}/lz4/lib") -set(LZ4_INCLUDE_DIR ${LZ4_SRC_DIR}) - -set(LZ4_SOURCES - ${LZ4_SRC_DIR}/lz4.c -) - -add_library( - ${LIB_NAME} - STATIC - ${LZ4_SOURCES} -) - -add_library(${LIB_ALIAS} ALIAS ${LIB_NAME}) - -set_static_library_suffix(${LIB_NAME}) - -target_compile_definitions( - ${LIB_NAME} - PRIVATE - # Ugly, but this is the only way to change LZ4 symbols visibility without modifying lz4.h - "LZ4LIB_VISIBILITY=__attribute__ ((visibility (\"hidden\")))" - XXH_NAMESPACE=LZ4_ -) - -target_include_directories( - ${LIB_NAME} - PUBLIC - "$" -) - -if(DEBUG_BUILD) - set_target_properties( - ${LIB_NAME} - PROPERTIES - ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" - ) -endif() - -xa_add_compile_definitions(${LIB_NAME}) diff --git a/src/native-clr/native-clr.csproj b/src/native-clr/native-clr.csproj deleted file mode 100644 index 59d9457516f..00000000000 --- a/src/native-clr/native-clr.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - netstandard2.0 - Debug - AnyCPU - Exe - false - - - - - - $(MicrosoftAndroidSdkOutDir)lib\coreclr\ - - - - - - - - diff --git a/src/native-clr/native-clr.targets b/src/native-clr/native-clr.targets deleted file mode 100644 index b9d668a740e..00000000000 --- a/src/native-clr/native-clr.targets +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - <_ConfigureRuntimesInputs Include="CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="host\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="runtime-base\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="shared\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="startup\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="xamarin-app-stub\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="java-interop\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="lz4\CMakeLists.txt" /> - <_ConfigureRuntimesInputs Include="..\..\build-tools\scripts\Ndk.targets" /> - <_ConfigureRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(IntermediateOutputPath)\%(AndroidRID)-clr-Debug\CMakeCache.txt')" /> - <_ConfigureRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(IntermediateOutputPath)\%(AndroidRID)-clr-Release\CMakeCache.txt')" /> - <_OutputDirsToCreate Include="$(IntermediateOutputPath)%(AndroidSupportedTargetJitAbi.AndroidRID)-clr-Debug" /> - <_OutputDirsToCreate Include="$(IntermediateOutputPath)%(AndroidSupportedTargetJitAbi.AndroidRID)-clr-Release" /> - - - - - - <_NoInline Condition=" '$(DoNotInlineMonodroid)' == 'true' ">-DDONT_INLINE=ON - <_NoStrip Condition=" '$(DoNotStripMonodroid)' == 'true' ">-DSTRIP_DEBUG=OFF - - <_CmakeAndroidFlags>-DOUTPUT_PATH="$(OutputPath)" $(_NoInline) $(_NoStrip) "$(MSBuildThisFileDirectory)" - - - - <_ConfigureRuntimeCommands Include="@(AndroidSupportedTargetJitAbi)"> - $(CmakePath) - --preset default-debug-%(AndroidSupportedTargetJitAbi.Identity) $(_CmakeAndroidFlags) - $(IntermediateOutputPath)%(AndroidSupportedTargetJitAbi.AndroidRID)-clr-Debug - - - <_ConfigureRuntimeCommands Include="@(AndroidSupportedTargetJitAbi)"> - $(CmakePath) - --preset default-release-%(AndroidSupportedTargetJitAbi.Identity) $(_CmakeAndroidFlags) - $(IntermediateOutputPath)%(AndroidSupportedTargetJitAbi.AndroidRID)-clr-Release - - - - - - - - - - - - <_MonoDroidSources Include="include/**/*.hh" /> - <_MonoDroidSources Include="host/*.cc" /> - <_MonoDroidSources Include="runtime-base/*.cc" /> - <_MonoDroidSources Include="shared/*.cc" /> - <_MonoDroidSources Include="startup/*.cc" /> - <_MonoDroidSources Include="xamarin-app-stub/*.cc" /> - <_MonoDroidSources Include="$(JavaInteropFullPath)\src\java-interop\*.cc;$(JavaInteropFullPath)\src\java-interop\*.h" /> - <_MonoDroidSources Include="$(LZ4SourceFullPath)\lib\lz4.c;$(LZ4SourceFullPath)\lib\lz4.h" /> - - - - - - <_BuildAndroidRuntimesInputs Include="@(AndroidSupportedTargetJitAbi->'$(IntermediateOutputPath)\%(AndroidRID)-clr-Debug\CMakeCache.txt')" /> - <_BuildAndroidRuntimesInputs Include="@(AndroidSupportedTargetJitAbi->'$(IntermediateOutputPath)\%(AndroidRID)-clr-Release\CMakeCache.txt')" /> - <_BuildAndroidRuntimesInputs Include="@(_MonoDroidSources)" /> - <_BuildAndroidRuntimesInputs Include="..\..\build-tools\scripts\Ndk.targets" /> - <_BuildAndroidRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(OutputPath)\%(AndroidRID)\libnet-android.debug.so')" /> - <_BuildAndroidRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(OutputPath)\%(AndroidRID)\libnet-android.release.so')" /> - <_BuildAndroidRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(OutputPath)\%(AndroidRID)\Debug\libxamarin-app-clr.so')" /> - <_BuildAndroidRuntimesOutputs Include="@(AndroidSupportedTargetJitAbi->'$(OutputPath)\%(AndroidRID)\Release\libxamarin-app-clr.so')" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_RuntimePackFiles Include="$(OutputPath)\%(AndroidSupportedTargetJitAbi.AndroidRID)\*" AndroidRID="%(AndroidSupportedTargetJitAbi.AndroidRID)" AndroidRuntime="CoreCLR" /> - - - - -