未验证 提交 a95882ba 编写于 作者: S stuartmorgan 提交者: GitHub

Don't export embedder API in desktop embeddings (#18735)

The embedder.h API layer is an implementation detail of the desktop
embeddings, not part of the public API surface, so should not be part of
the public symbol list for those libraries.
上级 2608f2ee
......@@ -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 = [
......
......@@ -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",
......
......@@ -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") {
......
......@@ -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
......
......@@ -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",
]
......
......@@ -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",
]
}
......
......@@ -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",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册