From c1216d23d3e1f59320e60494eab832338a2324de Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Tue, 17 Mar 2020 15:55:28 -0700 Subject: [PATCH 1/6] Add System.Globalization.Native support for Windows --- src/coreclr/build-runtime.cmd | 2 +- src/coreclr/build.cmd | 2 +- .../src/dlls/mscoree/coreclr/CMakeLists.txt | 3 +- .../src/libraries-native/CMakeLists.txt | 12 ++- .../src/libraries-native/entrypoints.c | 9 +- src/coreclr/src/vm/ecalllist.h | 2 - .../Common/compiler.h} | 14 ++- .../CMakeLists.txt | 99 +++++++++++++++++++ .../System.Globalization.Native/config.h.in | 0 .../configure.cmake | 34 +++++++ .../pal_calendarData.c | 22 ++++- .../pal_calendarData.h | 12 +-- .../System.Globalization.Native/pal_casing.c | 4 + .../System.Globalization.Native/pal_casing.h | 8 +- .../pal_collation.c | 25 +++-- .../pal_collation.h | 25 ++--- .../System.Globalization.Native/pal_errors.h | 0 .../pal_errors_internal.h | 0 .../System.Globalization.Native/pal_icushim.c | 37 +++++++ .../System.Globalization.Native/pal_icushim.h | 8 ++ .../pal_icushim_internal.h | 20 +++- .../System.Globalization.Native/pal_idna.c | 7 ++ .../System.Globalization.Native/pal_idna.h | 6 +- .../System.Globalization.Native/pal_locale.c | 0 .../System.Globalization.Native/pal_locale.h | 15 +++ .../pal_localeNumberData.c | 6 +- .../pal_localeNumberData.h | 6 +- .../pal_localeStringData.c | 4 +- .../pal_localeStringData.h | 6 +- .../pal_locale_internal.h | 0 .../pal_normalization.c | 0 .../pal_normalization.h | 6 +- .../pal_timeZoneInfo.c | 3 + .../pal_timeZoneInfo.h | 4 +- src/libraries/Native/AnyOS/zlib/pal_zlib.h | 2 +- src/libraries/Native/Unix/CMakeLists.txt | 5 +- .../Native/Unix/Common/pal_safecrt.h | 2 +- .../CMakeLists.txt | 96 ------------------ .../configure.cmake | 32 ------ .../System.Globalization.Native/pal_icushim.h | 8 -- .../System.Globalization.Native/pal_locale.h | 15 --- .../Unix/System.IO.Ports.Native/pal_serial.h | 2 +- .../Unix/System.IO.Ports.Native/pal_termios.h | 2 +- .../Native/Unix/System.Native/pal_console.h | 2 +- .../Native/Unix/System.Native/pal_datetime.h | 2 +- .../Native/Unix/System.Native/pal_errno.h | 2 +- .../System.Native/pal_interfaceaddresses.h | 2 +- .../Native/Unix/System.Native/pal_io.c | 2 +- .../Native/Unix/System.Native/pal_io.h | 2 +- .../Unix/System.Native/pal_maphardwaretype.h | 2 +- .../Native/Unix/System.Native/pal_memory.h | 2 +- .../Native/Unix/System.Native/pal_mount.h | 2 +- .../Unix/System.Native/pal_networkchange.h | 2 +- .../Unix/System.Native/pal_networking.h | 2 +- .../System.Native/pal_networkstatistics.h | 2 +- .../Native/Unix/System.Native/pal_process.h | 2 +- .../Native/Unix/System.Native/pal_random.h | 2 +- .../System.Native/pal_runtimeextensions.h | 2 +- .../System.Native/pal_runtimeinformation.h | 2 +- .../Native/Unix/System.Native/pal_signal.h | 2 +- .../Native/Unix/System.Native/pal_string.h | 2 +- .../Native/Unix/System.Native/pal_sysctl.h | 2 +- .../Native/Unix/System.Native/pal_tcpstate.h | 2 +- .../Native/Unix/System.Native/pal_time.h | 2 +- .../Native/Unix/System.Native/pal_uid.h | 2 +- .../System.Net.Security.Native/pal_gssapi.h | 2 +- .../pal_digest.h | 2 +- .../pal_ecc.h | 2 +- .../pal_hmac.h | 2 +- .../pal_keyagree.h | 2 +- .../pal_keychain.h | 2 +- .../pal_random.h | 2 +- .../pal_rsa.h | 2 +- .../pal_sec.h | 2 +- .../pal_seckey.h | 2 +- .../pal_signverify.h | 2 +- .../pal_ssl.h | 2 +- .../pal_symmetric.h | 2 +- .../pal_trust.h | 2 +- .../pal_x509.h | 2 +- .../pal_x509chain.h | 2 +- .../openssl.h | 2 +- .../pal_asn1.h | 2 +- .../pal_bignum.h | 2 +- .../pal_bio.h | 2 +- .../pal_dsa.h | 2 +- .../pal_ecc_import_export.h | 2 +- .../pal_ecdsa.h | 2 +- .../pal_eckey.h | 2 +- .../pal_err.h | 2 +- .../pal_evp.h | 2 +- .../pal_evp_cipher.h | 2 +- .../pal_evp_pkey.h | 2 +- .../pal_evp_pkey_dsa.h | 2 +- .../pal_evp_pkey_ecdh.h | 2 +- .../pal_evp_pkey_eckey.h | 2 +- .../pal_evp_pkey_rsa.h | 2 +- .../pal_hmac.h | 2 +- .../pal_ocsp.h | 2 +- .../pal_pkcs12.h | 2 +- .../pal_pkcs7.h | 2 +- .../pal_rsa.h | 2 +- .../pal_ssl.h | 2 +- .../pal_x509.h | 2 +- .../pal_x509_name.h | 2 +- .../pal_x509_root.h | 2 +- .../pal_x509ext.h | 2 +- 107 files changed, 402 insertions(+), 291 deletions(-) rename src/libraries/Native/{Unix/Common/pal_compiler.h => AnyOS/Common/compiler.h} (80%) create mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/config.h.in (100%) create mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_calendarData.c (97%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_calendarData.h (89%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_casing.c (99%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_casing.h (81%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_collation.c (98%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_collation.h (74%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_errors.h (100%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_errors_internal.h (100%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_icushim.c (92%) create mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_icushim_internal.h (97%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_idna.c (95%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_idna.h (82%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_locale.c (100%) create mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_localeNumberData.c (98%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_localeNumberData.h (89%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_localeStringData.c (99%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_localeStringData.h (91%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_locale_internal.h (100%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_normalization.c (100%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_normalization.h (79%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_timeZoneInfo.c (98%) rename src/libraries/Native/{Unix => AnyOS}/System.Globalization.Native/pal_timeZoneInfo.h (88%) delete mode 100644 src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt delete mode 100644 src/libraries/Native/Unix/System.Globalization.Native/configure.cmake delete mode 100644 src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h delete mode 100644 src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h diff --git a/src/coreclr/build-runtime.cmd b/src/coreclr/build-runtime.cmd index 3ec6d5df29d9f..77e64097a09b1 100644 --- a/src/coreclr/build-runtime.cmd +++ b/src/coreclr/build-runtime.cmd @@ -500,7 +500,7 @@ if %__BuildNative% EQU 1 ( echo %__MsgPrefix%Regenerating the Visual Studio solution - set __ExtraCmakeArgs="-DCMAKE_SYSTEM_VERSION=10.0" !___CrossBuildDefine! "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%" "-DCLR_ENG_NATIVE_DIR=%__RepoRootDir%/eng/native" + set __ExtraCmakeArgs="-DCMAKE_SYSTEM_VERSION=10.0" !___CrossBuildDefine! "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%" "-DCLR_ENG_NATIVE_DIR=%__RepoRootDir%/eng/native" "-DCLR_REPO_ROOT_DIR=%__RepoRootDir%" call "%__SourceDir%\pal\tools\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__BuildArch% !__ExtraCmakeArgs! if not !errorlevel! == 0 ( echo %__ErrMsgPrefix%%__MsgPrefix%Error: failed to generate native component build project! diff --git a/src/coreclr/build.cmd b/src/coreclr/build.cmd index fac90f6d29615..995f181602ea5 100644 --- a/src/coreclr/build.cmd +++ b/src/coreclr/build.cmd @@ -561,7 +561,7 @@ if %__BuildNative% EQU 1 ( echo %__MsgPrefix%Regenerating the Visual Studio solution - set __ExtraCmakeArgs="-DCMAKE_SYSTEM_VERSION=10.0" !___CrossBuildDefine! "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%" "-DCLR_ENG_NATIVE_DIR=%__RepoRootDir%/eng/native" + set __ExtraCmakeArgs="-DCMAKE_SYSTEM_VERSION=10.0" !___CrossBuildDefine! "-DCLR_CMAKE_PGO_INSTRUMENT=%__PgoInstrument%" "-DCLR_CMAKE_OPTDATA_PATH=%__PgoOptDataPath%" "-DCLR_CMAKE_PGO_OPTIMIZE=%__PgoOptimize%" "-DCLR_ENG_NATIVE_DIR=%__RepoRootDir%/eng/native" "-DCLR_REPO_ROOT_DIR=%__RepoRootDir%" call "%__SourceDir%\pal\tools\gen-buildsys.cmd" "%__ProjectDir%" "%__IntermediatesDir%" %__VSVersion% %__BuildArch% !__ExtraCmakeArgs! if not !errorlevel! == 0 ( echo %__ErrMsgPrefix%%__MsgPrefix%Error: failed to generate native component build project! diff --git a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt index 0517bb50df321..09b234810964d 100644 --- a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -108,7 +108,7 @@ set(CORECLR_LIBRARIES gcinfo # Condition="'$(TargetCpu)'=='amd64' or '$(TargetCpu)' == 'arm' or '$(TargetCpu)' == 'arm64'" ildbsymlib utilcode - v3binder + System.Globalization.Native-Static libraries-native interop ) @@ -136,7 +136,6 @@ else() ${END_WHOLE_ARCHIVE} mscorrc palrt - System.Globalization.Native-Static ) endif(CLR_CMAKE_TARGET_WIN32) diff --git a/src/coreclr/src/libraries-native/CMakeLists.txt b/src/coreclr/src/libraries-native/CMakeLists.txt index aaf7f9bbbb7ae..942985045f1a0 100644 --- a/src/coreclr/src/libraries-native/CMakeLists.txt +++ b/src/coreclr/src/libraries-native/CMakeLists.txt @@ -1,14 +1,16 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(GLOBALIZATION_NATIVE_DIR ${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Globalization.Native) +set(GLOBALIZATION_NATIVE_DIR ${CLR_REPO_ROOT_DIR}/src/libraries/Native/AnyOS/System.Globalization.Native) # Suppress exporting of the PAL APIs add_definitions(-DPALEXPORT=) -if(CLR_CMAKE_HOST_UNIX) - include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/Common") - include_directories("${GLOBALIZATION_NATIVE_DIR}") +include_directories("${GLOBALIZATION_NATIVE_DIR}") +include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/AnyOS/Common") + +add_subdirectory(${GLOBALIZATION_NATIVE_DIR} System.Globalization.Native) - add_subdirectory(${GLOBALIZATION_NATIVE_DIR} System.Globalization.Native) +if(CLR_CMAKE_HOST_UNIX) + include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/Common") endif() add_library(libraries-native diff --git a/src/coreclr/src/libraries-native/entrypoints.c b/src/coreclr/src/libraries-native/entrypoints.c index 75c5b7311b157..68553e99997af 100644 --- a/src/coreclr/src/libraries-native/entrypoints.c +++ b/src/coreclr/src/libraries-native/entrypoints.c @@ -2,9 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#ifdef TARGET_UNIX - -#include "pal_types.h" +#include typedef uint16_t UChar; @@ -19,15 +17,13 @@ typedef uint16_t UChar; #include "pal_idna.h" #include "pal_normalization.h" #include "pal_timeZoneInfo.h" -#endif // TARGET_UNIX -#define FCFuncStart(name) extern const void* name[]; const void* name[] = { +#define FCFuncStart(name) EXTERN_C const void* name[]; const void* name[] = { #define FCFuncEnd() (void*)0x01 /* FCFuncFlag_EndOfArray */ }; #define QCFuncElement(name,impl) \ (void*)0x8 /* FCFuncFlag_QCall */, (void*)(impl), (void*)name, -#ifdef TARGET_UNIX FCFuncStart(gPalGlobalizationNative) QCFuncElement("ChangeCase", GlobalizationNative_ChangeCase) QCFuncElement("ChangeCaseInvariant", GlobalizationNative_ChangeCaseInvariant) @@ -64,4 +60,3 @@ FCFuncStart(gPalGlobalizationNative) QCFuncElement("ToAscii", GlobalizationNative_ToAscii) QCFuncElement("ToUnicode", GlobalizationNative_ToUnicode) FCFuncEnd() -#endif // TARGET_UNIX diff --git a/src/coreclr/src/vm/ecalllist.h b/src/coreclr/src/vm/ecalllist.h index 3cbfa0e5ec40e..d28a28326619f 100644 --- a/src/coreclr/src/vm/ecalllist.h +++ b/src/coreclr/src/vm/ecalllist.h @@ -1239,11 +1239,9 @@ FCClassElement("FileLoadException", "System.IO", gFileLoadExceptionFuncs) FCClassElement("GC", "System", gGCInterfaceFuncs) FCClassElement("GCHandle", "System.Runtime.InteropServices", gGCHandleFuncs) FCClassElement("GCSettings", "System.Runtime", gGCSettingsFuncs) -#ifdef TARGET_UNIX #ifndef CROSSGEN_COMPILE FCClassElement("Globalization", "", gPalGlobalizationNative) #endif -#endif #ifdef FEATURE_COMINTEROP FCClassElement("IEnumerable", "System.Collections", gStdMngIEnumerableFuncs) FCClassElement("IEnumerator", "System.Collections", gStdMngIEnumeratorFuncs) diff --git a/src/libraries/Native/Unix/Common/pal_compiler.h b/src/libraries/Native/AnyOS/Common/compiler.h similarity index 80% rename from src/libraries/Native/Unix/Common/pal_compiler.h rename to src/libraries/Native/AnyOS/Common/compiler.h index 52471c6f7eb94..e649ca7387f57 100644 --- a/src/libraries/Native/Unix/Common/pal_compiler.h +++ b/src/libraries/Native/AnyOS/Common/compiler.h @@ -20,5 +20,17 @@ #endif #ifndef PALEXPORT +#ifdef TARGET_UNIX #define PALEXPORT __attribute__ ((__visibility__ ("default"))) -#endif // ifndef PALEXPORT +#else +#define PALEXPORT +#endif +#endif // PALEXPORT + +#ifndef EXTERN_C +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C +#endif // __cplusplus +#endif // EXTERN_C diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt b/src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt new file mode 100644 index 0000000000000..fbab4fad5868e --- /dev/null +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt @@ -0,0 +1,99 @@ +project(System.Globalization.Native C) + +if(CLR_CMAKE_TARGET_UNIX) + add_compile_options(-Wno-switch-enum) + add_compile_options(-Wno-covered-switch-default) + + # Workaround for warnings produced by ICU headers + add_compile_options(-Wno-reserved-id-macro) + add_compile_options(-Wno-documentation) + add_compile_options(-Wno-documentation-unknown-command) + + # Workaround for https://unicode-org.atlassian.net/browse/ICU-20601 + add_compile_options(-Wno-extra-semi-stmt) + add_compile_options(-Wno-unknown-warning-option) + + set(ICU_HOMEBREW_INC_PATH "/usr/local/opt/icu4c/include") + + find_path(UTYPES_H "unicode/utypes.h" PATHS ${ICU_HOMEBREW_INC_PATH}) + if(UTYPES_H STREQUAL UTYPES_H-NOTFOUND) + message(FATAL_ERROR "Cannot find utypes.h, try installing libicu-dev (or the appropriate package for your platform)") + return() + endif() + + if(CLR_CMAKE_TARGET_DARWIN) + find_library(ICUCORE icucore) + if(ICUCORE STREQUAL ICUCORE-NOTFOUND) + message(FATAL_ERROR "Cannot find libicucore, skipping build for System.Globalization.Native. .NET globalization is not expected to function.") + return() + endif() + add_definitions(-DOSX_ICU_LIBRARY_PATH=\"${ICUCORE}\") + add_definitions(-DU_DISABLE_RENAMING) + else() + find_library(ICUUC icuuc) + if(ICUUC STREQUAL ICUUC-NOTFOUND) + message(FATAL_ERROR "Cannot find libicuuc, try installing libicu-dev (or the appropriate package for your platform)") + return() + endif() + + find_library(ICUI18N icui18n) + if(ICUI18N STREQUAL ICUI18N-NOTFOUND) + message(FATAL_ERROR "Cannot find libicui18n, try installing libicu-dev (or the appropriate package for your platform)") + return() + endif() + endif() + + include_directories(${UTYPES_H}) +endif() + +include(configure.cmake) + +set(NATIVEGLOBALIZATION_SOURCES + pal_calendarData.c + pal_casing.c + pal_collation.c + pal_idna.c + pal_locale.c + pal_localeNumberData.c + pal_localeStringData.c + pal_normalization.c + pal_timeZoneInfo.c + pal_icushim.c +) + +include_directories("../Common") + +if (GEN_SHARED_LIB) + add_library(System.Globalization.Native + SHARED + ${NATIVEGLOBALIZATION_SOURCES} + ${VERSION_FILE_PATH} + ) + + target_link_libraries(System.Globalization.Native + dl + ) + + install_library_and_symbols (System.Globalization.Native) +endif() + +add_library(System.Globalization.Native-Static + STATIC + ${NATIVEGLOBALIZATION_SOURCES} +) + +set_target_properties(System.Globalization.Native-Static PROPERTIES OUTPUT_NAME System.Globalization.Native CLEAN_DIRECT_OUTPUT 1) + +install (TARGETS System.Globalization.Native-Static DESTINATION .) + +if(NOT CLR_CMAKE_TARGET_DARWIN) + if (GEN_SHARED_LIB) + add_custom_command(TARGET System.Globalization.Native POST_BUILD + COMMENT "Verifying System.Globalization.Native.so dependencies" + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../verify-so.sh + $ + "Verification failed. System.Globalization.Native.so has undefined dependencies. These are likely ICU APIs that need to be added to icushim.h." + VERBATIM + ) + endif() +endif() diff --git a/src/libraries/Native/Unix/System.Globalization.Native/config.h.in b/src/libraries/Native/AnyOS/System.Globalization.Native/config.h.in similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/config.h.in rename to src/libraries/Native/AnyOS/System.Globalization.Native/config.h.in diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake b/src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake new file mode 100644 index 0000000000000..68718edaea8b3 --- /dev/null +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake @@ -0,0 +1,34 @@ +include(CheckCSourceCompiles) +include(CheckSymbolExists) + +if(CLR_CMAKE_TARGET_ANDROID) + string(REPLACE ";" ":" ANDROID_RPATHS "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}:${CMAKE_SYSTEM_LIBRARY_PATH}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rpath ${ANDROID_RPATHS}") +endif() + +if (CLR_CMAKE_TARGET_UNIX) + set(CMAKE_REQUIRED_INCLUDES ${UTYPES_H} ${ICU_HOMEBREW_INC_PATH}) + + CHECK_C_SOURCE_COMPILES(" + #include + int main(void) { enum UDateFormatSymbolType e = UDAT_STANDALONE_SHORTER_WEEKDAYS; } + " HAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS) + + if(CLR_CMAKE_TARGET_DARWIN) + set(CMAKE_REQUIRED_LIBRARIES ${ICUCORE}) + else() + set(CMAKE_REQUIRED_LIBRARIES ${ICUUC} ${ICUI18N}) + endif() + + check_symbol_exists( + ucol_setMaxVariable + "unicode/ucol.h" + HAVE_SET_MAX_VARIABLE) + + unset(CMAKE_REQUIRED_LIBRARIES) + unset(CMAKE_REQUIRED_INCLUDES) +endif() + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in + ${CMAKE_CURRENT_BINARY_DIR}/config.h) diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c similarity index 97% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c index 10bdcfafb3410..d80ad23408211 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c @@ -5,12 +5,19 @@ #include #include #include + +#ifdef TARGET_UNIX #include +#endif #include "pal_locale_internal.h" #include "pal_errors_internal.h" #include "pal_calendarData.h" +#ifndef TARGET_UNIX +#define strcasecmp _stricmp +#endif + #define GREGORIAN_NAME "gregorian" #define JAPANESE_NAME "japanese" #define BUDDHIST_NAME "buddhist" @@ -226,7 +233,7 @@ static int InvokeCallbackForDatePattern(const char* locale, UErrorCode ignore = U_ZERO_ERROR; int32_t patternLen = udat_toPattern(pFormat, FALSE, NULL, 0, &ignore) + 1; - UChar* pattern = calloc((size_t)patternLen, sizeof(UChar)); + UChar* pattern = (UChar*)calloc((size_t)patternLen, sizeof(UChar)); if (pattern == NULL) { udat_close(pFormat); @@ -266,7 +273,7 @@ static int InvokeCallbackForDateTimePattern(const char* locale, UErrorCode ignore = U_ZERO_ERROR; int32_t patternLen = udatpg_getBestPattern(pGenerator, patternSkeleton, -1, NULL, 0, &ignore) + 1; - UChar* bestPattern = calloc((size_t)patternLen, sizeof(UChar)); + UChar* bestPattern = (UChar*)calloc((size_t)patternLen, sizeof(UChar)); if (bestPattern == NULL) { udatpg_close(pGenerator); @@ -306,7 +313,11 @@ static int32_t EnumSymbols(const char* locale, return FALSE; char localeWithCalendarName[ULOC_FULLNAME_CAPACITY]; +#ifdef TARGET_UNIX strncpy(localeWithCalendarName, locale, ULOC_FULLNAME_CAPACITY); +#else + strncpy_s(localeWithCalendarName, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); +#endif localeWithCalendarName[ULOC_FULLNAME_CAPACITY - 1] = 0; uloc_setKeywordValue("calendar", GetCalendarName(calendarId), localeWithCalendarName, ULOC_FULLNAME_CAPACITY, &err); @@ -336,7 +347,7 @@ static int32_t EnumSymbols(const char* locale, } else { - symbolBuf = calloc((size_t)symbolLen, sizeof(UChar)); + symbolBuf = (UChar*)calloc((size_t)symbolLen, sizeof(UChar)); if (symbolBuf == NULL) { err = U_MEMORY_ALLOCATION_ERROR; @@ -414,8 +425,11 @@ static int32_t EnumAbbrevEraNames(const char* locale, char* localeNamePtr = localeNameBuf; char* parentNamePtr = parentNameBuf; - +#ifdef TARGET_UNIX strncpy(localeNamePtr, locale, ULOC_FULLNAME_CAPACITY); +#else + strncpy_s(localeNamePtr, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); +#endif localeNamePtr[ULOC_FULLNAME_CAPACITY - 1] = 0; while (TRUE) diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h similarity index 89% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h index 77e8a75be5c73..7a89ee9efff36 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h @@ -7,7 +7,7 @@ #include #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" #include "pal_errors.h" /* @@ -70,25 +70,25 @@ typedef enum // the function pointer definition for the callback used in EnumCalendarInfo typedef void (*EnumCalendarInfoCallback)(const UChar*, const void*); -PALEXPORT int32_t GlobalizationNative_GetCalendars(const UChar* localeName, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetCalendars(const UChar* localeName, CalendarId* calendars, int32_t calendarsCapacity); -PALEXPORT ResultCode GlobalizationNative_GetCalendarInfo(const UChar* localeName, +EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetCalendarInfo(const UChar* localeName, CalendarId calendarId, CalendarDataType dataType, UChar* result, int32_t resultCapacity); -PALEXPORT int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback, +EXTERN_C PALEXPORT int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback, const UChar* localeName, CalendarId calendarId, CalendarDataType dataType, const void* context); -PALEXPORT int32_t GlobalizationNative_GetLatestJapaneseEra(void); +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLatestJapaneseEra(void); -PALEXPORT int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era, int32_t* startYear, int32_t* startMonth, int32_t* startDay); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.c similarity index 99% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.c index 2e90f1481233e..263c71d70630c 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.c @@ -9,9 +9,11 @@ #include "pal_icushim_internal.h" #include "pal_casing.h" +#ifdef __clang__ // Workaround for warnings produced by U16_NEXT and U16_APPEND macro expansions #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wsign-conversion" +#endif /* Function: @@ -146,4 +148,6 @@ void GlobalizationNative_ChangeCaseTurkish( } } +#ifdef __clang__ #pragma clang diagnostic pop +#endif diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h similarity index 81% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h index 8b790b3be775f..44a685f3d38ed 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h @@ -3,21 +3,21 @@ // See the LICENSE file in the project root for more information. #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" -PALEXPORT void GlobalizationNative_ChangeCase(const UChar* lpSrc, +EXTERN_C PALEXPORT void GlobalizationNative_ChangeCase(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, int32_t bToUpper); -PALEXPORT void GlobalizationNative_ChangeCaseInvariant(const UChar* lpSrc, +EXTERN_C PALEXPORT void GlobalizationNative_ChangeCaseInvariant(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, int32_t bToUpper); -PALEXPORT void GlobalizationNative_ChangeCaseTurkish(const UChar* lpSrc, +EXTERN_C PALEXPORT void GlobalizationNative_ChangeCaseTurkish(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c similarity index 98% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c index c5ba1ca33efee..d09f685e06f3c 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c @@ -13,6 +13,10 @@ #include "pal_errors_internal.h" #include "pal_collation.h" +#ifndef TARGET_UNIX +#include +#endif + c_static_assert_msg(UCOL_EQUAL == 0, "managed side requires 0 for equal strings"); c_static_assert_msg(UCOL_LESS < 0, "managed side requires less than zero for a < b"); c_static_assert_msg(UCOL_GREATER > 0, "managed side requires greater than zero for a > b"); @@ -168,7 +172,7 @@ static UCharList* GetCustomRules(int32_t options, UColAttributeValue strength, i ((needsIgnoreWidthCustomRule || needsNotIgnoreWidthCustomRule) ? 5 * g_HalfFullCharsLength : 0); UChar* items; - customRules->items = items = malloc((size_t)capacity * sizeof(UChar)); + customRules->items = items = (UChar*)malloc((size_t)capacity * sizeof(UChar)); if (customRules->items == NULL) { free(customRules); @@ -267,7 +271,7 @@ static UCollator* CloneCollatorWithOptions(const UCollator* pCollator, int32_t o const UChar* localeRules = ucol_getRules(pCollator, &localeRulesLength); int32_t completeRulesLength = localeRulesLength + customRuleLength + 1; - UChar* completeRules = calloc((size_t)completeRulesLength, sizeof(UChar)); + UChar* completeRules = (UChar*)calloc((size_t)completeRulesLength, sizeof(UChar)); for (int i = 0; i < localeRulesLength; i++) { @@ -403,8 +407,12 @@ static const UCollator* GetCollatorFromSortHandle(SortHandle* pSortHandle, int32 pCollator = CloneCollatorWithOptions(pSortHandle->collatorsPerOption[0], options, pErr); UCollator* pNull = NULL; +#ifdef TARGET_UNIX // we are not using the standard atomic_compare_exchange_strong to workaround bugs in clang 5.0 (https://bugs.llvm.org/show_bug.cgi?id=37457) if (!__atomic_compare_exchange_n(&pSortHandle->collatorsPerOption[options], &pNull, pCollator, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) +#else + if (!::std::atomic_compare_exchange_strong_explicit((volatile ::std::atomic *const)&pSortHandle->collatorsPerOption[options], &pNull, pCollator, ::std::memory_order_seq_cst, ::std::memory_order_seq_cst)) +#endif { ucol_close(pCollator); pCollator = pSortHandle->collatorsPerOption[options]; @@ -419,7 +427,7 @@ int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle) { UErrorCode err = U_ZERO_ERROR; const UCollator* pColl = GetCollatorFromSortHandle(pSortHandle, 0, &err); - int32_t result = 0; + int32_t result = 0xFFFFFFFF; if (U_SUCCESS(err)) { @@ -428,9 +436,6 @@ int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle) else { assert(FALSE && "Unexpected ucol_getVersion to fail."); - - // we didn't use UCOL_TAILORINGS_VERSION because it is deprecated in ICU v5 - result = UCOL_RUNTIME_VERSION << 16 | UCOL_BUILDER_VERSION; } return result; } @@ -569,11 +574,15 @@ int32_t GlobalizationNative_IndexOfOrdinalIgnoreCase( { UChar32 srcCodepoint, trgCodepoint; +#ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wsign-conversion" +#endif U16_NEXT(src, srcIdx, cwSourceLength, srcCodepoint); U16_NEXT(trg, trgIdx, cwTargetLength, trgCodepoint); +#ifdef __clang__ #pragma clang diagnostic pop +#endif if (!AreEqualOrdinalIgnoreCase(srcCodepoint, trgCodepoint)) { @@ -852,11 +861,15 @@ int32_t GlobalizationNative_CompareStringOrdinalIgnoreCase( { UChar32 str1Codepoint, str2Codepoint; +#ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wsign-conversion" +#endif U16_NEXT(lpStr1, str1Idx, cwStr1Length, str1Codepoint); U16_NEXT(lpStr2, str2Idx, cwStr2Length, str2Codepoint); +#ifdef __clang__ #pragma clang diagnostic pop +#endif if (str1Codepoint != str2Codepoint && u_toupper(str1Codepoint) != u_toupper(str2Codepoint)) { diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h similarity index 74% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h index dd2fcc4252c1e..c95ba04a6e6db 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h @@ -5,25 +5,26 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" #include "pal_errors.h" typedef struct SortHandle SortHandle; -PALEXPORT ResultCode GlobalizationNative_GetSortHandle(const char* lpLocaleName, SortHandle** ppSortHandle); +EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetSortHandle(const char* lpLocaleName, SortHandle** ppSortHandle); -PALEXPORT void GlobalizationNative_CloseSortHandle(SortHandle* pSortHandle); +EXTERN_C PALEXPORT void GlobalizationNative_CloseSortHandle(SortHandle* pSortHandle); -PALEXPORT int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle); +// If we fail to get the sort version we will fallback to 0xFFFFFFFF as the sort version. +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle); -PALEXPORT int32_t GlobalizationNative_CompareString(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_CompareString(SortHandle* pSortHandle, const UChar* lpStr1, int32_t cwStr1Length, const UChar* lpStr2, int32_t cwStr2Length, int32_t options); -PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, @@ -31,41 +32,41 @@ PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, int32_t options, int32_t* pMatchedLength); -PALEXPORT int32_t GlobalizationNative_LastIndexOf(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_LastIndexOf(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -PALEXPORT int32_t GlobalizationNative_IndexOfOrdinalIgnoreCase(const UChar* lpTarget, +EXTERN_C PALEXPORT int32_t GlobalizationNative_IndexOfOrdinalIgnoreCase(const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t findLast); -PALEXPORT int32_t GlobalizationNative_StartsWith(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_StartsWith(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -PALEXPORT int32_t GlobalizationNative_EndsWith(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_EndsWith(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -PALEXPORT int32_t GlobalizationNative_GetSortKey(SortHandle* pSortHandle, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetSortKey(SortHandle* pSortHandle, const UChar* lpStr, int32_t cwStrLength, uint8_t* sortKey, int32_t cbSortKeyLength, int32_t options); -PALEXPORT int32_t GlobalizationNative_CompareStringOrdinalIgnoreCase(const UChar* lpStr1, +EXTERN_C PALEXPORT int32_t GlobalizationNative_CompareStringOrdinalIgnoreCase(const UChar* lpStr1, int32_t cwStr1Length, const UChar* lpStr2, int32_t cwStr2Length); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_errors_internal.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors_internal.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_errors_internal.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors_internal.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c similarity index 92% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c index bb418e8573e8f..008e10e20547b 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c @@ -3,7 +3,13 @@ // See the LICENSE file in the project root for more information. // +#ifdef TARGET_UNIX #include +#else +#include +#include +#include +#endif #include #include #include @@ -20,6 +26,7 @@ FOR_ALL_ICU_FUNCTIONS static void* libicuuc = NULL; static void* libicui18n = NULL; +#ifdef TARGET_UNIX #ifdef __APPLE__ static int FindICULibs() @@ -243,6 +250,23 @@ static int FindICULibs(const char* versionPrefix, char* symbolName, char* symbol } #endif // __APPLE__ +#else // TARGET_UNIX + +// Windows implementation for FindICULibs +static int FindICULibs() +{ + libicuuc = LoadLibraryExW(L"icu.dll", NULL, 0); + if (libicuuc == NULL) + { + return FALSE; + } + + // Windows has a single dll for icu. + libicui18n = libicuuc; + return TRUE; +} + +#endif // TARGET_UNIX // GlobalizationNative_LoadICU // This method get called from the managed side during the globalization initialization. @@ -250,6 +274,7 @@ static int FindICULibs(const char* versionPrefix, char* symbolName, char* symbol // return 0 if failed to load ICU and 1 otherwise int32_t GlobalizationNative_LoadICU() { +#ifdef TARGET_UNIX #ifdef __APPLE__ if (!FindICULibs()) @@ -284,6 +309,18 @@ int32_t GlobalizationNative_LoadICU() #endif // __APPLE__ +#else // TARGET_UNIX + + if (!FindICULibs()) + { + return FALSE; + } + +#define PER_FUNCTION_BLOCK(fn, lib) \ + fn##_ptr = (__typeof(fn)*)GetProcAddress((HMODULE)lib, #fn); \ + if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %u\n", #fn, GetLastError()); abort(); } + +#endif // TARGET_UNIX FOR_ALL_ICU_FUNCTIONS #undef PER_FUNCTION_BLOCK diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h new file mode 100644 index 0000000000000..d8b211dadc8eb --- /dev/null +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h @@ -0,0 +1,8 @@ + +#pragma once + +#include "compiler.h" + +EXTERN_C PALEXPORT int32_t GlobalizationNative_LoadICU(void); + +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetICUVersion(void); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h similarity index 97% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h index c6a48f964a2a0..0c34f539c5261 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h @@ -8,6 +8,8 @@ #pragma once +#ifdef TARGET_UNIX + #include "config.h" #define U_DISABLE_RENAMING 1 @@ -33,6 +35,21 @@ #include #include +#else + +#include "icu.h" + +#ifndef __typeof +#define __typeof decltype +#endif + +#define HAVE_SET_MAX_VARIABLE 1 +#define UDAT_STANDALONE_SHORTER_WEEKDAYS 1 + +#endif + +#include "compiler.h" + // List of all functions from the ICU libraries that are used in the System.Globalization.Native.so #define FOR_ALL_UNCONDITIONAL_ICU_FUNCTIONS \ PER_FUNCTION_BLOCK(u_charsToUChars, libicuuc) \ @@ -131,13 +148,14 @@ FOR_ALL_UNCONDITIONAL_ICU_FUNCTIONS \ PER_FUNCTION_BLOCK(ucol_setMaxVariable, libicui18n) #else + #define FOR_ALL_ICU_FUNCTIONS \ FOR_ALL_UNCONDITIONAL_ICU_FUNCTIONS \ PER_FUNCTION_BLOCK(ucol_setVariableTop, libicui18n) #endif // Declare pointers to all the used ICU functions -#define PER_FUNCTION_BLOCK(fn, lib) extern __typeof(fn)* fn##_ptr; +#define PER_FUNCTION_BLOCK(fn, lib) EXTERN_C __typeof(fn)* fn##_ptr; FOR_ALL_ICU_FUNCTIONS #undef PER_FUNCTION_BLOCK diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c similarity index 95% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c index 97fe2315511d5..9c9a4b24b7933 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c @@ -8,6 +8,13 @@ #include "pal_icushim_internal.h" #include "pal_idna.h" +#ifndef TARGET_UNIX +// Windows icu headers doesn't define this member. +enum { + UIDNA_ALLOW_UNASSIGNED=1 +}; +#endif + static const uint32_t AllowUnassigned = 0x1; static const uint32_t UseStd3AsciiRules = 0x2; diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h similarity index 82% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h index b7cf6fa5482ae..e1e49e46c7eb7 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h @@ -6,15 +6,15 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" -PALEXPORT int32_t GlobalizationNative_ToAscii(uint32_t flags, +EXTERN_C PALEXPORT int32_t GlobalizationNative_ToAscii(uint32_t flags, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength); -PALEXPORT int32_t GlobalizationNative_ToUnicode(uint32_t flags, +EXTERN_C PALEXPORT int32_t GlobalizationNative_ToUnicode(uint32_t flags, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h new file mode 100644 index 0000000000000..c41383869cc7a --- /dev/null +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h @@ -0,0 +1,15 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#pragma once + +#include "compiler.h" + +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocales(UChar *value, int32_t valueLength); + +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleName(const UChar* localeName, UChar* value, int32_t valueLength); + +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetDefaultLocaleName(UChar* value, int32_t valueLength); + +EXTERN_C PALEXPORT int32_t GlobalizationNative_IsPredefinedLocale(const UChar* localeName); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.c similarity index 98% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.c index b05ae709a278d..2465f02faf56c 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.c @@ -87,13 +87,13 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative) if (isNegative && !minusAdded) { int length = (iEnd - iStart) + 2; - destPattern = calloc((size_t)length, sizeof(char)); + destPattern = (char*)calloc((size_t)length, sizeof(char)); destPattern[index++] = '-'; } else { int length = (iEnd - iStart) + 1; - destPattern = calloc((size_t)length, sizeof(char)); + destPattern = (char*)calloc((size_t)length, sizeof(char)); } for (int i = iStart; i <= iEnd; i++) @@ -162,7 +162,7 @@ static int GetNumericPattern(const UNumberFormat* pNumberFormat, UErrorCode ignore = U_ZERO_ERROR; int32_t icuPatternLength = unum_toPattern(pNumberFormat, FALSE, NULL, 0, &ignore) + 1; - UChar* icuPattern = calloc((size_t)icuPatternLength, sizeof(UChar)); + UChar* icuPattern = (UChar*)calloc((size_t)icuPatternLength, sizeof(UChar)); if (icuPattern == NULL) { return U_MEMORY_ALLOCATION_ERROR; diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h similarity index 89% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h index 2599ba5ad4c42..a0677c6dacd6a 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" // Enum that corresponds to managed enum CultureData.LocaleNumberData. // The numeric values of the enum members match their Win32 counterparts. @@ -36,11 +36,11 @@ typedef enum WeekRule_FirstFourDayWeek = 2 } CalendarWeekRule; -PALEXPORT int32_t GlobalizationNative_GetLocaleInfoInt(const UChar* localeName, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoInt(const UChar* localeName, LocaleNumberData localeNumberData, int32_t* value); -PALEXPORT int32_t GlobalizationNative_GetLocaleInfoGroupingSizes(const UChar* localeName, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoGroupingSizes(const UChar* localeName, LocaleNumberData localeGroupingData, int32_t* primaryGroupSize, int32_t* secondaryGroupSize); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.c similarity index 99% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.c index f0894b73ee100..0c2c94a8390ed 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.c @@ -78,7 +78,7 @@ static UErrorCode GetLocaleIso639LanguageTwoLetterName(const char* locale, UChar UErrorCode status = U_ZERO_ERROR, ignore = U_ZERO_ERROR; int32_t length = uloc_getLanguage(locale, NULL, 0, &ignore) + 1; - char* buf = calloc((size_t)length, sizeof(char)); + char* buf = (char*)calloc((size_t)length, sizeof(char)); if (buf == NULL) { return U_MEMORY_ALLOCATION_ERROR; @@ -121,7 +121,7 @@ static UErrorCode GetLocaleIso3166CountryName(const char* locale, UChar* value, UErrorCode status = U_ZERO_ERROR, ignore = U_ZERO_ERROR; int32_t length = uloc_getCountry(locale, NULL, 0, &ignore) + 1; - char* buf = calloc((size_t)length, sizeof(char)); + char* buf = (char*)calloc((size_t)length, sizeof(char)); if (buf == NULL) { return U_MEMORY_ALLOCATION_ERROR; diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h similarity index 91% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h index 01584d2673360..ca33ee3b60774 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" // Enum that corresponds to managed enum CultureData.LocaleStringData. // The numeric values of the enum members match their Win32 counterparts. @@ -45,12 +45,12 @@ typedef enum LocaleString_PerMilleSymbol = 0x00000077 } LocaleStringData; -PALEXPORT int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName, LocaleStringData localeStringData, UChar* value, int32_t valueLength); -PALEXPORT int32_t GlobalizationNative_GetLocaleTimeFormat(const UChar* localeName, +EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleTimeFormat(const UChar* localeName, int shortFormat, UChar* value, int32_t valueLength); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale_internal.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale_internal.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_locale_internal.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale_internal.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h similarity index 79% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h index aca8b50e35b92..f356b0edb5179 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" /* * These values should be kept in sync with System.Text.NormalizationForm @@ -19,11 +19,11 @@ typedef enum FormKD = 0x6 } NormalizationForm; -PALEXPORT int32_t GlobalizationNative_IsNormalized(NormalizationForm normalizationForm, +EXTERN_C PALEXPORT int32_t GlobalizationNative_IsNormalized(NormalizationForm normalizationForm, const UChar* lpStr, int32_t cwStrLength); -PALEXPORT int32_t GlobalizationNative_NormalizeString(NormalizationForm normalizationForm, +EXTERN_C PALEXPORT int32_t GlobalizationNative_NormalizeString(NormalizationForm normalizationForm, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c similarity index 98% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c index 537464dd2358a..789461f74b59c 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c @@ -4,7 +4,10 @@ // #include + +#ifdef TARGET_UNIX #include +#endif #include "pal_errors_internal.h" #include "pal_locale_internal.h" diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h similarity index 88% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h rename to src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h index e08439d260ac4..53a1bcefd7999 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h +++ b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "pal_compiler.h" +#include "compiler.h" #include "pal_errors.h" /* @@ -19,7 +19,7 @@ typedef enum TimeZoneDisplayName_DaylightSavings = 2, } TimeZoneDisplayNameType; -PALEXPORT ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName, +EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName, const UChar* timeZoneId, TimeZoneDisplayNameType type, UChar* result, diff --git a/src/libraries/Native/AnyOS/zlib/pal_zlib.h b/src/libraries/Native/AnyOS/zlib/pal_zlib.h index d784a201b5ca9..e395bc1c3aa58 100644 --- a/src/libraries/Native/AnyOS/zlib/pal_zlib.h +++ b/src/libraries/Native/AnyOS/zlib/pal_zlib.h @@ -9,7 +9,7 @@ #define FUNCTIONCALLINGCONVENCTION WINAPI #else #include "pal_types.h" - #include "pal_compiler.h" + #include "compiler.h" #define FUNCTIONEXPORT PALEXPORT #define FUNCTIONCALLINGCONVENCTION #endif diff --git a/src/libraries/Native/Unix/CMakeLists.txt b/src/libraries/Native/Unix/CMakeLists.txt index f32da9d656347..3a7a7320ea41f 100644 --- a/src/libraries/Native/Unix/CMakeLists.txt +++ b/src/libraries/Native/Unix/CMakeLists.txt @@ -181,6 +181,7 @@ if(CLR_CMAKE_TARGET_UNIX) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CLR_ADDITIONAL_LINKER_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CLR_ADDITIONAL_LINKER_FLAGS}" ) add_compile_options(${CLR_ADDITIONAL_COMPILER_OPTIONS}) + add_definitions(-DTARGET_UNIX) endif(CLR_CMAKE_TARGET_UNIX) function(install_library_and_symbols targetName) @@ -205,6 +206,8 @@ endfunction() include(configure.cmake) +include_directories(../AnyOS/Common) + add_subdirectory(System.IO.Compression.Native) if (NOT CLR_CMAKE_TARGET_ARCH_WASM) @@ -221,7 +224,7 @@ add_subdirectory(System.Native) if (NOT CLR_CMAKE_TARGET_ARCH_WASM) if (NOT CLR_CMAKE_TARGET_IOS) # TODO: reenable - add_subdirectory(System.Globalization.Native) + add_subdirectory(../AnyOS/System.Globalization.Native System.Globalization.Native) add_subdirectory(System.Net.Security.Native) endif() if (NOT CLR_CMAKE_TARGET_IOS) diff --git a/src/libraries/Native/Unix/Common/pal_safecrt.h b/src/libraries/Native/Unix/Common/pal_safecrt.h index 9307f66be7a83..19f50f8a44887 100644 --- a/src/libraries/Native/Unix/Common/pal_safecrt.h +++ b/src/libraries/Native/Unix/Common/pal_safecrt.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_config.h" #include diff --git a/src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt b/src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt deleted file mode 100644 index 25d0211e2d5ae..0000000000000 --- a/src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt +++ /dev/null @@ -1,96 +0,0 @@ -project(System.Globalization.Native C) - -add_compile_options(-Wno-switch-enum) -add_compile_options(-Wno-covered-switch-default) - -# Workaround for warnings produced by ICU headers -add_compile_options(-Wno-reserved-id-macro) -add_compile_options(-Wno-documentation) -add_compile_options(-Wno-documentation-unknown-command) - -# Workaround for https://unicode-org.atlassian.net/browse/ICU-20601 -add_compile_options(-Wno-extra-semi-stmt) -add_compile_options(-Wno-unknown-warning-option) - -set(ICU_HOMEBREW_INC_PATH "/usr/local/opt/icu4c/include") - -find_path(UTYPES_H "unicode/utypes.h" PATHS ${ICU_HOMEBREW_INC_PATH}) -if(UTYPES_H STREQUAL UTYPES_H-NOTFOUND) - message(FATAL_ERROR "Cannot find utypes.h, try installing libicu-dev (or the appropriate package for your platform)") - return() -endif() - -if(CLR_CMAKE_TARGET_DARWIN) - find_library(ICUCORE icucore) - if(ICUCORE STREQUAL ICUCORE-NOTFOUND) - message(FATAL_ERROR "Cannot find libicucore, skipping build for System.Globalization.Native. .NET globalization is not expected to function.") - return() - endif() - add_definitions(-DOSX_ICU_LIBRARY_PATH=\"${ICUCORE}\") - add_definitions(-DU_DISABLE_RENAMING) -else() - find_library(ICUUC icuuc) - if(ICUUC STREQUAL ICUUC-NOTFOUND) - message(FATAL_ERROR "Cannot find libicuuc, try installing libicu-dev (or the appropriate package for your platform)") - return() - endif() - - find_library(ICUI18N icui18n) - if(ICUI18N STREQUAL ICUI18N-NOTFOUND) - message(FATAL_ERROR "Cannot find libicui18n, try installing libicu-dev (or the appropriate package for your platform)") - return() - endif() -endif() - -include(configure.cmake) - -set(NATIVEGLOBALIZATION_SOURCES - pal_calendarData.c - pal_casing.c - pal_collation.c - pal_idna.c - pal_locale.c - pal_localeNumberData.c - pal_localeStringData.c - pal_normalization.c - pal_timeZoneInfo.c - pal_icushim.c -) - -include_directories(${UTYPES_H}) -include_directories("../Common") - -if (GEN_SHARED_LIB) - add_library(System.Globalization.Native - SHARED - ${NATIVEGLOBALIZATION_SOURCES} - ${VERSION_FILE_PATH} - ) - - target_link_libraries(System.Globalization.Native - dl - ) - - install_library_and_symbols (System.Globalization.Native) -endif() - -add_library(System.Globalization.Native-Static - STATIC - ${NATIVEGLOBALIZATION_SOURCES} -) - -set_target_properties(System.Globalization.Native-Static PROPERTIES OUTPUT_NAME System.Globalization.Native CLEAN_DIRECT_OUTPUT 1) - -install (TARGETS System.Globalization.Native-Static DESTINATION .) - -if(NOT CLR_CMAKE_TARGET_DARWIN) - if (GEN_SHARED_LIB) - add_custom_command(TARGET System.Globalization.Native POST_BUILD - COMMENT "Verifying System.Globalization.Native.so dependencies" - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../verify-so.sh - $ - "Verification failed. System.Globalization.Native.so has undefined dependencies. These are likely ICU APIs that need to be added to icushim.h." - VERBATIM - ) - endif() -endif() diff --git a/src/libraries/Native/Unix/System.Globalization.Native/configure.cmake b/src/libraries/Native/Unix/System.Globalization.Native/configure.cmake deleted file mode 100644 index 6114a1bb31ed6..0000000000000 --- a/src/libraries/Native/Unix/System.Globalization.Native/configure.cmake +++ /dev/null @@ -1,32 +0,0 @@ -include(CheckCSourceCompiles) -include(CheckSymbolExists) - -set(CMAKE_REQUIRED_INCLUDES ${UTYPES_H} ${ICU_HOMEBREW_INC_PATH}) - -if(CLR_CMAKE_TARGET_ANDROID) - string(REPLACE ";" ":" ANDROID_RPATHS "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}:${CMAKE_SYSTEM_LIBRARY_PATH}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rpath ${ANDROID_RPATHS}") -endif() - -CHECK_C_SOURCE_COMPILES(" - #include - int main(void) { enum UDateFormatSymbolType e = UDAT_STANDALONE_SHORTER_WEEKDAYS; } -" HAVE_UDAT_STANDALONE_SHORTER_WEEKDAYS) - -if(CLR_CMAKE_TARGET_DARWIN) - set(CMAKE_REQUIRED_LIBRARIES ${ICUCORE}) -else() - set(CMAKE_REQUIRED_LIBRARIES ${ICUUC} ${ICUI18N}) -endif() - -check_symbol_exists( - ucol_setMaxVariable - "unicode/ucol.h" - HAVE_SET_MAX_VARIABLE) - -unset(CMAKE_REQUIRED_LIBRARIES) -unset(CMAKE_REQUIRED_INCLUDES) - -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/config.h) diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h deleted file mode 100644 index 49db55214bf8d..0000000000000 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h +++ /dev/null @@ -1,8 +0,0 @@ - -#pragma once - -#include "pal_compiler.h" - -PALEXPORT int32_t GlobalizationNative_LoadICU(void); - -PALEXPORT int32_t GlobalizationNative_GetICUVersion(void); diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h deleted file mode 100644 index 4f7dd556e357b..0000000000000 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -#pragma once - -#include "pal_compiler.h" - -PALEXPORT int32_t GlobalizationNative_GetLocales(UChar *value, int32_t valueLength); - -PALEXPORT int32_t GlobalizationNative_GetLocaleName(const UChar* localeName, UChar* value, int32_t valueLength); - -PALEXPORT int32_t GlobalizationNative_GetDefaultLocaleName(UChar* value, int32_t valueLength); - -PALEXPORT int32_t GlobalizationNative_IsPredefinedLocale(const UChar* localeName); diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h index 3d35b8186ed89..ab10568ad24b8 100644 --- a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h +++ b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" PALEXPORT intptr_t SystemIoPortsNative_SerialPortOpen(const char * name); PALEXPORT int SystemIoPortsNative_SerialPortClose(intptr_t fd); diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h index 5b3c8f626c9f2..8dff1b2cd0217 100644 --- a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h +++ b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" PALEXPORT int32_t SystemIoPortsNative_TermiosGetSignal(intptr_t fd, int32_t signal); PALEXPORT int32_t SystemIoPortsNative_TermiosSetSignal(intptr_t fd, int32_t signal, int32_t set); diff --git a/src/libraries/Native/Unix/System.Native/pal_console.h b/src/libraries/Native/Unix/System.Native/pal_console.h index db0837ebc81b7..d333945edd6d1 100644 --- a/src/libraries/Native/Unix/System.Native/pal_console.h +++ b/src/libraries/Native/Unix/System.Native/pal_console.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_datetime.h b/src/libraries/Native/Unix/System.Native/pal_datetime.h index 3440bc305a2dc..cbca8aa089881 100644 --- a/src/libraries/Native/Unix/System.Native/pal_datetime.h +++ b/src/libraries/Native/Unix/System.Native/pal_datetime.h @@ -4,6 +4,6 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" PALEXPORT int64_t SystemNative_GetSystemTimeAsTicks(void); diff --git a/src/libraries/Native/Unix/System.Native/pal_errno.h b/src/libraries/Native/Unix/System.Native/pal_errno.h index c4ba9ccd6e508..67bfa8dc352da 100644 --- a/src/libraries/Native/Unix/System.Native/pal_errno.h +++ b/src/libraries/Native/Unix/System.Native/pal_errno.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h b/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h index 7ea4fb6b72179..07311920172ac 100644 --- a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h +++ b/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_maphardwaretype.h" #include "pal_types.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_io.c b/src/libraries/Native/Unix/System.Native/pal_io.c index 5a8ecbab53a1d..54efa99376626 100644 --- a/src/libraries/Native/Unix/System.Native/pal_io.c +++ b/src/libraries/Native/Unix/System.Native/pal_io.c @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "pal_compiler.h" +#include "compiler.h" #include "pal_config.h" #include "pal_errno.h" #include "pal_io.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_io.h b/src/libraries/Native/Unix/System.Native/pal_io.h index 136f534e163e4..f43f985c67807 100644 --- a/src/libraries/Native/Unix/System.Native/pal_io.h +++ b/src/libraries/Native/Unix/System.Native/pal_io.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" #include "pal_errno.h" #include diff --git a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h b/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h index 32642819f3ecf..77f722f6600cc 100644 --- a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h +++ b/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" // Managed interface types diff --git a/src/libraries/Native/Unix/System.Native/pal_memory.h b/src/libraries/Native/Unix/System.Native/pal_memory.h index c77d211b1f7eb..b0f76978794bb 100644 --- a/src/libraries/Native/Unix/System.Native/pal_memory.h +++ b/src/libraries/Native/Unix/System.Native/pal_memory.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_mount.h b/src/libraries/Native/Unix/System.Native/pal_mount.h index 0a425705f292c..907640e08bf09 100644 --- a/src/libraries/Native/Unix/System.Native/pal_mount.h +++ b/src/libraries/Native/Unix/System.Native/pal_mount.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_networkchange.h b/src/libraries/Native/Unix/System.Native/pal_networkchange.h index cc178ae3ab447..d0a1ff9395943 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networkchange.h +++ b/src/libraries/Native/Unix/System.Native/pal_networkchange.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Native/pal_networking.h b/src/libraries/Native/Unix/System.Native/pal_networking.h index dbc4ebc211066..c9497f9dc560c 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networking.h +++ b/src/libraries/Native/Unix/System.Native/pal_networking.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" #include "pal_errno.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h b/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h index 8dbae90381f00..55b432a81623f 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h +++ b/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_tcpstate.h" // Exchange types used to normalize Network protocol statistics information diff --git a/src/libraries/Native/Unix/System.Native/pal_process.h b/src/libraries/Native/Unix/System.Native/pal_process.h index d75f25bcb4319..9b6abde7fdf33 100644 --- a/src/libraries/Native/Unix/System.Native/pal_process.h +++ b/src/libraries/Native/Unix/System.Native/pal_process.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" #include #include diff --git a/src/libraries/Native/Unix/System.Native/pal_random.h b/src/libraries/Native/Unix/System.Native/pal_random.h index bde525bb47e84..b0bae6e46428c 100644 --- a/src/libraries/Native/Unix/System.Native/pal_random.h +++ b/src/libraries/Native/Unix/System.Native/pal_random.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" PALEXPORT void SystemNative_GetNonCryptographicallySecureRandomBytes(uint8_t* buffer, int32_t bufferLength); diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h b/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h index ff7fca196db9f..8246157ef32e4 100644 --- a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h +++ b/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" PALEXPORT int32_t SystemNative_GetNodeName(char* version, int* capacity); diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h b/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h index 8265fef938886..7902c91fbb377 100644 --- a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h +++ b/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" PALEXPORT const char* SystemNative_GetUnixName(void); diff --git a/src/libraries/Native/Unix/System.Native/pal_signal.h b/src/libraries/Native/Unix/System.Native/pal_signal.h index 752cbf0349f65..562110cbcddc7 100644 --- a/src/libraries/Native/Unix/System.Native/pal_signal.h +++ b/src/libraries/Native/Unix/System.Native/pal_signal.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_string.h b/src/libraries/Native/Unix/System.Native/pal_string.h index 331d7d8872524..1286cdef2acfe 100644 --- a/src/libraries/Native/Unix/System.Native/pal_string.h +++ b/src/libraries/Native/Unix/System.Native/pal_string.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_sysctl.h b/src/libraries/Native/Unix/System.Native/pal_sysctl.h index 1064da5052f86..6b15d96e858d1 100644 --- a/src/libraries/Native/Unix/System.Native/pal_sysctl.h +++ b/src/libraries/Native/Unix/System.Native/pal_sysctl.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" #include "pal_errno.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_tcpstate.h b/src/libraries/Native/Unix/System.Native/pal_tcpstate.h index 7d096fc24dd41..ea0c4a548f982 100644 --- a/src/libraries/Native/Unix/System.Native/pal_tcpstate.h +++ b/src/libraries/Native/Unix/System.Native/pal_tcpstate.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_config.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Native/pal_time.h b/src/libraries/Native/Unix/System.Native/pal_time.h index ae0b50ba17fb4..4abc784288dfd 100644 --- a/src/libraries/Native/Unix/System.Native/pal_time.h +++ b/src/libraries/Native/Unix/System.Native/pal_time.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" typedef struct TimeSpec diff --git a/src/libraries/Native/Unix/System.Native/pal_uid.h b/src/libraries/Native/Unix/System.Native/pal_uid.h index 3117fa01fbcb8..4c23786aa5c9b 100644 --- a/src/libraries/Native/Unix/System.Native/pal_uid.h +++ b/src/libraries/Native/Unix/System.Native/pal_uid.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "pal_types.h" #include diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h b/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h index 11e232d01501d..04895b194d750 100644 --- a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h +++ b/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #pragma once -#include "pal_compiler.h" +#include "compiler.h" #if HAVE_GSSFW_HEADERS || HAVE_HEIMDAL_HEADERS typedef struct gss_name_t_desc_struct GssName; diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h index 72e65741c04ee..f56e63e600e30 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h index 3ae5da555e1a9..0edfa76563fc7 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h @@ -5,7 +5,7 @@ #pragma once #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h index 59b8330c99472..50189f02b3706 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" typedef struct hmac_ctx_st HmacCtx; diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h index 153972a9f7974..ce615c1355dd1 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h @@ -5,7 +5,7 @@ #pragma once #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h index 7dbcd5e934cd7..3942ffbdda4bf 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h index 615291eb4b139..15625d89d9e0c 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" /* Shims CCRandomGenerateBytes, putting the resulting CCRNGStatus value in pkCCStatus. diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h index b9d0834d991d4..0308b6d46ee42 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h index 4e81d6b57e13b..d2b1159156245 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h @@ -6,7 +6,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h index a645d8600fe14..1fb663b98eb37 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h index 37060b93edeb2..f56b29f6521cb 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h index 48cff8839a40d..867ebd1d59ac7 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h @@ -4,7 +4,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include enum diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h index 9bbab56b18fb5..d41532d7c1eb6 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h index ae2ee23e6bb83..db4b1c9fbabf1 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h index 951a25ae6c426..e0fcb732691e1 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h index 599d2409f8acd..0af0d2f396f1e 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "pal_compiler.h" +#include "compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h index 8e1ff967b3cd8..7acbd1941b51b 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h @@ -5,7 +5,7 @@ #pragma once -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" PALEXPORT int32_t CryptoNative_GetX509Thumbprint(X509* x509, uint8_t* pBuf, int32_t cBuf); diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h index 93f193f2dfabd..889ceafb28de7 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h index de8ad3f4d8774..89050a9e4d501 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h index 2f465a99c350f..dee9ade46ace1 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h index 351c4d3e5665a..0c58ce674b465 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h index 594c98c0b4d74..22c998895a054 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h index 055ef6833a4f0..2e48523edef6c 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h index 58934e4005591..a4fe3c2f4a39e 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h index 3610c263d0af1..bdf04e88b5d4a 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "pal_compiler.h" +#include "compiler.h" #include #include "opensslshim.h" diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h index 8eb150b1600e0..f9ec0bbb3571e 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "pal_compiler.h" +#include "compiler.h" #include #include "opensslshim.h" diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h index fbaa474981acf..68e3a3c6423bc 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" PALEXPORT EVP_CIPHER_CTX* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h index f1e23da6a1696..51963d0ce6207 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h index 6779f82358bf4..48120e1858151 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h index 3a424b3808b96..97968b8fe80cb 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" PALEXPORT EVP_PKEY_CTX* CryptoNative_EvpPKeyCtxCreate(EVP_PKEY* pkey, EVP_PKEY* peerkey, uint32_t* secretLength); diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h index c015f7f13a67e..ec73bdccf4528 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h index 7b00edcb893c8..360dfd6ea978e 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h index b1ca1c54a50cd..e7f75167430d0 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" // The shim API here is slightly less than 1:1 with underlying API so that: diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h index 08430f2ae8327..68162e6c710ed 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h index 8091b32e18444..23f1952860bf5 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h index 28d95ce32c941..7134769c92496 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h index 8d982803fc983..24e7757bb5a78 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h index 9167e5cd81ab4..8c95ceb11f201 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h index d856095237f10..ea2f78cf98ee8 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "opensslshim.h" -#include "pal_compiler.h" +#include "compiler.h" #include "pal_crypto_types.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h index cfd633e7cea5d..eb889516bea98 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h index 40a828e7ca736..d94c8c97ad34a 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h index 3b8b4f21ea464..1a45d1e6267c5 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "pal_compiler.h" +#include "compiler.h" #include "opensslshim.h" /* From f2e22b4343ec13421754da98f4454a9e808bffff Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Wed, 18 Mar 2020 17:45:31 -0700 Subject: [PATCH 2/6] PR Feedback --- .../src/dlls/mscoree/coreclr/CMakeLists.txt | 1 + .../src/libraries-native/CMakeLists.txt | 10 +-- .../System.Globalization.Native/pal_icushim.h | 8 -- .../System.Globalization.Native/pal_locale.h | 15 ---- src/libraries/Native/AnyOS/zlib/pal_zlib.h | 2 +- src/libraries/Native/Unix/CMakeLists.txt | 4 +- src/libraries/Native/Unix/Common/pal_atomic.h | 19 +++++ .../compiler.h => Unix/Common/pal_compiler.h} | 2 +- .../Native/Unix/Common/pal_safecrt.h | 2 +- .../CMakeLists.txt | 0 .../System.Globalization.Native/config.h.in | 0 .../configure.cmake | 0 .../pal_calendarData.c | 29 +++----- .../pal_calendarData.h | 12 +-- .../System.Globalization.Native/pal_casing.c | 0 .../System.Globalization.Native/pal_casing.h | 8 +- .../pal_collation.c | 14 +--- .../pal_collation.h | 26 +++---- .../System.Globalization.Native/pal_errors.h | 0 .../pal_errors_internal.h | 0 .../System.Globalization.Native/pal_icushim.c | 73 +++++++++---------- .../System.Globalization.Native/pal_icushim.h | 8 ++ .../pal_icushim_internal.h | 6 +- .../System.Globalization.Native/pal_idna.c | 4 +- .../System.Globalization.Native/pal_idna.h | 6 +- .../System.Globalization.Native/pal_locale.c | 0 .../System.Globalization.Native/pal_locale.h | 15 ++++ .../pal_localeNumberData.c | 0 .../pal_localeNumberData.h | 6 +- .../pal_localeStringData.c | 0 .../pal_localeStringData.h | 6 +- .../pal_locale_internal.h | 0 .../pal_normalization.c | 0 .../pal_normalization.h | 6 +- .../pal_timeZoneInfo.c | 2 +- .../pal_timeZoneInfo.h | 4 +- .../Unix/System.IO.Ports.Native/pal_serial.h | 2 +- .../Unix/System.IO.Ports.Native/pal_termios.h | 2 +- .../Native/Unix/System.Native/pal_console.h | 2 +- .../Native/Unix/System.Native/pal_datetime.h | 2 +- .../Native/Unix/System.Native/pal_errno.h | 2 +- .../System.Native/pal_interfaceaddresses.h | 2 +- .../Native/Unix/System.Native/pal_io.c | 2 +- .../Native/Unix/System.Native/pal_io.h | 2 +- .../Unix/System.Native/pal_maphardwaretype.h | 2 +- .../Native/Unix/System.Native/pal_memory.h | 2 +- .../Native/Unix/System.Native/pal_mount.h | 2 +- .../Unix/System.Native/pal_networkchange.h | 2 +- .../Unix/System.Native/pal_networking.h | 2 +- .../System.Native/pal_networkstatistics.h | 2 +- .../Native/Unix/System.Native/pal_process.h | 2 +- .../Native/Unix/System.Native/pal_random.h | 2 +- .../System.Native/pal_runtimeextensions.h | 2 +- .../System.Native/pal_runtimeinformation.h | 2 +- .../Native/Unix/System.Native/pal_signal.h | 2 +- .../Native/Unix/System.Native/pal_string.h | 2 +- .../Native/Unix/System.Native/pal_sysctl.h | 2 +- .../Native/Unix/System.Native/pal_tcpstate.h | 2 +- .../Native/Unix/System.Native/pal_time.h | 2 +- .../Native/Unix/System.Native/pal_uid.h | 2 +- .../System.Net.Security.Native/pal_gssapi.h | 2 +- .../pal_digest.h | 2 +- .../pal_ecc.h | 2 +- .../pal_hmac.h | 2 +- .../pal_keyagree.h | 2 +- .../pal_keychain.h | 2 +- .../pal_random.h | 2 +- .../pal_rsa.h | 2 +- .../pal_sec.h | 2 +- .../pal_seckey.h | 2 +- .../pal_signverify.h | 2 +- .../pal_ssl.h | 2 +- .../pal_symmetric.h | 2 +- .../pal_trust.h | 2 +- .../pal_x509.h | 2 +- .../pal_x509chain.h | 2 +- .../openssl.h | 2 +- .../pal_asn1.h | 2 +- .../pal_bignum.h | 2 +- .../pal_bio.h | 2 +- .../pal_dsa.h | 2 +- .../pal_ecc_import_export.h | 2 +- .../pal_ecdsa.h | 2 +- .../pal_eckey.h | 2 +- .../pal_err.h | 2 +- .../pal_evp.h | 2 +- .../pal_evp_cipher.h | 2 +- .../pal_evp_pkey.h | 2 +- .../pal_evp_pkey_dsa.h | 2 +- .../pal_evp_pkey_ecdh.h | 2 +- .../pal_evp_pkey_eckey.h | 2 +- .../pal_evp_pkey_rsa.h | 2 +- .../pal_hmac.h | 2 +- .../pal_ocsp.h | 2 +- .../pal_pkcs12.h | 2 +- .../pal_pkcs7.h | 2 +- .../pal_rsa.h | 2 +- .../pal_ssl.h | 2 +- .../pal_x509.h | 2 +- .../pal_x509_name.h | 2 +- .../pal_x509_root.h | 2 +- .../pal_x509ext.h | 2 +- 102 files changed, 207 insertions(+), 213 deletions(-) delete mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h delete mode 100644 src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h create mode 100644 src/libraries/Native/Unix/Common/pal_atomic.h rename src/libraries/Native/{AnyOS/Common/compiler.h => Unix/Common/pal_compiler.h} (97%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/CMakeLists.txt (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/config.h.in (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/configure.cmake (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_calendarData.c (97%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_calendarData.h (89%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_casing.c (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_casing.h (81%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_collation.c (97%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_collation.h (74%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_errors.h (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_errors_internal.h (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_icushim.c (96%) create mode 100644 src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_icushim_internal.h (99%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_idna.c (95%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_idna.h (82%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_locale.c (100%) create mode 100644 src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_localeNumberData.c (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_localeNumberData.h (89%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_localeStringData.c (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_localeStringData.h (91%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_locale_internal.h (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_normalization.c (100%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_normalization.h (79%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_timeZoneInfo.c (98%) rename src/libraries/Native/{AnyOS => Unix}/System.Globalization.Native/pal_timeZoneInfo.h (88%) diff --git a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt index 09b234810964d..f32077d1f4f09 100644 --- a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -108,6 +108,7 @@ set(CORECLR_LIBRARIES gcinfo # Condition="'$(TargetCpu)'=='amd64' or '$(TargetCpu)' == 'arm' or '$(TargetCpu)' == 'arm64'" ildbsymlib utilcode + v3binder System.Globalization.Native-Static libraries-native interop diff --git a/src/coreclr/src/libraries-native/CMakeLists.txt b/src/coreclr/src/libraries-native/CMakeLists.txt index 942985045f1a0..58a6e893b20ba 100644 --- a/src/coreclr/src/libraries-native/CMakeLists.txt +++ b/src/coreclr/src/libraries-native/CMakeLists.txt @@ -1,18 +1,14 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(GLOBALIZATION_NATIVE_DIR ${CLR_REPO_ROOT_DIR}/src/libraries/Native/AnyOS/System.Globalization.Native) +set(GLOBALIZATION_NATIVE_DIR ${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Globalization.Native) # Suppress exporting of the PAL APIs -add_definitions(-DPALEXPORT=) +add_definitions(-DPALEXPORT=EXTERN_C) include_directories("${GLOBALIZATION_NATIVE_DIR}") -include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/AnyOS/Common") +include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/Common") add_subdirectory(${GLOBALIZATION_NATIVE_DIR} System.Globalization.Native) -if(CLR_CMAKE_HOST_UNIX) - include_directories("${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/Common") -endif() - add_library(libraries-native STATIC entrypoints.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h deleted file mode 100644 index d8b211dadc8eb..0000000000000 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.h +++ /dev/null @@ -1,8 +0,0 @@ - -#pragma once - -#include "compiler.h" - -EXTERN_C PALEXPORT int32_t GlobalizationNative_LoadICU(void); - -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetICUVersion(void); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h b/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h deleted file mode 100644 index c41383869cc7a..0000000000000 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.h +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -#pragma once - -#include "compiler.h" - -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocales(UChar *value, int32_t valueLength); - -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleName(const UChar* localeName, UChar* value, int32_t valueLength); - -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetDefaultLocaleName(UChar* value, int32_t valueLength); - -EXTERN_C PALEXPORT int32_t GlobalizationNative_IsPredefinedLocale(const UChar* localeName); diff --git a/src/libraries/Native/AnyOS/zlib/pal_zlib.h b/src/libraries/Native/AnyOS/zlib/pal_zlib.h index e395bc1c3aa58..d784a201b5ca9 100644 --- a/src/libraries/Native/AnyOS/zlib/pal_zlib.h +++ b/src/libraries/Native/AnyOS/zlib/pal_zlib.h @@ -9,7 +9,7 @@ #define FUNCTIONCALLINGCONVENCTION WINAPI #else #include "pal_types.h" - #include "compiler.h" + #include "pal_compiler.h" #define FUNCTIONEXPORT PALEXPORT #define FUNCTIONCALLINGCONVENCTION #endif diff --git a/src/libraries/Native/Unix/CMakeLists.txt b/src/libraries/Native/Unix/CMakeLists.txt index 3a7a7320ea41f..ad54af6fc4fbc 100644 --- a/src/libraries/Native/Unix/CMakeLists.txt +++ b/src/libraries/Native/Unix/CMakeLists.txt @@ -206,8 +206,6 @@ endfunction() include(configure.cmake) -include_directories(../AnyOS/Common) - add_subdirectory(System.IO.Compression.Native) if (NOT CLR_CMAKE_TARGET_ARCH_WASM) @@ -224,7 +222,7 @@ add_subdirectory(System.Native) if (NOT CLR_CMAKE_TARGET_ARCH_WASM) if (NOT CLR_CMAKE_TARGET_IOS) # TODO: reenable - add_subdirectory(../AnyOS/System.Globalization.Native System.Globalization.Native) + add_subdirectory(System.Globalization.Native) add_subdirectory(System.Net.Security.Native) endif() if (NOT CLR_CMAKE_TARGET_IOS) diff --git a/src/libraries/Native/Unix/Common/pal_atomic.h b/src/libraries/Native/Unix/Common/pal_atomic.h new file mode 100644 index 0000000000000..a8213bbe037a1 --- /dev/null +++ b/src/libraries/Native/Unix/Common/pal_atomic.h @@ -0,0 +1,19 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +#if defined(TARGET_UNIX) +#include +#elif defined(TARGET_WINDOWS) +#include "windows.h" +#endif + +static int pal_atomic_cas_ptr(void* volatile *dest, void* exchange, void* comperand) +{ +#if defined(TARGET_UNIX) + return atomic_compare_exchange_strong_explicit((_Atomic(void*)volatile*)dest, exchange, comperand, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); +#elif defined(TARGET_WINDOWS) + return InterlockedCompareExchangePointer(dest, exchange, comperand) == comperand; +#endif +} diff --git a/src/libraries/Native/AnyOS/Common/compiler.h b/src/libraries/Native/Unix/Common/pal_compiler.h similarity index 97% rename from src/libraries/Native/AnyOS/Common/compiler.h rename to src/libraries/Native/Unix/Common/pal_compiler.h index e649ca7387f57..8661443fc9f45 100644 --- a/src/libraries/Native/AnyOS/Common/compiler.h +++ b/src/libraries/Native/Unix/Common/pal_compiler.h @@ -31,6 +31,6 @@ #ifdef __cplusplus #define EXTERN_C extern "C" #else -#define EXTERN_C +#define EXTERN_C extern #endif // __cplusplus #endif // EXTERN_C diff --git a/src/libraries/Native/Unix/Common/pal_safecrt.h b/src/libraries/Native/Unix/Common/pal_safecrt.h index 19f50f8a44887..9307f66be7a83 100644 --- a/src/libraries/Native/Unix/Common/pal_safecrt.h +++ b/src/libraries/Native/Unix/Common/pal_safecrt.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_config.h" #include diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt b/src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/CMakeLists.txt rename to src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/config.h.in b/src/libraries/Native/Unix/System.Globalization.Native/config.h.in similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/config.h.in rename to src/libraries/Native/Unix/System.Globalization.Native/config.h.in diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake b/src/libraries/Native/Unix/System.Globalization.Native/configure.cmake similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/configure.cmake rename to src/libraries/Native/Unix/System.Globalization.Native/configure.cmake diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c similarity index 97% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c index d80ad23408211..b740a686d16f7 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c @@ -5,17 +5,20 @@ #include #include #include - -#ifdef TARGET_UNIX -#include -#endif - #include "pal_locale_internal.h" #include "pal_errors_internal.h" #include "pal_calendarData.h" -#ifndef TARGET_UNIX +#if defined(TARGET_UNIX) +#include + +#define STRING_COPY(localeNamePtr, size, locale, capacity) \ + strncpy(localeNamePtr, locale, capacity); \ + localeNamePtr[capacity - 1] = 0; + +#elif defined(TARGET_WINDOWS) #define strcasecmp _stricmp +#define STRING_COPY(localeNamePtr, size, locale, capacity) strncpy_s(localeNamePtr, size, locale, _TRUNCATE); #endif #define GREGORIAN_NAME "gregorian" @@ -313,12 +316,7 @@ static int32_t EnumSymbols(const char* locale, return FALSE; char localeWithCalendarName[ULOC_FULLNAME_CAPACITY]; -#ifdef TARGET_UNIX - strncpy(localeWithCalendarName, locale, ULOC_FULLNAME_CAPACITY); -#else - strncpy_s(localeWithCalendarName, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); -#endif - localeWithCalendarName[ULOC_FULLNAME_CAPACITY - 1] = 0; + STRING_COPY(localeWithCalendarName, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); uloc_setKeywordValue("calendar", GetCalendarName(calendarId), localeWithCalendarName, ULOC_FULLNAME_CAPACITY, &err); @@ -425,12 +423,7 @@ static int32_t EnumAbbrevEraNames(const char* locale, char* localeNamePtr = localeNameBuf; char* parentNamePtr = parentNameBuf; -#ifdef TARGET_UNIX - strncpy(localeNamePtr, locale, ULOC_FULLNAME_CAPACITY); -#else - strncpy_s(localeNamePtr, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); -#endif - localeNamePtr[ULOC_FULLNAME_CAPACITY - 1] = 0; + STRING_COPY(localeNamePtr, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); while (TRUE) { diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h similarity index 89% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h index 7a89ee9efff36..77e8a75be5c73 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_calendarData.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h @@ -7,7 +7,7 @@ #include #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" #include "pal_errors.h" /* @@ -70,25 +70,25 @@ typedef enum // the function pointer definition for the callback used in EnumCalendarInfo typedef void (*EnumCalendarInfoCallback)(const UChar*, const void*); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetCalendars(const UChar* localeName, +PALEXPORT int32_t GlobalizationNative_GetCalendars(const UChar* localeName, CalendarId* calendars, int32_t calendarsCapacity); -EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetCalendarInfo(const UChar* localeName, +PALEXPORT ResultCode GlobalizationNative_GetCalendarInfo(const UChar* localeName, CalendarId calendarId, CalendarDataType dataType, UChar* result, int32_t resultCapacity); -EXTERN_C PALEXPORT int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback, +PALEXPORT int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback, const UChar* localeName, CalendarId calendarId, CalendarDataType dataType, const void* context); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLatestJapaneseEra(void); +PALEXPORT int32_t GlobalizationNative_GetLatestJapaneseEra(void); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era, +PALEXPORT int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era, int32_t* startYear, int32_t* startMonth, int32_t* startDay); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h similarity index 81% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h index 44a685f3d38ed..8b790b3be775f 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_casing.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h @@ -3,21 +3,21 @@ // See the LICENSE file in the project root for more information. #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" -EXTERN_C PALEXPORT void GlobalizationNative_ChangeCase(const UChar* lpSrc, +PALEXPORT void GlobalizationNative_ChangeCase(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, int32_t bToUpper); -EXTERN_C PALEXPORT void GlobalizationNative_ChangeCaseInvariant(const UChar* lpSrc, +PALEXPORT void GlobalizationNative_ChangeCaseInvariant(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, int32_t bToUpper); -EXTERN_C PALEXPORT void GlobalizationNative_ChangeCaseTurkish(const UChar* lpSrc, +PALEXPORT void GlobalizationNative_ChangeCaseTurkish(const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength, diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c similarity index 97% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c index d09f685e06f3c..081a01693ecc8 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c @@ -12,10 +12,7 @@ #include "pal_errors_internal.h" #include "pal_collation.h" - -#ifndef TARGET_UNIX -#include -#endif +#include "pal_atomic.h" c_static_assert_msg(UCOL_EQUAL == 0, "managed side requires 0 for equal strings"); c_static_assert_msg(UCOL_LESS < 0, "managed side requires less than zero for a < b"); @@ -407,12 +404,7 @@ static const UCollator* GetCollatorFromSortHandle(SortHandle* pSortHandle, int32 pCollator = CloneCollatorWithOptions(pSortHandle->collatorsPerOption[0], options, pErr); UCollator* pNull = NULL; -#ifdef TARGET_UNIX - // we are not using the standard atomic_compare_exchange_strong to workaround bugs in clang 5.0 (https://bugs.llvm.org/show_bug.cgi?id=37457) - if (!__atomic_compare_exchange_n(&pSortHandle->collatorsPerOption[options], &pNull, pCollator, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) -#else - if (!::std::atomic_compare_exchange_strong_explicit((volatile ::std::atomic *const)&pSortHandle->collatorsPerOption[options], &pNull, pCollator, ::std::memory_order_seq_cst, ::std::memory_order_seq_cst)) -#endif + if (!pal_atomic_cas_ptr((void* volatile*)&pSortHandle->collatorsPerOption[options], &pNull, pCollator)) { ucol_close(pCollator); pCollator = pSortHandle->collatorsPerOption[options]; @@ -427,7 +419,7 @@ int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle) { UErrorCode err = U_ZERO_ERROR; const UCollator* pColl = GetCollatorFromSortHandle(pSortHandle, 0, &err); - int32_t result = 0xFFFFFFFF; + int32_t result = -1; if (U_SUCCESS(err)) { diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h similarity index 74% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h index c95ba04a6e6db..3d04ba735517f 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_collation.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h @@ -5,26 +5,26 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" #include "pal_errors.h" typedef struct SortHandle SortHandle; -EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetSortHandle(const char* lpLocaleName, SortHandle** ppSortHandle); +PALEXPORT ResultCode GlobalizationNative_GetSortHandle(const char* lpLocaleName, SortHandle** ppSortHandle); -EXTERN_C PALEXPORT void GlobalizationNative_CloseSortHandle(SortHandle* pSortHandle); +PALEXPORT void GlobalizationNative_CloseSortHandle(SortHandle* pSortHandle); -// If we fail to get the sort version we will fallback to 0xFFFFFFFF as the sort version. -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle); +// If we fail to get the sort version we will fallback to -1 as the sort version. +PALEXPORT int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle); -EXTERN_C PALEXPORT int32_t GlobalizationNative_CompareString(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_CompareString(SortHandle* pSortHandle, const UChar* lpStr1, int32_t cwStr1Length, const UChar* lpStr2, int32_t cwStr2Length, int32_t options); -EXTERN_C PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, @@ -32,41 +32,41 @@ EXTERN_C PALEXPORT int32_t GlobalizationNative_IndexOf(SortHandle* pSortHandle, int32_t options, int32_t* pMatchedLength); -EXTERN_C PALEXPORT int32_t GlobalizationNative_LastIndexOf(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_LastIndexOf(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -EXTERN_C PALEXPORT int32_t GlobalizationNative_IndexOfOrdinalIgnoreCase(const UChar* lpTarget, +PALEXPORT int32_t GlobalizationNative_IndexOfOrdinalIgnoreCase(const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t findLast); -EXTERN_C PALEXPORT int32_t GlobalizationNative_StartsWith(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_StartsWith(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -EXTERN_C PALEXPORT int32_t GlobalizationNative_EndsWith(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_EndsWith(SortHandle* pSortHandle, const UChar* lpTarget, int32_t cwTargetLength, const UChar* lpSource, int32_t cwSourceLength, int32_t options); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetSortKey(SortHandle* pSortHandle, +PALEXPORT int32_t GlobalizationNative_GetSortKey(SortHandle* pSortHandle, const UChar* lpStr, int32_t cwStrLength, uint8_t* sortKey, int32_t cbSortKeyLength, int32_t options); -EXTERN_C PALEXPORT int32_t GlobalizationNative_CompareStringOrdinalIgnoreCase(const UChar* lpStr1, +PALEXPORT int32_t GlobalizationNative_CompareStringOrdinalIgnoreCase(const UChar* lpStr1, int32_t cwStr1Length, const UChar* lpStr2, int32_t cwStr2Length); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors_internal.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_errors_internal.h similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_errors_internal.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_errors_internal.h diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c similarity index 96% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c index 008e10e20547b..6d4dc1e7d477b 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c @@ -3,9 +3,9 @@ // See the LICENSE file in the project root for more information. // -#ifdef TARGET_UNIX +#if defined(TARGET_UNIX) #include -#else +#elif defined(TARGET_WINDOWS) #include #include #include @@ -26,8 +26,22 @@ FOR_ALL_ICU_FUNCTIONS static void* libicuuc = NULL; static void* libicui18n = NULL; -#ifdef TARGET_UNIX -#ifdef __APPLE__ +#if defined(TARGET_WINDOWS) + +static int FindICULibs() +{ + libicuuc = LoadLibraryExW(L"icu.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); + if (libicuuc == NULL) + { + return FALSE; + } + + // Windows has a single dll for icu. + libicui18n = libicuuc; + return TRUE; +} + +#elif defined(TARGET_OSX) static int FindICULibs() { @@ -49,7 +63,7 @@ static int FindICULibs() return TRUE; } -#else // __APPLE__ +#else // !TARGET_WINDOWS && !TARGET_OSX #define VERSION_PREFIX_NONE "" #define VERSION_PREFIX_SUSE "suse" @@ -249,24 +263,7 @@ static int FindICULibs(const char* versionPrefix, char* symbolName, char* symbol FindLibWithMajorMinorSubVersion(versionPrefix, symbolName, symbolVersion); } -#endif // __APPLE__ -#else // TARGET_UNIX - -// Windows implementation for FindICULibs -static int FindICULibs() -{ - libicuuc = LoadLibraryExW(L"icu.dll", NULL, 0); - if (libicuuc == NULL) - { - return FALSE; - } - - // Windows has a single dll for icu. - libicui18n = libicuuc; - return TRUE; -} - -#endif // TARGET_UNIX +#endif // GlobalizationNative_LoadICU // This method get called from the managed side during the globalization initialization. @@ -274,8 +271,18 @@ static int FindICULibs() // return 0 if failed to load ICU and 1 otherwise int32_t GlobalizationNative_LoadICU() { -#ifdef TARGET_UNIX -#ifdef __APPLE__ +#if defined(TARGET_WINDOWS) + + if (!FindICULibs()) + { + return FALSE; + } + +#define PER_FUNCTION_BLOCK(fn, lib) \ + fn##_ptr = (__typeof(fn)*)GetProcAddress((HMODULE)lib, #fn); \ + if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %u\n", #fn, GetLastError()); abort(); } + +#elif defined(TARGET_OSX) if (!FindICULibs()) { @@ -287,7 +294,7 @@ int32_t GlobalizationNative_LoadICU() fn##_ptr = (__typeof(fn)*)dlsym(lib, #fn); \ if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %s\n", #fn, dlerror()); abort(); } -#else // __APPLE__ +#else // !TARGET_WINDOWS && !TARGET_OSX char symbolName[128]; char symbolVersion[MaxICUVersionStringLength + 1] = ""; @@ -307,20 +314,8 @@ int32_t GlobalizationNative_LoadICU() fn##_ptr = (__typeof(fn)*)dlsym(lib, symbolName); \ if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %s\n", symbolName, dlerror()); abort(); } -#endif // __APPLE__ - -#else // TARGET_UNIX - - if (!FindICULibs()) - { - return FALSE; - } - -#define PER_FUNCTION_BLOCK(fn, lib) \ - fn##_ptr = (__typeof(fn)*)GetProcAddress((HMODULE)lib, #fn); \ - if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %u\n", #fn, GetLastError()); abort(); } +#endif -#endif // TARGET_UNIX FOR_ALL_ICU_FUNCTIONS #undef PER_FUNCTION_BLOCK diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h new file mode 100644 index 0000000000000..49db55214bf8d --- /dev/null +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h @@ -0,0 +1,8 @@ + +#pragma once + +#include "pal_compiler.h" + +PALEXPORT int32_t GlobalizationNative_LoadICU(void); + +PALEXPORT int32_t GlobalizationNative_GetICUVersion(void); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h similarity index 99% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h index 0c34f539c5261..2ee8fab76b09b 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_icushim_internal.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h @@ -8,7 +8,7 @@ #pragma once -#ifdef TARGET_UNIX +#if defined(TARGET_UNIX) #include "config.h" @@ -35,7 +35,7 @@ #include #include -#else +#elif defined(TARGET_WINDOWS) #include "icu.h" @@ -48,7 +48,7 @@ #endif -#include "compiler.h" +#include "pal_compiler.h" // List of all functions from the ICU libraries that are used in the System.Globalization.Native.so #define FOR_ALL_UNCONDITIONAL_ICU_FUNCTIONS \ diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c similarity index 95% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c index 9c9a4b24b7933..403145a905279 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c @@ -8,8 +8,8 @@ #include "pal_icushim_internal.h" #include "pal_idna.h" -#ifndef TARGET_UNIX -// Windows icu headers doesn't define this member. +#if defined(TARGET_WINDOWS) +// Windows icu headers doesn't define this member as it is marked as deprecated as of ICU 55. enum { UIDNA_ALLOW_UNASSIGNED=1 }; diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h similarity index 82% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h index e1e49e46c7eb7..b7cf6fa5482ae 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_idna.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h @@ -6,15 +6,15 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" -EXTERN_C PALEXPORT int32_t GlobalizationNative_ToAscii(uint32_t flags, +PALEXPORT int32_t GlobalizationNative_ToAscii(uint32_t flags, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, int32_t cwDstLength); -EXTERN_C PALEXPORT int32_t GlobalizationNative_ToUnicode(uint32_t flags, +PALEXPORT int32_t GlobalizationNative_ToUnicode(uint32_t flags, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h new file mode 100644 index 0000000000000..4f7dd556e357b --- /dev/null +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h @@ -0,0 +1,15 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +#pragma once + +#include "pal_compiler.h" + +PALEXPORT int32_t GlobalizationNative_GetLocales(UChar *value, int32_t valueLength); + +PALEXPORT int32_t GlobalizationNative_GetLocaleName(const UChar* localeName, UChar* value, int32_t valueLength); + +PALEXPORT int32_t GlobalizationNative_GetDefaultLocaleName(UChar* value, int32_t valueLength); + +PALEXPORT int32_t GlobalizationNative_IsPredefinedLocale(const UChar* localeName); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h similarity index 89% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h index a0677c6dacd6a..2599ba5ad4c42 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeNumberData.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" // Enum that corresponds to managed enum CultureData.LocaleNumberData. // The numeric values of the enum members match their Win32 counterparts. @@ -36,11 +36,11 @@ typedef enum WeekRule_FirstFourDayWeek = 2 } CalendarWeekRule; -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoInt(const UChar* localeName, +PALEXPORT int32_t GlobalizationNative_GetLocaleInfoInt(const UChar* localeName, LocaleNumberData localeNumberData, int32_t* value); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoGroupingSizes(const UChar* localeName, +PALEXPORT int32_t GlobalizationNative_GetLocaleInfoGroupingSizes(const UChar* localeName, LocaleNumberData localeGroupingData, int32_t* primaryGroupSize, int32_t* secondaryGroupSize); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h similarity index 91% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h index ca33ee3b60774..01584d2673360 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_localeStringData.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" // Enum that corresponds to managed enum CultureData.LocaleStringData. // The numeric values of the enum members match their Win32 counterparts. @@ -45,12 +45,12 @@ typedef enum LocaleString_PerMilleSymbol = 0x00000077 } LocaleStringData; -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName, +PALEXPORT int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName, LocaleStringData localeStringData, UChar* value, int32_t valueLength); -EXTERN_C PALEXPORT int32_t GlobalizationNative_GetLocaleTimeFormat(const UChar* localeName, +PALEXPORT int32_t GlobalizationNative_GetLocaleTimeFormat(const UChar* localeName, int shortFormat, UChar* value, int32_t valueLength); diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale_internal.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale_internal.h similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_locale_internal.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_locale_internal.h diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c similarity index 100% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h similarity index 79% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h index f356b0edb5179..aca8b50e35b92 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_normalization.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" /* * These values should be kept in sync with System.Text.NormalizationForm @@ -19,11 +19,11 @@ typedef enum FormKD = 0x6 } NormalizationForm; -EXTERN_C PALEXPORT int32_t GlobalizationNative_IsNormalized(NormalizationForm normalizationForm, +PALEXPORT int32_t GlobalizationNative_IsNormalized(NormalizationForm normalizationForm, const UChar* lpStr, int32_t cwStrLength); -EXTERN_C PALEXPORT int32_t GlobalizationNative_NormalizeString(NormalizationForm normalizationForm, +PALEXPORT int32_t GlobalizationNative_NormalizeString(NormalizationForm normalizationForm, const UChar* lpSrc, int32_t cwSrcLength, UChar* lpDst, diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c similarity index 98% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c rename to src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c index 789461f74b59c..887a06f794c93 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c @@ -5,7 +5,7 @@ #include -#ifdef TARGET_UNIX +#if defined(TARGET_UNIX) #include #endif diff --git a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h similarity index 88% rename from src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h rename to src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h index 53a1bcefd7999..e08439d260ac4 100644 --- a/src/libraries/Native/AnyOS/System.Globalization.Native/pal_timeZoneInfo.h +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h @@ -6,7 +6,7 @@ #pragma once #include "pal_locale.h" -#include "compiler.h" +#include "pal_compiler.h" #include "pal_errors.h" /* @@ -19,7 +19,7 @@ typedef enum TimeZoneDisplayName_DaylightSavings = 2, } TimeZoneDisplayNameType; -EXTERN_C PALEXPORT ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName, +PALEXPORT ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName, const UChar* timeZoneId, TimeZoneDisplayNameType type, UChar* result, diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h index ab10568ad24b8..3d35b8186ed89 100644 --- a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h +++ b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" PALEXPORT intptr_t SystemIoPortsNative_SerialPortOpen(const char * name); PALEXPORT int SystemIoPortsNative_SerialPortClose(intptr_t fd); diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h index 8dff1b2cd0217..5b3c8f626c9f2 100644 --- a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h +++ b/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" PALEXPORT int32_t SystemIoPortsNative_TermiosGetSignal(intptr_t fd, int32_t signal); PALEXPORT int32_t SystemIoPortsNative_TermiosSetSignal(intptr_t fd, int32_t signal, int32_t set); diff --git a/src/libraries/Native/Unix/System.Native/pal_console.h b/src/libraries/Native/Unix/System.Native/pal_console.h index d333945edd6d1..db0837ebc81b7 100644 --- a/src/libraries/Native/Unix/System.Native/pal_console.h +++ b/src/libraries/Native/Unix/System.Native/pal_console.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_datetime.h b/src/libraries/Native/Unix/System.Native/pal_datetime.h index cbca8aa089881..3440bc305a2dc 100644 --- a/src/libraries/Native/Unix/System.Native/pal_datetime.h +++ b/src/libraries/Native/Unix/System.Native/pal_datetime.h @@ -4,6 +4,6 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" PALEXPORT int64_t SystemNative_GetSystemTimeAsTicks(void); diff --git a/src/libraries/Native/Unix/System.Native/pal_errno.h b/src/libraries/Native/Unix/System.Native/pal_errno.h index 67bfa8dc352da..c4ba9ccd6e508 100644 --- a/src/libraries/Native/Unix/System.Native/pal_errno.h +++ b/src/libraries/Native/Unix/System.Native/pal_errno.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h b/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h index 07311920172ac..7ea4fb6b72179 100644 --- a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h +++ b/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_maphardwaretype.h" #include "pal_types.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_io.c b/src/libraries/Native/Unix/System.Native/pal_io.c index 54efa99376626..5a8ecbab53a1d 100644 --- a/src/libraries/Native/Unix/System.Native/pal_io.c +++ b/src/libraries/Native/Unix/System.Native/pal_io.c @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "compiler.h" +#include "pal_compiler.h" #include "pal_config.h" #include "pal_errno.h" #include "pal_io.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_io.h b/src/libraries/Native/Unix/System.Native/pal_io.h index f43f985c67807..136f534e163e4 100644 --- a/src/libraries/Native/Unix/System.Native/pal_io.h +++ b/src/libraries/Native/Unix/System.Native/pal_io.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" #include "pal_errno.h" #include diff --git a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h b/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h index 77f722f6600cc..32642819f3ecf 100644 --- a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h +++ b/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" // Managed interface types diff --git a/src/libraries/Native/Unix/System.Native/pal_memory.h b/src/libraries/Native/Unix/System.Native/pal_memory.h index b0f76978794bb..c77d211b1f7eb 100644 --- a/src/libraries/Native/Unix/System.Native/pal_memory.h +++ b/src/libraries/Native/Unix/System.Native/pal_memory.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_mount.h b/src/libraries/Native/Unix/System.Native/pal_mount.h index 907640e08bf09..0a425705f292c 100644 --- a/src/libraries/Native/Unix/System.Native/pal_mount.h +++ b/src/libraries/Native/Unix/System.Native/pal_mount.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_networkchange.h b/src/libraries/Native/Unix/System.Native/pal_networkchange.h index d0a1ff9395943..cc178ae3ab447 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networkchange.h +++ b/src/libraries/Native/Unix/System.Native/pal_networkchange.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Native/pal_networking.h b/src/libraries/Native/Unix/System.Native/pal_networking.h index c9497f9dc560c..dbc4ebc211066 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networking.h +++ b/src/libraries/Native/Unix/System.Native/pal_networking.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" #include "pal_errno.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h b/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h index 55b432a81623f..8dbae90381f00 100644 --- a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h +++ b/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_tcpstate.h" // Exchange types used to normalize Network protocol statistics information diff --git a/src/libraries/Native/Unix/System.Native/pal_process.h b/src/libraries/Native/Unix/System.Native/pal_process.h index 9b6abde7fdf33..d75f25bcb4319 100644 --- a/src/libraries/Native/Unix/System.Native/pal_process.h +++ b/src/libraries/Native/Unix/System.Native/pal_process.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" #include #include diff --git a/src/libraries/Native/Unix/System.Native/pal_random.h b/src/libraries/Native/Unix/System.Native/pal_random.h index b0bae6e46428c..bde525bb47e84 100644 --- a/src/libraries/Native/Unix/System.Native/pal_random.h +++ b/src/libraries/Native/Unix/System.Native/pal_random.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" PALEXPORT void SystemNative_GetNonCryptographicallySecureRandomBytes(uint8_t* buffer, int32_t bufferLength); diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h b/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h index 8246157ef32e4..ff7fca196db9f 100644 --- a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h +++ b/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" PALEXPORT int32_t SystemNative_GetNodeName(char* version, int* capacity); diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h b/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h index 7902c91fbb377..8265fef938886 100644 --- a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h +++ b/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" PALEXPORT const char* SystemNative_GetUnixName(void); diff --git a/src/libraries/Native/Unix/System.Native/pal_signal.h b/src/libraries/Native/Unix/System.Native/pal_signal.h index 562110cbcddc7..752cbf0349f65 100644 --- a/src/libraries/Native/Unix/System.Native/pal_signal.h +++ b/src/libraries/Native/Unix/System.Native/pal_signal.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_string.h b/src/libraries/Native/Unix/System.Native/pal_string.h index 1286cdef2acfe..331d7d8872524 100644 --- a/src/libraries/Native/Unix/System.Native/pal_string.h +++ b/src/libraries/Native/Unix/System.Native/pal_string.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" /** diff --git a/src/libraries/Native/Unix/System.Native/pal_sysctl.h b/src/libraries/Native/Unix/System.Native/pal_sysctl.h index 6b15d96e858d1..1064da5052f86 100644 --- a/src/libraries/Native/Unix/System.Native/pal_sysctl.h +++ b/src/libraries/Native/Unix/System.Native/pal_sysctl.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" #include "pal_errno.h" diff --git a/src/libraries/Native/Unix/System.Native/pal_tcpstate.h b/src/libraries/Native/Unix/System.Native/pal_tcpstate.h index ea0c4a548f982..7d096fc24dd41 100644 --- a/src/libraries/Native/Unix/System.Native/pal_tcpstate.h +++ b/src/libraries/Native/Unix/System.Native/pal_tcpstate.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_config.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Native/pal_time.h b/src/libraries/Native/Unix/System.Native/pal_time.h index 4abc784288dfd..ae0b50ba17fb4 100644 --- a/src/libraries/Native/Unix/System.Native/pal_time.h +++ b/src/libraries/Native/Unix/System.Native/pal_time.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" typedef struct TimeSpec diff --git a/src/libraries/Native/Unix/System.Native/pal_uid.h b/src/libraries/Native/Unix/System.Native/pal_uid.h index 4c23786aa5c9b..3117fa01fbcb8 100644 --- a/src/libraries/Native/Unix/System.Native/pal_uid.h +++ b/src/libraries/Native/Unix/System.Native/pal_uid.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "pal_types.h" #include diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h b/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h index 04895b194d750..11e232d01501d 100644 --- a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h +++ b/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #pragma once -#include "compiler.h" +#include "pal_compiler.h" #if HAVE_GSSFW_HEADERS || HAVE_HEIMDAL_HEADERS typedef struct gss_name_t_desc_struct GssName; diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h index f56e63e600e30..72e65741c04ee 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h index 0edfa76563fc7..3ae5da555e1a9 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h @@ -5,7 +5,7 @@ #pragma once #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h index 50189f02b3706..59b8330c99472 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" typedef struct hmac_ctx_st HmacCtx; diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h index ce615c1355dd1..153972a9f7974 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h @@ -5,7 +5,7 @@ #pragma once #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h index 3942ffbdda4bf..7dbcd5e934cd7 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h index 15625d89d9e0c..615291eb4b139 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" /* Shims CCRandomGenerateBytes, putting the resulting CCRNGStatus value in pkCCStatus. diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h index 0308b6d46ee42..b9d0834d991d4 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h index d2b1159156245..4e81d6b57e13b 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h @@ -6,7 +6,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h index 1fb663b98eb37..a645d8600fe14 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h index f56b29f6521cb..37060b93edeb2 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h index 867ebd1d59ac7..48cff8839a40d 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h @@ -4,7 +4,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include enum diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h index d41532d7c1eb6..9bbab56b18fb5 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h index db4b1c9fbabf1..ae2ee23e6bb83 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust.h @@ -5,7 +5,7 @@ #pragma once #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h index e0fcb732691e1..951a25ae6c426 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h index 0af0d2f396f1e..599d2409f8acd 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h @@ -6,7 +6,7 @@ #include "pal_digest.h" #include "pal_seckey.h" -#include "compiler.h" +#include "pal_compiler.h" #include diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h index 7acbd1941b51b..8e1ff967b3cd8 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h @@ -5,7 +5,7 @@ #pragma once -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" PALEXPORT int32_t CryptoNative_GetX509Thumbprint(X509* x509, uint8_t* pBuf, int32_t cBuf); diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h index 889ceafb28de7..93f193f2dfabd 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h index 89050a9e4d501..de8ad3f4d8774 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h index dee9ade46ace1..2f465a99c350f 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h index 0c58ce674b465..351c4d3e5665a 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h index 22c998895a054..594c98c0b4d74 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" typedef enum diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h index 2e48523edef6c..055ef6833a4f0 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h index a4fe3c2f4a39e..58934e4005591 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h index bdf04e88b5d4a..3610c263d0af1 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "compiler.h" +#include "pal_compiler.h" #include #include "opensslshim.h" diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h index f9ec0bbb3571e..8eb150b1600e0 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "compiler.h" +#include "pal_compiler.h" #include #include "opensslshim.h" diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h index 68e3a3c6423bc..fbaa474981acf 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" PALEXPORT EVP_CIPHER_CTX* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h index 51963d0ce6207..f1e23da6a1696 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h index 48120e1858151..6779f82358bf4 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h index 97968b8fe80cb..3a424b3808b96 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" PALEXPORT EVP_PKEY_CTX* CryptoNative_EvpPKeyCtxCreate(EVP_PKEY* pkey, EVP_PKEY* peerkey, uint32_t* secretLength); diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h index ec73bdccf4528..c015f7f13a67e 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h index 360dfd6ea978e..7b00edcb893c8 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h index e7f75167430d0..b1ca1c54a50cd 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" // The shim API here is slightly less than 1:1 with underlying API so that: diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h index 68162e6c710ed..08430f2ae8327 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h index 23f1952860bf5..8091b32e18444 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs12.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h index 7134769c92496..28d95ce32c941 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h index 24e7757bb5a78..8d982803fc983 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_rsa.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h index 8c95ceb11f201..9167e5cd81ab4 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h index ea2f78cf98ee8..d856095237f10 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "opensslshim.h" -#include "compiler.h" +#include "pal_compiler.h" #include "pal_crypto_types.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h index eb889516bea98..cfd633e7cea5d 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_crypto_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h index d94c8c97ad34a..40a828e7ca736 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h index 1a45d1e6267c5..3b8b4f21ea464 100644 --- a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h +++ b/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h @@ -3,7 +3,7 @@ // See the LICENSE file in the project root for more information. #include "pal_types.h" -#include "compiler.h" +#include "pal_compiler.h" #include "opensslshim.h" /* From e20c334ad3c6ab277bf9fe063517a1a888f5b369 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 19 Mar 2020 18:43:30 -0700 Subject: [PATCH 3/6] Fix build and address more feedback --- src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt | 2 +- src/libraries/Native/Unix/Common/pal_atomic.h | 4 ++-- .../System.Globalization.Native/pal_calendarData.c | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt index f32077d1f4f09..6cbe752f21e26 100644 --- a/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/coreclr/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -109,8 +109,8 @@ set(CORECLR_LIBRARIES ildbsymlib utilcode v3binder - System.Globalization.Native-Static libraries-native + System.Globalization.Native-Static interop ) diff --git a/src/libraries/Native/Unix/Common/pal_atomic.h b/src/libraries/Native/Unix/Common/pal_atomic.h index a8213bbe037a1..719902c5ddf0b 100644 --- a/src/libraries/Native/Unix/Common/pal_atomic.h +++ b/src/libraries/Native/Unix/Common/pal_atomic.h @@ -9,10 +9,10 @@ #include "windows.h" #endif -static int pal_atomic_cas_ptr(void* volatile *dest, void* exchange, void* comperand) +static int pal_atomic_cas_ptr(void* volatile* dest, void* exchange, void* comperand) { #if defined(TARGET_UNIX) - return atomic_compare_exchange_strong_explicit((_Atomic(void*)volatile*)dest, exchange, comperand, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); + return __atomic_compare_exchange_n(dest, exchange, comperand, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); #elif defined(TARGET_WINDOWS) return InterlockedCompareExchangePointer(dest, exchange, comperand) == comperand; #endif diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c index b740a686d16f7..f0381ff46ff41 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c @@ -12,13 +12,13 @@ #if defined(TARGET_UNIX) #include -#define STRING_COPY(localeNamePtr, size, locale, capacity) \ - strncpy(localeNamePtr, locale, capacity); \ - localeNamePtr[capacity - 1] = 0; +#define STRING_COPY(destination, numberOfElements, source, count) \ + strncpy(destination, source, count); \ + destination[count - 1] = 0; #elif defined(TARGET_WINDOWS) #define strcasecmp _stricmp -#define STRING_COPY(localeNamePtr, size, locale, capacity) strncpy_s(localeNamePtr, size, locale, _TRUNCATE); +#define STRING_COPY(destination, numberOfElements, source, count) strncpy_s(destination, numberOfElements, source, _TRUNCATE); #endif #define GREGORIAN_NAME "gregorian" @@ -316,7 +316,7 @@ static int32_t EnumSymbols(const char* locale, return FALSE; char localeWithCalendarName[ULOC_FULLNAME_CAPACITY]; - STRING_COPY(localeWithCalendarName, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); + STRING_COPY(localeWithCalendarName, strlen(locale), locale, ULOC_FULLNAME_CAPACITY); uloc_setKeywordValue("calendar", GetCalendarName(calendarId), localeWithCalendarName, ULOC_FULLNAME_CAPACITY, &err); @@ -423,7 +423,7 @@ static int32_t EnumAbbrevEraNames(const char* locale, char* localeNamePtr = localeNameBuf; char* parentNamePtr = parentNameBuf; - STRING_COPY(localeNamePtr, sizeof(locale), locale, ULOC_FULLNAME_CAPACITY); + STRING_COPY(localeNamePtr, strlen(locale), locale, ULOC_FULLNAME_CAPACITY); while (TRUE) { From 7544939a95e70ac52fdc2b895e19e0a1369ed59d Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Thu, 19 Mar 2020 22:32:05 -0700 Subject: [PATCH 4/6] More PR Feedback --- src/libraries/Native/Unix/Common/pal_atomic.h | 6 +++--- .../System.Globalization.Native/pal_calendarData.c | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libraries/Native/Unix/Common/pal_atomic.h b/src/libraries/Native/Unix/Common/pal_atomic.h index 719902c5ddf0b..a2ebcf62612dc 100644 --- a/src/libraries/Native/Unix/Common/pal_atomic.h +++ b/src/libraries/Native/Unix/Common/pal_atomic.h @@ -9,11 +9,11 @@ #include "windows.h" #endif -static int pal_atomic_cas_ptr(void* volatile* dest, void* exchange, void* comperand) +static int pal_atomic_cas_ptr(void* volatile* dest, void* exchange, void* comparand) { #if defined(TARGET_UNIX) - return __atomic_compare_exchange_n(dest, exchange, comperand, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); + return __atomic_compare_exchange_n(dest, exchange, comparand, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); #elif defined(TARGET_WINDOWS) - return InterlockedCompareExchangePointer(dest, exchange, comperand) == comperand; + return InterlockedCompareExchangePointer(dest, exchange, comparand) == comparand; #endif } diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c index f0381ff46ff41..b687ac9071f12 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c @@ -12,13 +12,13 @@ #if defined(TARGET_UNIX) #include -#define STRING_COPY(destination, numberOfElements, source, count) \ - strncpy(destination, source, count); \ - destination[count - 1] = 0; +#define STRING_COPY(destination, numberOfElements, source) \ + strncpy(destination, source, numberOfElements); \ + destination[numberOfElements - 1] = 0; #elif defined(TARGET_WINDOWS) #define strcasecmp _stricmp -#define STRING_COPY(destination, numberOfElements, source, count) strncpy_s(destination, numberOfElements, source, _TRUNCATE); +#define STRING_COPY(destination, numberOfElements, source) strncpy_s(destination, numberOfElements, source, _TRUNCATE); #endif #define GREGORIAN_NAME "gregorian" @@ -316,7 +316,7 @@ static int32_t EnumSymbols(const char* locale, return FALSE; char localeWithCalendarName[ULOC_FULLNAME_CAPACITY]; - STRING_COPY(localeWithCalendarName, strlen(locale), locale, ULOC_FULLNAME_CAPACITY); + STRING_COPY(localeWithCalendarName, sizeof(localeWithCalendarName), locale); uloc_setKeywordValue("calendar", GetCalendarName(calendarId), localeWithCalendarName, ULOC_FULLNAME_CAPACITY, &err); @@ -423,7 +423,7 @@ static int32_t EnumAbbrevEraNames(const char* locale, char* localeNamePtr = localeNameBuf; char* parentNamePtr = parentNameBuf; - STRING_COPY(localeNamePtr, strlen(locale), locale, ULOC_FULLNAME_CAPACITY); + STRING_COPY(localeNamePtr, sizeof(localeNameBuf), locale); while (TRUE) { From 2baaf1dcdf6c393b4e1f0b814cdd02dd2f73634f Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Fri, 20 Mar 2020 12:06:20 -0700 Subject: [PATCH 5/6] Fix OSX build and update lib name in dllimport --- src/coreclr/src/vm/dllimport.cpp | 2 +- src/libraries/Native/Unix/CMakeLists.txt | 1 + .../Native/Unix/System.Globalization.Native/pal_icushim.c | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/coreclr/src/vm/dllimport.cpp b/src/coreclr/src/vm/dllimport.cpp index 795ca668556fa..4875c57618060 100644 --- a/src/coreclr/src/vm/dllimport.cpp +++ b/src/coreclr/src/vm/dllimport.cpp @@ -4795,7 +4795,7 @@ void NDirect::PopulateNDirectMethodDesc(NDirectMethodDesc* pNMD, PInvokeStaticSi if (callConv == pmCallConvThiscall) ndirectflags |= NDirectMethodDesc::kThisCall; - if (pNMD->GetLoaderModule()->IsSystem() && (strcmp(szLibName, "QCall") == 0 || strcmp(szLibName, "System.Globalization.Native") == 0)) + if (pNMD->GetLoaderModule()->IsSystem() && (strcmp(szLibName, "QCall") == 0 || strcmp(szLibName, "libSystem.Globalization.Native") == 0)) { ndirectflags |= NDirectMethodDesc::kIsQCall; } diff --git a/src/libraries/Native/Unix/CMakeLists.txt b/src/libraries/Native/Unix/CMakeLists.txt index ad54af6fc4fbc..c18068024d984 100644 --- a/src/libraries/Native/Unix/CMakeLists.txt +++ b/src/libraries/Native/Unix/CMakeLists.txt @@ -157,6 +157,7 @@ endif(CLR_CMAKE_TARGET_FREEBSD) # if(CLR_CMAKE_TARGET_UNIX) if (CLR_CMAKE_TARGET_DARWIN) + add_definitions(-DTARGET_DARWIN) add_link_options(-Wl,-bind_at_load) # Ensure that dsymutil and strip are present diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c index 6d4dc1e7d477b..51e60a0a14b3b 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c @@ -41,7 +41,7 @@ static int FindICULibs() return TRUE; } -#elif defined(TARGET_OSX) +#elif defined(TARGET_DARWIN) static int FindICULibs() { @@ -63,7 +63,7 @@ static int FindICULibs() return TRUE; } -#else // !TARGET_WINDOWS && !TARGET_OSX +#else // !TARGET_WINDOWS && !TARGET_DARWIN #define VERSION_PREFIX_NONE "" #define VERSION_PREFIX_SUSE "suse" @@ -282,7 +282,7 @@ int32_t GlobalizationNative_LoadICU() fn##_ptr = (__typeof(fn)*)GetProcAddress((HMODULE)lib, #fn); \ if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %u\n", #fn, GetLastError()); abort(); } -#elif defined(TARGET_OSX) +#elif defined(TARGET_DARWIN) if (!FindICULibs()) { @@ -294,7 +294,7 @@ int32_t GlobalizationNative_LoadICU() fn##_ptr = (__typeof(fn)*)dlsym(lib, #fn); \ if (fn##_ptr == NULL) { fprintf(stderr, "Cannot get symbol %s from " #lib "\nError: %s\n", #fn, dlerror()); abort(); } -#else // !TARGET_WINDOWS && !TARGET_OSX +#else // !TARGET_WINDOWS && !TARGET_DARWIN char symbolName[128]; char symbolVersion[MaxICUVersionStringLength + 1] = ""; From 36b46c5a4736ef3437d4cfaa29576007c6c7c475 Mon Sep 17 00:00:00 2001 From: Santiago Fernandez Madero Date: Fri, 20 Mar 2020 21:04:57 -0700 Subject: [PATCH 6/6] Remove un-necessary include and update issue link --- .../Unix/System.Globalization.Native/pal_timeZoneInfo.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c index 887a06f794c93..c6eb7f3e4c842 100644 --- a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c +++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c @@ -5,10 +5,6 @@ #include -#if defined(TARGET_UNIX) -#include -#endif - #include "pal_errors_internal.h" #include "pal_locale_internal.h" #include "pal_timeZoneInfo.h" @@ -29,7 +25,7 @@ ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName, int32_t timeZoneIdLength = -1; // timeZoneId is NULL-terminated UCalendar* calendar = ucal_open(timeZoneId, timeZoneIdLength, locale, UCAL_DEFAULT, &err); - // TODO (https://github.com/dotnet/corefx/issues/5741): need to support Generic names, but ICU "C" api + // TODO (https://github.com/dotnet/runtime/issues/16232): need to support Generic names, but ICU "C" api // has no public option for this. For now, just use the ICU standard name for both Standard and Generic // (which is the same behavior on Windows with the mincore TIME_ZONE_INFORMATION APIs). ucal_getTimeZoneDisplayName(