From 8ae0b23fabfe050067f3e58246cb4bd2be68af03 Mon Sep 17 00:00:00 2001 From: liujia178 Date: Thu, 7 Aug 2025 10:34:32 +0800 Subject: [PATCH] adapt to macos ark bin compilation Signed-off-by: liujia178 --- BUILD.gn | 8 +++++++- native_engine/native_async_work.cpp | 7 ++++++- utils/log.h | 6 ++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 77628490c..ee1b2c3d2 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -185,6 +185,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 @@ -209,7 +211,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 2b7f09d57..0956e4812 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/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