diff --git a/components/component_storage/include/hpx/components/component_storage/server/component_storage.hpp b/components/component_storage/include/hpx/components/component_storage/server/component_storage.hpp index 9a5bb87cb0b8..5aacafadf51f 100644 --- a/components/component_storage/include/hpx/components/component_storage/server/component_storage.hpp +++ b/components/component_storage/include/hpx/components/component_storage/server/component_storage.hpp @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/components/component_storage/src/component_module.cpp b/components/component_storage/src/component_module.cpp index 0171a6e44faa..b23c1e33a229 100644 --- a/components/component_storage/src/component_module.cpp +++ b/components/component_storage/src/component_module.cpp @@ -5,6 +5,7 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include +#include #include #include #include diff --git a/components/containers/partitioned_vector/include/hpx/components/containers/partitioned_vector/partitioned_vector_component_decl.hpp b/components/containers/partitioned_vector/include/hpx/components/containers/partitioned_vector/partitioned_vector_component_decl.hpp index 967ee9aa4cbd..ac8af57d32ab 100644 --- a/components/containers/partitioned_vector/include/hpx/components/containers/partitioned_vector/partitioned_vector_component_decl.hpp +++ b/components/containers/partitioned_vector/include/hpx/components/containers/partitioned_vector/partitioned_vector_component_decl.hpp @@ -17,7 +17,7 @@ /// classes are asynchronous API which return the futures. #include -#include +#include #include #include #include diff --git a/components/containers/unordered/include/hpx/components/containers/unordered/partition_unordered_map_component.hpp b/components/containers/unordered/include/hpx/components/containers/unordered/partition_unordered_map_component.hpp index 1fb205edcb23..34b8da5d77dc 100644 --- a/components/containers/unordered/include/hpx/components/containers/unordered/partition_unordered_map_component.hpp +++ b/components/containers/unordered/include/hpx/components/containers/unordered/partition_unordered_map_component.hpp @@ -17,8 +17,8 @@ /// classes are asynchronous API which return the futures. #include -#include #include +#include #include #include #include diff --git a/components/iostreams/include/hpx/components/iostreams/server/output_stream.hpp b/components/iostreams/include/hpx/components/iostreams/server/output_stream.hpp index aa7f1e6649c7..d194462b08c4 100644 --- a/components/iostreams/include/hpx/components/iostreams/server/output_stream.hpp +++ b/components/iostreams/include/hpx/components/iostreams/server/output_stream.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/components/iostreams/src/component_module.cpp b/components/iostreams/src/component_module.cpp index 0f2a54c67a5e..554be20f5a1a 100644 --- a/components/iostreams/src/component_module.cpp +++ b/components/iostreams/src/component_module.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/components/process/include/hpx/components/process/server/child.hpp b/components/process/include/hpx/components/process/server/child.hpp index e87ea97c4a15..a23ca7190456 100644 --- a/components/process/include/hpx/components/process/server/child.hpp +++ b/components/process/include/hpx/components/process/server/child.hpp @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/libs/core/algorithms/include/hpx/parallel/algorithms/shift_left.hpp b/libs/core/algorithms/include/hpx/parallel/algorithms/shift_left.hpp index 913e632f64e8..97de954184a6 100644 --- a/libs/core/algorithms/include/hpx/parallel/algorithms/shift_left.hpp +++ b/libs/core/algorithms/include/hpx/parallel/algorithms/shift_left.hpp @@ -277,9 +277,8 @@ namespace hpx { ) // clang-format on friend typename hpx::parallel::util::detail::algorithm_result::type - tag_fallback_invoke(shift_left_t, ExPolicy&& policy, FwdIter first, - FwdIter last, Size n) + FwdIter>::type tag_fallback_invoke(shift_left_t, ExPolicy&& policy, + FwdIter first, FwdIter last, Size n) { static_assert(std::forward_iterator, "Requires at least forward iterator."); diff --git a/libs/core/algorithms/include/hpx/parallel/algorithms/shift_right.hpp b/libs/core/algorithms/include/hpx/parallel/algorithms/shift_right.hpp index a32f2d0bf0de..d0f383dfe225 100644 --- a/libs/core/algorithms/include/hpx/parallel/algorithms/shift_right.hpp +++ b/libs/core/algorithms/include/hpx/parallel/algorithms/shift_right.hpp @@ -322,9 +322,8 @@ namespace hpx { ) // clang-format on friend typename hpx::parallel::util::detail::algorithm_result::type - tag_fallback_invoke(shift_right_t, ExPolicy&& policy, FwdIter first, - FwdIter last, Size n) + FwdIter>::type tag_fallback_invoke(shift_right_t, ExPolicy&& policy, + FwdIter first, FwdIter last, Size n) { static_assert(std::forward_iterator, "Requires at least forward iterator."); diff --git a/libs/core/algorithms/include/hpx/parallel/container_algorithms/find.hpp b/libs/core/algorithms/include/hpx/parallel/container_algorithms/find.hpp index c473a876acf8..0d3f330ecfc2 100644 --- a/libs/core/algorithms/include/hpx/parallel/container_algorithms/find.hpp +++ b/libs/core/algorithms/include/hpx/parallel/container_algorithms/find.hpp @@ -2261,9 +2261,8 @@ namespace hpx::ranges { ) // clang-format on friend hpx::parallel::util::detail::algorithm_result_t> - tag_fallback_invoke(find_if_not_t, ExPolicy&& policy, Rng&& rng, - Pred pred, Proj proj = Proj()) + std::ranges::iterator_t> tag_fallback_invoke(find_if_not_t, + ExPolicy&& policy, Rng&& rng, Pred pred, Proj proj = Proj()) { using iterator_type = std::ranges::iterator_t; @@ -2472,10 +2471,9 @@ namespace hpx::ranges { ) // clang-format on friend hpx::parallel::util::detail::algorithm_result_t> - tag_fallback_invoke(find_first_of_t, ExPolicy&& policy, Rng1&& rng1, - Rng2&& rng2, Pred op = Pred(), Proj1 proj1 = Proj1(), - Proj2 proj2 = Proj2()) + std::ranges::iterator_t> tag_fallback_invoke(find_first_of_t, + ExPolicy&& policy, Rng1&& rng1, Rng2&& rng2, Pred op = Pred(), + Proj1 proj1 = Proj1(), Proj2 proj2 = Proj2()) { using iterator_type = std::ranges::iterator_t; diff --git a/libs/core/algorithms/include/hpx/parallel/container_algorithms/iota.hpp b/libs/core/algorithms/include/hpx/parallel/container_algorithms/iota.hpp index 0990a29060f6..0b38aff1cfcd 100644 --- a/libs/core/algorithms/include/hpx/parallel/container_algorithms/iota.hpp +++ b/libs/core/algorithms/include/hpx/parallel/container_algorithms/iota.hpp @@ -189,9 +189,8 @@ namespace hpx::ranges { ) // clang-format on friend hpx::parallel::util::detail::algorithm_result_t> - tag_fallback_invoke( - iota_t, ExPolicy&& policy, FwdIter first, Sent last, T value) + iota_result> tag_fallback_invoke(iota_t, + ExPolicy&& policy, FwdIter first, Sent last, T value) { auto dist = hpx::parallel::detail::distance(first, last); diff --git a/libs/core/async_sycl/CMakeLists.txt b/libs/core/async_sycl/CMakeLists.txt index a09dcad8c5d2..4fc113c5cbf8 100644 --- a/libs/core/async_sycl/CMakeLists.txt +++ b/libs/core/async_sycl/CMakeLists.txt @@ -28,6 +28,8 @@ include(HPX_AddModule) add_hpx_module( core async_sycl GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER hpx/async_sycl/detail/sycl_event_callback.hpp SOURCES ${async_sycl_sources} HEADERS ${async_sycl_headers} COMPAT_HEADERS ${async_sycl_compat_headers} diff --git a/libs/core/execution/include/hpx/execution/algorithms/when_all.hpp b/libs/core/execution/include/hpx/execution/algorithms/when_all.hpp index eb9dca7b5d51..d563e4c48370 100644 --- a/libs/core/execution/include/hpx/execution/algorithms/when_all.hpp +++ b/libs/core/execution/include/hpx/execution/algorithms/when_all.hpp @@ -580,8 +580,9 @@ namespace hpx::execution::experimental { // execution::transfer_when_all_with_variant is used to join multiple // sender chains and create a sender whose execution is dependent on all // the input senders, which may have one or more sets of sent values. - HPX_CXX_CORE_EXPORT inline constexpr struct transfer_when_all_with_variant_t - final : hpx::functional::tag + HPX_CXX_CORE_EXPORT inline constexpr struct + transfer_when_all_with_variant_t final + : hpx::functional::tag { } transfer_when_all_with_variant{}; diff --git a/libs/core/execution/include/hpx/execution/executors/execution_parameters_fwd.hpp b/libs/core/execution/include/hpx/execution/executors/execution_parameters_fwd.hpp index 142ab9b709ab..c08902e69f67 100644 --- a/libs/core/execution/include/hpx/execution/executors/execution_parameters_fwd.hpp +++ b/libs/core/execution/include/hpx/execution/executors/execution_parameters_fwd.hpp @@ -209,8 +209,8 @@ namespace hpx::execution::experimental { /// \note This calls params.reset_thread_distribution(exec) if it exists; /// otherwise it does nothing. /// - HPX_CXX_CORE_EXPORT inline constexpr struct reset_thread_distribution_t - final + HPX_CXX_CORE_EXPORT inline constexpr struct + reset_thread_distribution_t final : hpx::functional::detail::tag_priority { private: @@ -299,8 +299,8 @@ namespace hpx::execution::experimental { /// Generate a policy that supports setting the number of cores for /// execution. - HPX_CXX_CORE_EXPORT inline constexpr struct with_processing_units_count_t - final + HPX_CXX_CORE_EXPORT inline constexpr struct + with_processing_units_count_t final : hpx::functional::detail::tag_priority { } with_processing_units_count{}; @@ -434,8 +434,8 @@ namespace hpx::execution::experimental { /// \note This calls params.mark_begin_execution(exec) if it exists; /// otherwise it does nothing. /// - HPX_CXX_CORE_EXPORT inline constexpr struct collect_execution_parameters_t - final + HPX_CXX_CORE_EXPORT inline constexpr struct + collect_execution_parameters_t final : hpx::functional::detail::tag_priority { private: diff --git a/libs/core/execution_base/include/hpx/execution_base/completion_signatures.hpp b/libs/core/execution_base/include/hpx/execution_base/completion_signatures.hpp index 66be3065f3a0..5a84c3a4514b 100644 --- a/libs/core/execution_base/include/hpx/execution_base/completion_signatures.hpp +++ b/libs/core/execution_base/include/hpx/execution_base/completion_signatures.hpp @@ -397,8 +397,8 @@ namespace hpx::execution::experimental { // Otherwise, no-completion-signatures{}. // #if !defined(HPX_HAVE_STDEXEC) - HPX_CXX_CORE_EXPORT inline constexpr struct get_completion_signatures_t - final + HPX_CXX_CORE_EXPORT inline constexpr struct + get_completion_signatures_t final : hpx::functional::detail::tag_fallback { private: diff --git a/libs/core/gasnet_base/CMakeLists.txt b/libs/core/gasnet_base/CMakeLists.txt index 66418b37b143..d286797d2d75 100644 --- a/libs/core/gasnet_base/CMakeLists.txt +++ b/libs/core/gasnet_base/CMakeLists.txt @@ -30,6 +30,7 @@ include(HPX_AddModule) add_hpx_module( core gasnet_base GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${gasnet_base_sources} HEADERS ${gasnet_base_headers} DEPENDENCIES PkgConfig::GASNET ${gasnet_additional_dependencies} diff --git a/libs/core/lcw_base/CMakeLists.txt b/libs/core/lcw_base/CMakeLists.txt index 14cd4f8e0b11..2325e736c243 100644 --- a/libs/core/lcw_base/CMakeLists.txt +++ b/libs/core/lcw_base/CMakeLists.txt @@ -23,6 +23,7 @@ include(HPX_AddModule) add_hpx_module( core lcw_base GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${lcw_base_sources} HEADERS ${lcw_base_headers} MODULE_DEPENDENCIES hpx_logging hpx_runtime_configuration hpx_string_util diff --git a/libs/core/preprocessor/CMakeLists.txt b/libs/core/preprocessor/CMakeLists.txt index b87471edf1f9..505537731382 100644 --- a/libs/core/preprocessor/CMakeLists.txt +++ b/libs/core/preprocessor/CMakeLists.txt @@ -29,7 +29,9 @@ include(HPX_AddModule) add_hpx_module( core preprocessor NO_CONFIG_IN_GENERATED_HEADERS GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN OFF HEADERS ${preprocessor_headers} + MACRO_HEADERS ${preprocessor_headers} COMPAT_HEADERS ${preprocessor_compat_headers} CMAKE_SUBDIRS tests ) diff --git a/libs/core/threading_base/include/hpx/threading_base/thread_data.hpp b/libs/core/threading_base/include/hpx/threading_base/thread_data.hpp index 2f4025c1eb3c..97e118438327 100644 --- a/libs/core/threading_base/include/hpx/threading_base/thread_data.hpp +++ b/libs/core/threading_base/include/hpx/threading_base/thread_data.hpp @@ -672,8 +672,9 @@ namespace hpx::threads { } #if defined(HPX_HAVE_MODULE_TRACY) - HPX_CXX_CORE_EXPORT HPX_CORE_EXPORT tracing::region_init_data - get_region_init_data(thread_data const* thrdptr); + HPX_CXX_CORE_EXPORT HPX_CORE_EXPORT + tracing::region_init_data get_region_init_data( + thread_data const* thrdptr); HPX_CXX_CORE_EXPORT HPX_CORE_EXPORT tracing::fiber_region_init_data get_fiber_region_init_data(thread_data const* thrdptr); diff --git a/libs/full/actions/CMakeLists.txt b/libs/full/actions/CMakeLists.txt index c22e8464ea6b..c65c971afa44 100644 --- a/libs/full/actions/CMakeLists.txt +++ b/libs/full/actions/CMakeLists.txt @@ -16,6 +16,7 @@ set(actions_headers hpx/actions/actions_fwd.hpp hpx/actions/base_action.hpp hpx/actions/invoke_function.hpp + hpx/actions/macros.hpp hpx/actions/post_helper_fwd.hpp hpx/actions/post_helper.hpp hpx/actions/register_action.hpp @@ -23,6 +24,8 @@ set(actions_headers hpx/actions/transfer_action.hpp ) +set(actions_macro_headers hpx/actions/macros.hpp) + # Default location is $HPX_ROOT/libs/actions/include_compatibility # cmake-format: off set(actions_compat_headers @@ -43,8 +46,10 @@ include(HPX_AddModule) add_hpx_module( full actions GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${actions_sources} HEADERS ${actions_headers} + MACRO_HEADERS ${actions_macro_headers} COMPAT_HEADERS ${actions_compat_headers} MODULE_DEPENDENCIES hpx_actions_base hpx_components_base hpx_naming_base hpx_parcelset_base diff --git a/libs/full/actions/include/hpx/actions/base_action.hpp b/libs/full/actions/include/hpx/actions/base_action.hpp index 379e2dea7fc1..f5a01872972a 100644 --- a/libs/full/actions/include/hpx/actions/base_action.hpp +++ b/libs/full/actions/include/hpx/actions/base_action.hpp @@ -194,109 +194,7 @@ namespace hpx::serialization { } // namespace hpx::serialization #include - -// Helper macro for action serialization, each of the defined actions needs to -// be registered with the serialization library -#define HPX_DEFINE_GET_ACTION_NAME(action) \ - HPX_DEFINE_GET_ACTION_NAME_(action, action) \ - /**/ - -#define HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ - HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) \ - namespace hpx::actions::detail { \ - template <> \ - HPX_ALWAYS_EXPORT char const* get_action_name() noexcept \ - { \ - return HPX_PP_STRINGIZE(actionname); \ - } \ - } \ - /**/ -/**/ - -/////////////////////////////////////////////////////////////////////////////// -#if defined(HPX_HAVE_ITTNOTIFY) && HPX_HAVE_ITTNOTIFY != 0 && \ - !defined(HPX_HAVE_APEX) -#define HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) \ - namespace hpx::actions::detail { \ - template <> \ - HPX_ALWAYS_EXPORT util::itt::string_handle const& \ - get_action_name_itt() noexcept \ - { \ - static util::itt::string_handle sh(HPX_PP_STRINGIZE(actionname)); \ - return sh; \ - } \ - } \ - /**/ - -#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) \ - namespace hpx::actions::detail { \ - template <> \ - HPX_ALWAYS_EXPORT util::itt::string_handle const& \ - get_action_name_itt() noexcept; \ - } \ -/**/ -#else // HPX_HAVE_ITTNOTIFY != 0 && !defined(HPX_HAVE_APEX) -#define HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) /**/ -#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) /**/ -#endif // HPX_HAVE_ITTNOTIFY != 0 && !defined(HPX_HAVE_APEX) - -#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID(action) \ - HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) \ - namespace hpx::actions::detail { \ - template <> \ - HPX_ALWAYS_EXPORT char const* get_action_name() noexcept; \ - } \ - HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) \ - \ - namespace hpx::traits { \ - template <> \ - struct is_action : std::true_type \ - { \ - }; \ - template <> \ - struct needs_automatic_registration : std::false_type \ - { \ - }; \ - } \ - /**/ - -#define HPX_REGISTER_ACTION_DECLARATION_2(action, actionname) \ - HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID(action) \ - /**/ - -#if defined(HPX_MSVC) || defined(HPX_MINGW) -#define HPX_REGISTER_ACTION_2(action, actionname) \ - HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ - HPX_REGISTER_ACTION_INVOCATION_COUNT(action) \ - HPX_REGISTER_PER_ACTION_DATA_COUNTER_TYPES(action) \ - namespace hpx::actions { \ - template struct HPX_ALWAYS_EXPORT transfer_action; \ - template struct HPX_ALWAYS_EXPORT \ - transfer_continuation_action; \ - } \ -/**/ -#define HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) /**/ - -#else // defined(HPX_MSVC) || defined(HPX_MINGW) - -#define HPX_REGISTER_ACTION_2(action, actionname) \ - HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ - HPX_REGISTER_ACTION_INVOCATION_COUNT(action) \ - HPX_REGISTER_PER_ACTION_DATA_COUNTER_TYPES(action) \ - namespace hpx::actions { \ - template struct transfer_action; \ - template struct transfer_continuation_action; \ - } \ -/**/ -#define HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) \ - namespace hpx::actions { \ - extern template struct HPX_ALWAYS_IMPORT transfer_action; \ - extern template struct HPX_ALWAYS_IMPORT \ - transfer_continuation_action; \ - } \ - /**/ - -#endif // defined(HPX_MSVC) || defined(HPX_MINGW) +#include HPX_TRAITS_SERIALIZED_WITH_ID(hpx::actions::base_action) HPX_TRAITS_SERIALIZED_WITH_ID(hpx::actions::base_action_data) diff --git a/libs/full/actions/include/hpx/actions/macros.hpp b/libs/full/actions/include/hpx/actions/macros.hpp new file mode 100644 index 000000000000..54fb79b108be --- /dev/null +++ b/libs/full/actions/include/hpx/actions/macros.hpp @@ -0,0 +1,118 @@ +// Copyright (c) 2026 Arpit Khandelwal +// +// SPDX-License-Identifier: BSL-1.0 +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#pragma once + +#include +#include +#include + +#if defined(HPX_HAVE_NETWORKING) + +// Helper macro for action serialization; each of the defined actions needs to +// be registered with the serialization library. + +#define HPX_DEFINE_GET_ACTION_NAME(action) \ + HPX_DEFINE_GET_ACTION_NAME_(action, action) \ + /**/ + +#define HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ + HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) \ + namespace hpx::actions::detail { \ + template <> \ + HPX_ALWAYS_EXPORT char const* get_action_name() noexcept \ + { \ + return HPX_PP_STRINGIZE(actionname); \ + } \ + } \ + /**/ + +/////////////////////////////////////////////////////////////////////////////// +#if defined(HPX_HAVE_ITTNOTIFY) && HPX_HAVE_ITTNOTIFY != 0 && \ + !defined(HPX_HAVE_APEX) +#define HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) \ + namespace hpx::actions::detail { \ + template <> \ + HPX_ALWAYS_EXPORT util::itt::string_handle const& \ + get_action_name_itt() noexcept \ + { \ + static util::itt::string_handle sh(HPX_PP_STRINGIZE(actionname)); \ + return sh; \ + } \ + } \ + /**/ + +#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) \ + namespace hpx::actions::detail { \ + template <> \ + HPX_ALWAYS_EXPORT util::itt::string_handle const& \ + get_action_name_itt() noexcept; \ + } \ +/**/ +#else // HPX_HAVE_ITTNOTIFY != 0 && !defined(HPX_HAVE_APEX) +#define HPX_DEFINE_GET_ACTION_NAME_ITT(action, actionname) /**/ +#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) /**/ +#endif // HPX_HAVE_ITTNOTIFY != 0 && !defined(HPX_HAVE_APEX) + +#define HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID(action) \ + HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID_ITT(action) \ + namespace hpx::actions::detail { \ + template <> \ + HPX_ALWAYS_EXPORT char const* get_action_name() noexcept; \ + } \ + HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) \ + \ + namespace hpx::traits { \ + template <> \ + struct is_action : std::true_type \ + { \ + }; \ + template <> \ + struct needs_automatic_registration : std::false_type \ + { \ + }; \ + } \ + /**/ + +#define HPX_REGISTER_ACTION_DECLARATION_2(action, actionname) \ + HPX_REGISTER_ACTION_DECLARATION_NO_DEFAULT_GUID(action) \ + /**/ + +#if defined(HPX_MSVC) || defined(HPX_MINGW) +#define HPX_REGISTER_ACTION_2(action, actionname) \ + HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ + HPX_REGISTER_ACTION_INVOCATION_COUNT(action) \ + HPX_REGISTER_PER_ACTION_DATA_COUNTER_TYPES(action) \ + namespace hpx::actions { \ + template struct HPX_ALWAYS_EXPORT transfer_action; \ + template struct HPX_ALWAYS_EXPORT \ + transfer_continuation_action; \ + } \ +/**/ +#define HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) /**/ + +#else // defined(HPX_MSVC) || defined(HPX_MINGW) + +#define HPX_REGISTER_ACTION_2(action, actionname) \ + HPX_DEFINE_GET_ACTION_NAME_(action, actionname) \ + HPX_REGISTER_ACTION_INVOCATION_COUNT(action) \ + HPX_REGISTER_PER_ACTION_DATA_COUNTER_TYPES(action) \ + namespace hpx::actions { \ + template struct transfer_action; \ + template struct transfer_continuation_action; \ + } \ +/**/ +#define HPX_REGISTER_ACTION_EXTERN_DECLARATION(action) \ + namespace hpx::actions { \ + extern template struct HPX_ALWAYS_IMPORT transfer_action; \ + extern template struct HPX_ALWAYS_IMPORT \ + transfer_continuation_action; \ + } \ + /**/ + +#endif // defined(HPX_MSVC) || defined(HPX_MINGW) + +#endif // HPX_HAVE_NETWORKING diff --git a/libs/full/agas/CMakeLists.txt b/libs/full/agas/CMakeLists.txt index 72d526471986..d2d0eb00675e 100644 --- a/libs/full/agas/CMakeLists.txt +++ b/libs/full/agas/CMakeLists.txt @@ -29,6 +29,7 @@ include(HPX_AddModule) add_hpx_module( full agas GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${agas_sources} HEADERS ${agas_headers} COMPAT_HEADERS ${agas_compat_headers} diff --git a/libs/full/agas_base/CMakeLists.txt b/libs/full/agas_base/CMakeLists.txt index 8fb09230926a..945b8a9fa128 100644 --- a/libs/full/agas_base/CMakeLists.txt +++ b/libs/full/agas_base/CMakeLists.txt @@ -66,6 +66,12 @@ include(HPX_AddModule) add_hpx_module( full agas_base GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/agas_base/detail/bootstrap_component_namespace.hpp + hpx/agas_base/detail/bootstrap_locality_namespace.hpp + hpx/agas_base/detail/hosted_component_namespace.hpp + hpx/agas_base/detail/hosted_locality_namespace.hpp SOURCES ${agas_base_sources} HEADERS ${agas_base_headers} COMPAT_HEADERS ${agas_base_compat_headers} diff --git a/libs/full/agas_base/include/hpx/agas_base/server/component_namespace.hpp b/libs/full/agas_base/include/hpx/agas_base/server/component_namespace.hpp index 6c5b3dea0a2b..7de0a9191c4c 100644 --- a/libs/full/agas_base/include/hpx/agas_base/server/component_namespace.hpp +++ b/libs/full/agas_base/include/hpx/agas_base/server/component_namespace.hpp @@ -8,9 +8,9 @@ #pragma once #include -#include #include #include +#include #include #include #include diff --git a/libs/full/agas_base/include/hpx/agas_base/server/locality_namespace.hpp b/libs/full/agas_base/include/hpx/agas_base/server/locality_namespace.hpp index 0672f6368537..fb628d392edb 100644 --- a/libs/full/agas_base/include/hpx/agas_base/server/locality_namespace.hpp +++ b/libs/full/agas_base/include/hpx/agas_base/server/locality_namespace.hpp @@ -9,9 +9,9 @@ #pragma once #include -#include #include #include +#include #include #include #include diff --git a/libs/full/agas_base/include/hpx/agas_base/server/primary_namespace.hpp b/libs/full/agas_base/include/hpx/agas_base/server/primary_namespace.hpp index a6fa6e9d0b70..3309400a8aa8 100644 --- a/libs/full/agas_base/include/hpx/agas_base/server/primary_namespace.hpp +++ b/libs/full/agas_base/include/hpx/agas_base/server/primary_namespace.hpp @@ -11,10 +11,10 @@ #pragma once #include -#include #include #include #include +#include #include #include #include diff --git a/libs/full/agas_base/include/hpx/agas_base/server/symbol_namespace.hpp b/libs/full/agas_base/include/hpx/agas_base/server/symbol_namespace.hpp index 641112a826ec..3df45dab62f8 100644 --- a/libs/full/agas_base/include/hpx/agas_base/server/symbol_namespace.hpp +++ b/libs/full/agas_base/include/hpx/agas_base/server/symbol_namespace.hpp @@ -9,9 +9,9 @@ #pragma once #include -#include #include #include +#include #include #include #include diff --git a/libs/full/agas_base/src/component_namespace.cpp b/libs/full/agas_base/src/component_namespace.cpp index 584577131199..1a9f6edfe1c1 100644 --- a/libs/full/agas_base/src/component_namespace.cpp +++ b/libs/full/agas_base/src/component_namespace.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/libs/full/async_colocated/CMakeLists.txt b/libs/full/async_colocated/CMakeLists.txt index b1845878ea39..7d46d894c4a3 100644 --- a/libs/full/async_colocated/CMakeLists.txt +++ b/libs/full/async_colocated/CMakeLists.txt @@ -48,6 +48,12 @@ include(HPX_AddModule) add_hpx_module( full async_colocated GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/async_distributed/detail/async_colocated.hpp + hpx/async_distributed/detail/async_colocated_callback.hpp + hpx/async_distributed/detail/async_colocated_callback_fwd.hpp + hpx/async_distributed/detail/async_colocated_fwd.hpp SOURCES ${async_colocated_sources} HEADERS ${async_colocated_headers} COMPAT_HEADERS ${async_colocated_compat_headers} diff --git a/libs/full/async_distributed/CMakeLists.txt b/libs/full/async_distributed/CMakeLists.txt index 3fbfefc16daf..1380da60c817 100644 --- a/libs/full/async_distributed/CMakeLists.txt +++ b/libs/full/async_distributed/CMakeLists.txt @@ -119,6 +119,24 @@ set(async_sources include(HPX_AddModule) add_hpx_module( full async_distributed + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/async_distributed/detail/async_implementations.hpp + hpx/async_distributed/detail/async_implementations_fwd.hpp + hpx/async_distributed/detail/async_unwrap_result_implementations.hpp + hpx/async_distributed/detail/async_unwrap_result_implementations_fwd.hpp + hpx/async_distributed/detail/post.hpp + hpx/async_distributed/detail/post_callback.hpp + hpx/async_distributed/detail/post_continue.hpp + hpx/async_distributed/detail/post_continue_callback.hpp + hpx/async_distributed/detail/post_continue_fwd.hpp + hpx/async_distributed/detail/post_implementations.hpp + hpx/async_distributed/detail/post_implementations_fwd.hpp + hpx/async_distributed/detail/promise_base.hpp + hpx/async_distributed/detail/promise_lco.hpp + hpx/async_distributed/detail/sync_implementations.hpp + hpx/async_distributed/detail/sync_implementations_fwd.hpp + hpx/async_distributed/detail/trigger.hpp GLOBAL_HEADER_GEN OFF SOURCES ${async_sources} HEADERS ${async_headers} diff --git a/libs/full/async_distributed/include/hpx/async_distributed/base_lco.hpp b/libs/full/async_distributed/include/hpx/async_distributed/base_lco.hpp index 32609786bafe..aba40b466f6f 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/base_lco.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/base_lco.hpp @@ -7,8 +7,8 @@ #pragma once #include -#include #include +#include #include #include #include diff --git a/libs/full/async_distributed/include/hpx/async_distributed/base_lco_with_value.hpp b/libs/full/async_distributed/include/hpx/async_distributed/base_lco_with_value.hpp index 457296b3eae0..2140f834f767 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/base_lco_with_value.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/base_lco_with_value.hpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include diff --git a/libs/full/async_distributed/include/hpx/async_distributed/detail/post.hpp b/libs/full/async_distributed/include/hpx/async_distributed/detail/post.hpp index 17887c1d3644..2e2d187af3df 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/detail/post.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/detail/post.hpp @@ -8,12 +8,12 @@ #pragma once #include -#include #include #include #include #include #include +#include #include #include #include diff --git a/libs/full/async_distributed/include/hpx/async_distributed/put_parcel.hpp b/libs/full/async_distributed/include/hpx/async_distributed/put_parcel.hpp index f6e9a4999d08..634a0bff10f5 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/put_parcel.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/put_parcel.hpp @@ -19,9 +19,8 @@ #include #include -#include -#include #include +#include #include #include #include diff --git a/libs/full/async_distributed/include/hpx/async_distributed/transfer_continuation_action.hpp b/libs/full/async_distributed/include/hpx/async_distributed/transfer_continuation_action.hpp index c8beae230cc5..86a7b049b69c 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/transfer_continuation_action.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/transfer_continuation_action.hpp @@ -12,12 +12,9 @@ #include -#include -#include -#include -#include #include #include +#include #include #if defined(HPX_HAVE_NETWORKING) diff --git a/libs/full/async_distributed/include/hpx/async_distributed/trigger_lco.hpp b/libs/full/async_distributed/include/hpx/async_distributed/trigger_lco.hpp index c6bdf1490fb4..f1a4dae6fb3a 100644 --- a/libs/full/async_distributed/include/hpx/async_distributed/trigger_lco.hpp +++ b/libs/full/async_distributed/include/hpx/async_distributed/trigger_lco.hpp @@ -9,13 +9,13 @@ #pragma once #include -#include #include #include #include #include #include #include +#include #include #include #include diff --git a/libs/full/async_distributed/src/base_lco.cpp b/libs/full/async_distributed/src/base_lco.cpp index 2efb1a1a1772..ad533369c2b0 100644 --- a/libs/full/async_distributed/src/base_lco.cpp +++ b/libs/full/async_distributed/src/base_lco.cpp @@ -5,8 +5,8 @@ // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#include #include +#include #include #include #include diff --git a/libs/full/async_distributed/src/continuation.cpp b/libs/full/async_distributed/src/continuation.cpp index f6cb51b94c5b..5aff1e69873c 100644 --- a/libs/full/async_distributed/src/continuation.cpp +++ b/libs/full/async_distributed/src/continuation.cpp @@ -6,8 +6,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include +#include #include #include #include diff --git a/libs/full/checkpoint/CMakeLists.txt b/libs/full/checkpoint/CMakeLists.txt index 1def1109b463..be09652c60ea 100644 --- a/libs/full/checkpoint/CMakeLists.txt +++ b/libs/full/checkpoint/CMakeLists.txt @@ -27,6 +27,7 @@ include(HPX_AddModule) add_hpx_module( full checkpoint GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${checkpoint_sources} HEADERS ${checkpoint_headers} COMPAT_HEADERS ${checkpoint_compat_headers} diff --git a/libs/full/collectives/CMakeLists.txt b/libs/full/collectives/CMakeLists.txt index 51c7647beb2e..d0ab55dbd987 100644 --- a/libs/full/collectives/CMakeLists.txt +++ b/libs/full/collectives/CMakeLists.txt @@ -71,6 +71,10 @@ set(collectives_sources include(HPX_AddModule) add_hpx_module( full collectives + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/collectives/detail/channel_communicator.hpp + hpx/collectives/detail/communicator.hpp hpx/collectives/detail/latch.hpp SOURCES ${collectives_sources} HEADERS ${collectives_headers} COMPAT_HEADERS ${collectives_compat_headers} diff --git a/libs/full/collectives/include/hpx/collectives/broadcast_direct.hpp b/libs/full/collectives/include/hpx/collectives/broadcast_direct.hpp index 0b8c0839ebad..cef01cae9c64 100644 --- a/libs/full/collectives/include/hpx/collectives/broadcast_direct.hpp +++ b/libs/full/collectives/include/hpx/collectives/broadcast_direct.hpp @@ -128,11 +128,11 @@ namespace hpx { namespace lcos { #include #if !defined(HPX_COMPUTE_DEVICE_CODE) -#include #include #include #include #include +#include #include #include #include diff --git a/libs/full/collectives/include/hpx/collectives/detail/latch.hpp b/libs/full/collectives/include/hpx/collectives/detail/latch.hpp index de2af35d2576..74e46f075bf6 100644 --- a/libs/full/collectives/include/hpx/collectives/detail/latch.hpp +++ b/libs/full/collectives/include/hpx/collectives/detail/latch.hpp @@ -7,8 +7,8 @@ #pragma once #include -#include #include +#include #include #include #include diff --git a/libs/full/collectives/include/hpx/collectives/fold.hpp b/libs/full/collectives/include/hpx/collectives/fold.hpp index b242cffee9e6..1fed2018d227 100644 --- a/libs/full/collectives/include/hpx/collectives/fold.hpp +++ b/libs/full/collectives/include/hpx/collectives/fold.hpp @@ -158,9 +158,9 @@ namespace hpx { namespace lcos { #else #include -#include #include #include +#include #include #include #include diff --git a/libs/full/collectives/include/hpx/collectives/reduce_direct.hpp b/libs/full/collectives/include/hpx/collectives/reduce_direct.hpp index 3dcdceaa95e9..40e47763182d 100644 --- a/libs/full/collectives/include/hpx/collectives/reduce_direct.hpp +++ b/libs/full/collectives/include/hpx/collectives/reduce_direct.hpp @@ -74,9 +74,9 @@ namespace hpx { namespace lcos { #else #include -#include #include #include +#include #include #include #include diff --git a/libs/full/collectives/src/latch.cpp b/libs/full/collectives/src/latch.cpp index 69c424be160c..a0392905d52c 100644 --- a/libs/full/collectives/src/latch.cpp +++ b/libs/full/collectives/src/latch.cpp @@ -4,9 +4,9 @@ // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#include #include #include +#include #include #include #include diff --git a/libs/full/components/CMakeLists.txt b/libs/full/components/CMakeLists.txt index 737bb247ebd9..aee7288b01f1 100644 --- a/libs/full/components/CMakeLists.txt +++ b/libs/full/components/CMakeLists.txt @@ -40,6 +40,7 @@ include(HPX_AddModule) add_hpx_module( full components GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${components_sources} HEADERS ${components_headers} COMPAT_HEADERS ${components_compat_headers} diff --git a/libs/full/compute/CMakeLists.txt b/libs/full/compute/CMakeLists.txt index 1b87ec697e2d..2630d3afd15b 100644 --- a/libs/full/compute/CMakeLists.txt +++ b/libs/full/compute/CMakeLists.txt @@ -41,6 +41,8 @@ include(HPX_AddModule) add_hpx_module( full compute GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER hpx/compute/detail/target_distribution_policy.hpp SOURCES ${compute_sources} HEADERS ${compute_headers} COMPAT_HEADERS ${compute_compat_headers} diff --git a/libs/full/distribution_policies/CMakeLists.txt b/libs/full/distribution_policies/CMakeLists.txt index 72812cd1bd40..a41dec6bc6b5 100644 --- a/libs/full/distribution_policies/CMakeLists.txt +++ b/libs/full/distribution_policies/CMakeLists.txt @@ -37,6 +37,7 @@ include(HPX_AddModule) add_hpx_module( full distribution_policies GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${distribution_policies_sources} HEADERS ${distribution_policies_headers} COMPAT_HEADERS ${distribution_policies_compat_headers} diff --git a/libs/full/executors_distributed/CMakeLists.txt b/libs/full/executors_distributed/CMakeLists.txt index 5e203baacfe2..77bd0eed5f72 100644 --- a/libs/full/executors_distributed/CMakeLists.txt +++ b/libs/full/executors_distributed/CMakeLists.txt @@ -24,6 +24,7 @@ include(HPX_AddModule) add_hpx_module( full executors_distributed GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON HEADERS ${executors_distributed_headers} COMPAT_HEADERS ${executors_distributed_compat_headers} DEPENDENCIES hpx_core diff --git a/libs/full/executors_distributed/include/hpx/executors_distributed/distribution_policy_executor.hpp b/libs/full/executors_distributed/include/hpx/executors_distributed/distribution_policy_executor.hpp index 527a87f4c9d2..2cdc00038823 100644 --- a/libs/full/executors_distributed/include/hpx/executors_distributed/distribution_policy_executor.hpp +++ b/libs/full/executors_distributed/include/hpx/executors_distributed/distribution_policy_executor.hpp @@ -9,8 +9,8 @@ #pragma once #include -#include #include +#include #include #include #include diff --git a/libs/full/include/include/hpx/include/actions.hpp b/libs/full/include/include/hpx/include/actions.hpp index 2f48f4fdf19a..020bb61f9963 100644 --- a/libs/full/include/include/hpx/include/actions.hpp +++ b/libs/full/include/include/hpx/include/actions.hpp @@ -8,9 +8,9 @@ #pragma once #include -#include #include #include #include +#include #include #include diff --git a/libs/full/include/include/hpx/include/components.hpp b/libs/full/include/include/hpx/include/components.hpp index 2c727ef6ba9a..232fc0cb6125 100644 --- a/libs/full/include/include/hpx/include/components.hpp +++ b/libs/full/include/include/hpx/include/components.hpp @@ -18,7 +18,7 @@ #include -#include +#include #include #include diff --git a/libs/full/init_runtime/CMakeLists.txt b/libs/full/init_runtime/CMakeLists.txt index e8cffee9776d..7a3f2d54bbb1 100644 --- a/libs/full/init_runtime/CMakeLists.txt +++ b/libs/full/init_runtime/CMakeLists.txt @@ -45,7 +45,10 @@ endif() include(HPX_AddModule) add_hpx_module( full init_runtime - GLOBAL_HEADER_GEN OFF + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER hpx/init_runtime/detail/init_logging.hpp + hpx/init_runtime/detail/run_or_start.hpp + GLOBAL_HEADER_GEN ON HEADERS ${init_runtime_headers} SOURCES ${init_runtime_sources} DEPENDENCIES hpx_core diff --git a/libs/full/lcos_distributed/CMakeLists.txt b/libs/full/lcos_distributed/CMakeLists.txt index afacfffbd6ca..0afc5fc536d5 100644 --- a/libs/full/lcos_distributed/CMakeLists.txt +++ b/libs/full/lcos_distributed/CMakeLists.txt @@ -27,6 +27,7 @@ include(HPX_AddModule) add_hpx_module( full lcos_distributed GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${lcos_distributed_sources} HEADERS ${lcos_distributed_headers} COMPAT_HEADERS ${lcos_distributed_compat_headers} diff --git a/libs/full/lcos_distributed/include/hpx/lcos_distributed/server/channel.hpp b/libs/full/lcos_distributed/include/hpx/lcos_distributed/server/channel.hpp index a315393f429f..ac9fa675dbe5 100644 --- a/libs/full/lcos_distributed/include/hpx/lcos_distributed/server/channel.hpp +++ b/libs/full/lcos_distributed/include/hpx/lcos_distributed/server/channel.hpp @@ -7,8 +7,8 @@ #pragma once #include -#include #include +#include #include #include #include diff --git a/libs/full/parcelport_gasnet/CMakeLists.txt b/libs/full/parcelport_gasnet/CMakeLists.txt index a0801b96f10d..b77aabf42009 100644 --- a/libs/full/parcelport_gasnet/CMakeLists.txt +++ b/libs/full/parcelport_gasnet/CMakeLists.txt @@ -36,6 +36,7 @@ include(HPX_AddModule) add_hpx_module( full parcelport_gasnet GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${parcelport_gasnet_sources} HEADERS ${parcelport_gasnet_headers} DEPENDENCIES hpx_core hpx_gasnet_base PkgConfig::GASNET diff --git a/libs/full/parcelport_lci/CMakeLists.txt b/libs/full/parcelport_lci/CMakeLists.txt index c81978b65f4a..6211fb81bd01 100644 --- a/libs/full/parcelport_lci/CMakeLists.txt +++ b/libs/full/parcelport_lci/CMakeLists.txt @@ -58,6 +58,7 @@ include(HPX_AddModule) add_hpx_module( full parcelport_lci GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${parcelport_lci_sources} HEADERS ${parcelport_lci_headers} COMPAT_HEADERS ${parcelport_lci_compat_headers} diff --git a/libs/full/parcelport_lcw/CMakeLists.txt b/libs/full/parcelport_lcw/CMakeLists.txt index 9f09b9f04b0c..e825b5a70ebe 100644 --- a/libs/full/parcelport_lcw/CMakeLists.txt +++ b/libs/full/parcelport_lcw/CMakeLists.txt @@ -53,6 +53,7 @@ include(HPX_AddModule) add_hpx_module( full parcelport_lcw GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${parcelport_lcw_sources} HEADERS ${parcelport_lcw_headers} COMPAT_HEADERS ${parcelport_lcw_compat_headers} diff --git a/libs/full/parcelport_mpi/CMakeLists.txt b/libs/full/parcelport_mpi/CMakeLists.txt index ec60ec1ba2bf..ee57b4c8633f 100644 --- a/libs/full/parcelport_mpi/CMakeLists.txt +++ b/libs/full/parcelport_mpi/CMakeLists.txt @@ -33,6 +33,7 @@ include(HPX_AddModule) add_hpx_module( full parcelport_mpi GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${parcelport_mpi_sources} HEADERS ${parcelport_mpi_headers} COMPAT_HEADERS ${parcelport_mpi_compat_headers} diff --git a/libs/full/parcelport_tcp/CMakeLists.txt b/libs/full/parcelport_tcp/CMakeLists.txt index c7988e0fb669..40631113854c 100644 --- a/libs/full/parcelport_tcp/CMakeLists.txt +++ b/libs/full/parcelport_tcp/CMakeLists.txt @@ -27,6 +27,7 @@ include(HPX_AddModule) add_hpx_module( full parcelport_tcp GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${parcelport_tcp_sources} HEADERS ${parcelport_tcp_headers} COMPAT_HEADERS ${parcelport_tcp_compat_headers} diff --git a/libs/full/parcelports/CMakeLists.txt b/libs/full/parcelports/CMakeLists.txt index c82b99654806..d11e2d3a7e44 100644 --- a/libs/full/parcelports/CMakeLists.txt +++ b/libs/full/parcelports/CMakeLists.txt @@ -49,7 +49,8 @@ configure_file( include(HPX_AddModule) add_hpx_module( full parcelports - GLOBAL_HEADER_GEN OFF + GLOBAL_HEADER_MODULE_GEN ON + GLOBAL_HEADER_GEN ON GENERATED_HEADERS ${parcelports_generated_headers} SOURCES ${parcelports_sources} HEADERS ${parcelports_headers} diff --git a/libs/full/parcelset/CMakeLists.txt b/libs/full/parcelset/CMakeLists.txt index cc49c3f793aa..573a0b42931b 100644 --- a/libs/full/parcelset/CMakeLists.txt +++ b/libs/full/parcelset/CMakeLists.txt @@ -56,6 +56,11 @@ include(HPX_AddModule) add_hpx_module( full parcelset GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/parcelset/detail/call_for_each.hpp + hpx/parcelset/detail/message_handler_interface_functions.hpp + hpx/parcelset/detail/parcel_await.hpp SOURCES ${parcelset_sources} HEADERS ${parcelset_headers} COMPAT_HEADERS ${parcelset_compat_headers} diff --git a/libs/full/parcelset/include/hpx/parcelset/parcel.hpp b/libs/full/parcelset/include/hpx/parcelset/parcel.hpp index 8f3a742c1766..ec082b066c70 100644 --- a/libs/full/parcelset/include/hpx/parcelset/parcel.hpp +++ b/libs/full/parcelset/include/hpx/parcelset/parcel.hpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/libs/full/parcelset/src/detail/parcel_await.cpp b/libs/full/parcelset/src/detail/parcel_await.cpp index a50aa1bddf8b..8a81ec3816b6 100644 --- a/libs/full/parcelset/src/detail/parcel_await.cpp +++ b/libs/full/parcelset/src/detail/parcel_await.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include diff --git a/libs/full/parcelset/src/parcel.cpp b/libs/full/parcelset/src/parcel.cpp index fbd877dfb56b..f2f32fc394d7 100644 --- a/libs/full/parcelset/src/parcel.cpp +++ b/libs/full/parcelset/src/parcel.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include diff --git a/libs/full/performance_counters/CMakeLists.txt b/libs/full/performance_counters/CMakeLists.txt index e41650a85461..7a7c183bdba5 100644 --- a/libs/full/performance_counters/CMakeLists.txt +++ b/libs/full/performance_counters/CMakeLists.txt @@ -87,6 +87,9 @@ include(HPX_AddModule) add_hpx_module( full performance_counters GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON + ADD_TO_GLOBAL_HEADER + hpx/performance_counters/detail/counter_interface_functions.hpp SOURCES ${performance_counters_sources} HEADERS ${performance_counters_headers} DEPENDENCIES hpx_core diff --git a/libs/full/performance_counters/include/hpx/performance_counters/server/base_performance_counter.hpp b/libs/full/performance_counters/include/hpx/performance_counters/server/base_performance_counter.hpp index 083e9556c894..1fd999492aef 100644 --- a/libs/full/performance_counters/include/hpx/performance_counters/server/base_performance_counter.hpp +++ b/libs/full/performance_counters/include/hpx/performance_counters/server/base_performance_counter.hpp @@ -7,8 +7,8 @@ #pragma once #include -#include #include +#include #include #include #include diff --git a/libs/full/performance_counters/include/hpx/performance_counters/server/component_namespace_counters.hpp b/libs/full/performance_counters/include/hpx/performance_counters/server/component_namespace_counters.hpp index 7bec379f314d..2d899d44c71e 100644 --- a/libs/full/performance_counters/include/hpx/performance_counters/server/component_namespace_counters.hpp +++ b/libs/full/performance_counters/include/hpx/performance_counters/server/component_namespace_counters.hpp @@ -9,7 +9,7 @@ #pragma once #include -#include +#include #include #include diff --git a/libs/full/performance_counters/include/hpx/performance_counters/server/locality_namespace_counters.hpp b/libs/full/performance_counters/include/hpx/performance_counters/server/locality_namespace_counters.hpp index d5b7e945d0cd..dbc40879ef0c 100644 --- a/libs/full/performance_counters/include/hpx/performance_counters/server/locality_namespace_counters.hpp +++ b/libs/full/performance_counters/include/hpx/performance_counters/server/locality_namespace_counters.hpp @@ -9,7 +9,7 @@ #pragma once #include -#include +#include #include #include diff --git a/libs/full/performance_counters/include/hpx/performance_counters/server/primary_namespace_counters.hpp b/libs/full/performance_counters/include/hpx/performance_counters/server/primary_namespace_counters.hpp index b8d22384cafe..66da913bdaa8 100644 --- a/libs/full/performance_counters/include/hpx/performance_counters/server/primary_namespace_counters.hpp +++ b/libs/full/performance_counters/include/hpx/performance_counters/server/primary_namespace_counters.hpp @@ -9,7 +9,7 @@ #pragma once #include -#include +#include #include #include diff --git a/libs/full/performance_counters/include/hpx/performance_counters/server/symbol_namespace_counters.hpp b/libs/full/performance_counters/include/hpx/performance_counters/server/symbol_namespace_counters.hpp index 3da18ed6a0cb..d0572a7b9533 100644 --- a/libs/full/performance_counters/include/hpx/performance_counters/server/symbol_namespace_counters.hpp +++ b/libs/full/performance_counters/include/hpx/performance_counters/server/symbol_namespace_counters.hpp @@ -9,7 +9,7 @@ #pragma once #include -#include +#include #include #include diff --git a/libs/full/performance_counters/src/counter_creators.cpp b/libs/full/performance_counters/src/counter_creators.cpp index 94f24b63469f..a2760a644cf4 100644 --- a/libs/full/performance_counters/src/counter_creators.cpp +++ b/libs/full/performance_counters/src/counter_creators.cpp @@ -5,10 +5,10 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include #include #include +#include #include #include #include diff --git a/libs/full/performance_counters/src/counters.cpp b/libs/full/performance_counters/src/counters.cpp index 9dcdeddbe6c1..a515a135e624 100644 --- a/libs/full/performance_counters/src/counters.cpp +++ b/libs/full/performance_counters/src/counters.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/libs/full/performance_counters/src/server/base_performance_counter.cpp b/libs/full/performance_counters/src/server/base_performance_counter.cpp index 13da08c4f994..6aff4f585dfe 100644 --- a/libs/full/performance_counters/src/server/base_performance_counter.cpp +++ b/libs/full/performance_counters/src/server/base_performance_counter.cpp @@ -5,8 +5,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include +#include #include #include #include diff --git a/libs/full/resiliency_distributed/CMakeLists.txt b/libs/full/resiliency_distributed/CMakeLists.txt index f7973eac43c5..4921c8cec8c9 100644 --- a/libs/full/resiliency_distributed/CMakeLists.txt +++ b/libs/full/resiliency_distributed/CMakeLists.txt @@ -20,6 +20,7 @@ include(HPX_AddModule) add_hpx_module( full resiliency_distributed GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${resiliency_distributed_sources} HEADERS ${resiliency_distributed_headers} DEPENDENCIES hpx_core diff --git a/libs/full/runtime_components/CMakeLists.txt b/libs/full/runtime_components/CMakeLists.txt index 36d6093bb34e..2db1332173ec 100644 --- a/libs/full/runtime_components/CMakeLists.txt +++ b/libs/full/runtime_components/CMakeLists.txt @@ -56,6 +56,7 @@ include(HPX_AddModule) add_hpx_module( full runtime_components GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON HEADERS ${runtime_components_headers} SOURCES ${runtime_components_sources} COMPAT_HEADERS ${runtime_components_compat_headers} diff --git a/libs/full/runtime_components/include/hpx/runtime_components/distributed_metadata_base.hpp b/libs/full/runtime_components/include/hpx/runtime_components/distributed_metadata_base.hpp index fa727a45fbcb..ff68d17b759c 100644 --- a/libs/full/runtime_components/include/hpx/runtime_components/distributed_metadata_base.hpp +++ b/libs/full/runtime_components/include/hpx/runtime_components/distributed_metadata_base.hpp @@ -7,9 +7,9 @@ #pragma once #include -#include #include #include +#include #include #include #include diff --git a/libs/full/runtime_components/include/hpx/runtime_components/server/console_error_sink.hpp b/libs/full/runtime_components/include/hpx/runtime_components/server/console_error_sink.hpp index cb1afe59f39f..7f0b4e02e437 100644 --- a/libs/full/runtime_components/include/hpx/runtime_components/server/console_error_sink.hpp +++ b/libs/full/runtime_components/include/hpx/runtime_components/server/console_error_sink.hpp @@ -7,7 +7,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/libs/full/runtime_components/include/hpx/runtime_components/server/console_logging.hpp b/libs/full/runtime_components/include/hpx/runtime_components/server/console_logging.hpp index 4917069dac28..be4026da38f8 100644 --- a/libs/full/runtime_components/include/hpx/runtime_components/server/console_logging.hpp +++ b/libs/full/runtime_components/include/hpx/runtime_components/server/console_logging.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/libs/full/runtime_components/src/server/console_error_sink_server.cpp b/libs/full/runtime_components/src/server/console_error_sink_server.cpp index 30123b981326..07b6ca0d8128 100644 --- a/libs/full/runtime_components/src/server/console_error_sink_server.cpp +++ b/libs/full/runtime_components/src/server/console_error_sink_server.cpp @@ -6,9 +6,9 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include #include +#include #include #include #include diff --git a/libs/full/runtime_components/src/server/console_logging_server.cpp b/libs/full/runtime_components/src/server/console_logging_server.cpp index dacbbe8a61dc..ccca4cbeca6b 100644 --- a/libs/full/runtime_components/src/server/console_logging_server.cpp +++ b/libs/full/runtime_components/src/server/console_logging_server.cpp @@ -6,8 +6,8 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include +#include #include #include #include diff --git a/libs/full/runtime_distributed/CMakeLists.txt b/libs/full/runtime_distributed/CMakeLists.txt index 914e1887ee0a..7731e1628990 100644 --- a/libs/full/runtime_distributed/CMakeLists.txt +++ b/libs/full/runtime_distributed/CMakeLists.txt @@ -59,6 +59,7 @@ include(HPX_AddModule) add_hpx_module( full runtime_distributed GLOBAL_HEADER_GEN ON + GLOBAL_HEADER_MODULE_GEN ON SOURCES ${runtime_distributed_sources} HEADERS ${runtime_distributed_headers} COMPAT_HEADERS ${runtime_distributed_compat_headers} diff --git a/libs/full/runtime_distributed/include/hpx/runtime_distributed/server/runtime_support.hpp b/libs/full/runtime_distributed/include/hpx/runtime_distributed/server/runtime_support.hpp index ede89fa24aa3..4e157f3c626b 100644 --- a/libs/full/runtime_distributed/include/hpx/runtime_distributed/server/runtime_support.hpp +++ b/libs/full/runtime_distributed/include/hpx/runtime_distributed/server/runtime_support.hpp @@ -9,9 +9,9 @@ #pragma once #include -#include #include #include +#include #include #include #include diff --git a/libs/full/segmented_algorithms/CMakeLists.txt b/libs/full/segmented_algorithms/CMakeLists.txt index c062a3414f33..253ff2e64c64 100644 --- a/libs/full/segmented_algorithms/CMakeLists.txt +++ b/libs/full/segmented_algorithms/CMakeLists.txt @@ -51,6 +51,7 @@ set(segmented_algorithms_compat_headers include(HPX_AddModule) add_hpx_module( full segmented_algorithms + GLOBAL_HEADER_MODULE_GEN ON HEADERS ${segmented_algorithms_headers} COMPAT_HEADERS ${segmented_algorithms_compat_headers} DEPENDENCIES hpx_core diff --git a/wrap/src/hpx_wrap.cpp b/wrap/src/hpx_wrap.cpp index c019dcaa9d16..e57177f5cc1c 100644 --- a/wrap/src/hpx_wrap.cpp +++ b/wrap/src/hpx_wrap.cpp @@ -32,7 +32,7 @@ namespace hpx_start { #endif // The default application name is populated by including hpx/hpx_main.hpp // or if HPX_AUTO_WRAP_MAIN_ACTIVATE is defined. - HPX_SYMBOL_EXPORT extern const char* app_name_libhpx_wrap; + HPX_SYMBOL_EXPORT extern char const* app_name_libhpx_wrap; HPX_SYMBOL_EXPORT const char* app_name_libhpx_wrap __attribute__((weak)) = HPX_APPLICATION_STRING;