aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/xnnpack/portfile.cmake33
-rw-r--r--ports/xnnpack/use-packages.patch90
-rw-r--r--ports/xnnpack/vcpkg.json21
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/x-/xnnpack.json9
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
+ }
+ ]
+}