diff options
| author | ct-clmsn <ct.clmsn@gmail.com> | 2019-06-12 19:04:18 -0400 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-06-12 16:04:18 -0700 |
| commit | 70149722d758c21b5f49a22f3a4a0c15ea8c6852 (patch) | |
| tree | 4be9fc4f489f6ef66f0cd41579bcd9f999e2f6e4 | |
| parent | d4412e0ee2c8842bf54f0d70aeb07d184578bc1f (diff) | |
| download | vcpkg-70149722d758c21b5f49a22f3a4a0c15ea8c6852.tar.gz vcpkg-70149722d758c21b5f49a22f3a4a0c15ea8c6852.zip | |
[libfabric] initial port of libfabric #4739 (#4740)
* [networkdirect-sdk] Add networkdirect sdk install
| -rw-r--r-- | ports/libfabric/CONTROL | 5 | ||||
| -rw-r--r-- | ports/libfabric/add_additional_includes.patch | 58 | ||||
| -rw-r--r-- | ports/libfabric/portfile.cmake | 46 | ||||
| -rw-r--r-- | ports/networkdirect-sdk/CONTROL | 4 | ||||
| -rw-r--r-- | ports/networkdirect-sdk/portfile.cmake | 42 |
5 files changed, 155 insertions, 0 deletions
diff --git a/ports/libfabric/CONTROL b/ports/libfabric/CONTROL new file mode 100644 index 000000000..931d10f5e --- /dev/null +++ b/ports/libfabric/CONTROL @@ -0,0 +1,5 @@ +Source: libfabric
+Version: 1.7.1
+Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release.
+Homepage: https://github.com/ofiwg/libfabric
+Build-Depends: networkdirect-sdk (windows)
diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch new file mode 100644 index 000000000..377a810d2 --- /dev/null +++ b/ports/libfabric/add_additional_includes.patch @@ -0,0 +1,58 @@ +diff --git a/libfabric.vcxproj b/libfabric.vcxproj
+index 43a05e7..ceb596f 100644
+--- a/libfabric.vcxproj
++++ b/libfabric.vcxproj
+@@ -125,7 +125,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -148,7 +148,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -171,7 +171,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>4127;4200;94;4204;4221;869</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+@@ -195,7 +195,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
+@@ -220,7 +220,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;4204;4221;4115;4201;4100</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
+@@ -245,7 +245,7 @@
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+- <AdditionalIncludeDirectories>$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;</AdditionalIncludeDirectories>
+ <DisableSpecificWarnings>4127;4200;94;4204;4221;869</DisableSpecificWarnings>
+ <C99Support>true</C99Support>
+ <ShowIncludes>false</ShowIncludes>
diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake new file mode 100644 index 000000000..f7dc21226 --- /dev/null +++ b/ports/libfabric/portfile.cmake @@ -0,0 +1,46 @@ +include(vcpkg_common_functions)
+
+if (VCPKG_CMAKE_SYSTEM_NAME)
+ # The library supports Linux/Darwin/BSD, it is just not yet added here
+ message(FATAL_ERROR "vcpkg libfabric currently suports windows. Please consider a pull request to add additional support!")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ofiwg/libfabric
+ REF v1.7.1
+ HEAD_REF master
+ SHA512 3ae06839295a5b581a5d9936ee991bb597672a4981cc7fa385f4db7645d5328156d758848827ec186c0056cf3abd97f8f3859ec16a8b5bbd0d1f979143ee7bb1
+ PATCHES
+ add_additional_includes.patch
+)
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ message(FATAL_ERROR "VCPKG BUILD ERROR: libfabric only supports x64")
+endif()
+
+set(LIBFABRIC_RELEASE_CONFIGURATION "Release-v141")
+set(LIBFABRIC_DEBUG_CONFIGURATION "Debug-v141")
+
+vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH libfabric.vcxproj
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ PLATFORM "x64"
+ RELEASE_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION}
+ DEBUG_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION}
+ USE_VCPKG_INTEGRATION
+ ALLOW_ROOT_INCLUDES
+ OPTIONS
+ /p:SolutionDir=${SOURCE_PATH}
+ /p:AdditionalIncludeDirectories="${CURRENT_INSTALLED_DIR}/include"
+)
+
+#Move includes under subdirectory to avoid colisions with other libraries
+file(RENAME ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/includetemp)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(RENAME ${CURRENT_PACKAGES_DIR}/includetemp ${CURRENT_PACKAGES_DIR}/include/libfabric)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libfabric RENAME copyright)
diff --git a/ports/networkdirect-sdk/CONTROL b/ports/networkdirect-sdk/CONTROL new file mode 100644 index 000000000..3cc939c8e --- /dev/null +++ b/ports/networkdirect-sdk/CONTROL @@ -0,0 +1,4 @@ +Source: networkdirect-sdk
+Version: 2.0.1
+Description: The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices.
+Homepage: https://www.nuget.org/packages/NetworkDirect
\ No newline at end of file diff --git a/ports/networkdirect-sdk/portfile.cmake b/ports/networkdirect-sdk/portfile.cmake new file mode 100644 index 000000000..bb893ed90 --- /dev/null +++ b/ports/networkdirect-sdk/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions)
+
+#only supports windows
+if (VCPKG_CMAKE_SYSTEM_NAME)
+ message(FATAL_ERROR "networkDirect-sdk only supports windows")
+endif()
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ message(FATAL_ERROR "networkDirect-sdk only supports x64 and x86")
+endif()
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.nuget.org/api/v2/package/NetworkDirect/2.0.1"
+ FILENAME "networkDirect-2.0.1.zip"
+ SHA512 97e48ab293c164a80a3ed9e51f1f9f5ae85c07ee91c49950a76b486567d2e50346a2379b8284ffcb9d7d2fe70f76eff9455dce740cf9d3e0c1b83100e25168a8
+)
+
+vcpkg_download_distfile(LICENSE
+ URLS "https://raw.githubusercontent.com/microsoft/NetworkDirect/master/LICENSE.txt"
+ FILENAME "networkingDirect_license.txt"
+ SHA512 7d79aae4c9beb85811a3e122a2b12aad231f519dd12a461ac49d52864a735a6b05a263d433c11ede1406d2e49b6dc62dd38487eb7bd8c079d7198a20cf85fc4d
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/ )
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
+ file(COPY ${SOURCE_PATH}/lib/x64/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
+ file(COPY ${SOURCE_PATH}/lib/Win32/ndutil.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
+endif()
+
+file(COPY ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/networkdirect-sdk/COPYRIGHT)
|
