Files
guru/dev-libs/lsquic/files/lsquic-link-boringssl-static-libs.patch
Okamura Kazuya 56e6e1b83e dev-libs/lsquic: new package, add 3.2.0
Signed-off-by: Okamura Kazuya <gentoo-guru@danceylove.net>
2023-07-07 01:16:00 +09:00

153 lines
5.7 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c7b181..723a075 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -152,77 +152,6 @@ ELSE()
ENDIF()
ENDIF()
-IF (NOT DEFINED BORINGSSL_INCLUDE AND DEFINED BORINGSSL_DIR)
- FIND_PATH(BORINGSSL_INCLUDE NAMES openssl/ssl.h
- PATHS ${BORINGSSL_DIR}/include
- NO_DEFAULT_PATH)
-ENDIF()
-# This must be done before adding other include directories to take
-# precedence over header files from other SSL installs.
-
-IF (BORINGSSL_INCLUDE)
- MESSAGE(STATUS "BoringSSL include directory ${BORINGSSL_INCLUDE}")
- INCLUDE_DIRECTORIES(${BORINGSSL_INCLUDE})
-ELSE()
- MESSAGE(FATAL_ERROR "BoringSSL headers not found")
-ENDIF()
-
-IF (NOT DEFINED BORINGSSL_LIB AND DEFINED BORINGSSL_DIR)
- FOREACH(LIB_NAME ssl crypto)
- IF (CMAKE_SYSTEM_NAME STREQUAL Windows)
- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME}
- NAMES ${LIB_NAME}
- PATHS ${BORINGSSL_DIR}/${LIB_NAME}
- PATH_SUFFIXES Debug Release MinSizeRel RelWithDebInfo
- NO_DEFAULT_PATH)
- ELSE()
- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME}
- NAMES lib${LIB_NAME}${LIB_SUFFIX}
- PATHS ${BORINGSSL_DIR}/${LIB_NAME}
- NO_DEFAULT_PATH)
- ENDIF()
- IF(BORINGSSL_LIB_${LIB_NAME})
- MESSAGE(STATUS "Found ${LIB_NAME} library: ${BORINGSSL_LIB_${LIB_NAME}}")
- ELSE()
- MESSAGE(STATUS "${LIB_NAME} library not found")
- ENDIF()
- ENDFOREACH()
-
-ELSE()
-
-
- FOREACH(LIB_NAME ssl crypto)
- # If BORINGSSL_LIB is defined, try find each lib. Otherwise, user should define BORINGSSL_LIB_ssl,
- # BORINGSSL_LIB_crypto and so on explicitly. For example, including boringssl and lsquic both via
- # add_subdirectory:
- # add_subdirectory(third_party/boringssl)
- # set(BORINGSSL_LIB_ssl ssl)
- # set(BORINGSSL_LIB_crypto crypto)
- # add_subdirectory(third_party/lsquic)
- IF (DEFINED BORINGSSL_LIB)
- IF (CMAKE_SYSTEM_NAME STREQUAL Windows)
- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME}
- NAMES ${LIB_NAME}
- PATHS ${BORINGSSL_LIB}
- PATH_SUFFIXES Debug Release MinSizeRel RelWithDebInfo
- NO_DEFAULT_PATH)
- ELSE()
- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME}
- NAMES lib${LIB_NAME}${LIB_SUFFIX}
- PATHS ${BORINGSSL_LIB}
- PATH_SUFFIXES ${LIB_NAME}
- NO_DEFAULT_PATH)
- ENDIF()
- ENDIF()
- IF(BORINGSSL_LIB_${LIB_NAME})
- MESSAGE(STATUS "Found ${LIB_NAME} library: ${BORINGSSL_LIB_${LIB_NAME}}")
- ELSE()
- MESSAGE(FATAL_ERROR "BORINGSSL_LIB_${LIB_NAME} library not found")
- ENDIF()
- ENDFOREACH()
-
-ENDIF()
-
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
INCLUDE_DIRECTORIES(include)
IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
@@ -268,7 +197,7 @@ ELSE()
MESSAGE(STATUS "zlib not found")
ENDIF()
-SET(LIBS lsquic ls-hpack ls-qpack ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB_LIB} ${LIBS})
+SET(LIBS lsquic ls-hpack ls-qpack ssl crypto ${ZLIB_LIB} ${LIBS})
IF (LSQUIC_BIN)
FIND_PATH(EVENT_INCLUDE_DIR NAMES event2/event.h)
diff --git a/src/liblsquic/CMakeLists.txt b/src/liblsquic/CMakeLists.txt
index be9a432..0bc806d 100644
--- a/src/liblsquic/CMakeLists.txt
+++ b/src/liblsquic/CMakeLists.txt
@@ -1,4 +1,7 @@
# Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE.
+
+add_subdirectory(boringssl)
+
SET(lsquic_STAT_SRCS
lsquic_adaptive_cc.c
lsquic_alarmset.c
@@ -83,6 +86,8 @@ SET(lsquic_STAT_SRCS
lsquic_version.c
)
+include_directories(boringssl/include)
+
IF(NOT MSVC)
SET(QPACK_FLAGS "-Wno-uninitialized")
INCLUDE(CheckCCompilerFlag)
@@ -119,7 +124,7 @@ endif()
IF(LSQUIC_SHARED_LIB)
add_library(lsquic SHARED ${lsquic_STAT_SRCS})
- TARGET_LINK_LIBRARIES(lsquic PRIVATE ${BORINGSSL_LIB_ssl} ${BORINGSSL_LIB_crypto} ${ZLIB_LIB})
+ TARGET_LINK_LIBRARIES(lsquic PRIVATE ssl crypto ${ZLIB_LIB})
IF(MSVC)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLSQUIC_EXPORTS")
TARGET_LINK_LIBRARIES(lsquic PRIVATE ws2_32.lib)
diff --git a/src/liblsquic/boringssl/CMakeLists.txt b/src/liblsquic/boringssl/CMakeLists.txt
index aac5f0d..37cbfa3 100644
--- a/src/liblsquic/boringssl/CMakeLists.txt
+++ b/src/liblsquic/boringssl/CMakeLists.txt
@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.10)
# Defer enabling C and CXX languages.
project(BoringSSL NONE)
+set(BUILD_SHARED_LIBS OFF)
+
# Don't install BoringSSL to system directories by default; it has no stable
# ABI. Instead, default to an "install" directory under the source.
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
@@ -36,7 +38,7 @@ if(CMAKE_VERSION VERSION_LESS "3.14")
endif()
# Wrap the CMake install function so we can disable it.
-set(INSTALL_ENABLED 1)
+set(INSTALL_ENABLED 0)
function(install_if_enabled)
if(INSTALL_ENABLED)
install(${ARGV})
@@ -139,7 +141,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
if(CMAKE_COMPILER_IS_GNUCXX OR CLANG)
# Note clang-cl is odd and sets both CLANG and MSVC. We base our configuration
# primarily on our normal Clang one.
- set(C_CXX_FLAGS "-Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla -Wshadow -Wtype-limits")
+ set(C_CXX_FLAGS "-Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wvla -Wshadow -Wtype-limits")
if(MSVC)
# clang-cl sets different default warnings than clang. It also treats -Wall
# as -Weverything, to match MSVC. Instead -W3 is the alias for -Wall.