From ba1f099d21e1774caed49dd36cd10045ed59cd2d Mon Sep 17 00:00:00 2001 From: Paul Cruz Date: Fri, 11 Oct 2024 12:38:48 -0700 Subject: [PATCH] Add xxhash as a dependency Summary: X-link: https://github.com/facebookincubator/zstrong/pull/1008 This doesn't seem to be a new dependency, but build errors only recently started surfacing for OSS: https://www.internalfb.com/sandcastle/workflow/3098476543635661395 Reviewed By: robertroeser Differential Revision: D64120664 fbshipit-source-id: 64d6fa130fa41bcbb9a40003b3b02eed38123641 --- build/fbcode_builder/CMake/FindXxhash.cmake | 40 +++++++++++++++++++++ build/fbcode_builder/manifests/fbthrift | 1 + build/fbcode_builder/manifests/xxhash | 15 ++++++++ 3 files changed, 56 insertions(+) create mode 100644 build/fbcode_builder/CMake/FindXxhash.cmake diff --git a/build/fbcode_builder/CMake/FindXxhash.cmake b/build/fbcode_builder/CMake/FindXxhash.cmake new file mode 100644 index 00000000..04760cbf --- /dev/null +++ b/build/fbcode_builder/CMake/FindXxhash.cmake @@ -0,0 +1,40 @@ +# Copyright (c) Facebook, Inc. and its affiliates. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# - Try to find Facebook xxhash library +# This will define +# Xxhash_FOUND +# Xxhash_INCLUDE_DIR +# Xxhash_LIBRARY +# + +find_path(Xxhash_INCLUDE_DIR NAMES xxhash.h) + +find_library(Xxhash_LIBRARY_RELEASE NAMES xxhash) + +include(SelectLibraryConfigurations) +SELECT_LIBRARY_CONFIGURATIONS(Xxhash) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + Xxhash DEFAULT_MSG + Xxhash_LIBRARY Xxhash_INCLUDE_DIR +) + +if (Xxhash_FOUND) + message(STATUS "Found xxhash: ${Xxhash_LIBRARY}") +endif() + +mark_as_advanced(Xxhash_INCLUDE_DIR Xxhash_LIBRARY) diff --git a/build/fbcode_builder/manifests/fbthrift b/build/fbcode_builder/manifests/fbthrift index 81fea9d6..964b97cc 100644 --- a/build/fbcode_builder/manifests/fbthrift +++ b/build/fbcode_builder/manifests/fbthrift @@ -26,6 +26,7 @@ libsodium wangle zstd mvfst +xxhash # Thrift also depends on openssl but since the latter requires a platform- # specific configuration we rely on the folly manifest to provide this # dependency to avoid duplication. diff --git a/build/fbcode_builder/manifests/xxhash b/build/fbcode_builder/manifests/xxhash index 0af55726..8e490011 100644 --- a/build/fbcode_builder/manifests/xxhash +++ b/build/fbcode_builder/manifests/xxhash @@ -1,5 +1,20 @@ [manifest] name = xxhash +[download] +url = https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.2.tar.gz +sha256 = baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 + [rpms] xxhash-devel + +[build.not(os=windows)] +builder = make +subdir = xxHash-0.8.2 + +[make.build_args] +all + +[make.install_args] +install +