diff --git a/shell/platform/common/cpp/BUILD.gn b/shell/platform/common/cpp/BUILD.gn index 9f1ad8c6121fe..2027ac55f3de8 100644 --- a/shell/platform/common/cpp/BUILD.gn +++ b/shell/platform/common/cpp/BUILD.gn @@ -67,7 +67,7 @@ source_set("common_cpp") { deps = [ ":common_cpp_library_headers", "//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper", - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", ] public_deps = [ diff --git a/shell/platform/darwin/macos/BUILD.gn b/shell/platform/darwin/macos/BUILD.gn index 2e5a9cc6e7423..b22fd110effc8 100644 --- a/shell/platform/darwin/macos/BUILD.gn +++ b/shell/platform/darwin/macos/BUILD.gn @@ -70,7 +70,7 @@ source_set("flutter_framework_source") { deps = [ "//flutter/shell/platform/darwin/common:framework_shared", - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", ] public_configs = [ "//flutter:config" ] @@ -115,7 +115,7 @@ executable("flutter_desktop_darwin_unittests") { ":flutter_desktop_darwin_fixtures", ":flutter_framework_source", "//flutter/shell/platform/darwin/common:framework_shared", - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", "//flutter/testing", "//flutter/testing:dart", "//flutter/testing:skia", diff --git a/shell/platform/embedder/BUILD.gn b/shell/platform/embedder/BUILD.gn index 609337164c8a4..955c641571614 100644 --- a/shell/platform/embedder/BUILD.gn +++ b/shell/platform/embedder/BUILD.gn @@ -86,8 +86,8 @@ embedder_source_set("embedder") { public_configs = [] } -embedder_source_set("embedder_with_symbol_prefix") { - public_configs = [ ":embedder_prefix_config" ] +embedder_source_set("embedder_as_internal_library") { + public_configs = [ ":embedder_internal_library_config" ] } source_set("embedder_headers") { @@ -98,8 +98,16 @@ source_set("embedder_headers") { public_configs = [ "//flutter:config" ] } -config("embedder_prefix_config") { - defines = [ "FLUTTER_API_SYMBOL_PREFIX=Embedder" ] +# For using the embedder API as internal implementation detail of an +# embedding. +config("embedder_internal_library_config") { + defines = [ + # Use prefixed symbols to avoid collisions with higher level API. + "FLUTTER_API_SYMBOL_PREFIX=Embedder", + + # Don't export the embedder.h API surface. + "FLUTTER_NO_EXPORT", + ] } test_fixtures("fixtures") { diff --git a/shell/platform/embedder/embedder.cc b/shell/platform/embedder/embedder.cc index 9091b33bbca2e..6e2f5bcf60ca6 100644 --- a/shell/platform/embedder/embedder.cc +++ b/shell/platform/embedder/embedder.cc @@ -14,11 +14,13 @@ #include "third_party/dart/runtime/bin/elf_loader.h" #include "third_party/dart/runtime/include/dart_native_api.h" +#if !defined(FLUTTER_NO_EXPORT) #if OS_WIN #define FLUTTER_EXPORT __declspec(dllexport) #else // OS_WIN #define FLUTTER_EXPORT __attribute__((visibility("default"))) #endif // OS_WIN +#endif // !FLUTTER_NO_EXPORT extern "C" { #if FLUTTER_RUNTIME_MODE == FLUTTER_RUNTIME_MODE_DEBUG diff --git a/shell/platform/glfw/BUILD.gn b/shell/platform/glfw/BUILD.gn index 7771c67a9ca59..0911a4d053af7 100644 --- a/shell/platform/glfw/BUILD.gn +++ b/shell/platform/glfw/BUILD.gn @@ -55,7 +55,7 @@ source_set("flutter_glfw") { "//flutter/shell/platform/common/cpp:common_cpp", "//flutter/shell/platform/common/cpp:common_cpp_input", "//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper", - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", "//flutter/shell/platform/glfw/client_wrapper:client_wrapper_glfw", "//third_party/rapidjson", ] diff --git a/shell/platform/linux/BUILD.gn b/shell/platform/linux/BUILD.gn index e3f558e5b4bc7..adcfa6719d705 100644 --- a/shell/platform/linux/BUILD.gn +++ b/shell/platform/linux/BUILD.gn @@ -123,7 +123,7 @@ source_set("flutter_linux") { ] deps = [ - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", ] } diff --git a/shell/platform/windows/BUILD.gn b/shell/platform/windows/BUILD.gn index 53d335c02fe8c..248d3ccdc24c7 100644 --- a/shell/platform/windows/BUILD.gn +++ b/shell/platform/windows/BUILD.gn @@ -74,7 +74,7 @@ source_set("flutter_windows_source") { "//flutter/shell/platform/common/cpp:common_cpp", "//flutter/shell/platform/common/cpp:common_cpp_input", "//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper", - "//flutter/shell/platform/embedder:embedder_with_symbol_prefix", + "//flutter/shell/platform/embedder:embedder_as_internal_library", "//flutter/shell/platform/windows/client_wrapper:client_wrapper_windows", "//third_party/angle:libEGL_static", # the order of libEGL_static and libGLESv2_static is important.. if reversed, will cause a linker error DllMain already defined in LIBCMTD.lib "//third_party/angle:libGLESv2_static",