early-access version 2853
This commit is contained in:
80
externals/vcpkg/ports/intel-ipsec/always-generate-pdb.patch
vendored
Executable file
80
externals/vcpkg/ports/intel-ipsec/always-generate-pdb.patch
vendored
Executable file
@@ -0,0 +1,80 @@
|
||||
From 19d3b3fca689fb87e819b0b27bc74d1f52fcd2c8 Mon Sep 17 00:00:00 2001
|
||||
From: Billy Robert O'Neal III <bion@microsoft.com>
|
||||
Date: Wed, 12 Jan 2022 12:40:30 +0000
|
||||
Subject: [PATCH] lib: generate PDB in release build on Windows
|
||||
|
||||
PDBs are necessary for postmortem debugging and for teams to get reports
|
||||
from Watson, so they should be built for released software too. This
|
||||
change always passes /DEBUG to the MSVC linker. That switch controls
|
||||
whether a PDB is generated (as in "generate debugging information") not
|
||||
a statement that the resulting files are the debug specific version of
|
||||
your library.
|
||||
|
||||
/DEBUG changes the default values of /INCREMENTAL (to on) and /OPT:REF
|
||||
and /OPT:ICF to off, so those are changed back to incremental off and
|
||||
linker optimizations on in debug builds.
|
||||
|
||||
This missing PDB issue was discovered in fixing intel-ipsec's port in
|
||||
vcpkg to build on Windows (https://github.com/microsoft/vcpkg/pull/22269).
|
||||
|
||||
intel-ipsec-mb vcpkg PR link is https://github.com/microsoft/vcpkg/pull/5586
|
||||
---
|
||||
lib/win_x64.mak | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/win_x64.mak b/lib/win_x64.mak
|
||||
index 89162feb..bb62b2ea 100644
|
||||
--- a/lib/win_x64.mak
|
||||
+++ b/lib/win_x64.mak
|
||||
@@ -12,7 +12,7 @@
|
||||
# * Neither the name of Intel Corporation nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
-#
|
||||
+#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
@@ -71,14 +71,14 @@ LIB_DIR = .\
|
||||
|
||||
!ifdef DEBUG
|
||||
OPT = $(DEBUG_OPT)
|
||||
-DCFLAGS = /DDEBUG /Z7
|
||||
+DCFLAGS = /DDEBUG
|
||||
DAFLAGS = -gcv8
|
||||
-DLFLAGS = /DEBUG
|
||||
+DLFLAGS = /DEBUG /INCREMENTAL:NO
|
||||
!else
|
||||
OPT = /O2 /Oi
|
||||
DCFLAGS =
|
||||
DAFLAGS =
|
||||
-DLFLAGS = /RELEASE
|
||||
+DLFLAGS = /RELEASE /DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO
|
||||
!endif
|
||||
|
||||
!if "$(SAFE_DATA)" != "n"
|
||||
@@ -98,7 +98,7 @@ DAFLAGS = $(DAFLAGS) -DSAFE_LOOKUP
|
||||
|
||||
CC = cl
|
||||
CFLAGS_ALL = $(EXTRA_CFLAGS) /DNO_COMPAT_IMB_API_053 /I. /Iinclude /Ino-aesni \
|
||||
- /nologo /Y- /W3 /WX- /Gm- /fp:precise /EHsc
|
||||
+ /nologo /Y- /W3 /WX- /Gm- /fp:precise /EHsc /Z7
|
||||
|
||||
CFLAGS = $(CFLAGS_ALL) $(OPT) $(DCFLAGS)
|
||||
CFLAGS_NO_SIMD = $(CFLAGS_ALL) /Od $(DCFLAGS)
|
||||
@@ -633,6 +633,7 @@ install:
|
||||
-copy /Y /V /B $(LIBBASE).lib "$(INSTDIR)"
|
||||
-copy /Y /V /A intel-ipsec-mb.h "$(INSTDIR)"
|
||||
!if "$(SHARED)" == "y"
|
||||
+ -copy /Y /V /B $(LIB_DIR)\$(LIBBASE).pdb "$(INSTDIR)"
|
||||
-copy /Y /V /B $(LIB_DIR)\$(LIBBASE).dll "$(INSTDIR)"
|
||||
-copy /Y /V /B $(LIB_DIR)\$(LIBBASE).dll "%windir%\system32"
|
||||
!endif
|
||||
@@ -641,6 +642,7 @@ uninstall:
|
||||
!if "$(SHARED)" == "y"
|
||||
-del /Q "%windir%\system32\$(LIBBASE).dll"
|
||||
-del /Q "$(INSTDIR)\$(LIBBASE).dll"
|
||||
+ -del /Q "$(INSTDIR)\$(LIBBASE).pdb"
|
||||
!endif
|
||||
-del /Q "$(INSTDIR)\$(LIBBASE).def"
|
||||
-del /Q "$(INSTDIR)\$(LIBBASE).exp"
|
||||
5
externals/vcpkg/ports/intel-ipsec/intel-ipsec-targets-implib.cmake.in
vendored
Executable file
5
externals/vcpkg/ports/intel-ipsec/intel-ipsec-targets-implib.cmake.in
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
set_property(TARGET IPSEC::ipsec APPEND PROPERTY IMPORTED_CONFIGURATIONS @INTEL_IPSEC_CONFIGURATION@)
|
||||
set_target_properties(IPSEC::ipsec PROPERTIES
|
||||
IMPORTED_LOCATION_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_LOCATION@"
|
||||
IMPORTED_IMPLIB_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_IMPLIB@"
|
||||
)
|
||||
4
externals/vcpkg/ports/intel-ipsec/intel-ipsec-targets.cmake.in
vendored
Executable file
4
externals/vcpkg/ports/intel-ipsec/intel-ipsec-targets.cmake.in
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
set_property(TARGET IPSEC::ipsec APPEND PROPERTY IMPORTED_CONFIGURATIONS @INTEL_IPSEC_CONFIGURATION@)
|
||||
set_target_properties(IPSEC::ipsec PROPERTIES
|
||||
IMPORTED_LOCATION_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_LOCATION@"
|
||||
)
|
||||
16
externals/vcpkg/ports/intel-ipsec/intel-ipsecConfig.cmake.in
vendored
Executable file
16
externals/vcpkg/ports/intel-ipsec/intel-ipsecConfig.cmake.in
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
if(TARGET IPSEC::ipsec)
|
||||
return()
|
||||
endif()
|
||||
|
||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) # intel-ipsec
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) # share
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) # package root
|
||||
add_library(IPSEC::ipsec @INTEL_IPSEC_STATIC_OR_SHARED@ IMPORTED)
|
||||
set_target_properties(IPSEC::ipsec PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include")
|
||||
set(IPSEC_ipsec_FOUND 1)
|
||||
|
||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
file(GLOB CONFIG_FILES "${_DIR}/intel-ipsec-targets-*.cmake")
|
||||
foreach(f ${CONFIG_FILES})
|
||||
include(${f})
|
||||
endforeach()
|
||||
105
externals/vcpkg/ports/intel-ipsec/portfile.cmake
vendored
Executable file
105
externals/vcpkg/ports/intel-ipsec/portfile.cmake
vendored
Executable file
@@ -0,0 +1,105 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO intel/intel-ipsec-mb
|
||||
REF bde82c8737edc04d80549f0a68225ede7e5cefd #v1.1
|
||||
SHA512 f41dcde88b062e8ec2327987c6d36cd4f74a5e4fea386cc1ef8364f1dc432a2db02ca7d3312c0471b443cf93e815af6d74a4819c249afd6777aa91693b2546e5
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
always-generate-pdb.patch # https://github.com/intel/intel-ipsec-mb/pull/93
|
||||
)
|
||||
|
||||
vcpkg_find_acquire_program(NASM)
|
||||
get_filename_component(NASM_DIR "${NASM}" DIRECTORY)
|
||||
vcpkg_add_to_path(PREPEND "${NASM_DIR}")
|
||||
|
||||
vcpkg_list(SET MAKE_OPTIONS)
|
||||
set(INTEL_IPSEC_STATIC_OR_SHARED SHARED)
|
||||
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
|
||||
vcpkg_list(APPEND MAKE_OPTIONS SHARED=n)
|
||||
set(INTEL_IPSEC_STATIC_OR_SHARED STATIC)
|
||||
endif()
|
||||
|
||||
set(DEBUG_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib")
|
||||
set(RELEASE_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib")
|
||||
|
||||
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
vcpkg_build_nmake(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
PROJECT_SUBPATH lib
|
||||
PROJECT_NAME win_x64.mak
|
||||
OPTIONS ${MAKE_OPTIONS}
|
||||
OPTIONS_DEBUG DEBUG=y
|
||||
)
|
||||
|
||||
if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release")
|
||||
file(INSTALL "${DEBUG_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
set(INTEL_IPSEC_CONFIGURATION "DEBUG")
|
||||
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
|
||||
set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB.lib")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
|
||||
else()
|
||||
file(INSTALL "${DEBUG_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
file(INSTALL "${DEBUG_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
file(INSTALL "${DEBUG_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
set(INTEL_IPSEC_LOCATION "debug/bin/libIPSec_MB.dll")
|
||||
set(INTEL_IPSEC_IMPLIB "debug/lib/libIPSec_MB.lib")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(INSTALL "${RELEASE_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
|
||||
set(INTEL_IPSEC_CONFIGURATION "RELEASE")
|
||||
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
|
||||
set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB.lib")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
|
||||
else()
|
||||
file(INSTALL "${RELEASE_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
|
||||
file(INSTALL "${RELEASE_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
|
||||
file(INSTALL "${RELEASE_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
|
||||
set(INTEL_IPSEC_LOCATION "bin/libIPSec_MB.dll")
|
||||
set(INTEL_IPSEC_IMPLIB "lib/libIPSec_MB.lib")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
|
||||
endif()
|
||||
else()
|
||||
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
|
||||
set(LIB_SUFFIX ".a")
|
||||
else()
|
||||
set(LIB_SUFFIX ".so")
|
||||
endif()
|
||||
|
||||
find_program(MAKE make REQUIRED)
|
||||
if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release")
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-dbg")
|
||||
set(INTEL_IPSEC_CONFIGURATION "DEBUG")
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND "${MAKE}" "-j${VCPKG_CONCURRENCY}" ${MAKE_OPTIONS}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib"
|
||||
LOGNAME "build-${TARGET_TRIPLET}-dbg"
|
||||
)
|
||||
|
||||
file(INSTALL "${DEBUG_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB${LIB_SUFFIX}")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
|
||||
endif()
|
||||
|
||||
message(STATUS "Building ${TARGET_TRIPLET}-rel")
|
||||
set(INTEL_IPSEC_CONFIGURATION "RELEASE")
|
||||
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND "${MAKE}" -j ${MAKE_OPTIONS}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib"
|
||||
LOGNAME "build-${TARGET_TRIPLET}-rel"
|
||||
)
|
||||
|
||||
file(INSTALL "${RELEASE_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
|
||||
set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB${LIB_SUFFIX}")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
|
||||
endif()
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/lib/intel-ipsec-mb.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsecConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsecConfig.cmake" @ONLY)
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
4
externals/vcpkg/ports/intel-ipsec/usage
vendored
Executable file
4
externals/vcpkg/ports/intel-ipsec/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package intel-ipsec is compatible with built-in CMake targets:
|
||||
|
||||
FIND_PACKAGE(intel-ipsec CONFIG REQUIRED)
|
||||
TARGET_LINK_LIBRARIES(main PRIVATE IPSEC::ipsec)
|
||||
6
externals/vcpkg/ports/intel-ipsec/vcpkg.json
vendored
Executable file
6
externals/vcpkg/ports/intel-ipsec/vcpkg.json
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "intel-ipsec",
|
||||
"version": "1.1",
|
||||
"description": "Intel(R) Multi-Buffer Crypto for IPsec Library",
|
||||
"supports": "x64 & (windows | linux) & !uwp"
|
||||
}
|
||||
Reference in New Issue
Block a user