This is an automated email from the ASF dual-hosted git repository. martinzink pushed a commit to branch controller_c_api_requirements in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit d5798cd9eea084a816f1b21fd5471ecfc9e96ffe Author: Adam Debreceni <[email protected]> AuthorDate: Thu Mar 12 14:46:15 2026 +0100 MINIFICPP-2715 - Windows fix --- .../cpp-extension-lib/include/api/utils/minifi-c-utils.h | 6 ++++++ extensions/llamacpp/processors/ExtensionInitializer.cpp | 4 ++-- .../test/integration/extension-verification-test/CApiExtension.cpp | 4 ++-- .../test/integration/extension-verification-test/CMakeLists.txt | 2 +- .../integration/extension-verification-test/CreateNotCalled.cpp | 5 +++-- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/extension-framework/cpp-extension-lib/include/api/utils/minifi-c-utils.h b/extension-framework/cpp-extension-lib/include/api/utils/minifi-c-utils.h index 756c52113..76a5a43ae 100644 --- a/extension-framework/cpp-extension-lib/include/api/utils/minifi-c-utils.h +++ b/extension-framework/cpp-extension-lib/include/api/utils/minifi-c-utils.h @@ -24,6 +24,12 @@ #include "utils/StringUtils.h" #include "minifi-cpp/core/PropertyDefinition.h" +#ifdef WIN32 + #define CEXTENSIONAPI __declspec(dllexport) extern "C" +#else + #define CEXTENSIONAPI extern "C" +#endif + namespace org::apache::nifi::minifi::api::utils { inline MinifiStringView toStringView(std::string_view str) { diff --git a/extensions/llamacpp/processors/ExtensionInitializer.cpp b/extensions/llamacpp/processors/ExtensionInitializer.cpp index 8c223dc70..4b3c5b4e0 100644 --- a/extensions/llamacpp/processors/ExtensionInitializer.cpp +++ b/extensions/llamacpp/processors/ExtensionInitializer.cpp @@ -24,9 +24,9 @@ namespace minifi = org::apache::nifi::minifi; -extern "C" const uint32_t MinifiApiVersion = MINIFI_API_VERSION; +CEXTENSIONAPI const uint32_t MinifiApiVersion = MINIFI_API_VERSION; -extern "C" void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { +CEXTENSIONAPI void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { minifi::api::core::useProcessorClassDescription<minifi::extensions::llamacpp::processors::RunLlamaCppInference>([&] (const MinifiProcessorClassDefinition& description) { MinifiExtensionCreateInfo ext_create_info{ .name = minifi::api::utils::toStringView(MAKESTRING(EXTENSION_NAME)), diff --git a/libminifi/test/integration/extension-verification-test/CApiExtension.cpp b/libminifi/test/integration/extension-verification-test/CApiExtension.cpp index c93f1c1f2..18f47f280 100644 --- a/libminifi/test/integration/extension-verification-test/CApiExtension.cpp +++ b/libminifi/test/integration/extension-verification-test/CApiExtension.cpp @@ -24,9 +24,9 @@ namespace minifi = org::apache::nifi::minifi; -extern "C" const uint32_t MinifiApiVersion = MINIFI_TEST_API_VERSION; +CEXTENSIONAPI const uint32_t MinifiApiVersion = MINIFI_TEST_API_VERSION; -extern "C" void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { +CEXTENSIONAPI void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { MinifiExtensionCreateInfo ext_create_info{ .name = minifi::api::utils::toStringView(MAKESTRING(EXTENSION_NAME)), .version = minifi::api::utils::toStringView(MAKESTRING(EXTENSION_VERSION)), diff --git a/libminifi/test/integration/extension-verification-test/CMakeLists.txt b/libminifi/test/integration/extension-verification-test/CMakeLists.txt index 2ef595e9b..d0069db32 100644 --- a/libminifi/test/integration/extension-verification-test/CMakeLists.txt +++ b/libminifi/test/integration/extension-verification-test/CMakeLists.txt @@ -77,5 +77,5 @@ create_c_test_extension(smaller-version 4) create_loading_test_extension(test-extension-loading-missing-init InvalidMissingInitExtension.cpp) create_loading_test_extension(test-extension-loading-create-not-called CreateNotCalled.cpp) -target_link_libraries(test-extension-loading-create-not-called minifi-c-api) +target_link_libraries(test-extension-loading-create-not-called minifi-cpp-extension-lib) target_compile_definitions(test-extension-loading-create-not-called PRIVATE MINIFI_TEST_API_VERSION=10) diff --git a/libminifi/test/integration/extension-verification-test/CreateNotCalled.cpp b/libminifi/test/integration/extension-verification-test/CreateNotCalled.cpp index 1ae88ebf8..276ffa6d5 100644 --- a/libminifi/test/integration/extension-verification-test/CreateNotCalled.cpp +++ b/libminifi/test/integration/extension-verification-test/CreateNotCalled.cpp @@ -17,9 +17,10 @@ */ #include "minifi-c.h" +#include "api/utils/minifi-c-utils.h" -extern "C" const uint32_t MinifiApiVersion = MINIFI_TEST_API_VERSION; +CEXTENSIONAPI const uint32_t MinifiApiVersion = MINIFI_TEST_API_VERSION; -extern "C" void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { +CEXTENSIONAPI void MinifiInitExtension(MinifiExtension* extension, MinifiConfig* /*config*/) { // NOT CALLING CREATE }
