Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ option(ENABLE_AUTEST_UDS "Setup autest with curl using UDS (default OFF)")
option(ENABLE_BENCHMARKS "Build benchmarks (default OFF)")
option(EXTERNAL_YAML_CPP "Use external yaml-cpp (default OFF)")
option(EXTERNAL_LIBSWOC "Use external libswoc (default OFF)")
option(EXTERNAL_HWY "Use external highway (default OFF)")
option(LINK_PLUGINS "Link core libraries to plugins (default OFF)")
option(ENABLE_PROBES "Enable ATS SystemTap probes (default OFF)")
option(ENABLE_VERIFY_PLUGINS "Enable plugin verification tests (default ON)" ON)
Expand Down Expand Up @@ -415,6 +416,11 @@ if(EXTERNAL_LIBSWOC)
find_package(libswoc REQUIRED)
endif()

if(EXTERNAL_HWY)
message(STATUS "Looking for external highway")
find_package(HWY "1.4.0" CONFIG REQUIRED)
endif()

include(Check128BitCas)
include(ConfigureTransparentProxy)

Expand Down
5 changes: 5 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,8 @@ LS-HPACK provides functionality to encode and decode HTTP headers using
HPACK compression mechanism specified in RFC 7541.
Copyright (c) 2018 - 2023 LiteSpeed Technologies Inc, (MIT License)
https://github.com/litespeedtech/ls-hpack.git

~~

Highway is a C++ library that provides portable SIMD/vector intrinsics.
https://github.com/google/highway
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ trafficserver ............. Top src dir
├── lib ................... Third-party libraries
│ ├── Catch2 ............ Unit testing framework
│ ├── fastlz ............ Fast compression library
│ ├── highway ........... Portable SIMD/vector intrinsics
│ ├── ls-hpack .......... HPACK compression for HTTP/2
│ ├── swoc .............. Solid Wall of Code utility library
│ ├── systemtap ......... SystemTap integration
Expand Down
1 change: 1 addition & 0 deletions ci/rat-exclude.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ blib/**
**/yamlcpp/**
**/systemtap/**
**/swoc/**
**/highway/**
tests/gold_tests/autest-site/min_cfg
tests/gold_tests/h2/rules/huge_resp_hdrs.conf
tools/http_load/**
Expand Down
37 changes: 37 additions & 0 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,40 @@ add_library(systemtap::systemtap INTERFACE IMPORTED GLOBAL)
target_include_directories(systemtap::systemtap INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/systemtap")

add_subdirectory(ls-hpack)

# Currently v1.4.0
#
# Upstream: https://github.com/google/highway
#
# Source-only, preserves the readme, license, cmake
# infrastructure and main source; does not include
# examples, tests or documentation.
#
# Note that hwy/tests/list_targets.cc is retained
# for compiled-in target information
#
# CMakeLists.txt slightly modified to fully disable
# building tests if `HWY_ENABLE_TESTS=OFF`, we intend
# to upstream this change
if(NOT EXTERNAL_HWY)
message(STATUS "Using internal highway")
set(HWY_FORCE_STATIC_LIBS
ON
CACHE BOOL "Ignore BUILD_SHARED_LIBS" FORCE
)
set(HWY_ENABLE_INSTALL
OFF
CACHE BOOL "Install library" FORCE
)
set(HWY_ENABLE_EXAMPLES
OFF
CACHE BOOL "Build examples" FORCE
)
set(HWY_ENABLE_TESTS
OFF
CACHE BOOL "Enable HWY tests" FORCE
)
add_subdirectory(highway)
add_library(hwy::hwy ALIAS hwy)
add_library(hwy::hwy_contrib ALIAS hwy_contrib)
endif()
Loading