From 9570963bdd7eac54d5d3cc34c2531e7a0c0c6c3c Mon Sep 17 00:00:00 2001 From: liujia178 Date: Fri, 29 Aug 2025 17:56:10 +0800 Subject: [PATCH] adapt to macos ark bin compilation Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/ICV9IN Signed-off-by: liujia178 --- BUILD.gn | 8 +++++++- native_engine/native_async_work.cpp | 7 ++++++- native_engine/native_engine.h | 2 +- utils/log.h | 6 ++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index bea2f299f..6879d3f4e 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -182,6 +182,8 @@ ohos_source_set("ace_napi_static") { external_deps += [ "ace_engine:ace_container_scope" ] defines += [ "ENABLE_CONTAINER_SCOPE_SEND_EVENT" ] } + } else if (is_mac) { + external_deps += [ "runtime_core:libarkbase_static" ] } # Use static libuv and icu for cross build @@ -206,7 +208,11 @@ ohos_source_set("ace_napi_static") { } } - cflags_cc = [ "-Wno-missing-braces" ] + if (is_mac) { + cflags_cc = [ "-Wno-missing-braces", "-Wno-vla-extension" ] + } else { + cflags_cc = [ "-Wno-missing-braces" ] + } if (ark_standalone_build && (is_debug || (defined(is_fastverify) && is_fastverify))) { cflags_cc += [ diff --git a/native_engine/native_async_work.cpp b/native_engine/native_async_work.cpp index edd087dd1..189f949b9 100644 --- a/native_engine/native_async_work.cpp +++ b/native_engine/native_async_work.cpp @@ -46,8 +46,13 @@ NativeAsyncWork::NativeAsyncWork(NativeEngine* engine, NativeAsyncCompleteCallback complete, const std::string &asyncResourceName, void* data) - : work_({ 0 }), engine_(engine), engineId_(engine->GetId()), execute_(execute), complete_(complete), data_(data) + : engine_(engine), engineId_(engine->GetId()), execute_(execute), complete_(complete), data_(data) { +#ifdef PANDA_TARGET_MACOS + work_ = {}; +#else + work_ = { 0 }; +#endif work_.data = this; (void)asyncResourceName; #ifdef ENABLE_HITRACE diff --git a/native_engine/native_engine.h b/native_engine/native_engine.h index 5dc5d7477..821772a48 100644 --- a/native_engine/native_engine.h +++ b/native_engine/native_engine.h @@ -356,7 +356,7 @@ public: void Increase##name##Counter(); \ void Decrease##name##Counter(); \ bool Has##name(); - NAPI_COUNTER_METHOD(DCL_COUNTER_METHOD); + NAPI_COUNTER_METHOD(DCL_COUNTER_METHOD) #undef DCL_COUNTER_METHOD // alias for HasListening bool HasListeningCounter(); diff --git a/utils/log.h b/utils/log.h index 4555d4352..7c324fdd8 100644 --- a/utils/log.h +++ b/utils/log.h @@ -26,6 +26,12 @@ #define __FILENAME__ strrchr(__FILE__, '/') + 1 +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" +#elif defined(__GNUC__) || defined(__GNUG__) +#pragma GCC diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" +#endif + #if defined(MAC_PLATFORM) || defined(WINDOWS_PLATFORM) || defined(ANDROID_PLATFORM) || defined(IOS_PLATFORM) || \ defined(LINUX_PLATFORM) enum class LogLevel : uint32_t { -- Gitee