diff --git a/src/coreclr/CMakeLists.txt b/src/coreclr/CMakeLists.txt
index 1c314d9bf624e..6b3dd7e38f104 100644
--- a/src/coreclr/CMakeLists.txt
+++ b/src/coreclr/CMakeLists.txt
@@ -70,7 +70,7 @@ endif()
if (MSVC)
set_property(DIRECTORY PROPERTY CLR_EH_OPTION /EHa) # enable C++ EH (w/ SEH exceptions)
endif()
-
+set(Core_CLR 1)
#-------------------------------
# Include libraries native shims
#-------------------------------
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props b/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props
index 4a1a720cf6a0d..aedd89c6147df 100644
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props
@@ -128,6 +128,7 @@
+
diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt
index 00f883aca07e4..5f2b741e7c02d 100644
--- a/src/mono/CMakeLists.txt
+++ b/src/mono/CMakeLists.txt
@@ -32,6 +32,7 @@ set(CMAKE_C_FLAGS_CHECKED "")
set(CMAKE_CXX_FLAGS_CHECKED "")
set(CMAKE_EXE_LINKER_FLAGS_CHECKED "")
set(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
+set(Mono 1)
if(NOT MONO_LIB_NAME)
set(MONO_LIB_NAME "monosgen-2.0")
@@ -124,7 +125,6 @@ endif()
if(NOT AOT_TARGET_TRIPLE STREQUAL "")
set(MONO_CROSS_COMPILE 1)
- add_definitions(-DNO_GLOBALIZATION_SHIM)
if(NOT AOT_OFFSETS_FILE STREQUAL "")
set(MONO_OFFSETS_FILE "${AOT_OFFSETS_FILE}")
endif()
@@ -241,7 +241,6 @@ elseif(CLR_CMAKE_HOST_OS STREQUAL "android")
# FIXME: Rest of the flags from configure.ac
elseif(CLR_CMAKE_HOST_OS STREQUAL "emscripten")
set(HOST_BROWSER 1)
- add_definitions(-DNO_GLOBALIZATION_SHIM)
add_definitions(-D_THREAD_SAFE)
add_compile_options(-Wno-strict-prototypes)
add_compile_options(-Wno-unused-but-set-variable)
@@ -255,7 +254,6 @@ elseif(CLR_CMAKE_HOST_OS STREQUAL "emscripten")
elseif(CLR_CMAKE_HOST_OS STREQUAL "wasi")
set(HOST_WASI 1)
add_definitions(-D_WASI_EMULATED_PROCESS_CLOCKS -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -DHOST_WASI)
- add_definitions(-DNO_GLOBALIZATION_SHIM)
add_definitions(-D_THREAD_SAFE)
add_definitions(-DDISABLE_SOCKET_TRANSPORT)
add_definitions(-DDISABLE_EGD_SOCKET)
@@ -710,79 +708,6 @@ if(LLVM_PREFIX)
add_definitions(-DLLVM_API_VERSION=${llvm_api_version})
endif()
-######################################
-# ICU CHECKS
-######################################
-if(HOST_OSX OR HOST_MACCAT OR HOST_IOS OR HOST_TVOS)
- # FIXME: Handle errors
- execute_process(COMMAND brew --prefix OUTPUT_VARIABLE brew_prefix OUTPUT_STRIP_TRAILING_WHITESPACE)
-
- if((HOST_MACCAT OR HOST_IOS OR HOST_TVOS) AND "${CMAKE_SHARED_LINKER_FLAGS}" MATCHES "${brew_prefix}/opt/icu4c/lib")
- message(FATAL_ERROR "Linker flags contain the Homebrew version of ICU which conflicts with the iOS/tvOS/MacCatalyst version: ${CMAKE_SHARED_LINKER_FLAGS}")
- endif()
-endif()
-
-set(ICU_SHIM_PATH "${CLR_SRC_NATIVE_DIR}/libs/System.Globalization.Native")
-if(MONO_CROSS_COMPILE)
-elseif(HOST_OSX AND NOT HOST_MACCAT)
- include(FindPkgConfig)
- set(ENV{PKG_CONFIG_PATH} "{$PKG_CONFIG_PATH}:${brew_prefix}/lib/pkgconfig:${brew_prefix}/opt/icu4c/lib/pkgconfig")
- # Defines ICU_INCLUDEDIR/ICU_LIBDIR
- pkg_check_modules(ICU icu-uc)
- set(OSX_ICU_LIBRARY_PATH /usr/lib/libicucore.dylib)
- set(ICU_FLAGS "-DTARGET_UNIX -DU_DISABLE_RENAMING -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option -Wno-deprecated-declarations")
- set(HAVE_SYS_ICU 1)
-elseif(HOST_WASI)
- set(ICU_FLAGS "-DPALEXPORT=\"\" -DU_DISABLE_RENAMING -DHAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS -DHAVE_SET_MAX_VARIABLE -DTARGET_UNIX -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option")
- set(HAVE_SYS_ICU 1)
- set(STATIC_ICU 1)
- set(ICU_LIBS "icucore")
-elseif(HOST_BROWSER)
- set(ICU_FLAGS "-DPALEXPORT=\"\" -DU_DISABLE_RENAMING -DHAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS -DHAVE_SET_MAX_VARIABLE -DTARGET_UNIX -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option")
- set(HAVE_SYS_ICU 1)
- set(STATIC_ICU 1)
- set(ICU_LIBS "icucore")
-elseif(HOST_IOS OR HOST_TVOS OR HOST_MACCAT)
- set(ICU_FLAGS "-DTARGET_UNIX -DU_DISABLE_RENAMING -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option -Wno-deprecated-declarations")
- if(HOST_IOS)
- string(APPEND ICU_FLAGS " -DTARGET_IOS")
- elseif(HOST_TVOS)
- string(APPEND ICU_FLAGS " -DTARGET_TVOS")
- elseif(HOST_MACCAT)
- string(APPEND ICU_FLAGS " -DTARGET_MACCATALYST")
- endif()
- string(APPEND ICU_FLAGS " -DAPPLE_HYBRID_GLOBALIZATION")
- set(HAVE_SYS_ICU 1)
- set(STATIC_ICU 1)
-elseif(HOST_ANDROID)
- set(ICU_FLAGS "-DPALEXPORT=\"\" -DHAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS -DHAVE_SET_MAX_VARIABLE -DTARGET_UNIX -DTARGET_ANDROID -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option")
- set(HAVE_SYS_ICU 1)
-elseif(HOST_LINUX)
- include(FindPkgConfig)
- if(CROSS_ROOTFS)
- set(ENV{PKG_CONFIG_SYSROOT_DIR} "${CROSS_ROOTFS}")
- endif(CROSS_ROOTFS)
- pkg_check_modules(ICU icu-uc)
- set(ICU_FLAGS "-DTARGET_UNIX -DU_DISABLE_RENAMING -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option -Wno-deprecated-declarations")
- set(HAVE_SYS_ICU 1)
-elseif(HOST_WIN32)
- set(ICU_FLAGS "-DTARGET_WINDOWS -DPALEXPORT=EXTERN_C")
- set(HAVE_SYS_ICU 1)
-elseif(HOST_SOLARIS)
- set(ICU_FLAGS "-DPALEXPORT=\"\" -DTARGET_UNIX -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option")
- set(HAVE_SYS_ICU 1)
-elseif(TARGET_FREEBSD)
- set(ICU_FLAGS "-DTARGET_UNIX -Wno-deprecated-declarations")
- set(HAVE_SYS_ICU 1)
- set(ICU_INCLUDEDIR "${CROSS_ROOTFS}/usr/local/include")
- set(ICU_LIBDIR "${CROSS_ROOTFS}/usr/local/lib")
-elseif(HOST_HAIKU)
- set(ICU_FLAGS "-DTARGET_UNIX -DU_DISABLE_RENAMING -Wno-reserved-id-macro -Wno-documentation -Wno-documentation-unknown-command -Wno-switch-enum -Wno-covered-switch-default -Wno-extra-semi-stmt -Wno-unknown-warning-option -Wno-deprecated-declarations")
- set(HAVE_SYS_ICU 1)
-else()
- message(FATAL_ERROR "Unknown host")
-endif()
-
######################################
# GC CHECKS
######################################
diff --git a/src/mono/cmake/config.h.in b/src/mono/cmake/config.h.in
index e484a802aed9b..7fc03a4fd25a9 100644
--- a/src/mono/cmake/config.h.in
+++ b/src/mono/cmake/config.h.in
@@ -183,9 +183,6 @@
/* Define to 1 if you have the header file. */
#cmakedefine HAVE_UNWIND_H 1
-/* Use static ICU */
-#cmakedefine STATIC_ICU 1
-
/* Use in-tree zlib */
#cmakedefine INTERNAL_ZLIB 1
diff --git a/src/mono/mono.proj b/src/mono/mono.proj
index 3b0ade6bd89cc..6abcc2c71a863 100644
--- a/src/mono/mono.proj
+++ b/src/mono/mono.proj
@@ -80,7 +80,6 @@
-
<_MonoBuildEnv Condition="'$(Platform)' == 'arm'" Include="TARGET_BUILD_ARCH=arm" />
<_MonoBuildEnv Condition="'$(Platform)' == 'armv6'" Include="TARGET_BUILD_ARCH=armv6" />
- <_MonoBuildEnv Condition="'$(Platform)' == 'arm64'" Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/aarch64-linux-gnu/pkgconfig" />
- <_MonoBuildEnv Condition="'$(Platform)' == 'arm'" Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/arm-linux-gnueabihf/pkgconfig" />
- <_MonoBuildEnv Condition="'$(Platform)' == 'armv6'" Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/arm-linux-gnueabihf/pkgconfig" />
<_MonoCFLAGS Condition="'$(TargetArchitecture)' == 'armv6'" Include="-march=armv6zk" />
<_MonoCFLAGS Condition="'$(TargetArchitecture)' == 'armv6'" Include="-mcpu=arm1176jzf-s" />
<_MonoCFLAGS Condition="'$(TargetArchitecture)' == 'armv6'" Include="-mfpu=vfp" />
@@ -314,49 +310,42 @@
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=x64" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/lib/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=x64" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/boot/system/lib/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=x64" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=x86" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=riscv64" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/riscv64-linux-gnu/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=s390x" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/s390x-linux-gnu/pkgconfig" />
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
<_MonoBuildEnv Include="TARGET_BUILD_ARCH=ppc64le" />
- <_MonoBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/powerpc64le-linux-gnu/pkgconfig" />
@@ -444,9 +433,6 @@
<_MonoCMakeArgs Include="-DENABLE_LLVM_RUNTIME=1"/>
<_MonoCMakeArgs Include="-DEMSCRIPTEN_SYSTEM_PROCESSOR=wasm"/>
- <_MonoCFLAGS Condition="'$(WasmEnableThreads)' == 'true'" Include="$(EscapedQuoteW)-I$([MSBuild]::NormalizePath('$(PkgMicrosoft_NETCore_Runtime_ICU_Transport)', 'runtimes', 'browser-wasm-threads', 'native', 'include'))$(EscapedQuoteW)"/>
-
- <_MonoCFLAGS Condition="'$(WasmEnableThreads)' != 'true'" Include="$(EscapedQuoteW)-I$([MSBuild]::NormalizePath('$(PkgMicrosoft_NETCore_Runtime_ICU_Transport)', 'runtimes', 'browser-wasm', 'native', 'include'))$(EscapedQuoteW)"/>
@@ -461,8 +447,6 @@
<_MonoCFLAGS Include="-D_WASI_EMULATED_PROCESS_CLOCKS"/>
<_MonoCFLAGS Include="-D_WASI_EMULATED_SIGNAL"/>
<_MonoCFLAGS Include="-D_WASI_EMULATED_MMAN"/>
- <_MonoCFLAGS Condition="'$(WasmEnableThreads)' == 'true'" Include="$(EscapedQuoteW)-I$([MSBuild]::NormalizePath('$(PkgMicrosoft_NETCore_Runtime_ICU_Transport)', 'runtimes', 'wasi-wasm-threads', 'native', 'include').Replace('\','/'))$(EscapedQuoteW)"/>
- <_MonoCFLAGS Condition="'$(WasmEnableThreads)' != 'true'" Include="$(EscapedQuoteW)-I$([MSBuild]::NormalizePath('$(PkgMicrosoft_NETCore_Runtime_ICU_Transport)', 'runtimes', 'wasi-wasm', 'native', 'include').Replace('\','/'))$(EscapedQuoteW)"/>
@@ -833,22 +817,7 @@
<_MonoAotBuildEnv Include="TARGET_BUILD_ARCH=$(AotHostArchitecture)" />
-
-
-
- <_MonoAotBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/x86_64-linux-gnu/pkgconfig" />
-
-
-
-
- <_MonoAotBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/aarch64-linux-gnu/pkgconfig" />
-
-
-
-
- <_MonoAotBuildEnv Include="PKG_CONFIG_PATH=$(MonoCrossDir)/usr/lib/pkgconfig" />
-
-
+
<_MonoAOTCFLAGSOption>-DCMAKE_C_FLAGS="@(_MonoAOTCPPFLAGS, ' ') @(_MonoAOTCFLAGS, ' ')"
<_MonoAOTCXXFLAGSOption>-DCMAKE_CXX_FLAGS="@(_MonoAOTCPPFLAGS, ' ') @(_MonoAOTCXXFLAGS, ' ')"
diff --git a/src/mono/mono/eventpipe/test/CMakeLists.txt b/src/mono/mono/eventpipe/test/CMakeLists.txt
index d867685fb2da7..d313e630adaab 100644
--- a/src/mono/mono/eventpipe/test/CMakeLists.txt
+++ b/src/mono/mono/eventpipe/test/CMakeLists.txt
@@ -39,13 +39,7 @@ if(ENABLE_PERFTRACING)
set(CMAKE_SKIP_RPATH 1)
add_executable(ep-test ${EVENTPIPE_TEST_SOURCES} ${EVENTPIPE_TEST_HEADERS})
target_sources(ep-test PRIVATE "${mono-components-objects}")
- target_link_libraries(ep-test PRIVATE eglib_api monosgen-static ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS} monoapi)
- if(HAVE_SYS_ICU)
- target_link_libraries(ep-test PRIVATE icu_shim_objects)
- endif()
- if(ICU_LDFLAGS)
- set_target_properties(ep-test PROPERTIES LINK_FLAGS ${ICU_LDFLAGS})
- endif()
+ target_link_libraries(ep-test PRIVATE eglib_api monosgen-static ${OS_LIBS} ${LLVM_LIBS} ${Z_LIBS} monoapi)
install_with_stripped_symbols(ep-test TARGETS bin)
else(ENABLE_EVENTPIPE_TEST AND STATIC_COMPONENTS AND (NOT DISABLE_COMPONENTS) AND (NOT DISABLE_LIBS) AND (NOT DISABLE_EXECUTABLES))
message(VERBOSE "Skip building native EventPipe library test runner.")
diff --git a/src/mono/mono/metadata/native-library.c b/src/mono/mono/metadata/native-library.c
index 6692736251330..f26ab2e9152af 100644
--- a/src/mono/mono/metadata/native-library.c
+++ b/src/mono/mono/metadata/native-library.c
@@ -47,10 +47,6 @@ static GHashTable *native_library_module_map;
*/
static GHashTable *native_library_module_blocklist;
-#ifndef NO_GLOBALIZATION_SHIM
-extern const void *GlobalizationResolveDllImport (const char *name);
-#endif
-
static GHashTable *global_module_map; // should only be accessed with the global loader data lock
static MonoDl *internal_module; // used when pinvoking `__Internal`
@@ -786,26 +782,6 @@ get_dllimportsearchpath_flags (MonoCustomAttrInfo *cinfo)
return flags;
}
-#ifndef NO_GLOBALIZATION_SHIM
-#ifdef HOST_WIN32
-#define GLOBALIZATION_DLL_NAME "System.Globalization.Native"
-#else
-#define GLOBALIZATION_DLL_NAME "libSystem.Globalization.Native"
-#endif
-
-static gpointer
-default_resolve_dllimport (const char *dll, const char *func)
-{
- if (strcmp (dll, GLOBALIZATION_DLL_NAME) == 0) {
- const void *method_impl = GlobalizationResolveDllImport (func);
- if (method_impl)
- return (gpointer)method_impl;
- }
-
- return NULL;
-}
-#endif // NO_GLOBALIZATION_SHIM
-
gpointer
lookup_pinvoke_call_impl (MonoMethod *method, MonoLookupPInvokeStatus *status_out)
{
@@ -881,12 +857,6 @@ lookup_pinvoke_call_impl (MonoMethod *method, MonoLookupPInvokeStatus *status_ou
}
#endif
-#ifndef NO_GLOBALIZATION_SHIM
- addr = default_resolve_dllimport (new_scope, new_import);
- if (addr)
- goto exit;
-#endif
-
if (pinvoke_override) {
addr = pinvoke_override (new_scope, new_import);
if (addr)
diff --git a/src/mono/mono/mini/CMakeLists.txt b/src/mono/mono/mini/CMakeLists.txt
index 5e6ebe9ce49dc..af08ad3aaa192 100644
--- a/src/mono/mono/mini/CMakeLists.txt
+++ b/src/mono/mono/mini/CMakeLists.txt
@@ -1,6 +1,6 @@
project(mini C)
-if(ENABLE_LLVM OR ENABLE_LLVM_RUNTIME OR HOST_BROWSER OR (HAVE_SYS_ICU AND NOT HOST_WASI))
+if(ENABLE_LLVM OR ENABLE_LLVM_RUNTIME OR HOST_BROWSER)
enable_language(CXX)
endif()
@@ -12,7 +12,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/../..
${PROJECT_SOURCE_DIR}/../
)
-
+set(Mono 1)
if(HOST_DARWIN)
set(OS_LIBS "-framework CoreFoundation" "-framework Foundation")
@@ -45,78 +45,6 @@ if(HOST_WIN32)
add_link_options(/OPT:NOICF)
endif()
-# ICU
-if(HAVE_SYS_ICU)
- if(STATIC_ICU)
- set(pal_icushim_sources_base
- pal_icushim_static.c)
- add_definitions(-DSTATIC_ICU=1)
- else()
- set(pal_icushim_sources_base
- pal_icushim.c)
- endif()
-
- set(icu_shim_sources_base
- pal_idna.c
- pal_common.c
- entrypoints.c
- ${pal_icushim_sources_base})
-
-if (NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS)
- set(icu_shim_sources_base
- ${icu_shim_sources_base}
- pal_calendarData.c
- pal_casing.c
- pal_collation.c
- pal_locale.c
- pal_localeNumberData.c
- pal_localeStringData.c
- pal_normalization.c
- pal_timeZoneInfo.c
- )
-endif()
-
-if (CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS)
- set(icu_shim_sources_base
- ${icu_shim_sources_base}
- pal_placeholders.c
- )
-endif()
-
- addprefix(icu_shim_sources "${ICU_SHIM_PATH}" "${icu_shim_sources_base}")
-
- if (TARGET_DARWIN)
- set(icu_shim_darwin_sources_base
- pal_locale.m
- pal_collation.m
- pal_casing.m
- pal_calendarData.m
- pal_normalization.m
- pal_timeZoneInfo.m)
-
- addprefix(icu_shim_darwin_sources "${ICU_SHIM_PATH}" "${icu_shim_darwin_sources_base}")
- set(icu_shim_sources ${icu_shim_sources} ${icu_shim_darwin_sources})
- endif()
-
- set_source_files_properties(${icu_shim_sources} PROPERTIES COMPILE_DEFINITIONS OSX_ICU_LIBRARY_PATH="${OSX_ICU_LIBRARY_PATH}")
- set_source_files_properties(${icu_shim_sources} PROPERTIES COMPILE_FLAGS "-I\"${ICU_INCLUDEDIR}\" -I\"${CLR_SRC_NATIVE_DIR}/libs/System.Globalization.Native/\" -I\"${CLR_SRC_NATIVE_DIR}/libs/Common/\" ${ICU_FLAGS}")
- if(TARGET_DARWIN)
- set_property(SOURCE ${icu_shim_darwin_sources} APPEND_STRING PROPERTY COMPILE_FLAGS " -fobjc-arc ${CLR_CMAKE_COMMON_OBJC_FLAGS}")
- endif()
- if(TARGET_WIN32)
- set_source_files_properties(${icu_shim_sources} PROPERTIES LANGUAGE CXX)
- endif()
- if(ICU_LIBDIR)
- set(ICU_LDFLAGS "-L${ICU_LIBDIR}")
- endif()
- if(CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS)
- set(ICU_LDFLAGS "-licucore")
- endif()
-
- add_library(icu_shim_objects OBJECT "${icu_shim_sources}")
- set(HAVE_ICU_SHIM 1)
-endif()
-
#
# MINI
#
@@ -434,9 +362,6 @@ if(NOT DISABLE_SHARED_LIBS)
else()
target_link_libraries(monosgen-shared PRIVATE monoapi eglib_objects utils_objects sgen_objects metadata_objects)
endif()
- if(HAVE_ICU_SHIM)
- target_link_libraries(monosgen-shared PRIVATE icu_shim_objects)
- endif()
target_include_directories (monosgen-shared PRIVATE monoapi)
if(TARGET_WIN32)
# on Windows the import library for the shared mono library will have the same name as the static library,
@@ -446,14 +371,8 @@ if(NOT DISABLE_SHARED_LIBS)
if(CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS)
target_link_libraries(monosgen-shared PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${Z_LIBS})
else()
- target_link_libraries(monosgen-shared PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
- endif()
- if(ICU_LDFLAGS)
- set_property(TARGET monosgen-shared APPEND_STRING PROPERTY LINK_FLAGS " ${ICU_LDFLAGS}")
+ target_link_libraries(monosgen-shared PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${Z_LIBS})
endif()
- if(NOT TARGET_WASM AND STATIC_ICU)
- set_property(TARGET monosgen-shared APPEND_STRING PROPERTY LINKER_LANGUAGE CXX)
- endif ()
if(TARGET_DARWIN)
set_property(TARGET monosgen-shared APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-compatibility_version -Wl,2.0 -Wl,-current_version -Wl,2.0")
endif()
@@ -498,17 +417,8 @@ if(NOT DISABLE_SHARED_LIBS)
add_library(${frameworkconfig} SHARED $)
target_compile_definitions(${frameworkconfig} PRIVATE -DMONO_DLL_EXPORT)
target_link_libraries(${frameworkconfig} PRIVATE monoapi eglib_objects utils_objects sgen_objects metadata_objects)
- if(HAVE_ICU_SHIM)
- target_link_libraries(${frameworkconfig} PRIVATE icu_shim_objects)
- endif()
- target_link_libraries(${frameworkconfig} PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
+ target_link_libraries(${frameworkconfig} PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${Z_LIBS})
- if(ICU_LDFLAGS)
- set_property(TARGET ${frameworkconfig} APPEND_STRING PROPERTY LINK_FLAGS " ${ICU_LDFLAGS}")
- endif()
- if(STATIC_ICU)
- set_property(TARGET ${frameworkconfig} APPEND_STRING PROPERTY LINKER_LANGUAGE CXX)
- endif ()
set_property(TARGET ${frameworkconfig} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-compatibility_version -Wl,2.0 -Wl,-current_version -Wl,2.0")
string(REPLACE "*" ";" componentsobjects-whitespace "${componentsobjects}")
target_sources(${frameworkconfig} PRIVATE "${componentsobjects-whitespace}")
@@ -627,10 +537,7 @@ if(NOT DISABLE_EXECUTABLES)
if (HOST_WASM)
target_link_libraries(mono-sgen PRIVATE mono-wasm-nosimd)
endif()
- if(HAVE_ICU_SHIM)
- target_link_libraries(mono-sgen PRIVATE icu_shim_objects)
- endif()
- target_link_libraries(mono-sgen PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
+ target_link_libraries(mono-sgen PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${Z_LIBS})
# musl-libc implements ucontext in a different library on s390x
if(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
target_link_libraries(mono-sgen PRIVATE ucontext)
@@ -649,9 +556,6 @@ if(NOT DISABLE_EXECUTABLES)
# if components are disabled, link the fallback stubs into the runtime
# fallback stubs already provided in monosgen-static when components are disabled
endif()
- if(ICU_LDFLAGS)
- set_property(TARGET mono-sgen APPEND_STRING PROPERTY LINK_FLAGS " ${ICU_LDFLAGS}")
- endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
target_sources(mono-sgen PRIVATE ${mono_validate_apis_source})
diff --git a/src/native/libs/CMakeLists.txt b/src/native/libs/CMakeLists.txt
index 79b92e33da29e..f569ac55f7b74 100644
--- a/src/native/libs/CMakeLists.txt
+++ b/src/native/libs/CMakeLists.txt
@@ -5,6 +5,9 @@ include(CheckCCompilerFlag)
project(CoreFX C)
include(../../../eng/native/configurepaths.cmake)
+
+enable_language(CXX)
+
include(${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake)
include_directories(${CLR_SRC_NATIVE_DIR})
@@ -98,10 +101,7 @@ if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI)
else ()
set(CMAKE_SHARED_LIBRARY_PREFIX "")
- # we only need to build System.Globalization.Native when building static libs.
- if (STATIC_LIBS_ONLY)
- add_subdirectory(System.Globalization.Native)
- endif ()
+ add_subdirectory(System.Globalization.Native)
endif ()
add_subdirectory(System.IO.Compression.Native)
diff --git a/src/native/libs/System.Globalization.Native/CMakeLists.txt b/src/native/libs/System.Globalization.Native/CMakeLists.txt
index 1959fec40a7cf..81edb39c81e0d 100644
--- a/src/native/libs/System.Globalization.Native/CMakeLists.txt
+++ b/src/native/libs/System.Globalization.Native/CMakeLists.txt
@@ -142,12 +142,20 @@ if (GEN_SHARED_LIB)
include(CMakeFindFrameworks)
find_library(FOUNDATION Foundation REQUIRED)
endif()
-
- add_library(System.Globalization.Native
- SHARED
- ${NATIVEGLOBALIZATION_SOURCES}
- ${VERSION_FILE_PATH}
- )
+
+ if (CLR_CMAKE_TARGET_WIN32)
+ add_library(System.Globalization.Native
+ SHARED
+ ${NATIVEGLOBALIZATION_SOURCES}
+ ${VERSION_HEADER_PATH}
+ )
+ else()
+ add_library(System.Globalization.Native
+ SHARED
+ ${NATIVEGLOBALIZATION_SOURCES}
+ ${VERSION_FILE_PATH}
+ )
+ endif()
target_link_libraries(System.Globalization.Native
PRIVATE
@@ -183,7 +191,7 @@ if(NOT CLR_CMAKE_TARGET_APPLE AND NOT CLR_CMAKE_TARGET_ANDROID AND NOT CLR_CMAKE
endif()
if(CLR_CMAKE_TARGET_WIN32)
- if(STATIC_LIBS_ONLY)
+ if (STATIC_LIBS_ONLY)
add_library(System.Globalization.Native.Aot
STATIC
${NATIVEGLOBALIZATION_SOURCES}