aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/boost-mpi
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/boost-mpi')
-rw-r--r--vcpkg/ports/boost-mpi/portfile.cmake17
-rw-r--r--vcpkg/ports/boost-mpi/revert_mpi_cxx_bool.diff49
-rw-r--r--vcpkg/ports/boost-mpi/vcpkg.json102
3 files changed, 168 insertions, 0 deletions
diff --git a/vcpkg/ports/boost-mpi/portfile.cmake b/vcpkg/ports/boost-mpi/portfile.cmake
new file mode 100644
index 0000000..d66d514
--- /dev/null
+++ b/vcpkg/ports/boost-mpi/portfile.cmake
@@ -0,0 +1,17 @@
+# Automatically generated by scripts/boost/generate-ports.ps1
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/mpi
+ REF boost-${VERSION}
+ SHA512 67a303c294048f64f64927bc706881a4502c0cdea149a4b65bee9827d415ff268400c6104b78ff3a34528be9786cc023b2b651b26bb4b0b94c2079e531789500
+ HEAD_REF master
+ PATCHES
+ revert_mpi_cxx_bool.diff
+)
+
+set(FEATURE_OPTIONS "")
+boost_configure_and_install(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS ${FEATURE_OPTIONS}
+)
diff --git a/vcpkg/ports/boost-mpi/revert_mpi_cxx_bool.diff b/vcpkg/ports/boost-mpi/revert_mpi_cxx_bool.diff
new file mode 100644
index 0000000..c0912c9
--- /dev/null
+++ b/vcpkg/ports/boost-mpi/revert_mpi_cxx_bool.diff
@@ -0,0 +1,49 @@
+diff --git a/include/boost/mpi/datatype.hpp b/include/boost/mpi/datatype.hpp
+index ef8aa2e..b9d4902 100644
+--- a/include/boost/mpi/datatype.hpp
++++ b/include/boost/mpi/datatype.hpp
+@@ -212,10 +212,6 @@ BOOST_MPI_DATATYPE(packed, MPI_PACKED, builtin);
+ /// INTERNAL ONLY
+ BOOST_MPI_DATATYPE(char, MPI_CHAR, builtin);
+
+-/// INTERNAL ONLY
+-/// We need to pick a boolean type, MPI_CXX_BOOL seems appropriate
+-BOOST_MPI_DATATYPE(bool, MPI_CXX_BOOL, logical);
+-
+ /// INTERNAL ONLY
+ BOOST_MPI_DATATYPE(short, MPI_SHORT, integer);
+
+@@ -321,6 +317,33 @@ BOOST_MPI_DATATYPE(signed char, MPI_SIGNED_CHAR, builtin);
+
+ #endif // Doxygen
+
++namespace detail {
++ inline MPI_Datatype build_mpi_datatype_for_bool()
++ {
++ // this is explicitly freed in mpi_datatype_map::clear
++ MPI_Datatype type;
++ MPI_Type_contiguous(sizeof(bool), MPI_BYTE, &type);
++ MPI_Type_commit(&type);
++ return type;
++ }
++}
++
++/// Support for bool. There is no corresponding MPI_BOOL.
++/// INTERNAL ONLY
++template<>
++inline MPI_Datatype get_mpi_datatype<bool>(const bool&)
++{
++ static MPI_Datatype type = detail::build_mpi_datatype_for_bool();
++ return type;
++}
++
++/// INTERNAL ONLY
++template<>
++struct is_mpi_datatype<bool>
++ : boost::mpl::bool_<true>
++{};
++
++
+ #ifndef BOOST_MPI_DOXYGEN
+ // direct support for special primitive data types of the serialization library
+ BOOST_MPI_DATATYPE(boost::serialization::library_version_type, get_mpi_datatype(uint_least16_t()), integer);
diff --git a/vcpkg/ports/boost-mpi/vcpkg.json b/vcpkg/ports/boost-mpi/vcpkg.json
new file mode 100644
index 0000000..c69795f
--- /dev/null
+++ b/vcpkg/ports/boost-mpi/vcpkg.json
@@ -0,0 +1,102 @@
+{
+ "$comment": "Automatically generated by scripts/boost/generate-ports.ps1",
+ "name": "boost-mpi",
+ "version": "1.89.0",
+ "description": "Boost mpi module",
+ "homepage": "https://www.boost.org/libs/mpi",
+ "license": "BSL-1.0",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "boost-assert",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-cmake",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-config",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-core",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-foreach",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-function",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-graph",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-headers",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-integer",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-iterator",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-lexical-cast",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-mpl",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-optional",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-serialization",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-smart-ptr",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-static-assert",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-throw-exception",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-type-traits",
+ "version>=": "1.89.0"
+ },
+ {
+ "name": "boost-utility",
+ "version>=": "1.89.0"
+ },
+ "mpi"
+ ],
+ "features": {
+ "python3": {
+ "description": "Build Python3 bindings",
+ "supports": "!static",
+ "dependencies": [
+ {
+ "name": "boost-python",
+ "platform": "!uwp & !emscripten & !ios & !android",
+ "version>=": "1.89.0"
+ },
+ "python3"
+ ]
+ }
+ }
+}