[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_unittests",
"//flutter/impeller/toolkit/interop:example",
"//flutter/impeller/toolkit/interop:library",
]
}

View File

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

View File

@ -19,9 +19,17 @@
#define IMPELLER_EXTERN_C_END
#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
#endif // IMPELLER_EXPORT
#endif // IMPELLER_NO_EXPORT
#ifdef __clang__
#define IMPELLER_NULLABLE _Nullable