[Impeller] Create a libImpeller dylib and expose symbols. (flutter/engine#55526)

This commit is contained in:
Chinmay Garde 2024-09-30 13:04:15 -07:00 committed by GitHub
parent 74788642ea
commit 55cdf532e5
3 changed files with 21 additions and 10 deletions

View File

@ -210,6 +210,7 @@ group("unittests") {
"//flutter/impeller:impeller_dart_unittests", "//flutter/impeller:impeller_dart_unittests",
"//flutter/impeller:impeller_unittests", "//flutter/impeller:impeller_unittests",
"//flutter/impeller/toolkit/interop:example", "//flutter/impeller/toolkit/interop:example",
"//flutter/impeller/toolkit/interop:library",
] ]
} }

View File

@ -4,12 +4,6 @@
import("//flutter/impeller/tools/impeller.gni") import("//flutter/impeller/tools/impeller.gni")
impeller_component("interop_public") {
public = [ "impeller.h" ]
sources = [ "impeller_c.c" ]
}
impeller_component("interop") { impeller_component("interop") {
sources = [ sources = [
"color_filter.cc", "color_filter.cc",
@ -27,6 +21,8 @@ impeller_component("interop") {
"image_filter.cc", "image_filter.cc",
"image_filter.h", "image_filter.h",
"impeller.cc", "impeller.cc",
"impeller.h",
"impeller_c.c",
"mask_filter.cc", "mask_filter.cc",
"mask_filter.h", "mask_filter.h",
"object.cc", "object.cc",
@ -43,8 +39,6 @@ impeller_component("interop") {
"texture.h", "texture.h",
] ]
public_deps = [ ":interop_public" ]
deps = [ deps = [
"../../base", "../../base",
"../../display_list", "../../display_list",
@ -55,6 +49,14 @@ impeller_component("interop") {
] ]
} }
impeller_component("library") {
target_type = "shared_library"
output_name = "impeller"
deps = [ ":interop" ]
}
impeller_component("example") { impeller_component("example") {
target_type = "executable" target_type = "executable"

View File

@ -19,9 +19,17 @@
#define IMPELLER_EXTERN_C_END #define IMPELLER_EXTERN_C_END
#endif // defined(__cplusplus) #endif // defined(__cplusplus)
#ifndef IMPELLER_EXPORT #ifdef _WIN32
#define IMPELLER_EXPORT_DECORATION __declspec(dllexport)
#else
#define IMPELLER_EXPORT_DECORATION __attribute__((visibility("default")))
#endif
#ifndef IMPELLER_NO_EXPORT
#define IMPELLER_EXPORT IMPELLER_EXPORT_DECORATION
#else // IMPELLER_NO_EXPORT
#define IMPELLER_EXPORT #define IMPELLER_EXPORT
#endif // IMPELLER_EXPORT #endif // IMPELLER_NO_EXPORT
#ifdef __clang__ #ifdef __clang__
#define IMPELLER_NULLABLE _Nullable #define IMPELLER_NULLABLE _Nullable