mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 17:02:48 +08:00
[isal] Update port to 2.30.0 (#26198)
* CI test isal, not spdk-isal * Update to 2.30.0 * The nmake build uses only nasm The autotools build chooses the tool by feature level. It even requires yasm for mingw. * Relax platform restriction * Fix mingw builds * Fixup pkgconfig * Rewrite CMake config, move to unofficial namespace * Update versions
This commit is contained in:
parent
552f1ee5f8
commit
1b0252ca70
@ -1,13 +0,0 @@
|
|||||||
diff --git a/Makefile.nmake b/Makefile.nmake
|
|
||||||
index 56ae888..7260785 100644
|
|
||||||
--- a/Makefile.nmake
|
|
||||||
+++ b/Makefile.nmake
|
|
||||||
@@ -143,7 +143,7 @@ objs = \
|
|
||||||
|
|
||||||
INCLUDES = -I./ -Ierasure_code/ -Iraid/ -Icrc/ -Iigzip/ -Iinclude/ -Imem/
|
|
||||||
LINKFLAGS = /nologo
|
|
||||||
-CFLAGS = -O2 -D NDEBUG /nologo -D_USE_MATH_DEFINES -Qstd=c99 $(INCLUDES) $(D)
|
|
||||||
+CFLAGS = /nologo -D_USE_MATH_DEFINES -Qstd=c99 $(INCLUDES) $(D)
|
|
||||||
AFLAGS = -f win64 $(INCLUDES) $(D)
|
|
||||||
CC = icl
|
|
||||||
AS = yasm
|
|
@ -1,73 +1,15 @@
|
|||||||
|
message(WARNING "'find_package(isal CONFIG)' is deprecated. Please use 'find_package(unofficial-isal CONFIG)' instead.")
|
||||||
|
|
||||||
function(set_library_target)
|
include(CMakeFindDependencyMacro)
|
||||||
cmake_parse_arguments(PARSE_ARGV 0 arg "" "NAMESPACE;LIB_NAME;DEBUG_STATIC;RELEASE_STATIC;DEBUG_DYNAMIC;RELEASE_DYNAMIC;INCLUDE_DIR;TYPE" "")
|
find_dependency(unofficial-isal)
|
||||||
|
if(NOT TARGET unofficial::isal::isal)
|
||||||
if (arg_DEBUG_DYNAMIC)
|
set(isal_FOUND FALSE)
|
||||||
set(ISAL_PROPERTIES IMPORTED_LOCATION_DEBUG "${arg_DEBUG_DYNAMIC}" IMPORTED_IMPLIB_DEBUG "${arg_DEBUG_STATIC}")
|
elseif(TARGET ISAL::isa-l OR TARGET ISAL::isal)
|
||||||
else()
|
# done
|
||||||
set(ISAL_PROPERTIES IMPORTED_LOCATION_DEBUG "${arg_DEBUG_STATIC}")
|
elseif ("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
||||||
endif()
|
add_library(ISAL::isa-l INTERFACE IMPORTED)
|
||||||
|
set_target_properties(ISAL::isa-l PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::isal::isal)
|
||||||
if (arg_RELEASE_DYNAMIC)
|
|
||||||
set(ISAL_PROPERTIES IMPORTED_LOCATION_RELEASE "${arg_RELEASE_DYNAMIC}" IMPORTED_IMPLIB_DEBUG "${arg_RELEASE_STATIC}")
|
|
||||||
else()
|
|
||||||
set(ISAL_PROPERTIES IMPORTED_LOCATION_RELEASE "${arg_RELEASE_STATIC}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_library(${arg_NAMESPACE}::${arg_LIB_NAME} ${arg_TYPE} IMPORTED)
|
|
||||||
set_target_properties(${arg_NAMESPACE}::${arg_LIB_NAME} PROPERTIES
|
|
||||||
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
|
||||||
${ISAL_PROPERTIES}
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${arg_INCLUDE_DIR}"
|
|
||||||
)
|
|
||||||
|
|
||||||
set(${NAMESPACE}_${LIB_NAME}_FOUND 1)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
|
|
||||||
if (WIN32)
|
|
||||||
if ("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
|
||||||
set_library_target(
|
|
||||||
NAMESPACE "ISAL"
|
|
||||||
LIB_NAME "isa-l"
|
|
||||||
DEBUG_STATIC "${_IMPORT_PREFIX}/debug/lib/isa-l_static.lib"
|
|
||||||
RELEASE_STATIC "${_IMPORT_PREFIX}/lib/isa-l_static.lib"
|
|
||||||
INCLUDE_DIR "${_IMPORT_PREFIX}/include/isal"
|
|
||||||
TYPE STATIC
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set_library_target(
|
|
||||||
NAMESPACE "ISAL"
|
|
||||||
LIB_NAME "isal"
|
|
||||||
DEBUG_DYNAMIC "${_IMPORT_PREFIX}/debug/bin/isa-l.dll"
|
|
||||||
RELEASE_DYNAMIC "${_IMPORT_PREFIX}/bin/isa-l.dll"
|
|
||||||
DEBUG_STATIC "${_IMPORT_PREFIX}/debug/lib/isa-l.lib"
|
|
||||||
RELEASE_STATIC "${_IMPORT_PREFIX}/lib/isa-l.lib"
|
|
||||||
INCLUDE_DIR "${_IMPORT_PREFIX}/include/isal"
|
|
||||||
TYPE SHARED
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
if ("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
add_library(ISAL::isal INTERFACE IMPORTED)
|
||||||
set_library_target(
|
set_target_properties(ISAL::isal PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::isal::isal)
|
||||||
NAMESPACE "ISAL"
|
|
||||||
LIB_NAME "isa-l"
|
|
||||||
DEBUG_STATIC "${_IMPORT_PREFIX}/debug/lib/libisal.a"
|
|
||||||
RELEASE_STATIC "${_IMPORT_PREFIX}/lib/libisal.a"
|
|
||||||
INCLUDE_DIR "${_IMPORT_PREFIX}/include"
|
|
||||||
TYPE STATIC
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set_library_target(
|
|
||||||
NAMESPACE "ISAL"
|
|
||||||
LIB_NAME "isal"
|
|
||||||
DEBUG_DYNAMIC "${_IMPORT_PREFIX}/debug/lib/libisal.so"
|
|
||||||
RELEASE_DYNAMIC "${_IMPORT_PREFIX}/lib/libisal.so"
|
|
||||||
INCLUDE_DIR "${_IMPORT_PREFIX}/include"
|
|
||||||
TYPE SHARED
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
32
ports/isal/osx-asm-sysroot.patch
Normal file
32
ports/isal/osx-asm-sysroot.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
diff --git a/tools/nasm-filter.sh b/tools/nasm-filter.sh
|
||||||
|
index 5ec9ba3..fcc4971 100755
|
||||||
|
--- a/tools/nasm-filter.sh
|
||||||
|
+++ b/tools/nasm-filter.sh
|
||||||
|
@@ -15,6 +15,11 @@ while [ -n "$*" ]; do
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
+ -isysroot )
|
||||||
|
+ # Unsupported options with arg
|
||||||
|
+ shift
|
||||||
|
+ shift
|
||||||
|
+ ;;
|
||||||
|
--prefix* )
|
||||||
|
# Supported options without arg
|
||||||
|
options="$options $1"
|
||||||
|
diff --git a/tools/yasm-filter.sh b/tools/yasm-filter.sh
|
||||||
|
index c33952a..b99bfc3 100755
|
||||||
|
--- a/tools/yasm-filter.sh
|
||||||
|
+++ b/tools/yasm-filter.sh
|
||||||
|
@@ -10,6 +10,11 @@ while [ -n "$*" ]; do
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
+ -isysroot )
|
||||||
|
+ # Unsupported options with arg
|
||||||
|
+ shift
|
||||||
|
+ shift
|
||||||
|
+ ;;
|
||||||
|
-I* | -i* | --prefix* )
|
||||||
|
# Supported options without arg
|
||||||
|
options="$options $1"
|
@ -4,22 +4,21 @@ endif()
|
|||||||
|
|
||||||
vcpkg_from_github(
|
vcpkg_from_github(
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO 01org/isa-l
|
REPO intel/isa-l
|
||||||
REF v2.25.0
|
REF v2.30.0
|
||||||
SHA512 aa556c8ba26b4637493b3de50a23636668bcfd71249029c52fe6983d0bcf120d1b91f39aaa259cb58e59448d401366f3bfaaee24609db7e6a1cd3fdf1a953efe
|
SHA512 d3ecfb7326097534b06a74b584100336509525ae7cadc6112d0c27e3d8704f3810e18f583d3cc33fa266bfec96db023607622b22ddbf17988ec4bf1bb3b3b9b2
|
||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
PATCHES fix-nmake.patch
|
PATCHES
|
||||||
|
osx-asm-sysroot.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_find_acquire_program(YASM)
|
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||||
get_filename_component(YASM_PATH ${YASM} DIRECTORY)
|
vcpkg_find_acquire_program(NASM)
|
||||||
vcpkg_add_to_path("${YASM_PATH}")
|
get_filename_component(NASM_PATH "${NASM}" DIRECTORY)
|
||||||
|
vcpkg_add_to_path("${NASM_PATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
vcpkg_find_acquire_program(NASM)
|
if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||||
get_filename_component(NASM_PATH ${NASM} DIRECTORY)
|
|
||||||
vcpkg_add_to_path("${NASM_PATH}")
|
|
||||||
|
|
||||||
if (VCPKG_TARGET_IS_WINDOWS)
|
|
||||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||||
set(NMAKE_TARGET dll)
|
set(NMAKE_TARGET dll)
|
||||||
else()
|
else()
|
||||||
@ -30,7 +29,8 @@ if (VCPKG_TARGET_IS_WINDOWS)
|
|||||||
SOURCE_PATH "${SOURCE_PATH}"
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
PROJECT_NAME Makefile.nmake
|
PROJECT_NAME Makefile.nmake
|
||||||
TARGET ${NMAKE_TARGET}
|
TARGET ${NMAKE_TARGET}
|
||||||
OPTIONS CC=cl
|
OPTIONS
|
||||||
|
CFLAGS_REL=
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||||
@ -56,16 +56,36 @@ if (VCPKG_TARGET_IS_WINDOWS)
|
|||||||
file(GLOB ISAL_HDRS "${SOURCE_PATH}/include/*")
|
file(GLOB ISAL_HDRS "${SOURCE_PATH}/include/*")
|
||||||
file(INSTALL ${ISAL_HDRS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal")
|
file(INSTALL ${ISAL_HDRS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal")
|
||||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/isa-l.def" DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal")
|
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/isa-l.def" DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal")
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||||
|
vcpkg_find_acquire_program(YASM)
|
||||||
|
get_filename_component(YASM_PATH "${NASM}" DIRECTORY)
|
||||||
|
vcpkg_add_to_path("${YASM_PATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
vcpkg_list(SET options)
|
||||||
|
if(VCPKG_TARGET_IS_MINGW)
|
||||||
|
# There is only a .def file used by nmake, no declspec(...)
|
||||||
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||||
|
# isal forces yasm for mingw, but stumbles over feature level detection
|
||||||
|
vcpkg_list(APPEND options AS=)
|
||||||
|
endif()
|
||||||
|
|
||||||
vcpkg_configure_make(
|
vcpkg_configure_make(
|
||||||
SOURCE_PATH "${SOURCE_PATH}"
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
|
OPTIONS
|
||||||
|
${options}
|
||||||
|
# No rpl_malloc provided, and probably not depending on ‘malloc (0)’ returning a valid pointer
|
||||||
|
ac_cv_func_malloc_0_nonnull=yes
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_make()
|
vcpkg_install_make()
|
||||||
|
vcpkg_fixup_pkgconfig()
|
||||||
|
|
||||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/isalConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/isalConfig.cmake" @ONLY)
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-isal-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-isal/unofficial-isal-config.cmake" @ONLY)
|
||||||
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/isalConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/isalConfig.cmake" @ONLY) # legacy
|
||||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
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)
|
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||||
|
18
ports/isal/unofficial-isal-config.cmake
Normal file
18
ports/isal/unofficial-isal-config.cmake
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
if(NOT TARGET unofficial::isal::isal)
|
||||||
|
add_library(unofficial::isal::isal UNKNOWN IMPORTED)
|
||||||
|
get_filename_component(z_vcpkg_isal_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
get_filename_component(z_vcpkg_isal_prefix "${z_vcpkg_isal_prefix}" PATH)
|
||||||
|
get_filename_component(z_vcpkg_isal_prefix "${z_vcpkg_isal_prefix}" PATH)
|
||||||
|
find_library(Z_VCPKG_ISAL_LIBRARY_RELEASE NAMES isal isa-l_static isa-l PATHS "${z_vcpkg_isal_prefix}/lib" NO_DEFAULT_PATH REQUIRED)
|
||||||
|
set_target_properties(unofficial::isal::isal PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_isal_prefix}/include"
|
||||||
|
IMPORTED_CONFIGURATIONS RELEASE
|
||||||
|
IMPORTED_LOCATION_RELEASE "${Z_VCPKG_ISAL_LIBRARY_RELEASE}"
|
||||||
|
)
|
||||||
|
if("@VCPKG_BUILD_TYPE@" STREQUAL "")
|
||||||
|
find_library(Z_VCPKG_ISAL_LIBRARY_DEBUG NAMES isal isa-l_static isa-l PATHS "${z_vcpkg_isal_prefix}/debug/lib" NO_DEFAULT_PATH REQUIRED)
|
||||||
|
set_property(TARGET unofficial::isal::isal APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||||
|
set_target_properties(unofficial::isal::isal PROPERTIES IMPORTED_LOCATION_DEBUG "${Z_VCPKG_ISAL_LIBRARY_DEBUG}")
|
||||||
|
endif()
|
||||||
|
unset(z_vcpkg_isal_prefix)
|
||||||
|
endif()
|
@ -1,4 +1,4 @@
|
|||||||
The package isal is compatible with built-in CMake targets:
|
The package isal provides CMake targets:
|
||||||
|
|
||||||
find_package(isal CONFIG REQUIRED)
|
find_package(unofficial-isal CONFIG REQUIRED)
|
||||||
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:ISAL::isa-l>,ISAL::isa-l,ISAL::isal>)
|
target_link_libraries(main unofficial::isal::isal)
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "isal",
|
"name": "isal",
|
||||||
"version": "2.25.0",
|
"version": "2.30.0",
|
||||||
"port-version": 3,
|
|
||||||
"description": "Intel(R) Intelligent Storage Acceleration Library",
|
"description": "Intel(R) Intelligent Storage Acceleration Library",
|
||||||
"homepage": "https://github.com/intel/isa-l",
|
"homepage": "https://github.com/intel/isa-l",
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"supports": "!(x86 | arm | uwp | osx)"
|
"supports": "!uwp & (x64 | (arm64 & linux))"
|
||||||
}
|
}
|
||||||
|
@ -383,8 +383,6 @@ intel-mkl:x86-windows=fail
|
|||||||
irrlicht:arm64-windows=fail
|
irrlicht:arm64-windows=fail
|
||||||
irrlicht:arm-uwp=fail
|
irrlicht:arm-uwp=fail
|
||||||
irrlicht:x64-uwp=fail
|
irrlicht:x64-uwp=fail
|
||||||
# Conflict with spdk-isal
|
|
||||||
isal:x64-linux=skip
|
|
||||||
jemalloc:arm64-windows=fail
|
jemalloc:arm64-windows=fail
|
||||||
jemalloc:arm-uwp=fail
|
jemalloc:arm-uwp=fail
|
||||||
jemalloc:x64-osx=fail
|
jemalloc:x64-osx=fail
|
||||||
@ -1076,6 +1074,8 @@ spdk-ipsec:x64-windows=fail
|
|||||||
spdk-ipsec:x64-windows-static=fail
|
spdk-ipsec:x64-windows-static=fail
|
||||||
spdk-ipsec:x64-windows-static-md=fail
|
spdk-ipsec:x64-windows-static-md=fail
|
||||||
spdk-ipsec:x86-windows=fail
|
spdk-ipsec:x86-windows=fail
|
||||||
|
# Conflict with isal, and "internal" dep of spdk:x64-linux=fail
|
||||||
|
spdk-isal:x64-linux=skip
|
||||||
spirv-tools:arm-uwp=fail
|
spirv-tools:arm-uwp=fail
|
||||||
spirv-tools:x64-uwp=fail
|
spirv-tools:x64-uwp=fail
|
||||||
stormlib:arm-uwp=fail
|
stormlib:arm-uwp=fail
|
||||||
|
@ -3061,8 +3061,8 @@
|
|||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"isal": {
|
"isal": {
|
||||||
"baseline": "2.25.0",
|
"baseline": "2.30.0",
|
||||||
"port-version": 3
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"ismrmrd": {
|
"ismrmrd": {
|
||||||
"baseline": "1.5.0",
|
"baseline": "1.5.0",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "182dacba1a91116c56c83ede14decd8879b86cf7",
|
||||||
|
"version": "2.30.0",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "7fa8499c557c19920d80318d9a1999922cd28663",
|
"git-tree": "7fa8499c557c19920d80318d9a1999922cd28663",
|
||||||
"version": "2.25.0",
|
"version": "2.25.0",
|
||||||
|
Loading…
Reference in New Issue
Block a user