diff options
Diffstat (limited to 'vcpkg/ports/boost-mpi')
| -rw-r--r-- | vcpkg/ports/boost-mpi/portfile.cmake | 17 | ||||
| -rw-r--r-- | vcpkg/ports/boost-mpi/revert_mpi_cxx_bool.diff | 49 | ||||
| -rw-r--r-- | vcpkg/ports/boost-mpi/vcpkg.json | 102 |
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" + ] + } + } +} |