diff --git a/docs/workflow/building/libraries/README.md b/docs/workflow/building/libraries/README.md
index 0b0e4fcade28ce..9d2cd6fb7063cf 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 03dc4a5b59f437..65da9d8861bd68 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 a29857451bc79f..0421f1f03ce0a9 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 19407a40a1957a..3f41026eee2ac4 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 d7ae882df406fb..326cc76470341c 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 d958c56c1a354b..aa2ccee679549e 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 bd4e57252a0bbd..ea62977136a26f 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 a9fcdcb3d112e4..bbc411c324cde4 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 bec589a928235c..00000000000000
--- 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 100692257acbf5..00000000000000
--- 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 fd332e3fd8cf1d..00000000000000
--- 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 229adbddd38be2..00000000000000
--- 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 936c077419f272..00000000000000
--- 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 0016841316c9f5..7ce13324e2fc16 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 3536792b6c2f43..64cbb38bceab80 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 17c52fc6d22032..2610dda6b93c8f 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 f8355fe857e6b9..4152d959e50278 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 68482d708962c7..f2cc8337e02f2d 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 0d9ae541c33b1d..d9c92506635a69 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 00000000000000..46dfafc4ee6953
--- /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 00000000000000..4dcc4b8b7a4bf6
--- /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 31581fbe0c5209..459db03a7f70eb 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 aa4dcdca8a29e8..27bb12a05e7f48 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 8d54bc7fa685de..ae97ff4e3262ff 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 c23e65add6c869..b35a2b335d29a1 100644
--- a/src/libraries/Native/build-native.proj
+++ b/src/native/libs/build-native.proj
@@ -9,7 +9,7 @@
-
+