diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2023-03-09 12:42:44 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2023-03-09 12:42:44 +0300 |
commit | 6324d075a5e80b6943b5de6b465b775050fe83df (patch) | |
tree | e02ce32e988042438f64df770a528164ac572879 /contrib/libs/highwayhash | |
parent | 039e25e1597bec288de44e5061c1b84e195add08 (diff) | |
download | ydb-6324d075a5e80b6943b5de6b465b775050fe83df.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/libs/highwayhash')
8 files changed, 100 insertions, 0 deletions
diff --git a/contrib/libs/highwayhash/CMakeLists.txt b/contrib/libs/highwayhash/CMakeLists.txt index 8f8c04afe5..d90657116d 100644 --- a/contrib/libs/highwayhash/CMakeLists.txt +++ b/contrib/libs/highwayhash/CMakeLists.txt @@ -10,6 +10,8 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND include(CMakeLists.linux-aarch64.txt) elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/highwayhash/CMakeLists.windows-x86_64.txt b/contrib/libs/highwayhash/CMakeLists.windows-x86_64.txt new file mode 100644 index 0000000000..984a14ba7c --- /dev/null +++ b/contrib/libs/highwayhash/CMakeLists.windows-x86_64.txt @@ -0,0 +1,33 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +add_subdirectory(arch) + +add_library(contrib-libs-highwayhash) +target_compile_options(contrib-libs-highwayhash PRIVATE + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(contrib-libs-highwayhash PUBLIC + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash +) +target_link_libraries(contrib-libs-highwayhash PUBLIC + contrib-libs-cxxsupp + yutil + highwayhash-arch-avx2 + highwayhash-arch-sse41 +) +target_sources(contrib-libs-highwayhash PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/arch_specific.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/instruction_sets.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/nanobenchmark.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/os_specific.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/sip_hash.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/scalar_sip_tree_hash.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/hh_portable.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/c_bindings.cc +) diff --git a/contrib/libs/highwayhash/arch/CMakeLists.txt b/contrib/libs/highwayhash/arch/CMakeLists.txt index a603bef54e..bb0d0ecd25 100644 --- a/contrib/libs/highwayhash/arch/CMakeLists.txt +++ b/contrib/libs/highwayhash/arch/CMakeLists.txt @@ -8,6 +8,8 @@ if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/highwayhash/arch/CMakeLists.windows-x86_64.txt b/contrib/libs/highwayhash/arch/CMakeLists.windows-x86_64.txt new file mode 100644 index 0000000000..3877a3a7da --- /dev/null +++ b/contrib/libs/highwayhash/arch/CMakeLists.windows-x86_64.txt @@ -0,0 +1,10 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +add_subdirectory(avx2) +add_subdirectory(sse41) diff --git a/contrib/libs/highwayhash/arch/avx2/CMakeLists.txt b/contrib/libs/highwayhash/arch/avx2/CMakeLists.txt index a603bef54e..bb0d0ecd25 100644 --- a/contrib/libs/highwayhash/arch/avx2/CMakeLists.txt +++ b/contrib/libs/highwayhash/arch/avx2/CMakeLists.txt @@ -8,6 +8,8 @@ if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/highwayhash/arch/avx2/CMakeLists.windows-x86_64.txt b/contrib/libs/highwayhash/arch/avx2/CMakeLists.windows-x86_64.txt new file mode 100644 index 0000000000..d98bd38fb8 --- /dev/null +++ b/contrib/libs/highwayhash/arch/avx2/CMakeLists.windows-x86_64.txt @@ -0,0 +1,25 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(highwayhash-arch-avx2) +target_compile_options(highwayhash-arch-avx2 PRIVATE + -mavx2 + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(highwayhash-arch-avx2 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash +) +target_link_libraries(highwayhash-arch-avx2 PUBLIC + contrib-libs-cxxsupp + yutil +) +target_sources(highwayhash-arch-avx2 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/sip_tree_hash.cc + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/hh_avx2.cc +) diff --git a/contrib/libs/highwayhash/arch/sse41/CMakeLists.txt b/contrib/libs/highwayhash/arch/sse41/CMakeLists.txt index a603bef54e..bb0d0ecd25 100644 --- a/contrib/libs/highwayhash/arch/sse41/CMakeLists.txt +++ b/contrib/libs/highwayhash/arch/sse41/CMakeLists.txt @@ -8,6 +8,8 @@ if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) endif() diff --git a/contrib/libs/highwayhash/arch/sse41/CMakeLists.windows-x86_64.txt b/contrib/libs/highwayhash/arch/sse41/CMakeLists.windows-x86_64.txt new file mode 100644 index 0000000000..644e629a9c --- /dev/null +++ b/contrib/libs/highwayhash/arch/sse41/CMakeLists.windows-x86_64.txt @@ -0,0 +1,24 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(highwayhash-arch-sse41) +target_compile_options(highwayhash-arch-sse41 PRIVATE + -msse4.1 + $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything> +) +target_include_directories(highwayhash-arch-sse41 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash +) +target_link_libraries(highwayhash-arch-sse41 PUBLIC + contrib-libs-cxxsupp + yutil +) +target_sources(highwayhash-arch-sse41 PRIVATE + ${CMAKE_SOURCE_DIR}/contrib/libs/highwayhash/highwayhash/hh_sse41.cc +) |