diff options
| -rw-r--r-- | ports/xnnpack/portfile.cmake | 33 | ||||
| -rw-r--r-- | ports/xnnpack/use-packages.patch | 90 | ||||
| -rw-r--r-- | ports/xnnpack/vcpkg.json | 21 | ||||
| -rw-r--r-- | versions/baseline.json | 4 | ||||
| -rw-r--r-- | versions/x-/xnnpack.json | 9 |
5 files changed, 157 insertions, 0 deletions
diff --git a/ports/xnnpack/portfile.cmake b/ports/xnnpack/portfile.cmake new file mode 100644 index 000000000..28abad2a4 --- /dev/null +++ b/ports/xnnpack/portfile.cmake @@ -0,0 +1,33 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/XNNPACK + REF 5223fd1922d9d965ddb07865d1d13293069fab65 # 2021-05-17 + SHA512 5c1eb9171a046c683d5a96ae70b6dab36c415c981e8f29857d16ad67afa22681f0fe6f7623527200fd954403d50b036bb2892ba44e397d639860b9ec4873e7c6 + HEAD_REF master + PATCHES + use-packages.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DXNNPACK_USE_SYSTEM_LIBS=ON + -DXNNPACK_ENABLE_ASSEMBLY=ON + -DXNNPACK_ENABLE_MEMOPT=ON + -DXNNPACK_ENABLE_SPARSE=ON + -DXNNPACK_BUILD_TESTS=OFF + -DXNNPACK_BUILD_BENCHMARKS=OFF +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/share +) diff --git a/ports/xnnpack/use-packages.patch b/ports/xnnpack/use-packages.patch new file mode 100644 index 000000000..17d274c99 --- /dev/null +++ b/ports/xnnpack/use-packages.patch @@ -0,0 +1,90 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b69ce50c..1e8938b7 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3042,7 +3032,7 @@ ELSE()
+ ENDIF()
+ ENDIF()
+
+-TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include)
++TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+ TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src)
+ IF(WIN32)
+ # Target Windows 7+ API
+@@ -3057,7 +3047,7 @@ IF(LIBM)
+ ENDIF()
+
+ # ---[ Configure clog
+-IF(NOT TARGET clog)
++IF(FALSE)
+ IF(NOT XNNPACK_USE_SYSTEM_LIBS)
+ SET(CLOG_BUILD_TESTS OFF CACHE BOOL "")
+ SET(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
+@@ -3075,10 +3065,9 @@ IF(NOT TARGET clog)
+ SET_PROPERTY(TARGET clog PROPERTY IMPORTED_LOCATION "${CLOG_LIBRARY}")
+ ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE clog)
+
+ # ---[ Configure cpuinfo
+-IF(NOT TARGET cpuinfo)
++IF(FALSE)
+ IF(NOT XNNPACK_USE_SYSTEM_LIBS)
+ SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
+@@ -3096,10 +3085,11 @@ IF(NOT TARGET cpuinfo)
+ SET_PROPERTY(TARGET cpuinfo PROPERTY IMPORTED_LOCATION "${CPUINFO_LIBRARY}")
+ ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE cpuinfo)
++find_package(unofficial-cpuinfo CONFIG REQUIRED)
++target_link_libraries(XNNPACK PUBLIC unofficial::cpuinfo::clog unofficial::cpuinfo::cpuinfo)
+
+ # ---[ Configure pthreadpool
+-IF(NOT TARGET pthreadpool)
++IF(FALSE)
+ IF(NOT XNNPACK_USE_SYSTEM_LIBS)
+ SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
+ SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -3119,7 +3109,7 @@ ENDIF()
+ TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool)
+
+ # ---[ Configure FXdiv
+-IF(NOT TARGET fxdiv)
++IF(FALSE)
+ IF(NOT XNNPACK_USE_SYSTEM_LIBS)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -3135,10 +3125,11 @@ IF(NOT TARGET fxdiv)
+ SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C)
+ ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv)
++find_path(FXDIV_INCLUDE_DIRS "fxdiv.h")
++target_include_directories(XNNPACK PRIVATE ${FXDIV_INCLUDE_DIRS})
+
+ # ---[ Configure FP16
+-IF(NOT TARGET fp16)
++IF(FALSE)
+ IF(NOT XNNPACK_USE_SYSTEM_LIBS)
+ SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -3154,12 +3145,17 @@ IF(NOT TARGET fp16)
+ SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C)
+ ENDIF()
+ ENDIF()
+-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
++find_path(FP16_INCLUDE_DIRS "fp16.h")
++target_include_directories(XNNPACK PRIVATE ${FP16_INCLUDE_DIRS})
+
+ INSTALL(TARGETS XNNPACK
++ EXPORT xnnpack-config
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++install(EXPORT xnnpack-config NAMESPACE unofficial::
++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/xnnpack)
+
+ # ---[ XNNPACK unit tests
+ IF(XNNPACK_BUILD_TESTS)
diff --git a/ports/xnnpack/vcpkg.json b/ports/xnnpack/vcpkg.json new file mode 100644 index 000000000..f3d46ad94 --- /dev/null +++ b/ports/xnnpack/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "xnnpack", + "version-date": "2021-05-17", + "description": "High-efficiency floating-point neural network inference operators for mobile, server, and Web", + "homepage": "https://github.com/google/XNNPACK", + "supports": "!arm & !uwp", + "dependencies": [ + "cpuinfo", + "fp16", + "fxdiv", + "pthreadpool", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index a8add12b0..b7673cc7d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6552,6 +6552,10 @@ "baseline": "0.5.2-1", "port-version": 0 }, + "xnnpack": { + "baseline": "2021-05-17", + "port-version": 0 + }, "xorstr": { "baseline": "2020-11-29", "port-version": 0 diff --git a/versions/x-/xnnpack.json b/versions/x-/xnnpack.json new file mode 100644 index 000000000..df28faff7 --- /dev/null +++ b/versions/x-/xnnpack.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a35b56ac05249424cfcc4ad4727e34d7e1216f25", + "version-date": "2021-05-17", + "port-version": 0 + } + ] +} |
