diff --git a/docs/workflow/building/libraries/README.md b/docs/workflow/building/libraries/README.md index 0b0e4fcade28c..9d2cd6fb7063c 100644 --- a/docs/workflow/building/libraries/README.md +++ b/docs/workflow/building/libraries/README.md @@ -111,12 +111,12 @@ The libraries build contains some native code. This includes shims over libc, op - Building in debug mode for platform x64 ```bash -./src/libraries/Native/build-native.sh debug x64 +./src/native/libs/build-native.sh debug x64 ``` - The following example shows how you would do an arm cross-compile build ```bash -./src/libraries/Native/build-native.sh debug arm cross verbose +./src/native/libs/build-native.sh debug arm cross verbose ``` For Windows, replace `build-native.sh` with `build-native.cmd`. diff --git a/eng/Subsets.props b/eng/Subsets.props index 03dc4a5b59f43..65da9d8861bd6 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -280,7 +280,7 @@ - + diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake index a29857451bc79..0421f1f03ce0a 100644 --- a/eng/native/configurecompiler.cmake +++ b/eng/native/configurecompiler.cmake @@ -525,7 +525,7 @@ if (MSVC) # disable C++ RTTI # /GR is added by default by CMake, so remove it manually. - string(REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + string(REPLACE "/GR " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") add_compile_options($<$:/FC>) # use full pathnames in diagnostics diff --git a/eng/native/configurepaths.cmake b/eng/native/configurepaths.cmake index 19407a40a1957..3f41026eee2ac 100644 --- a/eng/native/configurepaths.cmake +++ b/eng/native/configurepaths.cmake @@ -1,7 +1,6 @@ get_filename_component(CLR_REPO_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE) set(CLR_ENG_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR}) get_filename_component(CLR_SRC_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../src/native ABSOLUTE) -get_filename_component(CLR_SRC_LIBS_NATIVE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../src/libraries/Native ABSOLUTE) set (CLR_ARTIFACTS_OBJ_DIR "${CLR_REPO_ROOT_DIR}/artifacts/obj") set(VERSION_HEADER_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.h") set(VERSION_FILE_PATH "${CLR_ARTIFACTS_OBJ_DIR}/_version.c") diff --git a/eng/pipelines/common/evaluate-default-paths.yml b/eng/pipelines/common/evaluate-default-paths.yml index d7ae882df406f..326cc76470341 100644 --- a/eng/pipelines/common/evaluate-default-paths.yml +++ b/eng/pipelines/common/evaluate-default-paths.yml @@ -9,9 +9,9 @@ jobs: - subset: coreclr include: - src/libraries/System.Private.CoreLib/* - - src/libraries/Native/Unix/System.Globalization.Native/* - - src/libraries/Native/Unix/Common/* - - src/native/* + - src/native/libs/Common/* + - src/native/libs/System.Globalization.Native/* + - src/native/libs/System.IO.Compression.Native/* exclude: - eng/Version.Details.xml - '*.md' @@ -22,6 +22,7 @@ jobs: - src/installer/* - src/mono/* - src/libraries/* + - src/native/libs/* - src/tests/* - eng/pipelines/installer/* - eng/pipelines/mono/* @@ -29,9 +30,9 @@ jobs: - subset: mono include: - src/libraries/System.Private.CoreLib/* - - src/libraries/Native/Unix/System.Globalization.Native/* - - src/libraries/Native/Unix/Common/* - - src/native/* + - src/native/libs/Common/* + - src/native/libs/System.Globalization.Native/* + - src/native/libs/System.IO.Compression.Native/* exclude: - eng/Version.Details.xml - '*.md' @@ -42,6 +43,7 @@ jobs: - src/installer/* - src/coreclr/* - src/libraries/* + - src/native/libs/* - src/tests/* - eng/pipelines/installer/* - eng/pipelines/coreclr/* diff --git a/eng/pipelines/libraries/enterprise/linux.yml b/eng/pipelines/libraries/enterprise/linux.yml index d958c56c1a354..aa2ccee679549 100644 --- a/eng/pipelines/libraries/enterprise/linux.yml +++ b/eng/pipelines/libraries/enterprise/linux.yml @@ -14,7 +14,7 @@ pr: - eng/pipelines/libraries/enterprise/* - src/libraries/Common/src/System/Net/* - src/libraries/Common/tests/System/Net/* - - src/libraries/Native/Unix/System.Net.Security.Native/* + - src/native/libs/System.Net.Security.Native/* - src/libraries/System.Net.Http/* - src/libraries/System.Net.Security/* diff --git a/src/coreclr/CMakeLists.txt b/src/coreclr/CMakeLists.txt index bd4e57252a0bb..ea62977136a26 100644 --- a/src/coreclr/CMakeLists.txt +++ b/src/coreclr/CMakeLists.txt @@ -84,12 +84,7 @@ endif() #------------------------------- if(NOT CLR_CROSS_COMPONENTS_BUILD) set(STATIC_LIBS_ONLY 1) - - if(CLR_CMAKE_TARGET_WIN32) - add_subdirectory(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Windows Native.Windows) - else() - add_subdirectory(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix Native.Unix) - endif() + add_subdirectory(${CLR_SRC_NATIVE_DIR}/libs libs-native) endif(NOT CLR_CROSS_COMPONENTS_BUILD) #----------------------------------------- diff --git a/src/coreclr/vm/CMakeLists.txt b/src/coreclr/vm/CMakeLists.txt index a9fcdcb3d112e..bbc411c324cde 100644 --- a/src/coreclr/vm/CMakeLists.txt +++ b/src/coreclr/vm/CMakeLists.txt @@ -7,10 +7,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../interop/inc) include_directories(${CLR_SRC_NATIVE_DIR}) # needed when zLib compression is used -include_directories(${CLR_SRC_LIBS_NATIVE_DIR}/AnyOS/zlib) -if(NOT CLR_CMAKE_TARGET_WIN32) - include_directories(${CLR_SRC_LIBS_NATIVE_DIR}/Unix/Common) -endif() +include_directories(${CLR_SRC_NATIVE_DIR}/libs/System.IO.Compression.Native) +include_directories(${CLR_SRC_NATIVE_DIR}/libs/Common) add_definitions(-DUNICODE) add_definitions(-D_UNICODE) diff --git a/src/libraries/Native/Unix/.clang-format b/src/libraries/Native/Unix/.clang-format deleted file mode 100644 index bec589a928235..0000000000000 --- a/src/libraries/Native/Unix/.clang-format +++ /dev/null @@ -1,17 +0,0 @@ ---- -Language: Cpp -# BasedOnStyle: LLVM -AlignEscapedNewlinesLeft: false -AllowShortFunctionsOnASingleLine: false -AlwaysBreakTemplateDeclarations: true -BinPackArguments: false -BinPackParameters: false -BreakBeforeBraces: Allman -ColumnLimit: 120 -ConstructorInitializerAllOnOneLineOrOnePerLine: true -IndentCaseLabels: true -IndentWidth: 4 -PointerAlignment: Left -TabWidth: 4 -... - diff --git a/src/libraries/Native/Unix/CMakeLists.txt b/src/libraries/Native/Unix/CMakeLists.txt deleted file mode 100644 index 100692257acbf..0000000000000 --- a/src/libraries/Native/Unix/CMakeLists.txt +++ /dev/null @@ -1,159 +0,0 @@ -cmake_minimum_required(VERSION 3.6.2) -include(CheckCCompilerFlag) - -if(CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) - # CMake 3.14.5 contains bug fixes for iOS - cmake_minimum_required(VERSION 3.14.5) -elseif(CLR_CMAKE_TARGET_MACCATALYST) - # CMake 3.18.1 properly generates MacCatalyst C compiler - cmake_minimum_required(VERSION 3.18.1) -endif() -cmake_policy(SET CMP0042 NEW) - -project(CoreFX C) - -include(../../../../eng/native/configurepaths.cmake) -include(${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake) - -include_directories(${CLR_SRC_NATIVE_DIR}) - -set(CMAKE_MACOSX_RPATH ON) -if(CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) - set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) - set(CMAKE_INSTALL_NAME_DIR "@rpath") -endif() -set(CMAKE_INSTALL_PREFIX $ENV{__CMakeBinDir}) -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") - -add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common) -add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common) - -if(STATIC_LIBS_ONLY) - # Suppress exporting of the PAL APIs - add_definitions(-DPALEXPORT=EXTERN_C) - - set(STATIC_LIB_DESTINATION lib) - set(GEN_SHARED_LIB 0) -else() - set(STATIC_LIB_DESTINATION .) - set(GEN_SHARED_LIB 1) -endif() - -if(CLR_CMAKE_TARGET_BROWSER) - set(GEN_SHARED_LIB 0) - set(STATIC_LIB_DESTINATION .) -endif() - -if(CLR_CMAKE_TARGET_TVOS) - # with -fembed-bitcode passing -headerpad_max_install_names is not allowed so remove it from the CMake flags - string(REPLACE "-Wl,-headerpad_max_install_names" "" CMAKE_C_LINK_FLAGS ${CMAKE_C_LINK_FLAGS}) - string(REPLACE "-Wl,-headerpad_max_install_names" "" CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}) - add_compile_options(-fembed-bitcode) - add_link_options(-fembed-bitcode) -endif() - -if(CLR_CMAKE_TARGET_ANDROID) - if(CROSS_ROOTFS) - include_directories(SYSTEM "${CROSS_ROOTFS}/usr/include") - endif() -endif() - -string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE) - -if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) - if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG) - add_compile_options(-O0) - elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) - add_compile_options(-O2) - endif () - - add_definitions(-DDEBUG) - - # obtain settings from running coreclr\enablesanitizers.sh - string(FIND "$ENV{DEBUG_SANITIZERS}" "asan" __ASAN_POS) - string(FIND "$ENV{DEBUG_SANITIZERS}" "ubsan" __UBSAN_POS) - if ((${__ASAN_POS} GREATER -1) OR (${__UBSAN_POS} GREATER -1)) - set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS} -fsanitize=") - if (${__ASAN_POS} GREATER -1) - set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS}address,") - message("Address Sanitizer (asan) enabled") - endif () - if (${__UBSAN_POS} GREATER -1) - set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS}undefined") - message("Undefined Behavior Sanitizer (ubsan) enabled") - endif () - - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CLR_SANITIZE_LINK_FLAGS}") - - # -Wl and --gc-sections: drop unused sections\functions (similar to Windows /Gy function-level-linking) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CLR_SANITIZE_LINK_FLAGS} -Wl,--gc-sections") - endif () -elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE) - # Use O1 option when the clang version is smaller than 3.9 - # Otherwise use O3 option in release build - if (CLR_CMAKE_TARGET_ARCH_ARMV7L AND DEFINED ENV{CROSSCOMPILE} AND CMAKE_C_COMPILER_VERSION VERSION_LESS 3.9) - add_compile_options (-O1) - else() - add_compile_options (-O3) - endif() - add_definitions(-DNDEBUG) -else () - message(FATAL_ERROR "Unknown build type. Set CMAKE_BUILD_TYPE to DEBUG or RELEASE.") -endif () - -if (CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) - add_definitions(-D__APPLE_USE_RFC_3542) -endif () - -if (CLR_CMAKE_TARGET_LINUX) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE") -endif () - -include(configure.cmake) - -add_subdirectory(System.IO.Compression.Native) - -if (NOT CLR_CMAKE_TARGET_BROWSER AND NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID) - add_subdirectory(System.IO.Ports.Native) -endif() - -if(CMAKE_C_COMPILER_ID STREQUAL Clang) - add_compile_options(-Weverything) - add_compile_options(-Wno-format-nonliteral) - add_compile_options(-Wno-disabled-macro-expansion) - add_compile_options(-Wno-padded) - add_compile_options(-Wno-empty-translation-unit) - add_compile_options(-Wno-cast-align) - add_compile_options(-Wno-typedef-redefinition) - add_compile_options(-Wno-c11-extensions) - add_compile_options(-Wno-thread-safety-analysis) -endif() - -add_subdirectory(System.Native) - -if(CLR_CMAKE_TARGET_BROWSER) - # skip for now -elseif(CLR_CMAKE_TARGET_MACCATALYST) - add_subdirectory(System.Net.Security.Native) - # System.Security.Cryptography.Native is intentionally disabled on iOS - # it is only used for interacting with OpenSSL which isn't useful there -elseif(CLR_CMAKE_TARGET_IOS) - add_subdirectory(System.Net.Security.Native) - # System.Security.Cryptography.Native is intentionally disabled on iOS - # it is only used for interacting with OpenSSL which isn't useful there -elseif(CLR_CMAKE_TARGET_TVOS) - #add_subdirectory(System.Net.Security.Native) # no gssapi on tvOS, see https://developer.apple.com/documentation/gss - # System.Security.Cryptography.Native is intentionally disabled on tvOS - # it is only used for interacting with OpenSSL which isn't useful there -elseif(CLR_CMAKE_TARGET_ANDROID) - add_subdirectory(System.Security.Cryptography.Native.Android) -else() - add_subdirectory(System.Globalization.Native) - add_subdirectory(System.Net.Security.Native) - add_subdirectory(System.Security.Cryptography.Native) -endif() - -if(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) - add_subdirectory(System.Security.Cryptography.Native.Apple) -endif() diff --git a/src/libraries/Native/Unix/System.IO.Compression.Native/CMakeLists.txt b/src/libraries/Native/Unix/System.IO.Compression.Native/CMakeLists.txt deleted file mode 100644 index fd332e3fd8cf1..0000000000000 --- a/src/libraries/Native/Unix/System.IO.Compression.Native/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -project(System.IO.Compression.Native C) - -if (CLR_CMAKE_TARGET_BROWSER) - add_definitions(-s USE_ZLIB) -endif() - -include(${CMAKE_CURRENT_LIST_DIR}/extra_libs.cmake) - -set(NATIVE_LIBS_EXTRA) -append_extra_compression_libs(NATIVE_LIBS_EXTRA) - -set(NATIVECOMPRESSION_SOURCES - ../../AnyOS/zlib/pal_zlib.c -) - -if (NOT CLR_CMAKE_TARGET_BROWSER) - #Include Brotli include files - include_directories("../../AnyOS/brotli/include") - - set (NATIVECOMPRESSION_SOURCES - ${NATIVECOMPRESSION_SOURCES} - ../../AnyOS/brotli/common/constants.c - ../../AnyOS/brotli/common/context.c - ../../AnyOS/brotli/common/dictionary.c - ../../AnyOS/brotli/common/platform.c - ../../AnyOS/brotli/common/transform.c - ../../AnyOS/brotli/dec/bit_reader.c - ../../AnyOS/brotli/dec/decode.c - ../../AnyOS/brotli/dec/huffman.c - ../../AnyOS/brotli/dec/state.c - ../../AnyOS/brotli/enc/backward_references.c - ../../AnyOS/brotli/enc/backward_references_hq.c - ../../AnyOS/brotli/enc/bit_cost.c - ../../AnyOS/brotli/enc/block_splitter.c - ../../AnyOS/brotli/enc/brotli_bit_stream.c - ../../AnyOS/brotli/enc/cluster.c - ../../AnyOS/brotli/enc/command.c - ../../AnyOS/brotli/enc/compress_fragment.c - ../../AnyOS/brotli/enc/compress_fragment_two_pass.c - ../../AnyOS/brotli/enc/dictionary_hash.c - ../../AnyOS/brotli/enc/encode.c - ../../AnyOS/brotli/enc/encoder_dict.c - ../../AnyOS/brotli/enc/entropy_encode.c - ../../AnyOS/brotli/enc/fast_log.c - ../../AnyOS/brotli/enc/histogram.c - ../../AnyOS/brotli/enc/literal_cost.c - ../../AnyOS/brotli/enc/memory.c - ../../AnyOS/brotli/enc/metablock.c - ../../AnyOS/brotli/enc/static_dict.c - ../../AnyOS/brotli/enc/utf8_util.c - ../../AnyOS/System.IO.Compression.Native/entrypoints.c - ) - - # Disable implicit fallthrough warning for Brotli - set(FLAGS -Wno-implicit-fallthrough) - - # Delete this supression once brotli is upgraded to vNext (current latest v1.0.9 - # does not contain upstream fix: https://github.com/google/brotli/commit/0a3944c) - set(FLAGS "${FLAGS} -Wno-vla-parameter") - - set_source_files_properties(${NATIVECOMPRESSION_SOURCES} PROPERTIES COMPILE_FLAGS ${FLAGS}) -endif() - -if (GEN_SHARED_LIB) - add_definitions(-DBROTLI_SHARED_COMPILATION) - - add_library(System.IO.Compression.Native - SHARED - ${NATIVECOMPRESSION_SOURCES} - ${VERSION_FILE_PATH} - ) - - target_link_libraries(System.IO.Compression.Native - ${NATIVE_LIBS_EXTRA} - ) - - if (NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID) - set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/System.IO.Compression.Native_unixexports.src) - set(EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/System.IO.Compression.Native.exports) - generate_exports_file(${DEF_SOURCES} ${EXPORTS_FILE}) - set_exports_linker_option(${EXPORTS_FILE}) - - add_custom_target(System.IO.Compression.Native_exports DEPENDS ${EXPORTS_FILE}) - add_dependencies(System.IO.Compression.Native System.IO.Compression.Native_exports) - - set_property(TARGET System.IO.Compression.Native APPEND_STRING PROPERTY LINK_FLAGS ${EXPORTS_LINKER_OPTION}) - set_property(TARGET System.IO.Compression.Native APPEND_STRING PROPERTY LINK_DEPENDS ${EXPORTS_FILE}) - - add_custom_command(TARGET System.IO.Compression.Native POST_BUILD - COMMENT "Verifying System.IO.Compression.Native entry points against entrypoints.c " - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../verify-entrypoints.sh - $ - ${CMAKE_CURRENT_SOURCE_DIR}/../../AnyOS/System.IO.Compression.Native/entrypoints.c - ${CMAKE_NM} - VERBATIM - ) - endif() - - install_with_stripped_symbols (System.IO.Compression.Native PROGRAMS .) -endif () - -add_library(System.IO.Compression.Native-Static - STATIC - ${NATIVECOMPRESSION_SOURCES} -) - -set_target_properties(System.IO.Compression.Native-Static PROPERTIES OUTPUT_NAME System.IO.Compression.Native CLEAN_DIRECT_OUTPUT 1) - -install (TARGETS System.IO.Compression.Native-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs) diff --git a/src/libraries/Native/Windows/CMakeLists.txt b/src/libraries/Native/Windows/CMakeLists.txt deleted file mode 100644 index 229adbddd38be..0000000000000 --- a/src/libraries/Native/Windows/CMakeLists.txt +++ /dev/null @@ -1,139 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -cmake_policy(SET CMP0091 NEW) - -include(../../../../eng/native/configurepaths.cmake) - -# C Compiler flags -SET (CMAKE_C_FLAGS_INIT "/W3 /FC") -SET (CMAKE_C_FLAGS_DEBUG_INIT "/Od /Zi") -SET (CMAKE_C_FLAGS_RELEASE_INIT "/Ox") -SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/O2 /Zi") -SET (CMAKE_ASM_MASM_FLAGS "${CMAKE_ASM_MASM_FLAGS} /ZH:SHA_256") - -# Configuration of our libray specs and our directories -SET (CMAKE_INCLUDE_CURRENT_DIR ON) -SET (CMAKE_SHARED_LIBRARY_PREFIX "") - -set(__SharedLinkArgs) -set(__LinkArgs) - -# Force an out of source build -if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") - message(FATAL_ERROR "Binary directory isn't being correctly set before calling Cmake. Tree must be built in separate directory from source.") -endif() - -if(STATIC_LIBS_ONLY) - # Suppress exporting of the PAL APIs - add_definitions(-DPALEXPORT=EXTERN_C) - - set(GEN_SHARED_LIB 0) - set(STATIC_LIB_DESTINATION lib) -else() - set(GEN_SHARED_LIB 1) - set(STATIC_LIB_DESTINATION .) -endif() - -project(CoreFX) - -include(../../../../eng/native/configurepaths.cmake) - -# The following options are set by the razzle build -add_compile_options(/d2Zi+) # make optimized builds debugging easier -add_compile_options(/nologo) # Suppress Startup Banner -add_compile_options(/Oi) # enable intrinsics -add_compile_options(/Oy-) # disable suppressing of the creation of frame pointers on the call stack for quicker function calls -add_compile_options(/U_MT) # undefine the predefined _MT macro -add_compile_options(/GF) # enable read-only string pooling -add_compile_options(/Gm-) # disable minimal rebuild -string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -add_compile_options(/EHa) # enable C++ EH (w/ SEH exceptions) -add_compile_options(/Zp8) # pack structs on 8-byte boundary -add_compile_options(/Gy) # separate functions for linker -add_compile_options(/Zc:forScope) # C++ language conformance: enforce Standard C++ for scoping rules -string(REPLACE "/GR " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -add_compile_options(/GR-) # disable C++ RTTI -add_compile_options(/FC) # use full pathnames in diagnostics -add_compile_options(/MP) # Build with Multiple Processes (number of processes equal to the number of processors) -add_compile_options(/GS) # Buffer Security Check -add_compile_options(/Zm200) # Specify Precompiled Header Memory Allocation Limit of 150MB -add_compile_options(/Zi) # enable debugging information -add_compile_options(/Zl) # enable debugging information -add_compile_options(/wd4960 /wd4961 /wd4603 /wd4627 /wd4838 /wd4456 /wd4457 /wd4458 /wd4459 /wd4091 /we4640) -add_compile_options(/ZH:SHA_256) # use SHA256 for generating hashes of compiler processed source files. - -if (${CLR_CMAKE_HOST_ARCH} STREQUAL "x86") - add_compile_options(/Gz) -endif () - -# enable control-flow-guard support for native components -add_compile_options(/guard:cf) -list(APPEND __SharedLinkArgs /guard:cf) - -if (${CLR_CMAKE_HOST_ARCH} STREQUAL "x86_64" OR ${CLR_CMAKE_HOST_ARCH} STREQUAL "amd64" OR ${CLR_CMAKE_HOST_ARCH} STREQUAL "x64") - # Enable EH continuation table and CETCOMPAT for native components - add_compile_options(/guard:ehcont) - list(APPEND __SharedLinkArgs /guard:ehcont) - list(APPEND __SharedLinkArgs /CETCOMPAT) -endif () - -# Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid -# linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST. -# -# For Release builds, we shall dynamically link into uCRT [ucrtbase.dll] (which is pushed down as a Windows Update on downlevel OS) but -# won't do the same for debug/checked builds since ucrtbased.dll is not redistributable and Debug/Checked builds are not -# production-time scenarios. - -set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - -add_compile_options($<$:/GL>) - -list(APPEND __LinkLibraries $<$:libcmtd.lib>) -list(APPEND __LinkLibraries $<$:libcmt.lib>) - -list(APPEND __LinkLibraries $<$:libvcruntimed.lib>) -list(APPEND __LinkLibraries $<$:libvcruntime.lib>) - -# Linker flags -list(APPEND __SharedLinkArgs /INCREMENTAL:NO) -list(APPEND __SharedLinkArgs /MANIFEST:NO) #Do not create Side-by-Side Assembly Manifest -list(APPEND __SharedLinkArgs /LARGEADDRESSAWARE) # can handle addresses larger than 2 gigabytes -list(APPEND __SharedLinkArgs /RELEASE) #sets the checksum in the header -list(APPEND __SharedLinkArgs /NXCOMPAT) #Compatible with Data Execution Prevention -list(APPEND __SharedLinkArgs /DYNAMICBASE) #Use address space layout randomization -list(APPEND __SharedLinkArgs /DEBUGTYPE:cv,fixup) #debugging format -list(APPEND __SharedLinkArgs /PDBCOMPRESS) #shrink pdb size -list(APPEND __SharedLinkArgs /DEBUG) -list(APPEND __SharedLinkArgs /IGNORE:4197,4013,4254,4070,4221) - -# Release build specific flags -list(APPEND __LinkArgs $<$:/LTCG>) -list(APPEND __SharedLinkArgs $<$:/OPT:REF>) -list(APPEND __SharedLinkArgs $<$:/OPT:ICF>) - -# Force uCRT to be dynamically linked for Release build (unless env variable CLR_CMAKE_WIN32_FORCE_STATIC_LINK is set to true) -set(CLR_CMAKE_WIN32_FORCE_STATIC_LINK $ENV{CLR_CMAKE_WIN32_FORCE_STATIC_LINK}) -if(NOT CLR_CMAKE_WIN32_FORCE_STATIC_LINK) - list(APPEND __SharedLinkArgs $<$:/NODEFAULTLIB:libucrt.lib>) - list(APPEND __SharedLinkArgs $<$:/DEFAULTLIB:ucrt.lib>) -endif() - -# Debug build specific flags -list(INSERT __SharedLinkArgs 0 $<$,$>:/NOVCFEATURE>) - -if (${CLR_CMAKE_HOST_ARCH} STREQUAL "x86_64" OR ${CLR_CMAKE_HOST_ARCH} STREQUAL "amd64" OR ${CLR_CMAKE_HOST_ARCH} STREQUAL "x64") - add_definitions(-DTARGET_64BIT=1) -endif () - -# Do not define DEBUG. zlib has asserts under DEBUG for non-catastrophic cases, -# such as on bad user-provided inputs. We leave NDEBUG defined, however, -# as other asserts should still be included. -add_compile_definitions($<$:NDEBUG>) - -include_directories(${CLR_SRC_NATIVE_DIR}) - -# we only need to build System.Globalization.Native when building static libs. -if(STATIC_LIBS_ONLY) - add_subdirectory(../Unix/System.Globalization.Native System.Globalization.Native) -endif() - -add_subdirectory(System.IO.Compression.Native) diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/CMakeLists.txt b/src/libraries/Native/Windows/System.IO.Compression.Native/CMakeLists.txt deleted file mode 100644 index 936c077419f27..0000000000000 --- a/src/libraries/Native/Windows/System.IO.Compression.Native/CMakeLists.txt +++ /dev/null @@ -1,125 +0,0 @@ -project(System.IO.Compression.Native) - -if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") - message(FATAL_ERROR "Binary directory isn't being correctly set before calling Cmake. Tree must be built in separate directory from source.") -endif() - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -if (GEN_SHARED_LIB) - include (GenerateExportHeader) -endif() - -if(${CLR_CMAKE_HOST_ARCH} STREQUAL x86 OR ${CLR_CMAKE_HOST_ARCH} STREQUAL x64) - set(NATIVECOMPRESSION_SOURCES - zlib-intel/adler32.c - zlib-intel/compress.c - zlib-intel/crc_folding.c - zlib-intel/crc32.c - zlib-intel/deflate_medium.c - zlib-intel/deflate_quick.c - zlib-intel/deflate.c - zlib-intel/inffast.c - zlib-intel/inflate.c - zlib-intel/inftrees.c - zlib-intel/match.c - zlib-intel/slide_sse.c - zlib-intel/trees.c - zlib-intel/x86.c - zlib-intel/zutil.c -) -else() - set(NATIVECOMPRESSION_SOURCES - zlib/adler32.c - zlib/compress.c - zlib/crc32.c - zlib/deflate.c - zlib/inffast.c - zlib/inflate.c - zlib/inftrees.c - zlib/trees.c - zlib/zutil.c - ) -endif() - -set (NATIVECOMPRESSION_SOURCES - ${NATIVECOMPRESSION_SOURCES} - ../../AnyOS/zlib/pal_zlib.c - ../../AnyOS/brotli/common/constants.c - ../../AnyOS/brotli/common/context.c - ../../AnyOS/brotli/common/dictionary.c - ../../AnyOS/brotli/common/platform.c - ../../AnyOS/brotli/common/transform.c - ../../AnyOS/brotli/dec/bit_reader.c - ../../AnyOS/brotli/dec/decode.c - ../../AnyOS/brotli/dec/huffman.c - ../../AnyOS/brotli/dec/state.c - ../../AnyOS/brotli/enc/backward_references.c - ../../AnyOS/brotli/enc/backward_references_hq.c - ../../AnyOS/brotli/enc/bit_cost.c - ../../AnyOS/brotli/enc/block_splitter.c - ../../AnyOS/brotli/enc/brotli_bit_stream.c - ../../AnyOS/brotli/enc/cluster.c - ../../AnyOS/brotli/enc/command.c - ../../AnyOS/brotli/enc/compress_fragment.c - ../../AnyOS/brotli/enc/compress_fragment_two_pass.c - ../../AnyOS/brotli/enc/dictionary_hash.c - ../../AnyOS/brotli/enc/encode.c - ../../AnyOS/brotli/enc/encoder_dict.c - ../../AnyOS/brotli/enc/entropy_encode.c - ../../AnyOS/brotli/enc/fast_log.c - ../../AnyOS/brotli/enc/histogram.c - ../../AnyOS/brotli/enc/literal_cost.c - ../../AnyOS/brotli/enc/memory.c - ../../AnyOS/brotli/enc/metablock.c - ../../AnyOS/brotli/enc/static_dict.c - ../../AnyOS/brotli/enc/utf8_util.c -) - -#Include Brotli include files -include_directories("../../AnyOS/brotli/include") - -if (GEN_SHARED_LIB) - add_library(System.IO.Compression.Native - SHARED - ${NATIVECOMPRESSION_SOURCES} - System.IO.Compression.Native.def - # This will add versioning to the library - ${VERSION_FILE_RC_PATH} - ) -endif() - -if (NOT GEN_SHARED_LIB AND NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID AND NOT CLR_CMAKE_TARGET_BROWSER) - set(NATIVECOMPRESSION_SOURCES ${NATIVECOMPRESSION_SOURCES} ../../AnyOS/System.IO.Compression.Native/entrypoints.c) -endif() - -add_library(System.IO.Compression.Native-Static - STATIC - ${NATIVECOMPRESSION_SOURCES} -) - -# Allow specification of arguments that should be passed to the linker -if (GEN_SHARED_LIB) - SET_TARGET_PROPERTIES(System.IO.Compression.Native PROPERTIES LINK_OPTIONS "${__LinkArgs};${__SharedLinkArgs}") -endif() -SET_TARGET_PROPERTIES(System.IO.Compression.Native-Static PROPERTIES STATIC_LIBRARY_OPTIONS "${__LinkArgs}") - -# Allow specification of libraries that should be linked against -if (GEN_SHARED_LIB) - target_link_libraries(System.IO.Compression.Native ${__LinkLibraries}) -endif() -target_link_libraries(System.IO.Compression.Native-Static ${__LinkLibraries}) - -if (GEN_SHARED_LIB) - GENERATE_EXPORT_HEADER( System.IO.Compression.Native - BASE_NAME System.IO.Compression.Native - EXPORT_MACRO_NAME System.IO.Compression.Native_EXPORT - EXPORT_FILE_NAME System.IO.Compression.Native_Export.h - STATIC_DEFINE System.IO.Compression.Native_BUILT_AS_STATIC - ) - - install (TARGETS System.IO.Compression.Native DESTINATION .) - install (FILES $ DESTINATION .) -endif() - -install (TARGETS System.IO.Compression.Native-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs) diff --git a/src/libraries/Native/native-binplace.proj b/src/libraries/native-binplace.proj similarity index 100% rename from src/libraries/Native/native-binplace.proj rename to src/libraries/native-binplace.proj diff --git a/src/mono/CMakeLists.txt b/src/mono/CMakeLists.txt index 0016841316c9f..7ce13324e2fc1 100644 --- a/src/mono/CMakeLists.txt +++ b/src/mono/CMakeLists.txt @@ -589,7 +589,7 @@ endif() ###################################### # ICU CHECKS ###################################### -set(ICU_SHIM_PATH "${CLR_SRC_LIBS_NATIVE_DIR}/Unix/System.Globalization.Native") +set(ICU_SHIM_PATH "${CLR_SRC_NATIVE_DIR}/libs/System.Globalization.Native") if(MONO_CROSS_COMPILE) elseif(HOST_OSX AND NOT HOST_MACCAT) include(FindPkgConfig) diff --git a/src/mono/Directory.Build.props b/src/mono/Directory.Build.props index 3536792b6c2f4..64cbb38bceab8 100644 --- a/src/mono/Directory.Build.props +++ b/src/mono/Directory.Build.props @@ -12,7 +12,7 @@ - + 10.0 10.0 2.0 diff --git a/src/mono/mono/mini/CMakeLists.txt b/src/mono/mono/mini/CMakeLists.txt index 17c52fc6d2203..2610dda6b93c8 100644 --- a/src/mono/mono/mini/CMakeLists.txt +++ b/src/mono/mono/mini/CMakeLists.txt @@ -81,7 +81,7 @@ if(HAVE_SYS_ICU) ${pal_icushim_sources_base}) addprefix(icu_shim_sources "${ICU_SHIM_PATH}" "${icu_shim_sources_base}") set_source_files_properties(${icu_shim_sources} PROPERTIES COMPILE_DEFINITIONS OSX_ICU_LIBRARY_PATH="${OSX_ICU_LIBRARY_PATH}") - set_source_files_properties(${icu_shim_sources} PROPERTIES COMPILE_FLAGS "-I\"${ICU_INCLUDEDIR}\" -I\"${CMAKE_CURRENT_SOURCE_DIR}/../../../libraries/Native/Unix/System.Globalization.Native/\" -I\"${CMAKE_CURRENT_SOURCE_DIR}/../../../libraries/Native/Unix/Common/\" ${ICU_FLAGS}") + set_source_files_properties(${icu_shim_sources} PROPERTIES COMPILE_FLAGS "-I\"${ICU_INCLUDEDIR}\" -I\"${CLR_SRC_NATIVE_DIR}/libs/System.Globalization.Native/\" -I\"${CLR_SRC_NATIVE_DIR}/libs/Common/\" ${ICU_FLAGS}") if(TARGET_WIN32) set_source_files_properties(${icu_shim_sources} PROPERTIES LANGUAGE CXX) endif() diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile index f8355fe857e6b..4152d959e5027 100644 --- a/src/mono/wasm/Makefile +++ b/src/mono/wasm/Makefile @@ -19,7 +19,7 @@ PINVOKE_TABLE?=$(TOP)/artifacts/obj/wasm/pinvoke-table.h MONO_BIN_DIR?=$(BINDIR)/mono/Browser.wasm.$(CONFIG) NATIVE_BIN_DIR?=$(BINDIR)/native/net7.0-Browser-$(CONFIG)-wasm ICU_LIBDIR?= -SYSTEM_NATIVE_LIBDIR?=$(TOP)/src/libraries/Native/Unix/System.Native +SYSTEM_NATIVE_LIBDIR?=$(TOP)/src/native/libs/System.Native _MSBUILD_WASM_BUILD_ARGS=/p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=$(CONFIG) XHARNESS_BROWSER?=chrome EMCC_DEFAULT_RSP=$(NATIVE_BIN_DIR)/src/emcc-default.rsp diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index 68482d708962c..f2cc8337e02f2 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -152,14 +152,13 @@ $(CMakeConfigurationEmccFlags) -O2 -DEMSDK_PATH="$(EMSDK_PATH.TrimEnd('\/'))" - emcmake cmake $(MSBuildThisFileDirectory)runtime -DCMAKE_BUILD_TYPE=$(Configuration) -DCONFIGURATION_EMCC_FLAGS="$(CMakeConfigurationEmccFlags)" -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" -DMONO_INCLUDES="$(MonoArtifactsPath)include/mono-2.0" -DMONO_OBJ_INCLUDES="$(MonoObjDir.TrimEnd('\/'))" -DICU_LIB_DIR="$(ICULibDir.TrimEnd('\/'))" -DMONO_ARTIFACTS_DIR="$(MonoArtifactsPath.TrimEnd('\/'))" -DNATIVE_BIN_DIR="$(NativeBinDir.TrimEnd('\/'))" -DSYSTEM_NATIVE_DIR="$(RepoRoot)src/libraries/Native/Unix/System.Native" -DSOURCE_DIR="$(MSBuildThisFileDirectory.TrimEnd('\/'))/runtime"$(CMakeConfigurationEmsdkPath) + emcmake cmake $(MSBuildThisFileDirectory)runtime -DCMAKE_BUILD_TYPE=$(Configuration) -DCONFIGURATION_EMCC_FLAGS="$(CMakeConfigurationEmccFlags)" -DCONFIGURATION_LINK_FLAGS="$(CMakeConfigurationLinkFlags)" -DMONO_INCLUDES="$(MonoArtifactsPath)include/mono-2.0" -DMONO_OBJ_INCLUDES="$(MonoObjDir.TrimEnd('\/'))" -DICU_LIB_DIR="$(ICULibDir.TrimEnd('\/'))" -DMONO_ARTIFACTS_DIR="$(MonoArtifactsPath.TrimEnd('\/'))" -DNATIVE_BIN_DIR="$(NativeBinDir.TrimEnd('\/'))" -DSYSTEM_NATIVE_DIR="$(RepoRoot)src/native/libs/System.Native" -DSOURCE_DIR="$(MSBuildThisFileDirectory.TrimEnd('\/'))/runtime"$(CMakeConfigurationEmsdkPath) call "$(RepositoryEngineeringDir)native\init-vs-env.cmd" && call "$([MSBuild]::NormalizePath('$(EMSDK_PATH)', 'emsdk_env.bat'))" && $(CMakeBuildRuntimeConfigureCmd) bash -c 'source $(EMSDK_PATH)/emsdk_env.sh 2>&1 && $(CMakeBuildRuntimeConfigureCmd)' cmake --build . --config $(Configuration) call "$(RepositoryEngineeringDir)native\init-vs-env.cmd" && call "$([MSBuild]::NormalizePath('$(EMSDK_PATH)', 'emsdk_env.bat'))" && $(CMakeBuildRuntimeCmd) bash -c 'source $(EMSDK_PATH)/emsdk_env.sh 2>&1 && $(CMakeBuildRuntimeCmd)' - $(RepoRoot)src\libraries\Native\Unix\System.Native diff --git a/src/native/corehost/apphost/static/CMakeLists.txt b/src/native/corehost/apphost/static/CMakeLists.txt index 0d9ae541c33b1..d9c92506635a6 100644 --- a/src/native/corehost/apphost/static/CMakeLists.txt +++ b/src/native/corehost/apphost/static/CMakeLists.txt @@ -18,11 +18,8 @@ set(SKIP_VERSIONING 1) include_directories(..) include_directories(../../json) - -include_directories(${CLR_SRC_LIBS_NATIVE_DIR}/AnyOS/zlib) -if(NOT CLR_CMAKE_TARGET_WIN32) - include_directories(${CLR_SRC_LIBS_NATIVE_DIR}/Unix/Common) -endif() +include_directories(${CLR_SRC_NATIVE_DIR}/libs/System.IO.Compression.Native) +include_directories(${CLR_SRC_NATIVE_DIR}/libs/Common) set(SOURCES ../bundle_marker.cpp @@ -151,19 +148,19 @@ else() ) # additional requirements for System.IO.Compression.Native - include(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.IO.Compression.Native/extra_libs.cmake) + include(${CLR_SRC_NATIVE_DIR}/libs/System.IO.Compression.Native/extra_libs.cmake) append_extra_compression_libs(NATIVE_LIBS) # Additional requirements for System.Net.Security.Native - include(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Net.Security.Native/extra_libs.cmake) + include(${CLR_SRC_NATIVE_DIR}/libs/System.Net.Security.Native/extra_libs.cmake) append_extra_security_libs(NATIVE_LIBS) # Additional requirements for System.Native - include(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Native/extra_libs.cmake) + include(${CLR_SRC_NATIVE_DIR}/libs/System.Native/extra_libs.cmake) append_extra_system_libs(NATIVE_LIBS) # Additional requirements for System.Security.Cryptography.Native.OpenSsl - include(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Security.Cryptography.Native/extra_libs.cmake) + include(${CLR_SRC_NATIVE_DIR}/libs/System.Security.Cryptography.Native/extra_libs.cmake) append_extra_cryptography_libs(NATIVE_LIBS) set(RUNTIMEINFO_LIB runtimeinfo) @@ -176,7 +173,7 @@ if(CLR_CMAKE_TARGET_OSX) ) # Additional requirements for System.Security.Cryptography.Native.Apple - include(${CLR_REPO_ROOT_DIR}/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/extra_libs.cmake) + include(${CLR_SRC_NATIVE_DIR}/libs/System.Security.Cryptography.Native.Apple/extra_libs.cmake) append_extra_cryptography_apple_libs(NATIVE_LIBS) endif() diff --git a/src/native/libs/CMakeLists.txt b/src/native/libs/CMakeLists.txt new file mode 100644 index 0000000000000..46dfafc4ee695 --- /dev/null +++ b/src/native/libs/CMakeLists.txt @@ -0,0 +1,176 @@ +cmake_minimum_required(VERSION 3.6.2) +include(CheckCCompilerFlag) + +if (CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) + # CMake 3.14.5 contains bug fixes for iOS + cmake_minimum_required(VERSION 3.14.5) +elseif (CLR_CMAKE_TARGET_MACCATALYST) + # CMake 3.18.1 properly generates MacCatalyst C compiler + cmake_minimum_required(VERSION 3.18.1) +endif () + +if (WIN32) + cmake_policy(SET CMP0091 NEW) +else () + cmake_policy(SET CMP0042 NEW) +endif () + +project(CoreFX C) + +include(../../../eng/native/configurepaths.cmake) +include(${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake) + +include_directories(${CLR_SRC_NATIVE_DIR}) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +if (STATIC_LIBS_ONLY) + # Suppress exporting of the PAL APIs + add_definitions(-DPALEXPORT=EXTERN_C) + + set(GEN_SHARED_LIB 0) + set(STATIC_LIB_DESTINATION lib) +else () + set(GEN_SHARED_LIB 1) + set(STATIC_LIB_DESTINATION .) +endif () + +if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER) + set(CMAKE_MACOSX_RPATH ON) + if (CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) + set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) + set(CMAKE_INSTALL_NAME_DIR "@rpath") + endif () + + set(CMAKE_INSTALL_PREFIX $ENV{__CMakeBinDir}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99") + + add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common) + add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common) + + if (CLR_CMAKE_TARGET_BROWSER) + set(GEN_SHARED_LIB 0) + set(STATIC_LIB_DESTINATION .) + endif () + + if (CLR_CMAKE_TARGET_TVOS) + # with -fembed-bitcode passing -headerpad_max_install_names is not allowed so remove it from the CMake flags + string(REPLACE "-Wl,-headerpad_max_install_names" "" CMAKE_C_LINK_FLAGS ${CMAKE_C_LINK_FLAGS}) + string(REPLACE "-Wl,-headerpad_max_install_names" "" CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}) + add_compile_options(-fembed-bitcode) + add_link_options(-fembed-bitcode) + endif () + + if (CLR_CMAKE_TARGET_ANDROID) + if (CROSS_ROOTFS) + include_directories(SYSTEM "${CROSS_ROOTFS}/usr/include") + endif () + endif () + + string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE) + + if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) + if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG) + add_compile_options(-O0) + elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) + add_compile_options(-O2) + endif () + + add_definitions(-DDEBUG) + + # obtain settings from running coreclr\enablesanitizers.sh + string(FIND "$ENV{DEBUG_SANITIZERS}" "asan" __ASAN_POS) + string(FIND "$ENV{DEBUG_SANITIZERS}" "ubsan" __UBSAN_POS) + if (${__ASAN_POS} GREATER -1 OR ${__UBSAN_POS} GREATER -1) + set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS} -fsanitize=") + if (${__ASAN_POS} GREATER -1) + set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS}address,") + message("Address Sanitizer (asan) enabled") + endif () + if (${__UBSAN_POS} GREATER -1) + set(CLR_SANITIZE_LINK_FLAGS "${CLR_SANITIZE_LINK_FLAGS}undefined") + message("Undefined Behavior Sanitizer (ubsan) enabled") + endif () + + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CLR_SANITIZE_LINK_FLAGS}") + + # -Wl and --gc-sections: drop unused sections\functions (similar to Windows /Gy function-level-linking) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CLR_SANITIZE_LINK_FLAGS} -Wl,--gc-sections") + endif () + elseif (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL RELEASE) + # Use O1 option when the clang version is smaller than 3.9 + # Otherwise use O3 option in release build + if (CLR_CMAKE_TARGET_ARCH_ARMV7L AND DEFINED ENV{CROSSCOMPILE} AND CMAKE_C_COMPILER_VERSION VERSION_LESS 3.9) + add_compile_options (-O1) + else () + add_compile_options (-O3) + endif () + else () + message(FATAL_ERROR "Unknown build type. Set CMAKE_BUILD_TYPE to DEBUG or RELEASE.") + endif () + + if (CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) + add_definitions(-D__APPLE_USE_RFC_3542) + endif () + + if (CLR_CMAKE_TARGET_LINUX) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE") + endif () +else () + set(CMAKE_SHARED_LIBRARY_PREFIX "") + + # we only need to build System.Globalization.Native when building static libs. + if (STATIC_LIBS_ONLY) + add_subdirectory(System.Globalization.Native) + endif () +endif () + +add_subdirectory(System.IO.Compression.Native) + +if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER) + include(configure.cmake) + + if (NOT CLR_CMAKE_TARGET_BROWSER AND NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID) + add_subdirectory(System.IO.Ports.Native) + endif () + + if (CMAKE_C_COMPILER_ID STREQUAL Clang) + add_compile_options(-Weverything) + add_compile_options(-Wno-format-nonliteral) + add_compile_options(-Wno-disabled-macro-expansion) + add_compile_options(-Wno-padded) + add_compile_options(-Wno-empty-translation-unit) + add_compile_options(-Wno-cast-align) + add_compile_options(-Wno-typedef-redefinition) + add_compile_options(-Wno-c11-extensions) + add_compile_options(-Wno-thread-safety-analysis) + endif () + + add_subdirectory(System.Native) + + if (CLR_CMAKE_TARGET_BROWSER) + # skip for now + elseif (CLR_CMAKE_TARGET_MACCATALYST) + add_subdirectory(System.Net.Security.Native) + # System.Security.Cryptography.Native is intentionally disabled on iOS + # it is only used for interacting with OpenSSL which isn't useful there + elseif (CLR_CMAKE_TARGET_IOS) + add_subdirectory(System.Net.Security.Native) + # System.Security.Cryptography.Native is intentionally disabled on iOS + # it is only used for interacting with OpenSSL which isn't useful there + elseif (CLR_CMAKE_TARGET_TVOS) + #add_subdirectory(System.Net.Security.Native) # no gssapi on tvOS, see https://developer.apple.com/documentation/gss + # System.Security.Cryptography.Native is intentionally disabled on tvOS + # it is only used for interacting with OpenSSL which isn't useful there + elseif (CLR_CMAKE_TARGET_ANDROID) + add_subdirectory(System.Security.Cryptography.Native.Android) + else () + add_subdirectory(System.Globalization.Native) + add_subdirectory(System.Net.Security.Native) + add_subdirectory(System.Security.Cryptography.Native) + endif () + + if (CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_MACCATALYST OR CLR_CMAKE_TARGET_IOS OR CLR_CMAKE_TARGET_TVOS) + add_subdirectory(System.Security.Cryptography.Native.Apple) + endif () +endif () diff --git a/src/libraries/Native/Unix/Common/pal_atomic.h b/src/native/libs/Common/pal_atomic.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_atomic.h rename to src/native/libs/Common/pal_atomic.h diff --git a/src/libraries/Native/Unix/Common/pal_compiler.h b/src/native/libs/Common/pal_compiler.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_compiler.h rename to src/native/libs/Common/pal_compiler.h diff --git a/src/libraries/Native/Unix/Common/pal_config.h.in b/src/native/libs/Common/pal_config.h.in similarity index 100% rename from src/libraries/Native/Unix/Common/pal_config.h.in rename to src/native/libs/Common/pal_config.h.in diff --git a/src/libraries/Native/Unix/Common/pal_error_common.h b/src/native/libs/Common/pal_error_common.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_error_common.h rename to src/native/libs/Common/pal_error_common.h diff --git a/src/libraries/Native/Unix/Common/pal_io_common.h b/src/native/libs/Common/pal_io_common.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_io_common.h rename to src/native/libs/Common/pal_io_common.h diff --git a/src/libraries/Native/Unix/Common/pal_networking_common.h b/src/native/libs/Common/pal_networking_common.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_networking_common.h rename to src/native/libs/Common/pal_networking_common.h diff --git a/src/libraries/Native/Unix/Common/pal_safecrt.h b/src/native/libs/Common/pal_safecrt.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_safecrt.h rename to src/native/libs/Common/pal_safecrt.h diff --git a/src/libraries/Native/Unix/Common/pal_ssl_types.h b/src/native/libs/Common/pal_ssl_types.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_ssl_types.h rename to src/native/libs/Common/pal_ssl_types.h diff --git a/src/libraries/Native/Unix/Common/pal_types.h b/src/native/libs/Common/pal_types.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_types.h rename to src/native/libs/Common/pal_types.h diff --git a/src/libraries/Native/Unix/Common/pal_utilities.h b/src/native/libs/Common/pal_utilities.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_utilities.h rename to src/native/libs/Common/pal_utilities.h diff --git a/src/libraries/Native/Unix/Common/pal_x509_types.h b/src/native/libs/Common/pal_x509_types.h similarity index 100% rename from src/libraries/Native/Unix/Common/pal_x509_types.h rename to src/native/libs/Common/pal_x509_types.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt b/src/native/libs/System.Globalization.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/CMakeLists.txt rename to src/native/libs/System.Globalization.Native/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Globalization.Native/config.h.in b/src/native/libs/System.Globalization.Native/config.h.in similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/config.h.in rename to src/native/libs/System.Globalization.Native/config.h.in diff --git a/src/libraries/Native/Unix/System.Globalization.Native/configure.cmake b/src/native/libs/System.Globalization.Native/configure.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/configure.cmake rename to src/native/libs/System.Globalization.Native/configure.cmake diff --git a/src/libraries/Native/Unix/System.Globalization.Native/entrypoints.c b/src/native/libs/System.Globalization.Native/entrypoints.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/entrypoints.c rename to src/native/libs/System.Globalization.Native/entrypoints.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c b/src/native/libs/System.Globalization.Native/pal_calendarData.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c rename to src/native/libs/System.Globalization.Native/pal_calendarData.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h b/src/native/libs/System.Globalization.Native/pal_calendarData.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.h rename to src/native/libs/System.Globalization.Native/pal_calendarData.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c b/src/native/libs/System.Globalization.Native/pal_casing.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c rename to src/native/libs/System.Globalization.Native/pal_casing.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h b/src/native/libs/System.Globalization.Native/pal_casing.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_casing.h rename to src/native/libs/System.Globalization.Native/pal_casing.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c b/src/native/libs/System.Globalization.Native/pal_collation.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c rename to src/native/libs/System.Globalization.Native/pal_collation.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h b/src/native/libs/System.Globalization.Native/pal_collation.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_collation.h rename to src/native/libs/System.Globalization.Native/pal_collation.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h b/src/native/libs/System.Globalization.Native/pal_errors.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_errors.h rename to src/native/libs/System.Globalization.Native/pal_errors.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_errors_internal.h b/src/native/libs/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/native/libs/System.Globalization.Native/pal_errors_internal.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c b/src/native/libs/System.Globalization.Native/pal_icushim.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c rename to src/native/libs/System.Globalization.Native/pal_icushim.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h b/src/native/libs/System.Globalization.Native/pal_icushim.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h rename to src/native/libs/System.Globalization.Native/pal_icushim.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h b/src/native/libs/System.Globalization.Native/pal_icushim_internal.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h rename to src/native/libs/System.Globalization.Native/pal_icushim_internal.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal_android.h b/src/native/libs/System.Globalization.Native/pal_icushim_internal_android.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal_android.h rename to src/native/libs/System.Globalization.Native/pal_icushim_internal_android.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_static.c b/src/native/libs/System.Globalization.Native/pal_icushim_static.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_static.c rename to src/native/libs/System.Globalization.Native/pal_icushim_static.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c b/src/native/libs/System.Globalization.Native/pal_idna.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_idna.c rename to src/native/libs/System.Globalization.Native/pal_idna.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h b/src/native/libs/System.Globalization.Native/pal_idna.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_idna.h rename to src/native/libs/System.Globalization.Native/pal_idna.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c b/src/native/libs/System.Globalization.Native/pal_locale.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c rename to src/native/libs/System.Globalization.Native/pal_locale.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h b/src/native/libs/System.Globalization.Native/pal_locale.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h rename to src/native/libs/System.Globalization.Native/pal_locale.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c b/src/native/libs/System.Globalization.Native/pal_localeNumberData.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c rename to src/native/libs/System.Globalization.Native/pal_localeNumberData.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h b/src/native/libs/System.Globalization.Native/pal_localeNumberData.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.h rename to src/native/libs/System.Globalization.Native/pal_localeNumberData.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c b/src/native/libs/System.Globalization.Native/pal_localeStringData.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c rename to src/native/libs/System.Globalization.Native/pal_localeStringData.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h b/src/native/libs/System.Globalization.Native/pal_localeStringData.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.h rename to src/native/libs/System.Globalization.Native/pal_localeStringData.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale_internal.h b/src/native/libs/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/native/libs/System.Globalization.Native/pal_locale_internal.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c b/src/native/libs/System.Globalization.Native/pal_normalization.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c rename to src/native/libs/System.Globalization.Native/pal_normalization.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h b/src/native/libs/System.Globalization.Native/pal_normalization.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.h rename to src/native/libs/System.Globalization.Native/pal_normalization.h diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c b/src/native/libs/System.Globalization.Native/pal_timeZoneInfo.c similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c rename to src/native/libs/System.Globalization.Native/pal_timeZoneInfo.c diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h b/src/native/libs/System.Globalization.Native/pal_timeZoneInfo.h similarity index 100% rename from src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.h rename to src/native/libs/System.Globalization.Native/pal_timeZoneInfo.h diff --git a/src/native/libs/System.IO.Compression.Native/CMakeLists.txt b/src/native/libs/System.IO.Compression.Native/CMakeLists.txt new file mode 100644 index 0000000000000..4dcc4b8b7a4bf --- /dev/null +++ b/src/native/libs/System.IO.Compression.Native/CMakeLists.txt @@ -0,0 +1,186 @@ +project(System.IO.Compression.Native C) + +include(${CMAKE_CURRENT_LIST_DIR}/extra_libs.cmake) + +set(NATIVECOMPRESSION_SOURCES + pal_zlib.c +) + +if (NOT CLR_CMAKE_TARGET_BROWSER) + #Include Brotli include files + include_directories("brotli/include") + + set (NATIVECOMPRESSION_SOURCES + ${NATIVECOMPRESSION_SOURCES} + brotli/common/constants.c + brotli/common/context.c + brotli/common/dictionary.c + brotli/common/platform.c + brotli/common/transform.c + brotli/dec/bit_reader.c + brotli/dec/decode.c + brotli/dec/huffman.c + brotli/dec/state.c + brotli/enc/backward_references.c + brotli/enc/backward_references_hq.c + brotli/enc/bit_cost.c + brotli/enc/block_splitter.c + brotli/enc/brotli_bit_stream.c + brotli/enc/cluster.c + brotli/enc/command.c + brotli/enc/compress_fragment.c + brotli/enc/compress_fragment_two_pass.c + brotli/enc/dictionary_hash.c + brotli/enc/encode.c + brotli/enc/encoder_dict.c + brotli/enc/entropy_encode.c + brotli/enc/fast_log.c + brotli/enc/histogram.c + brotli/enc/literal_cost.c + brotli/enc/memory.c + brotli/enc/metablock.c + brotli/enc/static_dict.c + brotli/enc/utf8_util.c + entrypoints.c + ) +endif () + +if (CLR_CMAKE_TARGET_UNIX OR CLR_CMAKE_TARGET_BROWSER) + set(NATIVE_LIBS_EXTRA) + append_extra_compression_libs(NATIVE_LIBS_EXTRA) + + if (CLR_CMAKE_TARGET_BROWSER) + add_definitions(-s USE_ZLIB) + else () + # Disable implicit fallthrough warning for Brotli + set(FLAGS -Wno-implicit-fallthrough) + + # Delete this supression once brotli is upgraded to vNext (current latest v1.0.9 + # does not contain upstream fix: https://github.com/google/brotli/commit/0a3944c) + set(FLAGS "${FLAGS} -Wno-vla-parameter") + + set_source_files_properties(${NATIVECOMPRESSION_SOURCES} PROPERTIES COMPILE_FLAGS ${FLAGS}) + endif () + + if (GEN_SHARED_LIB) + add_definitions(-DBROTLI_SHARED_COMPILATION) + + add_library(System.IO.Compression.Native + SHARED + ${NATIVECOMPRESSION_SOURCES} + ${VERSION_FILE_PATH} + ) + + target_link_libraries(System.IO.Compression.Native + ${NATIVE_LIBS_EXTRA} + ) + + if (NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID) + set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/System.IO.Compression.Native_unixexports.src) + set(EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/System.IO.Compression.Native.exports) + generate_exports_file(${DEF_SOURCES} ${EXPORTS_FILE}) + set_exports_linker_option(${EXPORTS_FILE}) + + add_custom_target(System.IO.Compression.Native_exports DEPENDS ${EXPORTS_FILE}) + add_dependencies(System.IO.Compression.Native System.IO.Compression.Native_exports) + + set_property(TARGET System.IO.Compression.Native APPEND_STRING PROPERTY LINK_FLAGS ${EXPORTS_LINKER_OPTION}) + set_property(TARGET System.IO.Compression.Native APPEND_STRING PROPERTY LINK_DEPENDS ${EXPORTS_FILE}) + + add_custom_command(TARGET System.IO.Compression.Native POST_BUILD + COMMENT "Verifying System.IO.Compression.Native entry points against entrypoints.c " + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../verify-entrypoints.sh + $ + ${CMAKE_CURRENT_SOURCE_DIR}/entrypoints.c + ${CMAKE_NM} + VERBATIM + ) + endif () + + install_with_stripped_symbols (System.IO.Compression.Native PROGRAMS .) + endif () + + add_library(System.IO.Compression.Native-Static + STATIC + ${NATIVECOMPRESSION_SOURCES} + ) + + set_target_properties(System.IO.Compression.Native-Static PROPERTIES OUTPUT_NAME System.IO.Compression.Native CLEAN_DIRECT_OUTPUT 1) +else () + if (GEN_SHARED_LIB) + include (GenerateExportHeader) + endif () + + if (CLR_CMAKE_HOST_ARCH_I386 OR CLR_CMAKE_HOST_ARCH_AMD64) + set(ZLIB_SOURCES + zlib-intel/adler32.c + zlib-intel/compress.c + zlib-intel/crc_folding.c + zlib-intel/crc32.c + zlib-intel/deflate_medium.c + zlib-intel/deflate_quick.c + zlib-intel/deflate.c + zlib-intel/inffast.c + zlib-intel/inflate.c + zlib-intel/inftrees.c + zlib-intel/match.c + zlib-intel/slide_sse.c + zlib-intel/trees.c + zlib-intel/x86.c + zlib-intel/zutil.c + ) + else () + set(ZLIB_SOURCES + zlib/adler32.c + zlib/compress.c + zlib/crc32.c + zlib/deflate.c + zlib/inffast.c + zlib/inflate.c + zlib/inftrees.c + zlib/trees.c + zlib/zutil.c + ) + endif () + + set(NATIVECOMPRESSION_SOURCES ${ZLIB_SOURCES} ${NATIVECOMPRESSION_SOURCES}) + + if (GEN_SHARED_LIB) + add_library(System.IO.Compression.Native + SHARED + ${NATIVECOMPRESSION_SOURCES} + System.IO.Compression.Native.def + # This will add versioning to the library + ${VERSION_FILE_RC_PATH} + ) + endif () + + if (NOT GEN_SHARED_LIB AND NOT CLR_CMAKE_TARGET_MACCATALYST AND NOT CLR_CMAKE_TARGET_IOS AND NOT CLR_CMAKE_TARGET_TVOS AND NOT CLR_CMAKE_TARGET_ANDROID AND NOT CLR_CMAKE_TARGET_BROWSER) + set(NATIVECOMPRESSION_SOURCES ${NATIVECOMPRESSION_SOURCES} entrypoints.c) + endif () + + add_library(System.IO.Compression.Native-Static + STATIC + ${NATIVECOMPRESSION_SOURCES} + ) + + # Allow specification of libraries that should be linked against + if (GEN_SHARED_LIB) + target_link_libraries(System.IO.Compression.Native ${__LinkLibraries}) + endif () + target_link_libraries(System.IO.Compression.Native-Static ${__LinkLibraries}) + + if (GEN_SHARED_LIB) + GENERATE_EXPORT_HEADER( System.IO.Compression.Native + BASE_NAME System.IO.Compression.Native + EXPORT_MACRO_NAME System.IO.Compression.Native_EXPORT + EXPORT_FILE_NAME System.IO.Compression.Native_Export.h + STATIC_DEFINE System.IO.Compression.Native_BUILT_AS_STATIC + ) + + install (TARGETS System.IO.Compression.Native DESTINATION .) + install (FILES $ DESTINATION .) + endif () +endif () + +install (TARGETS System.IO.Compression.Native-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs) diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/Native.rc b/src/native/libs/System.IO.Compression.Native/Native.rc similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/Native.rc rename to src/native/libs/System.IO.Compression.Native/Native.rc diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/System.IO.Compression.Native.def b/src/native/libs/System.IO.Compression.Native/System.IO.Compression.Native.def similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/System.IO.Compression.Native.def rename to src/native/libs/System.IO.Compression.Native/System.IO.Compression.Native.def diff --git a/src/libraries/Native/Unix/System.IO.Compression.Native/System.IO.Compression.Native_unixexports.src b/src/native/libs/System.IO.Compression.Native/System.IO.Compression.Native_unixexports.src similarity index 100% rename from src/libraries/Native/Unix/System.IO.Compression.Native/System.IO.Compression.Native_unixexports.src rename to src/native/libs/System.IO.Compression.Native/System.IO.Compression.Native_unixexports.src diff --git a/src/libraries/Native/AnyOS/brotli-version.txt b/src/native/libs/System.IO.Compression.Native/brotli-version.txt similarity index 100% rename from src/libraries/Native/AnyOS/brotli-version.txt rename to src/native/libs/System.IO.Compression.Native/brotli-version.txt diff --git a/src/libraries/Native/AnyOS/brotli/common/constants.c b/src/native/libs/System.IO.Compression.Native/brotli/common/constants.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/constants.c rename to src/native/libs/System.IO.Compression.Native/brotli/common/constants.c diff --git a/src/libraries/Native/AnyOS/brotli/common/constants.h b/src/native/libs/System.IO.Compression.Native/brotli/common/constants.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/constants.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/constants.h diff --git a/src/libraries/Native/AnyOS/brotli/common/context.c b/src/native/libs/System.IO.Compression.Native/brotli/common/context.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/context.c rename to src/native/libs/System.IO.Compression.Native/brotli/common/context.c diff --git a/src/libraries/Native/AnyOS/brotli/common/context.h b/src/native/libs/System.IO.Compression.Native/brotli/common/context.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/context.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/context.h diff --git a/src/libraries/Native/AnyOS/brotli/common/dictionary.bin b/src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.bin similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/dictionary.bin rename to src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.bin diff --git a/src/libraries/Native/AnyOS/brotli/common/dictionary.bin.br b/src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.bin.br similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/dictionary.bin.br rename to src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.bin.br diff --git a/src/libraries/Native/AnyOS/brotli/common/dictionary.c b/src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/dictionary.c rename to src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.c diff --git a/src/libraries/Native/AnyOS/brotli/common/dictionary.h b/src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/dictionary.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/dictionary.h diff --git a/src/libraries/Native/AnyOS/brotli/common/platform.c b/src/native/libs/System.IO.Compression.Native/brotli/common/platform.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/platform.c rename to src/native/libs/System.IO.Compression.Native/brotli/common/platform.c diff --git a/src/libraries/Native/AnyOS/brotli/common/platform.h b/src/native/libs/System.IO.Compression.Native/brotli/common/platform.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/platform.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/platform.h diff --git a/src/libraries/Native/AnyOS/brotli/common/transform.c b/src/native/libs/System.IO.Compression.Native/brotli/common/transform.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/transform.c rename to src/native/libs/System.IO.Compression.Native/brotli/common/transform.c diff --git a/src/libraries/Native/AnyOS/brotli/common/transform.h b/src/native/libs/System.IO.Compression.Native/brotli/common/transform.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/transform.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/transform.h diff --git a/src/libraries/Native/AnyOS/brotli/common/version.h b/src/native/libs/System.IO.Compression.Native/brotli/common/version.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/common/version.h rename to src/native/libs/System.IO.Compression.Native/brotli/common/version.h diff --git a/src/libraries/Native/AnyOS/brotli/dec/bit_reader.c b/src/native/libs/System.IO.Compression.Native/brotli/dec/bit_reader.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/bit_reader.c rename to src/native/libs/System.IO.Compression.Native/brotli/dec/bit_reader.c diff --git a/src/libraries/Native/AnyOS/brotli/dec/bit_reader.h b/src/native/libs/System.IO.Compression.Native/brotli/dec/bit_reader.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/bit_reader.h rename to src/native/libs/System.IO.Compression.Native/brotli/dec/bit_reader.h diff --git a/src/libraries/Native/AnyOS/brotli/dec/decode.c b/src/native/libs/System.IO.Compression.Native/brotli/dec/decode.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/decode.c rename to src/native/libs/System.IO.Compression.Native/brotli/dec/decode.c diff --git a/src/libraries/Native/AnyOS/brotli/dec/huffman.c b/src/native/libs/System.IO.Compression.Native/brotli/dec/huffman.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/huffman.c rename to src/native/libs/System.IO.Compression.Native/brotli/dec/huffman.c diff --git a/src/libraries/Native/AnyOS/brotli/dec/huffman.h b/src/native/libs/System.IO.Compression.Native/brotli/dec/huffman.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/huffman.h rename to src/native/libs/System.IO.Compression.Native/brotli/dec/huffman.h diff --git a/src/libraries/Native/AnyOS/brotli/dec/prefix.h b/src/native/libs/System.IO.Compression.Native/brotli/dec/prefix.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/prefix.h rename to src/native/libs/System.IO.Compression.Native/brotli/dec/prefix.h diff --git a/src/libraries/Native/AnyOS/brotli/dec/state.c b/src/native/libs/System.IO.Compression.Native/brotli/dec/state.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/state.c rename to src/native/libs/System.IO.Compression.Native/brotli/dec/state.c diff --git a/src/libraries/Native/AnyOS/brotli/dec/state.h b/src/native/libs/System.IO.Compression.Native/brotli/dec/state.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/dec/state.h rename to src/native/libs/System.IO.Compression.Native/brotli/dec/state.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/backward_references.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/backward_references.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/backward_references.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/backward_references.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/backward_references_hq.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_hq.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/backward_references_hq.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_hq.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/backward_references_hq.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_hq.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/backward_references_hq.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_hq.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/backward_references_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/backward_references_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/backward_references_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/bit_cost.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/bit_cost.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/bit_cost.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/bit_cost.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/bit_cost_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/bit_cost_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/bit_cost_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/block_encoder_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/block_encoder_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/block_encoder_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/block_encoder_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/block_splitter.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/block_splitter.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/block_splitter.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/block_splitter.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/block_splitter_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/block_splitter_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/block_splitter_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/brotli_bit_stream.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/brotli_bit_stream.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/brotli_bit_stream.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/brotli_bit_stream.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/brotli_bit_stream.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/brotli_bit_stream.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/brotli_bit_stream.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/brotli_bit_stream.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/cluster.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/cluster.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/cluster.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/cluster.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/cluster.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/cluster.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/cluster.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/cluster.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/cluster_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/cluster_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/cluster_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/cluster_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/command.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/command.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/command.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/command.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/command.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/command.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/command.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/command.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/compress_fragment.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/compress_fragment.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/compress_fragment.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/compress_fragment.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/compress_fragment_two_pass.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment_two_pass.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/compress_fragment_two_pass.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment_two_pass.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/compress_fragment_two_pass.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment_two_pass.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/compress_fragment_two_pass.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/compress_fragment_two_pass.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/dictionary_hash.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/dictionary_hash.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/dictionary_hash.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/dictionary_hash.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/dictionary_hash.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/dictionary_hash.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/dictionary_hash.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/dictionary_hash.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/encode.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/encode.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/encode.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/encode.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/encoder_dict.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/encoder_dict.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/encoder_dict.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/encoder_dict.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/encoder_dict.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/encoder_dict.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/encoder_dict.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/encoder_dict.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/entropy_encode.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/entropy_encode.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/entropy_encode.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/entropy_encode.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/entropy_encode_static.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode_static.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/entropy_encode_static.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/entropy_encode_static.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/fast_log.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/fast_log.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/fast_log.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/fast_log.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/fast_log.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/fast_log.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/fast_log.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/fast_log.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/find_match_length.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/find_match_length.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/find_match_length.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/find_match_length.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_composite_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_composite_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_composite_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_composite_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_forgetful_chain_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_forgetful_chain_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_forgetful_chain_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_forgetful_chain_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_longest_match64_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match64_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_longest_match64_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match64_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_longest_match_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_longest_match_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_longest_match_quickly_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match_quickly_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_longest_match_quickly_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_longest_match_quickly_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_rolling_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_rolling_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_rolling_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_rolling_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/hash_to_binary_tree_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/hash_to_binary_tree_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/hash_to_binary_tree_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/hash_to_binary_tree_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/histogram.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/histogram.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/histogram.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/histogram.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/histogram.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/histogram.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/histogram.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/histogram.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/histogram_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/histogram_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/histogram_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/histogram_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/literal_cost.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/literal_cost.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/literal_cost.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/literal_cost.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/literal_cost.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/literal_cost.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/literal_cost.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/literal_cost.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/memory.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/memory.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/memory.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/memory.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/memory.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/memory.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/memory.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/memory.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/metablock.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/metablock.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/metablock.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/metablock.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/metablock.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/metablock.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/metablock.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/metablock.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/metablock_inc.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/metablock_inc.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/metablock_inc.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/metablock_inc.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/params.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/params.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/params.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/params.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/prefix.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/prefix.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/prefix.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/prefix.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/quality.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/quality.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/quality.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/quality.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/ringbuffer.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/ringbuffer.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/ringbuffer.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/ringbuffer.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/static_dict.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/static_dict.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/static_dict.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/static_dict.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/static_dict_lut.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict_lut.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/static_dict_lut.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/static_dict_lut.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/utf8_util.c b/src/native/libs/System.IO.Compression.Native/brotli/enc/utf8_util.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/utf8_util.c rename to src/native/libs/System.IO.Compression.Native/brotli/enc/utf8_util.c diff --git a/src/libraries/Native/AnyOS/brotli/enc/utf8_util.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/utf8_util.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/utf8_util.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/utf8_util.h diff --git a/src/libraries/Native/AnyOS/brotli/enc/write_bits.h b/src/native/libs/System.IO.Compression.Native/brotli/enc/write_bits.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/enc/write_bits.h rename to src/native/libs/System.IO.Compression.Native/brotli/enc/write_bits.h diff --git a/src/libraries/Native/AnyOS/brotli/fuzz/decode_fuzzer.c b/src/native/libs/System.IO.Compression.Native/brotli/fuzz/decode_fuzzer.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/fuzz/decode_fuzzer.c rename to src/native/libs/System.IO.Compression.Native/brotli/fuzz/decode_fuzzer.c diff --git a/src/libraries/Native/AnyOS/brotli/fuzz/run_decode_fuzzer.c b/src/native/libs/System.IO.Compression.Native/brotli/fuzz/run_decode_fuzzer.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/fuzz/run_decode_fuzzer.c rename to src/native/libs/System.IO.Compression.Native/brotli/fuzz/run_decode_fuzzer.c diff --git a/src/libraries/Native/AnyOS/brotli/fuzz/test_fuzzer.sh b/src/native/libs/System.IO.Compression.Native/brotli/fuzz/test_fuzzer.sh similarity index 100% rename from src/libraries/Native/AnyOS/brotli/fuzz/test_fuzzer.sh rename to src/native/libs/System.IO.Compression.Native/brotli/fuzz/test_fuzzer.sh diff --git a/src/libraries/Native/AnyOS/brotli/include/brotli/decode.h b/src/native/libs/System.IO.Compression.Native/brotli/include/brotli/decode.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/include/brotli/decode.h rename to src/native/libs/System.IO.Compression.Native/brotli/include/brotli/decode.h diff --git a/src/libraries/Native/AnyOS/brotli/include/brotli/encode.h b/src/native/libs/System.IO.Compression.Native/brotli/include/brotli/encode.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/include/brotli/encode.h rename to src/native/libs/System.IO.Compression.Native/brotli/include/brotli/encode.h diff --git a/src/libraries/Native/AnyOS/brotli/include/brotli/port.h b/src/native/libs/System.IO.Compression.Native/brotli/include/brotli/port.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/include/brotli/port.h rename to src/native/libs/System.IO.Compression.Native/brotli/include/brotli/port.h diff --git a/src/libraries/Native/AnyOS/brotli/include/brotli/types.h b/src/native/libs/System.IO.Compression.Native/brotli/include/brotli/types.h similarity index 100% rename from src/libraries/Native/AnyOS/brotli/include/brotli/types.h rename to src/native/libs/System.IO.Compression.Native/brotli/include/brotli/types.h diff --git a/src/libraries/Native/AnyOS/brotli/tools/brotli.c b/src/native/libs/System.IO.Compression.Native/brotli/tools/brotli.c similarity index 100% rename from src/libraries/Native/AnyOS/brotli/tools/brotli.c rename to src/native/libs/System.IO.Compression.Native/brotli/tools/brotli.c diff --git a/src/libraries/Native/AnyOS/brotli/tools/brotli.md b/src/native/libs/System.IO.Compression.Native/brotli/tools/brotli.md similarity index 100% rename from src/libraries/Native/AnyOS/brotli/tools/brotli.md rename to src/native/libs/System.IO.Compression.Native/brotli/tools/brotli.md diff --git a/src/libraries/Native/AnyOS/System.IO.Compression.Native/entrypoints.c b/src/native/libs/System.IO.Compression.Native/entrypoints.c similarity index 87% rename from src/libraries/Native/AnyOS/System.IO.Compression.Native/entrypoints.c rename to src/native/libs/System.IO.Compression.Native/entrypoints.c index 31581fbe0c520..459db03a7f70e 100644 --- a/src/libraries/Native/AnyOS/System.IO.Compression.Native/entrypoints.c +++ b/src/native/libs/System.IO.Compression.Native/entrypoints.c @@ -4,11 +4,11 @@ #include // Include System.IO.Compression.Native headers -#include "../zlib/pal_zlib.h" -#include "../brotli/include/brotli/decode.h" -#include "../brotli/include/brotli/encode.h" -#include "../brotli/include/brotli/port.h" -#include "../brotli/include/brotli/types.h" +#include "pal_zlib.h" +#include "brotli/include/brotli/decode.h" +#include "brotli/include/brotli/encode.h" +#include "brotli/include/brotli/port.h" +#include "brotli/include/brotli/types.h" static const Entry s_compressionNative[] = { diff --git a/src/libraries/Native/Unix/System.IO.Compression.Native/extra_libs.cmake b/src/native/libs/System.IO.Compression.Native/extra_libs.cmake similarity index 100% rename from src/libraries/Native/Unix/System.IO.Compression.Native/extra_libs.cmake rename to src/native/libs/System.IO.Compression.Native/extra_libs.cmake diff --git a/src/libraries/Native/AnyOS/zlib/pal_zlib.c b/src/native/libs/System.IO.Compression.Native/pal_zlib.c similarity index 98% rename from src/libraries/Native/AnyOS/zlib/pal_zlib.c rename to src/native/libs/System.IO.Compression.Native/pal_zlib.c index aa4dcdca8a29e..27bb12a05e7f4 100644 --- a/src/libraries/Native/AnyOS/zlib/pal_zlib.c +++ b/src/native/libs/System.IO.Compression.Native/pal_zlib.c @@ -7,7 +7,7 @@ #ifdef _WIN32 #define c_static_assert(e) static_assert((e),"") - #include "../../Windows/System.IO.Compression.Native/zlib/zlib.h" + #include "zlib/zlib.h" #else #include "pal_utilities.h" #include diff --git a/src/libraries/Native/AnyOS/zlib/pal_zlib.h b/src/native/libs/System.IO.Compression.Native/pal_zlib.h similarity index 100% rename from src/libraries/Native/AnyOS/zlib/pal_zlib.h rename to src/native/libs/System.IO.Compression.Native/pal_zlib.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/README.txt b/src/native/libs/System.IO.Compression.Native/zlib-intel/README.txt similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/README.txt rename to src/native/libs/System.IO.Compression.Native/zlib-intel/README.txt diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/adler32.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/adler32.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/adler32.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/adler32.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/compress.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/compress.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/compress.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/compress.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc32.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/crc32.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc32.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/crc32.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc32.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/crc32.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc32.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/crc32.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc_folding.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/crc_folding.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/crc_folding.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/crc_folding.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/deflate.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/deflate.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/deflate.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/deflate.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate_medium.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/deflate_medium.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate_medium.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/deflate_medium.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate_quick.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/deflate_quick.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/deflate_quick.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/deflate_quick.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/gzguts.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/gzguts.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/gzguts.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/gzguts.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffast.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/inffast.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffast.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inffast.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffast.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/inffast.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffast.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inffast.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffixed.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/inffixed.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inffixed.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inffixed.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inflate.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/inflate.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inflate.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inflate.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inflate.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/inflate.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inflate.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inflate.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inftrees.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/inftrees.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inftrees.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inftrees.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inftrees.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/inftrees.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/inftrees.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/inftrees.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/match.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/match.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/match.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/match.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/slide_sse.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/slide_sse.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/slide_sse.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/slide_sse.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/trees.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/trees.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/trees.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/trees.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/trees.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/trees.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/trees.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/trees.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/x86.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/x86.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/x86.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/x86.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/x86.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/x86.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/x86.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/x86.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zconf.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/zconf.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zconf.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/zconf.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zlib.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/zlib.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zlib.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/zlib.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zutil.c b/src/native/libs/System.IO.Compression.Native/zlib-intel/zutil.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zutil.c rename to src/native/libs/System.IO.Compression.Native/zlib-intel/zutil.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zutil.h b/src/native/libs/System.IO.Compression.Native/zlib-intel/zutil.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib-intel/zutil.h rename to src/native/libs/System.IO.Compression.Native/zlib-intel/zutil.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib.md b/src/native/libs/System.IO.Compression.Native/zlib.md similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib.md rename to src/native/libs/System.IO.Compression.Native/zlib.md diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/CMakeLists.txt b/src/native/libs/System.IO.Compression.Native/zlib/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/CMakeLists.txt rename to src/native/libs/System.IO.Compression.Native/zlib/CMakeLists.txt diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/ChangeLog b/src/native/libs/System.IO.Compression.Native/zlib/ChangeLog similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/ChangeLog rename to src/native/libs/System.IO.Compression.Native/zlib/ChangeLog diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/FAQ b/src/native/libs/System.IO.Compression.Native/zlib/FAQ similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/FAQ rename to src/native/libs/System.IO.Compression.Native/zlib/FAQ diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/INDEX b/src/native/libs/System.IO.Compression.Native/zlib/INDEX similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/INDEX rename to src/native/libs/System.IO.Compression.Native/zlib/INDEX diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/Makefile b/src/native/libs/System.IO.Compression.Native/zlib/Makefile similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/Makefile rename to src/native/libs/System.IO.Compression.Native/zlib/Makefile diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/Makefile.in b/src/native/libs/System.IO.Compression.Native/zlib/Makefile.in similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/Makefile.in rename to src/native/libs/System.IO.Compression.Native/zlib/Makefile.in diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/README b/src/native/libs/System.IO.Compression.Native/zlib/README similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/README rename to src/native/libs/System.IO.Compression.Native/zlib/README diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/adler32.c b/src/native/libs/System.IO.Compression.Native/zlib/adler32.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/adler32.c rename to src/native/libs/System.IO.Compression.Native/zlib/adler32.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/compress.c b/src/native/libs/System.IO.Compression.Native/zlib/compress.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/compress.c rename to src/native/libs/System.IO.Compression.Native/zlib/compress.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/configure b/src/native/libs/System.IO.Compression.Native/zlib/configure similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/configure rename to src/native/libs/System.IO.Compression.Native/zlib/configure diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/crc32.c b/src/native/libs/System.IO.Compression.Native/zlib/crc32.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/crc32.c rename to src/native/libs/System.IO.Compression.Native/zlib/crc32.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/crc32.h b/src/native/libs/System.IO.Compression.Native/zlib/crc32.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/crc32.h rename to src/native/libs/System.IO.Compression.Native/zlib/crc32.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/deflate.c b/src/native/libs/System.IO.Compression.Native/zlib/deflate.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/deflate.c rename to src/native/libs/System.IO.Compression.Native/zlib/deflate.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/deflate.h b/src/native/libs/System.IO.Compression.Native/zlib/deflate.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/deflate.h rename to src/native/libs/System.IO.Compression.Native/zlib/deflate.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzclose.c b/src/native/libs/System.IO.Compression.Native/zlib/gzclose.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzclose.c rename to src/native/libs/System.IO.Compression.Native/zlib/gzclose.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzguts.h b/src/native/libs/System.IO.Compression.Native/zlib/gzguts.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzguts.h rename to src/native/libs/System.IO.Compression.Native/zlib/gzguts.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzlib.c b/src/native/libs/System.IO.Compression.Native/zlib/gzlib.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzlib.c rename to src/native/libs/System.IO.Compression.Native/zlib/gzlib.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzread.c b/src/native/libs/System.IO.Compression.Native/zlib/gzread.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzread.c rename to src/native/libs/System.IO.Compression.Native/zlib/gzread.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzwrite.c b/src/native/libs/System.IO.Compression.Native/zlib/gzwrite.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/gzwrite.c rename to src/native/libs/System.IO.Compression.Native/zlib/gzwrite.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/infback.c b/src/native/libs/System.IO.Compression.Native/zlib/infback.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/infback.c rename to src/native/libs/System.IO.Compression.Native/zlib/infback.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffast.c b/src/native/libs/System.IO.Compression.Native/zlib/inffast.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffast.c rename to src/native/libs/System.IO.Compression.Native/zlib/inffast.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffast.h b/src/native/libs/System.IO.Compression.Native/zlib/inffast.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffast.h rename to src/native/libs/System.IO.Compression.Native/zlib/inffast.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffixed.h b/src/native/libs/System.IO.Compression.Native/zlib/inffixed.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inffixed.h rename to src/native/libs/System.IO.Compression.Native/zlib/inffixed.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inflate.c b/src/native/libs/System.IO.Compression.Native/zlib/inflate.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inflate.c rename to src/native/libs/System.IO.Compression.Native/zlib/inflate.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inflate.h b/src/native/libs/System.IO.Compression.Native/zlib/inflate.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inflate.h rename to src/native/libs/System.IO.Compression.Native/zlib/inflate.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inftrees.c b/src/native/libs/System.IO.Compression.Native/zlib/inftrees.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inftrees.c rename to src/native/libs/System.IO.Compression.Native/zlib/inftrees.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inftrees.h b/src/native/libs/System.IO.Compression.Native/zlib/inftrees.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/inftrees.h rename to src/native/libs/System.IO.Compression.Native/zlib/inftrees.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/make_vms.com b/src/native/libs/System.IO.Compression.Native/zlib/make_vms.com similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/make_vms.com rename to src/native/libs/System.IO.Compression.Native/zlib/make_vms.com diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/treebuild.xml b/src/native/libs/System.IO.Compression.Native/zlib/treebuild.xml similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/treebuild.xml rename to src/native/libs/System.IO.Compression.Native/zlib/treebuild.xml diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/trees.c b/src/native/libs/System.IO.Compression.Native/zlib/trees.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/trees.c rename to src/native/libs/System.IO.Compression.Native/zlib/trees.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/trees.h b/src/native/libs/System.IO.Compression.Native/zlib/trees.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/trees.h rename to src/native/libs/System.IO.Compression.Native/zlib/trees.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/uncompr.c b/src/native/libs/System.IO.Compression.Native/zlib/uncompr.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/uncompr.c rename to src/native/libs/System.IO.Compression.Native/zlib/uncompr.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h b/src/native/libs/System.IO.Compression.Native/zlib/zconf.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h rename to src/native/libs/System.IO.Compression.Native/zlib/zconf.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h.cmakein b/src/native/libs/System.IO.Compression.Native/zlib/zconf.h.cmakein similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h.cmakein rename to src/native/libs/System.IO.Compression.Native/zlib/zconf.h.cmakein diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h.in b/src/native/libs/System.IO.Compression.Native/zlib/zconf.h.in similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zconf.h.in rename to src/native/libs/System.IO.Compression.Native/zlib/zconf.h.in diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.3 b/src/native/libs/System.IO.Compression.Native/zlib/zlib.3 similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.3 rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.3 diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.3.pdf b/src/native/libs/System.IO.Compression.Native/zlib/zlib.3.pdf similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.3.pdf rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.3.pdf diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.h b/src/native/libs/System.IO.Compression.Native/zlib/zlib.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.h rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.h diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.map b/src/native/libs/System.IO.Compression.Native/zlib/zlib.map similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.map rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.map diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.pc.cmakein b/src/native/libs/System.IO.Compression.Native/zlib/zlib.pc.cmakein similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.pc.cmakein rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.pc.cmakein diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.pc.in b/src/native/libs/System.IO.Compression.Native/zlib/zlib.pc.in similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib.pc.in rename to src/native/libs/System.IO.Compression.Native/zlib/zlib.pc.in diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib2ansi b/src/native/libs/System.IO.Compression.Native/zlib/zlib2ansi similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zlib2ansi rename to src/native/libs/System.IO.Compression.Native/zlib/zlib2ansi diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zutil.c b/src/native/libs/System.IO.Compression.Native/zlib/zutil.c similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zutil.c rename to src/native/libs/System.IO.Compression.Native/zlib/zutil.c diff --git a/src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zutil.h b/src/native/libs/System.IO.Compression.Native/zlib/zutil.h similarity index 100% rename from src/libraries/Native/Windows/System.IO.Compression.Native/zlib/zutil.h rename to src/native/libs/System.IO.Compression.Native/zlib/zutil.h diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/CMakeLists.txt b/src/native/libs/System.IO.Ports.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.IO.Ports.Native/CMakeLists.txt rename to src/native/libs/System.IO.Ports.Native/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.c b/src/native/libs/System.IO.Ports.Native/pal_serial.c similarity index 100% rename from src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.c rename to src/native/libs/System.IO.Ports.Native/pal_serial.c diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h b/src/native/libs/System.IO.Ports.Native/pal_serial.h similarity index 100% rename from src/libraries/Native/Unix/System.IO.Ports.Native/pal_serial.h rename to src/native/libs/System.IO.Ports.Native/pal_serial.h diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.c b/src/native/libs/System.IO.Ports.Native/pal_termios.c similarity index 100% rename from src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.c rename to src/native/libs/System.IO.Ports.Native/pal_termios.c diff --git a/src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h b/src/native/libs/System.IO.Ports.Native/pal_termios.h similarity index 100% rename from src/libraries/Native/Unix/System.IO.Ports.Native/pal_termios.h rename to src/native/libs/System.IO.Ports.Native/pal_termios.h diff --git a/src/libraries/Native/Unix/System.Native/CMakeLists.txt b/src/native/libs/System.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Native/CMakeLists.txt rename to src/native/libs/System.Native/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Native/entrypoints.c b/src/native/libs/System.Native/entrypoints.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/entrypoints.c rename to src/native/libs/System.Native/entrypoints.c diff --git a/src/libraries/Native/Unix/System.Native/extra_libs.cmake b/src/native/libs/System.Native/extra_libs.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Native/extra_libs.cmake rename to src/native/libs/System.Native/extra_libs.cmake diff --git a/src/libraries/Native/Unix/System.Native/ios/net/if_media.h b/src/native/libs/System.Native/ios/net/if_media.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/net/if_media.h rename to src/native/libs/System.Native/ios/net/if_media.h diff --git a/src/libraries/Native/Unix/System.Native/ios/net/route.h b/src/native/libs/System.Native/ios/net/route.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/net/route.h rename to src/native/libs/System.Native/ios/net/route.h diff --git a/src/libraries/Native/Unix/System.Native/ios/netinet/icmp_var.h b/src/native/libs/System.Native/ios/netinet/icmp_var.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/netinet/icmp_var.h rename to src/native/libs/System.Native/ios/netinet/icmp_var.h diff --git a/src/libraries/Native/Unix/System.Native/ios/netinet/ip_var.h b/src/native/libs/System.Native/ios/netinet/ip_var.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/netinet/ip_var.h rename to src/native/libs/System.Native/ios/netinet/ip_var.h diff --git a/src/libraries/Native/Unix/System.Native/ios/netinet/tcp_fsm.h b/src/native/libs/System.Native/ios/netinet/tcp_fsm.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/netinet/tcp_fsm.h rename to src/native/libs/System.Native/ios/netinet/tcp_fsm.h diff --git a/src/libraries/Native/Unix/System.Native/ios/netinet/udp_var.h b/src/native/libs/System.Native/ios/netinet/udp_var.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/ios/netinet/udp_var.h rename to src/native/libs/System.Native/ios/netinet/udp_var.h diff --git a/src/libraries/Native/Unix/System.Native/pal_autoreleasepool.c b/src/native/libs/System.Native/pal_autoreleasepool.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_autoreleasepool.c rename to src/native/libs/System.Native/pal_autoreleasepool.c diff --git a/src/libraries/Native/Unix/System.Native/pal_autoreleasepool.h b/src/native/libs/System.Native/pal_autoreleasepool.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_autoreleasepool.h rename to src/native/libs/System.Native/pal_autoreleasepool.h diff --git a/src/libraries/Native/Unix/System.Native/pal_autoreleasepool.m b/src/native/libs/System.Native/pal_autoreleasepool.m similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_autoreleasepool.m rename to src/native/libs/System.Native/pal_autoreleasepool.m diff --git a/src/libraries/Native/Unix/System.Native/pal_console.c b/src/native/libs/System.Native/pal_console.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_console.c rename to src/native/libs/System.Native/pal_console.c diff --git a/src/libraries/Native/Unix/System.Native/pal_console.h b/src/native/libs/System.Native/pal_console.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_console.h rename to src/native/libs/System.Native/pal_console.h diff --git a/src/libraries/Native/Unix/System.Native/pal_datetime.c b/src/native/libs/System.Native/pal_datetime.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_datetime.c rename to src/native/libs/System.Native/pal_datetime.c diff --git a/src/libraries/Native/Unix/System.Native/pal_datetime.h b/src/native/libs/System.Native/pal_datetime.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_datetime.h rename to src/native/libs/System.Native/pal_datetime.h diff --git a/src/libraries/Native/Unix/System.Native/pal_environment.c b/src/native/libs/System.Native/pal_environment.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_environment.c rename to src/native/libs/System.Native/pal_environment.c diff --git a/src/libraries/Native/Unix/System.Native/pal_environment.h b/src/native/libs/System.Native/pal_environment.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_environment.h rename to src/native/libs/System.Native/pal_environment.h diff --git a/src/libraries/Native/Unix/System.Native/pal_environment.m b/src/native/libs/System.Native/pal_environment.m similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_environment.m rename to src/native/libs/System.Native/pal_environment.m diff --git a/src/libraries/Native/Unix/System.Native/pal_errno.c b/src/native/libs/System.Native/pal_errno.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_errno.c rename to src/native/libs/System.Native/pal_errno.c diff --git a/src/libraries/Native/Unix/System.Native/pal_errno.h b/src/native/libs/System.Native/pal_errno.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_errno.h rename to src/native/libs/System.Native/pal_errno.h diff --git a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.c b/src/native/libs/System.Native/pal_interfaceaddresses.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.c rename to src/native/libs/System.Native/pal_interfaceaddresses.c diff --git a/src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h b/src/native/libs/System.Native/pal_interfaceaddresses.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_interfaceaddresses.h rename to src/native/libs/System.Native/pal_interfaceaddresses.h diff --git a/src/libraries/Native/Unix/System.Native/pal_io.c b/src/native/libs/System.Native/pal_io.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_io.c rename to src/native/libs/System.Native/pal_io.c diff --git a/src/libraries/Native/Unix/System.Native/pal_io.h b/src/native/libs/System.Native/pal_io.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_io.h rename to src/native/libs/System.Native/pal_io.h diff --git a/src/libraries/Native/Unix/System.Native/pal_iossupportversion.c b/src/native/libs/System.Native/pal_iossupportversion.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_iossupportversion.c rename to src/native/libs/System.Native/pal_iossupportversion.c diff --git a/src/libraries/Native/Unix/System.Native/pal_iossupportversion.h b/src/native/libs/System.Native/pal_iossupportversion.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_iossupportversion.h rename to src/native/libs/System.Native/pal_iossupportversion.h diff --git a/src/libraries/Native/Unix/System.Native/pal_iossupportversion.m b/src/native/libs/System.Native/pal_iossupportversion.m similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_iossupportversion.m rename to src/native/libs/System.Native/pal_iossupportversion.m diff --git a/src/libraries/Native/Unix/System.Native/pal_log.c b/src/native/libs/System.Native/pal_log.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_log.c rename to src/native/libs/System.Native/pal_log.c diff --git a/src/libraries/Native/Unix/System.Native/pal_log.h b/src/native/libs/System.Native/pal_log.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_log.h rename to src/native/libs/System.Native/pal_log.h diff --git a/src/libraries/Native/Unix/System.Native/pal_log.m b/src/native/libs/System.Native/pal_log.m similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_log.m rename to src/native/libs/System.Native/pal_log.m diff --git a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.c b/src/native/libs/System.Native/pal_maphardwaretype.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_maphardwaretype.c rename to src/native/libs/System.Native/pal_maphardwaretype.c diff --git a/src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h b/src/native/libs/System.Native/pal_maphardwaretype.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_maphardwaretype.h rename to src/native/libs/System.Native/pal_maphardwaretype.h diff --git a/src/libraries/Native/Unix/System.Native/pal_memory.c b/src/native/libs/System.Native/pal_memory.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_memory.c rename to src/native/libs/System.Native/pal_memory.c diff --git a/src/libraries/Native/Unix/System.Native/pal_memory.h b/src/native/libs/System.Native/pal_memory.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_memory.h rename to src/native/libs/System.Native/pal_memory.h diff --git a/src/libraries/Native/Unix/System.Native/pal_mount.c b/src/native/libs/System.Native/pal_mount.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_mount.c rename to src/native/libs/System.Native/pal_mount.c diff --git a/src/libraries/Native/Unix/System.Native/pal_mount.h b/src/native/libs/System.Native/pal_mount.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_mount.h rename to src/native/libs/System.Native/pal_mount.h diff --git a/src/libraries/Native/Unix/System.Native/pal_networkchange.c b/src/native/libs/System.Native/pal_networkchange.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networkchange.c rename to src/native/libs/System.Native/pal_networkchange.c diff --git a/src/libraries/Native/Unix/System.Native/pal_networkchange.h b/src/native/libs/System.Native/pal_networkchange.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networkchange.h rename to src/native/libs/System.Native/pal_networkchange.h diff --git a/src/libraries/Native/Unix/System.Native/pal_networking.c b/src/native/libs/System.Native/pal_networking.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networking.c rename to src/native/libs/System.Native/pal_networking.c diff --git a/src/libraries/Native/Unix/System.Native/pal_networking.h b/src/native/libs/System.Native/pal_networking.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networking.h rename to src/native/libs/System.Native/pal_networking.h diff --git a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.c b/src/native/libs/System.Native/pal_networkstatistics.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networkstatistics.c rename to src/native/libs/System.Native/pal_networkstatistics.c diff --git a/src/libraries/Native/Unix/System.Native/pal_networkstatistics.h b/src/native/libs/System.Native/pal_networkstatistics.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_networkstatistics.h rename to src/native/libs/System.Native/pal_networkstatistics.h diff --git a/src/libraries/Native/Unix/System.Native/pal_process.c b/src/native/libs/System.Native/pal_process.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_process.c rename to src/native/libs/System.Native/pal_process.c diff --git a/src/libraries/Native/Unix/System.Native/pal_process.h b/src/native/libs/System.Native/pal_process.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_process.h rename to src/native/libs/System.Native/pal_process.h diff --git a/src/libraries/Native/Unix/System.Native/pal_random.c b/src/native/libs/System.Native/pal_random.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_random.c rename to src/native/libs/System.Native/pal_random.c diff --git a/src/libraries/Native/Unix/System.Native/pal_random.h b/src/native/libs/System.Native/pal_random.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_random.h rename to src/native/libs/System.Native/pal_random.h diff --git a/src/libraries/Native/Unix/System.Native/pal_random.js b/src/native/libs/System.Native/pal_random.js similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_random.js rename to src/native/libs/System.Native/pal_random.js diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.c b/src/native/libs/System.Native/pal_runtimeextensions.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_runtimeextensions.c rename to src/native/libs/System.Native/pal_runtimeextensions.c diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h b/src/native/libs/System.Native/pal_runtimeextensions.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_runtimeextensions.h rename to src/native/libs/System.Native/pal_runtimeextensions.h diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.c b/src/native/libs/System.Native/pal_runtimeinformation.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_runtimeinformation.c rename to src/native/libs/System.Native/pal_runtimeinformation.c diff --git a/src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h b/src/native/libs/System.Native/pal_runtimeinformation.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_runtimeinformation.h rename to src/native/libs/System.Native/pal_runtimeinformation.h diff --git a/src/libraries/Native/Unix/System.Native/pal_searchpath.c b/src/native/libs/System.Native/pal_searchpath.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_searchpath.c rename to src/native/libs/System.Native/pal_searchpath.c diff --git a/src/libraries/Native/Unix/System.Native/pal_searchpath.h b/src/native/libs/System.Native/pal_searchpath.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_searchpath.h rename to src/native/libs/System.Native/pal_searchpath.h diff --git a/src/libraries/Native/Unix/System.Native/pal_searchpath.m b/src/native/libs/System.Native/pal_searchpath.m similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_searchpath.m rename to src/native/libs/System.Native/pal_searchpath.m diff --git a/src/libraries/Native/Unix/System.Native/pal_signal.c b/src/native/libs/System.Native/pal_signal.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_signal.c rename to src/native/libs/System.Native/pal_signal.c diff --git a/src/libraries/Native/Unix/System.Native/pal_signal.h b/src/native/libs/System.Native/pal_signal.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_signal.h rename to src/native/libs/System.Native/pal_signal.h diff --git a/src/libraries/Native/Unix/System.Native/pal_string.c b/src/native/libs/System.Native/pal_string.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_string.c rename to src/native/libs/System.Native/pal_string.c diff --git a/src/libraries/Native/Unix/System.Native/pal_string.h b/src/native/libs/System.Native/pal_string.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_string.h rename to src/native/libs/System.Native/pal_string.h diff --git a/src/libraries/Native/Unix/System.Native/pal_sysctl.c b/src/native/libs/System.Native/pal_sysctl.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_sysctl.c rename to src/native/libs/System.Native/pal_sysctl.c diff --git a/src/libraries/Native/Unix/System.Native/pal_sysctl.h b/src/native/libs/System.Native/pal_sysctl.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_sysctl.h rename to src/native/libs/System.Native/pal_sysctl.h diff --git a/src/libraries/Native/Unix/System.Native/pal_tcpstate.c b/src/native/libs/System.Native/pal_tcpstate.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_tcpstate.c rename to src/native/libs/System.Native/pal_tcpstate.c diff --git a/src/libraries/Native/Unix/System.Native/pal_tcpstate.h b/src/native/libs/System.Native/pal_tcpstate.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_tcpstate.h rename to src/native/libs/System.Native/pal_tcpstate.h diff --git a/src/libraries/Native/Unix/System.Native/pal_threading.c b/src/native/libs/System.Native/pal_threading.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_threading.c rename to src/native/libs/System.Native/pal_threading.c diff --git a/src/libraries/Native/Unix/System.Native/pal_threading.h b/src/native/libs/System.Native/pal_threading.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_threading.h rename to src/native/libs/System.Native/pal_threading.h diff --git a/src/libraries/Native/Unix/System.Native/pal_time.c b/src/native/libs/System.Native/pal_time.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_time.c rename to src/native/libs/System.Native/pal_time.c diff --git a/src/libraries/Native/Unix/System.Native/pal_time.h b/src/native/libs/System.Native/pal_time.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_time.h rename to src/native/libs/System.Native/pal_time.h diff --git a/src/libraries/Native/Unix/System.Native/pal_uid.c b/src/native/libs/System.Native/pal_uid.c similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_uid.c rename to src/native/libs/System.Native/pal_uid.c diff --git a/src/libraries/Native/Unix/System.Native/pal_uid.h b/src/native/libs/System.Native/pal_uid.h similarity index 100% rename from src/libraries/Native/Unix/System.Native/pal_uid.h rename to src/native/libs/System.Native/pal_uid.h diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/CMakeLists.txt b/src/native/libs/System.Net.Security.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Net.Security.Native/CMakeLists.txt rename to src/native/libs/System.Net.Security.Native/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/entrypoints.c b/src/native/libs/System.Net.Security.Native/entrypoints.c similarity index 100% rename from src/libraries/Native/Unix/System.Net.Security.Native/entrypoints.c rename to src/native/libs/System.Net.Security.Native/entrypoints.c diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/extra_libs.cmake b/src/native/libs/System.Net.Security.Native/extra_libs.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Net.Security.Native/extra_libs.cmake rename to src/native/libs/System.Net.Security.Native/extra_libs.cmake diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.c b/src/native/libs/System.Net.Security.Native/pal_gssapi.c similarity index 100% rename from src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.c rename to src/native/libs/System.Net.Security.Native/pal_gssapi.c diff --git a/src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h b/src/native/libs/System.Net.Security.Native/pal_gssapi.h similarity index 100% rename from src/libraries/Native/Unix/System.Net.Security.Native/pal_gssapi.h rename to src/native/libs/System.Net.Security.Native/pal_gssapi.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/CMakeLists.txt b/src/native/libs/System.Security.Cryptography.Native.Android/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/CMakeLists.txt rename to src/native/libs/System.Security.Cryptography.Native.Android/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_bignum.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_bignum.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_bignum.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_bignum.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_bignum.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_bignum.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_bignum.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_bignum.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_cipher.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_cipher.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_cipher.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_cipher.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_cipher.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_cipher.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_cipher.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_cipher.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_dsa.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_dsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_dsa.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_dsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_dsa.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_dsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_dsa.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_dsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecc_import_export.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecc_import_export.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecc_import_export.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecc_import_export.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecc_import_export.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecc_import_export.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecc_import_export.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecc_import_export.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdh.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdh.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdh.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdh.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdh.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdh.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdh.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdh.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdsa.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdsa.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdsa.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ecdsa.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ecdsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_eckey.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_eckey.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_eckey.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_eckey.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_eckey.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_eckey.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_eckey.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_eckey.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_err.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_err.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_err.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_err.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_err.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_err.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_err.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_err.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_evp.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_evp.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_evp.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_evp.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_evp.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_evp.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_evp.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_evp.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_hmac.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_hmac.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_hmac.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_hmac.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_hmac.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_hmac.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_hmac.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_hmac.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_jni.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_jni.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_jni.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_jni.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_jni.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_jni.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_jni.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_jni.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_lifetime.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_lifetime.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_lifetime.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_lifetime.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_lifetime.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_lifetime.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_lifetime.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_lifetime.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_memory.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_memory.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_memory.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_memory.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_misc.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_misc.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_misc.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_misc.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_misc.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_misc.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_misc.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_misc.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_rsa.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_rsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_rsa.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_rsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_rsa.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_rsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_rsa.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_rsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_signature.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_signature.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_signature.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_signature.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_signature.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_signature.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_signature.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_signature.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ssl.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ssl.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ssl.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ssl.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ssl.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_ssl.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_ssl.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_ssl.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_sslstream.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_sslstream.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_sslstream.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_sslstream.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_sslstream.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_sslstream.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_sslstream.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_sslstream.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509chain.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509chain.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509chain.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509chain.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509chain.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509chain.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509chain.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509chain.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509store.c b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509store.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509store.c rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509store.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509store.h b/src/native/libs/System.Security.Cryptography.Native.Android/pal_x509store.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Android/pal_x509store.h rename to src/native/libs/System.Security.Cryptography.Native.Android/pal_x509store.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/CMakeLists.txt b/src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/CMakeLists.txt rename to src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c b/src/native/libs/System.Security.Cryptography.Native.Apple/entrypoints.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/entrypoints.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/entrypoints.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/extra_libs.cmake b/src/native/libs/System.Security.Cryptography.Native.Apple/extra_libs.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/extra_libs.cmake rename to src/native/libs/System.Security.Cryptography.Native.Apple/extra_libs.cmake diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_digest.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_digest.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_digest.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_digest.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_digest.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_ecc.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_ecc.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_ecc.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ecc.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_ecc.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_hmac.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_hmac.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_hmac.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_hmac.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_hmac.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyagree.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyagree.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyagree.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyagree.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyagree.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_ios.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_ios.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_ios.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_ios.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_ios.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_ios.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_ios.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_ios.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_macos.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_macos.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_macos.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_macos.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_macos.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_macos.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keychain_macos.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keychain_macos.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_keyderivation_macos.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_random.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_random.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_random.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_random.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_random.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_rsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_rsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_rsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_rsa.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_rsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_sec.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_sec.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_sec.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_sec.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_sec.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey_macos.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey_macos.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey_macos.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey_macos.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey_macos.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey_macos.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_seckey_macos.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_seckey_macos.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_signverify.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_signverify.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_signverify.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_signverify.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_signverify.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_ssl.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_ssl.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_ssl.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_ssl.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_ssl.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_symmetric.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_symmetric.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_symmetric.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_symmetric.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_symmetric.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust_macos.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_trust_macos.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust_macos.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_trust_macos.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust_macos.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_trust_macos.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_trust_macos.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_trust_macos.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_ios.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_ios.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_ios.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_ios.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_ios.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_ios.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_ios.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_ios.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_macos.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_macos.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_macos.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_macos.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_macos.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_macos.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509_macos.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509_macos.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.c b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509chain.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.c rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509chain.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h b/src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509chain.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native.Apple/pal_x509chain.h rename to src/native/libs/System.Security.Cryptography.Native.Apple/pal_x509chain.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/CMakeLists.txt b/src/native/libs/System.Security.Cryptography.Native/CMakeLists.txt similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/CMakeLists.txt rename to src/native/libs/System.Security.Cryptography.Native/CMakeLists.txt diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge.c b/src/native/libs/System.Security.Cryptography.Native/apibridge.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge.c rename to src/native/libs/System.Security.Cryptography.Native/apibridge.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge.h b/src/native/libs/System.Security.Cryptography.Native/apibridge.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge.h rename to src/native/libs/System.Security.Cryptography.Native/apibridge.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30.c b/src/native/libs/System.Security.Cryptography.Native/apibridge_30.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30.c rename to src/native/libs/System.Security.Cryptography.Native/apibridge_30.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30.h b/src/native/libs/System.Security.Cryptography.Native/apibridge_30.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30.h rename to src/native/libs/System.Security.Cryptography.Native/apibridge_30.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30_rev.h b/src/native/libs/System.Security.Cryptography.Native/apibridge_30_rev.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/apibridge_30_rev.h rename to src/native/libs/System.Security.Cryptography.Native/apibridge_30_rev.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/configure.cmake b/src/native/libs/System.Security.Cryptography.Native/configure.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/configure.cmake rename to src/native/libs/System.Security.Cryptography.Native/configure.cmake diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/entrypoints.c b/src/native/libs/System.Security.Cryptography.Native/entrypoints.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/entrypoints.c rename to src/native/libs/System.Security.Cryptography.Native/entrypoints.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/extra_libs.cmake b/src/native/libs/System.Security.Cryptography.Native/extra_libs.cmake similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/extra_libs.cmake rename to src/native/libs/System.Security.Cryptography.Native/extra_libs.cmake diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.c b/src/native/libs/System.Security.Cryptography.Native/openssl.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.c rename to src/native/libs/System.Security.Cryptography.Native/openssl.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h b/src/native/libs/System.Security.Cryptography.Native/openssl.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.h rename to src/native/libs/System.Security.Cryptography.Native/openssl.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl_1_0_structs.h b/src/native/libs/System.Security.Cryptography.Native/openssl_1_0_structs.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl_1_0_structs.h rename to src/native/libs/System.Security.Cryptography.Native/openssl_1_0_structs.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.c b/src/native/libs/System.Security.Cryptography.Native/opensslshim.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.c rename to src/native/libs/System.Security.Cryptography.Native/opensslshim.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.h b/src/native/libs/System.Security.Cryptography.Native/opensslshim.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.h rename to src/native/libs/System.Security.Cryptography.Native/opensslshim.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_102.h b/src/native/libs/System.Security.Cryptography.Native/osslcompat_102.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_102.h rename to src/native/libs/System.Security.Cryptography.Native/osslcompat_102.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_111.h b/src/native/libs/System.Security.Cryptography.Native/osslcompat_111.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_111.h rename to src/native/libs/System.Security.Cryptography.Native/osslcompat_111.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_30.h b/src/native/libs/System.Security.Cryptography.Native/osslcompat_30.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/osslcompat_30.h rename to src/native/libs/System.Security.Cryptography.Native/osslcompat_30.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.c b/src/native/libs/System.Security.Cryptography.Native/pal_asn1.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.c rename to src/native/libs/System.Security.Cryptography.Native/pal_asn1.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h b/src/native/libs/System.Security.Cryptography.Native/pal_asn1.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_asn1.h rename to src/native/libs/System.Security.Cryptography.Native/pal_asn1.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.c b/src/native/libs/System.Security.Cryptography.Native/pal_bignum.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.c rename to src/native/libs/System.Security.Cryptography.Native/pal_bignum.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h b/src/native/libs/System.Security.Cryptography.Native/pal_bignum.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bignum.h rename to src/native/libs/System.Security.Cryptography.Native/pal_bignum.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.c b/src/native/libs/System.Security.Cryptography.Native/pal_bio.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.c rename to src/native/libs/System.Security.Cryptography.Native/pal_bio.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h b/src/native/libs/System.Security.Cryptography.Native/pal_bio.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_bio.h rename to src/native/libs/System.Security.Cryptography.Native/pal_bio.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_crypto_config.h.in b/src/native/libs/System.Security.Cryptography.Native/pal_crypto_config.h.in similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_crypto_config.h.in rename to src/native/libs/System.Security.Cryptography.Native/pal_crypto_config.h.in diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_crypto_types.h b/src/native/libs/System.Security.Cryptography.Native/pal_crypto_types.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_crypto_types.h rename to src/native/libs/System.Security.Cryptography.Native/pal_crypto_types.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.c b/src/native/libs/System.Security.Cryptography.Native/pal_dsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.c rename to src/native/libs/System.Security.Cryptography.Native/pal_dsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h b/src/native/libs/System.Security.Cryptography.Native/pal_dsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_dsa.h rename to src/native/libs/System.Security.Cryptography.Native/pal_dsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.c b/src/native/libs/System.Security.Cryptography.Native/pal_ecc_import_export.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.c rename to src/native/libs/System.Security.Cryptography.Native/pal_ecc_import_export.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h b/src/native/libs/System.Security.Cryptography.Native/pal_ecc_import_export.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecc_import_export.h rename to src/native/libs/System.Security.Cryptography.Native/pal_ecc_import_export.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.c b/src/native/libs/System.Security.Cryptography.Native/pal_ecdsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.c rename to src/native/libs/System.Security.Cryptography.Native/pal_ecdsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h b/src/native/libs/System.Security.Cryptography.Native/pal_ecdsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ecdsa.h rename to src/native/libs/System.Security.Cryptography.Native/pal_ecdsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.c b/src/native/libs/System.Security.Cryptography.Native/pal_eckey.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.c rename to src/native/libs/System.Security.Cryptography.Native/pal_eckey.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h b/src/native/libs/System.Security.Cryptography.Native/pal_eckey.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_eckey.h rename to src/native/libs/System.Security.Cryptography.Native/pal_eckey.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.c b/src/native/libs/System.Security.Cryptography.Native/pal_err.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.c rename to src/native/libs/System.Security.Cryptography.Native/pal_err.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h b/src/native/libs/System.Security.Cryptography.Native/pal_err.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_err.h rename to src/native/libs/System.Security.Cryptography.Native/pal_err.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_cipher.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_cipher.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_cipher.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_cipher.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_cipher.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_dsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_dsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_dsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ecdh.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_eckey.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_eckey.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_eckey.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.c b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_rsa.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.c rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_rsa.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h b/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h rename to src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_rsa.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.c b/src/native/libs/System.Security.Cryptography.Native/pal_hmac.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.c rename to src/native/libs/System.Security.Cryptography.Native/pal_hmac.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h b/src/native/libs/System.Security.Cryptography.Native/pal_hmac.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_hmac.h rename to src/native/libs/System.Security.Cryptography.Native/pal_hmac.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.c b/src/native/libs/System.Security.Cryptography.Native/pal_ocsp.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.c rename to src/native/libs/System.Security.Cryptography.Native/pal_ocsp.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h b/src/native/libs/System.Security.Cryptography.Native/pal_ocsp.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ocsp.h rename to src/native/libs/System.Security.Cryptography.Native/pal_ocsp.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.c b/src/native/libs/System.Security.Cryptography.Native/pal_pkcs7.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.c rename to src/native/libs/System.Security.Cryptography.Native/pal_pkcs7.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h b/src/native/libs/System.Security.Cryptography.Native/pal_pkcs7.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_pkcs7.h rename to src/native/libs/System.Security.Cryptography.Native/pal_pkcs7.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.c b/src/native/libs/System.Security.Cryptography.Native/pal_ssl.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.c rename to src/native/libs/System.Security.Cryptography.Native/pal_ssl.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h b/src/native/libs/System.Security.Cryptography.Native/pal_ssl.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_ssl.h rename to src/native/libs/System.Security.Cryptography.Native/pal_ssl.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.c b/src/native/libs/System.Security.Cryptography.Native/pal_x509.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.c rename to src/native/libs/System.Security.Cryptography.Native/pal_x509.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h b/src/native/libs/System.Security.Cryptography.Native/pal_x509.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509.h rename to src/native/libs/System.Security.Cryptography.Native/pal_x509.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.c b/src/native/libs/System.Security.Cryptography.Native/pal_x509_name.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.c rename to src/native/libs/System.Security.Cryptography.Native/pal_x509_name.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h b/src/native/libs/System.Security.Cryptography.Native/pal_x509_name.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_name.h rename to src/native/libs/System.Security.Cryptography.Native/pal_x509_name.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.c b/src/native/libs/System.Security.Cryptography.Native/pal_x509_root.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.c rename to src/native/libs/System.Security.Cryptography.Native/pal_x509_root.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h b/src/native/libs/System.Security.Cryptography.Native/pal_x509_root.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509_root.h rename to src/native/libs/System.Security.Cryptography.Native/pal_x509_root.h diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.c b/src/native/libs/System.Security.Cryptography.Native/pal_x509ext.c similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.c rename to src/native/libs/System.Security.Cryptography.Native/pal_x509ext.c diff --git a/src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h b/src/native/libs/System.Security.Cryptography.Native/pal_x509ext.h similarity index 100% rename from src/libraries/Native/Unix/System.Security.Cryptography.Native/pal_x509ext.h rename to src/native/libs/System.Security.Cryptography.Native/pal_x509ext.h diff --git a/src/libraries/Native/build-native.cmd b/src/native/libs/build-native.cmd similarity index 93% rename from src/libraries/Native/build-native.cmd rename to src/native/libs/build-native.cmd index 8d54bc7fa685d..ae97ff4e3262f 100644 --- a/src/libraries/Native/build-native.cmd +++ b/src/native/libs/build-native.cmd @@ -56,12 +56,6 @@ set __cmakeRepoRoot=%__repoRoot:\=/% set __ExtraCmakeParams="-DCMAKE_REPO_ROOT=%__cmakeRepoRoot%" set __ExtraCmakeParams=%__ExtraCmakeParams% "-DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE%" -if /i "%__BuildArch%" == "wasm" ( - set __sourceDir=%__sourceRootDir%\Unix -) else ( - set __sourceDir=%__sourceRootDir%\Windows -) - if [%__outConfig%] == [] set __outConfig=%__TargetOS%-%__BuildArch%-%CMAKE_BUILD_TYPE% if %__CMakeBinDir% == "" ( @@ -91,7 +85,7 @@ echo %MSBUILD_EMPTY_PROJECT_CONTENT% > "%__artifactsDir%\obj\native\Directory.Bu :: Regenerate the VS solution pushd "%__IntermediatesDir%" -call "%__repoRoot%\eng\native\gen-buildsys.cmd" "%__sourceDir%" "%__IntermediatesDir%" %__VSVersion% %__BuildArch% %__ExtraCmakeParams% +call "%__repoRoot%\eng\native\gen-buildsys.cmd" "%__sourceRootDir%" "%__IntermediatesDir%" %__VSVersion% %__BuildArch% %__ExtraCmakeParams% if NOT [%errorlevel%] == [0] goto :Failure popd diff --git a/src/libraries/Native/build-native.proj b/src/native/libs/build-native.proj similarity index 97% rename from src/libraries/Native/build-native.proj rename to src/native/libs/build-native.proj index c23e65add6c86..b35a2b335d29a 100644 --- a/src/libraries/Native/build-native.proj +++ b/src/native/libs/build-native.proj @@ -9,7 +9,7 @@ - +