Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9bdff5ad authored by Colin Cross's avatar Colin Cross Committed by Android (Google) Code Review
Browse files

Merge "Convert libhwui to Android.bp"

parents 403b5c0e f6298101
Loading
Loading
Loading
Loading

libs/hwui/Android.bp

0 → 100644
+386 −0
Original line number Diff line number Diff line
cc_defaults {
    name: "hwui_defaults",
    defaults: [
        "hwui_static_deps",

        //"hwui_bugreport_font_cache_usage",
        //"hwui_compile_for_perf",

        // Enables fine-grained GLES error checking
        // If enabled, every GLES call is wrapped & error checked
        // Has moderate overhead
        //"hwui_enable_opengl-validation",
    ],

    cflags: [
        "-DEGL_EGLEXT_PROTOTYPES",
        "-DGL_GLEXT_PROTOTYPES",
        "-DATRACE_TAG=ATRACE_TAG_VIEW",
        "-DLOG_TAG=\"OpenGLRenderer\"",
        "-Wall",
        "-Wno-unused-parameter",
        "-Wunreachable-code",
        "-Werror",
        "-fvisibility=hidden",

        // GCC false-positives on this warning, and since we -Werror that's
        // a problem
        "-Wno-free-nonheap-object",

        // clang's warning is broken, see: https://llvm.org/bugs/show_bug.cgi?id=21629
        "-Wno-missing-braces",

        // TODO: Linear blending should be enabled by default, but we are
        // TODO: making it an opt-in while it's a work in progress
        //"-DANDROID_ENABLE_LINEAR_BLENDING",
    ],

    include_dirs: [
        "external/skia/include/private",
        "external/skia/src/core",
        "external/skia/src/effects",
        "external/skia/src/image",
        "external/skia/src/utils",
    ],

    product_variables: {
        device_uses_hwc2: {
            cflags: ["-DUSE_HWC2"],
        },
    },
}

cc_defaults {
    name: "hwui_static_deps",
    shared_libs: [
        "liblog",
        "libcutils",
        "libutils",
        "libEGL",
        "libGLESv2",
        "libvulkan",
        "libskia",
        "libui",
        "libgui",
        "libprotobuf-cpp-full",
        "libharfbuzz_ng",
        "libft2",
        "libminikin",
        "libandroidfw",
        "libRScpp",
    ],
    static_libs: [
        "libplatformprotos",
    ],
}

cc_defaults {
    name: "hwui_bugreport_font_cache_usage",
    srcs: ["font/FontCacheHistoryTracker.cpp"],
    cflags: ["-DBUGREPORT_FONT_CACHE_USAGE"],
}

cc_defaults {
    name: "hwui_compile_for_perf",
    // TODO: Non-arm?
    cflags: [
        "-fno-omit-frame-pointer",
        "-marm",
        "-mapcs",
    ],
}

cc_defaults {
    name: "hwui_debug",
    cflags: ["-include debug/wrap_gles.h"],
    srcs: [
        "debug/wrap_gles.cpp",
        "debug/DefaultGlesDriver.cpp",
        "debug/GlesErrorCheckWrapper.cpp",
        "debug/GlesDriver.cpp",
        "debug/FatalBaseDriver.cpp",
        "debug/NullGlesDriver.cpp",
    ],
    include_dirs: ["frameworks/native/opengl/libs/GLES2"],
}

cc_defaults {
    name: "hwui_enable_opengl_validation",
    defaults: ["hwui_debug"],
    cflags: ["-DDEBUG_OPENGL=3"],
    srcs: ["debug/wrap_gles.cpp"],
    include_dirs: ["frameworks/native/opengl/libs/GLES2"],
}

// ------------------------
// library
// ------------------------

cc_defaults {
    name: "libhwui_defaults",
    defaults: ["hwui_defaults"],
    srcs: [
        "hwui/Bitmap.cpp",
        "font/CacheTexture.cpp",
        "font/Font.cpp",
        "hwui/Canvas.cpp",
        "hwui/MinikinSkia.cpp",
        "hwui/MinikinUtils.cpp",
        "hwui/PaintImpl.cpp",
        "hwui/Typeface.cpp",
        "pipeline/skia/GLFunctorDrawable.cpp",
        "pipeline/skia/LayerDrawable.cpp",
        "pipeline/skia/RenderNodeDrawable.cpp",
        "pipeline/skia/ReorderBarrierDrawables.cpp",
        "pipeline/skia/SkiaDisplayList.cpp",
        "pipeline/skia/SkiaOpenGLPipeline.cpp",
        "pipeline/skia/SkiaOpenGLReadback.cpp",
        "pipeline/skia/SkiaPipeline.cpp",
        "pipeline/skia/SkiaProfileRenderer.cpp",
        "pipeline/skia/SkiaRecordingCanvas.cpp",
        "pipeline/skia/SkiaVulkanPipeline.cpp",
        "renderstate/Blend.cpp",
        "renderstate/MeshState.cpp",
        "renderstate/OffscreenBufferPool.cpp",
        "renderstate/PixelBufferState.cpp",
        "renderstate/RenderState.cpp",
        "renderstate/Scissor.cpp",
        "renderstate/Stencil.cpp",
        "renderstate/TextureState.cpp",
        "renderthread/CanvasContext.cpp",
        "renderthread/OpenGLPipeline.cpp",
        "renderthread/DrawFrameTask.cpp",
        "renderthread/EglManager.cpp",
        "renderthread/VulkanManager.cpp",
        "renderthread/RenderProxy.cpp",
        "renderthread/RenderTask.cpp",
        "renderthread/RenderThread.cpp",
        "renderthread/TimeLord.cpp",
        "renderthread/Frame.cpp",
        "service/GraphicsStatsService.cpp",
        "thread/TaskManager.cpp",
        "utils/Blur.cpp",
        "utils/Color.cpp",
        "utils/GLUtils.cpp",
        "utils/LinearAllocator.cpp",
        "utils/StringUtils.cpp",
        "utils/TestWindowContext.cpp",
        "utils/VectorDrawableUtils.cpp",
        "AmbientShadow.cpp",
        "AnimationContext.cpp",
        "Animator.cpp",
        "AnimatorManager.cpp",
        "BakedOpDispatcher.cpp",
        "BakedOpRenderer.cpp",
        "BakedOpState.cpp",
        "Caches.cpp",
        "CanvasState.cpp",
        "ClipArea.cpp",
        "DamageAccumulator.cpp",
        "DeferredLayerUpdater.cpp",
        "DeviceInfo.cpp",
        "DisplayList.cpp",
        "Extensions.cpp",
        "FboCache.cpp",
        "FontRenderer.cpp",
        "FrameBuilder.cpp",
        "FrameInfo.cpp",
        "FrameInfoVisualizer.cpp",
        "GammaFontRenderer.cpp",
        "GlLayer.cpp",
        "GlopBuilder.cpp",
        "GpuMemoryTracker.cpp",
        "GradientCache.cpp",
        "Image.cpp",
        "Interpolator.cpp",
        "JankTracker.cpp",
        "Layer.cpp",
        "LayerBuilder.cpp",
        "LayerUpdateQueue.cpp",
        "Matrix.cpp",
        "OpDumper.cpp",
        "OpenGLReadback.cpp",
        "Patch.cpp",
        "PatchCache.cpp",
        "PathCache.cpp",
        "PathParser.cpp",
        "PathTessellator.cpp",
        "PixelBuffer.cpp",
        "ProfileRenderer.cpp",
        "Program.cpp",
        "ProgramCache.cpp",
        "Properties.cpp",
        "PropertyValuesAnimatorSet.cpp",
        "PropertyValuesHolder.cpp",
        "RecordingCanvas.cpp",
        "RenderBufferCache.cpp",
        "RenderNode.cpp",
        "RenderProperties.cpp",
        "ResourceCache.cpp",
        "ShadowTessellator.cpp",
        "SkiaCanvas.cpp",
        "SkiaCanvasProxy.cpp",
        "SkiaShader.cpp",
        "Snapshot.cpp",
        "SpotShadow.cpp",
        "TessellationCache.cpp",
        "TextDropShadowCache.cpp",
        "Texture.cpp",
        "TextureCache.cpp",
        "VectorDrawable.cpp",
        "VkLayer.cpp",
        "protos/hwui.proto",
    ],

    proto: {
        export_proto_headers: true,
    },

    export_include_dirs: ["."],
}

cc_library {
    name: "libhwui",
    defaults: ["libhwui_defaults"],
}

// ------------------------
// static library null gpu
// ------------------------

cc_library_static {
    name: "libhwui_static_debug",
    defaults: [
        "libhwui_defaults",
        "hwui_debug",
    ],
    cflags: ["-DHWUI_NULL_GPU"],
    srcs: [
        "debug/nullegl.cpp",
    ],
    export_include_dirs: ["."],
}

cc_defaults {
    name: "hwui_test_defaults",
    defaults: ["hwui_defaults"],
    test_suites: ["device-tests"],
    srcs: [
        "tests/common/scenes/*.cpp",
        "tests/common/LeakChecker.cpp",
        "tests/common/TestListViewSceneBase.cpp",
        "tests/common/TestContext.cpp",
        "tests/common/TestScene.cpp",
        "tests/common/TestUtils.cpp",
    ],
}

// ------------------------
// unit tests
// ------------------------

cc_test {
    name: "hwui_unit_tests",
    defaults: ["hwui_test_defaults"],

    static_libs: [
        "libgmock",
        "libhwui_static_debug",
    ],
    shared_libs: ["libmemunreachable"],
    cflags: [
        "-include debug/wrap_gles.h",
        "-DHWUI_NULL_GPU",
    ],

    srcs: [
        "tests/unit/main.cpp",
        "tests/unit/BakedOpDispatcherTests.cpp",
        "tests/unit/BakedOpRendererTests.cpp",
        "tests/unit/BakedOpStateTests.cpp",
        "tests/unit/BitmapTests.cpp",
        "tests/unit/CanvasContextTests.cpp",
        "tests/unit/CanvasStateTests.cpp",
        "tests/unit/ClipAreaTests.cpp",
        "tests/unit/DamageAccumulatorTests.cpp",
        "tests/unit/DeferredLayerUpdaterTests.cpp",
        "tests/unit/DeviceInfoTests.cpp",
        "tests/unit/FatVectorTests.cpp",
        "tests/unit/FontRendererTests.cpp",
        "tests/unit/FrameBuilderTests.cpp",
        "tests/unit/GlopBuilderTests.cpp",
        "tests/unit/GpuMemoryTrackerTests.cpp",
        "tests/unit/GradientCacheTests.cpp",
        "tests/unit/GraphicsStatsServiceTests.cpp",
        "tests/unit/LayerUpdateQueueTests.cpp",
        "tests/unit/LeakCheckTests.cpp",
        "tests/unit/LinearAllocatorTests.cpp",
        "tests/unit/MatrixTests.cpp",
        "tests/unit/MeshStateTests.cpp",
        "tests/unit/OffscreenBufferPoolTests.cpp",
        "tests/unit/OpDumperTests.cpp",
        "tests/unit/PathInterpolatorTests.cpp",
        "tests/unit/RenderNodeDrawableTests.cpp",
        "tests/unit/RecordingCanvasTests.cpp",
        "tests/unit/RenderNodeTests.cpp",
        "tests/unit/RenderPropertiesTests.cpp",
        "tests/unit/SkiaBehaviorTests.cpp",
        "tests/unit/SkiaDisplayListTests.cpp",
        "tests/unit/SkiaPipelineTests.cpp",
        "tests/unit/SkiaRenderPropertiesTests.cpp",
        "tests/unit/SkiaCanvasTests.cpp",
        "tests/unit/SnapshotTests.cpp",
        "tests/unit/StringUtilsTests.cpp",
        "tests/unit/TestUtilsTests.cpp",
        "tests/unit/TextDropShadowCacheTests.cpp",
        "tests/unit/TextureCacheTests.cpp",
        "tests/unit/VectorDrawableTests.cpp",
    ],
}

// ------------------------
// Macro-bench app
// ------------------------

cc_benchmark {
    name: "hwuimacro",
    defaults: ["hwui_test_defaults"],

    // set to libhwui_static_debug to skip actual GL commands
    whole_static_libs: ["libhwui"],
    shared_libs: ["libmemunreachable"],

    srcs: [
        "tests/macrobench/TestSceneRunner.cpp",
        "tests/macrobench/main.cpp",
    ],
}

// ------------------------
// Micro-bench app
// ---------------------

cc_benchmark {
    name: "hwuimicro",
    defaults: ["hwui_test_defaults"],

    cflags: [
        "-include debug/wrap_gles.h",
        "-DHWUI_NULL_GPU",
    ],

    whole_static_libs: ["libhwui_static_debug"],
    shared_libs: ["libmemunreachable"],

    srcs: [
        "tests/microbench/main.cpp",
        "tests/microbench/DisplayListCanvasBench.cpp",
        "tests/microbench/FontBench.cpp",
        "tests/microbench/FrameBuilderBench.cpp",
        "tests/microbench/LinearAllocatorBench.cpp",
        "tests/microbench/PathParserBench.cpp",
        "tests/microbench/RenderNodeBench.cpp",
        "tests/microbench/ShadowBench.cpp",
        "tests/microbench/TaskManagerBench.cpp",
    ],
}

libs/hwui/Android.mk

deleted100644 → 0
+0 −386
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk

BUGREPORT_FONT_CACHE_USAGE := false

# Enables fine-grained GLES error checking
# If set to true, every GLES call is wrapped & error checked
# Has moderate overhead
HWUI_ENABLE_OPENGL_VALIDATION := false

hwui_src_files := \
    hwui/Bitmap.cpp \
    font/CacheTexture.cpp \
    font/Font.cpp \
    hwui/Canvas.cpp \
    hwui/MinikinSkia.cpp \
    hwui/MinikinUtils.cpp \
    hwui/PaintImpl.cpp \
    hwui/Typeface.cpp \
    pipeline/skia/GLFunctorDrawable.cpp \
    pipeline/skia/LayerDrawable.cpp \
    pipeline/skia/RenderNodeDrawable.cpp \
    pipeline/skia/ReorderBarrierDrawables.cpp \
    pipeline/skia/SkiaDisplayList.cpp \
    pipeline/skia/SkiaOpenGLPipeline.cpp \
    pipeline/skia/SkiaOpenGLReadback.cpp \
    pipeline/skia/SkiaPipeline.cpp \
    pipeline/skia/SkiaProfileRenderer.cpp \
    pipeline/skia/SkiaRecordingCanvas.cpp \
    pipeline/skia/SkiaVulkanPipeline.cpp \
    renderstate/Blend.cpp \
    renderstate/MeshState.cpp \
    renderstate/OffscreenBufferPool.cpp \
    renderstate/PixelBufferState.cpp \
    renderstate/RenderState.cpp \
    renderstate/Scissor.cpp \
    renderstate/Stencil.cpp \
    renderstate/TextureState.cpp \
    renderthread/CanvasContext.cpp \
    renderthread/OpenGLPipeline.cpp \
    renderthread/DrawFrameTask.cpp \
    renderthread/EglManager.cpp \
    renderthread/VulkanManager.cpp \
    renderthread/RenderProxy.cpp \
    renderthread/RenderTask.cpp \
    renderthread/RenderThread.cpp \
    renderthread/TimeLord.cpp \
    renderthread/Frame.cpp \
    service/GraphicsStatsService.cpp \
    thread/TaskManager.cpp \
    utils/Blur.cpp \
    utils/Color.cpp \
    utils/GLUtils.cpp \
    utils/LinearAllocator.cpp \
    utils/StringUtils.cpp \
    utils/TestWindowContext.cpp \
    utils/VectorDrawableUtils.cpp \
    AmbientShadow.cpp \
    AnimationContext.cpp \
    Animator.cpp \
    AnimatorManager.cpp \
    BakedOpDispatcher.cpp \
    BakedOpRenderer.cpp \
    BakedOpState.cpp \
    Caches.cpp \
    CanvasState.cpp \
    ClipArea.cpp \
    DamageAccumulator.cpp \
    DeferredLayerUpdater.cpp \
    DeviceInfo.cpp \
    DisplayList.cpp \
    Extensions.cpp \
    FboCache.cpp \
    FontRenderer.cpp \
    FrameBuilder.cpp \
    FrameInfo.cpp \
    FrameInfoVisualizer.cpp \
    GammaFontRenderer.cpp \
    GlLayer.cpp \
    GlopBuilder.cpp \
    GpuMemoryTracker.cpp \
    GradientCache.cpp \
    Image.cpp \
    Interpolator.cpp \
    JankTracker.cpp \
    Layer.cpp \
    LayerBuilder.cpp \
    LayerUpdateQueue.cpp \
    Matrix.cpp \
    OpDumper.cpp \
    OpenGLReadback.cpp \
    Patch.cpp \
    PatchCache.cpp \
    PathCache.cpp \
    PathParser.cpp \
    PathTessellator.cpp \
    PixelBuffer.cpp \
    ProfileRenderer.cpp \
    Program.cpp \
    ProgramCache.cpp \
    Properties.cpp \
    PropertyValuesAnimatorSet.cpp \
    PropertyValuesHolder.cpp \
    RecordingCanvas.cpp \
    RenderBufferCache.cpp \
    RenderNode.cpp \
    RenderProperties.cpp \
    ResourceCache.cpp \
    ShadowTessellator.cpp \
    SkiaCanvas.cpp \
    SkiaCanvasProxy.cpp \
    SkiaShader.cpp \
    Snapshot.cpp \
    SpotShadow.cpp \
    TessellationCache.cpp \
    TextDropShadowCache.cpp \
    Texture.cpp \
    TextureCache.cpp \
    VectorDrawable.cpp \
    VkLayer.cpp \
    protos/hwui.proto

hwui_test_common_src_files := \
    $(call all-cpp-files-under, tests/common/scenes) \
    tests/common/LeakChecker.cpp \
    tests/common/TestListViewSceneBase.cpp \
    tests/common/TestContext.cpp \
    tests/common/TestScene.cpp \
    tests/common/TestUtils.cpp

hwui_debug_common_src_files := \
    debug/wrap_gles.cpp \
    debug/DefaultGlesDriver.cpp \
    debug/GlesErrorCheckWrapper.cpp \
    debug/GlesDriver.cpp \
    debug/FatalBaseDriver.cpp \
    debug/NullGlesDriver.cpp

hwui_cflags := \
    -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES \
    -DATRACE_TAG=ATRACE_TAG_VIEW -DLOG_TAG=\"OpenGLRenderer\" \
    -Wall -Wno-unused-parameter -Wunreachable-code -Werror

ifeq ($(TARGET_USES_HWC2),true)
    hwui_cflags += -DUSE_HWC2
endif

# TODO: Linear blending should be enabled by default, but we are
# TODO: making it an opt-in while it's a work in progress
# TODO: The final test should be:
# TODO: ifneq ($(TARGET_ENABLE_LINEAR_BLENDING),false)
ifeq ($(TARGET_ENABLE_LINEAR_BLENDING),true)
    hwui_cflags += -DANDROID_ENABLE_LINEAR_BLENDING
endif

# GCC false-positives on this warning, and since we -Werror that's
# a problem
hwui_cflags += -Wno-free-nonheap-object

# clang's warning is broken, see: https://llvm.org/bugs/show_bug.cgi?id=21629
hwui_cflags += -Wno-missing-braces

ifeq (true, $(BUGREPORT_FONT_CACHE_USAGE))
    hwui_src_files += \
        font/FontCacheHistoryTracker.cpp
    hwui_cflags += -DBUGREPORT_FONT_CACHE_USAGE
endif

ifndef HWUI_COMPILE_SYMBOLS
    hwui_cflags += -fvisibility=hidden
endif

ifdef HWUI_COMPILE_FOR_PERF
    # TODO: Non-arm?
    hwui_cflags += -fno-omit-frame-pointer -marm -mapcs
endif

# This has to be lazy-resolved because it depends on the LOCAL_MODULE_CLASS
# which varies depending on what is being built
define hwui_proto_include
$(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
endef

hwui_c_includes += \
    external/skia/include/private \
    external/skia/src/core \
    external/skia/src/effects \
    external/skia/src/image \
    external/skia/src/utils \
    external/icu/icu4c/source/common \
    external/harfbuzz_ng/src \
    external/freetype/include

# enable RENDERSCRIPT
hwui_c_includes += \
    $(call intermediates-dir-for,STATIC_LIBRARIES,TARGET,) \
    frameworks/rs/cpp \
    frameworks/rs

# ------------------------
# static library
# ------------------------

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := libhwui_static
LOCAL_CFLAGS := $(hwui_cflags)
LOCAL_SRC_FILES := $(hwui_src_files)

ifeq (true, $(HWUI_ENABLE_OPENGL_VALIDATION))
    LOCAL_CFLAGS += -include debug/wrap_gles.h
    LOCAL_CFLAGS += -DDEBUG_OPENGL=3
    LOCAL_SRC_FILES += $(hwui_debug_common_src_files)
endif

LOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
LOCAL_EXPORT_C_INCLUDE_DIRS := \
        $(LOCAL_PATH) \
        $(call hwui_proto_include)

include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_STATIC_LIBRARY)

# ------------------------
# static library null gpu
# ------------------------

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := libhwui_static_debug
LOCAL_CFLAGS := \
        $(hwui_cflags) \
        -include debug/wrap_gles.h \
        -DHWUI_NULL_GPU
LOCAL_SRC_FILES := \
        $(hwui_src_files) \
        $(hwui_debug_common_src_files) \
        debug/nullegl.cpp
LOCAL_C_INCLUDES := $(hwui_c_includes) $(call hwui_proto_include)
LOCAL_EXPORT_C_INCLUDE_DIRS := \
        $(LOCAL_PATH) \
        $(call hwui_proto_include)

include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_STATIC_LIBRARY)

# ------------------------
# shared library
# ------------------------

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE := libhwui
LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)

include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_SHARED_LIBRARY)

# ------------------------
# unit tests
# ------------------------

include $(CLEAR_VARS)

LOCAL_MODULE := hwui_unit_tests
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_MODULE_TAGS := tests
LOCAL_STATIC_LIBRARIES := libgmock libhwui_static_debug
LOCAL_SHARED_LIBRARIES := libmemunreachable
LOCAL_CFLAGS := \
        $(hwui_cflags) \
        -include debug/wrap_gles.h \
        -DHWUI_NULL_GPU
LOCAL_C_INCLUDES := $(hwui_c_includes)

LOCAL_SRC_FILES += \
    $(hwui_test_common_src_files) \
    tests/unit/main.cpp \
    tests/unit/BakedOpDispatcherTests.cpp \
    tests/unit/BakedOpRendererTests.cpp \
    tests/unit/BakedOpStateTests.cpp \
    tests/unit/BitmapTests.cpp \
    tests/unit/CanvasContextTests.cpp \
    tests/unit/CanvasStateTests.cpp \
    tests/unit/ClipAreaTests.cpp \
    tests/unit/DamageAccumulatorTests.cpp \
    tests/unit/DeferredLayerUpdaterTests.cpp \
    tests/unit/DeviceInfoTests.cpp \
    tests/unit/FatVectorTests.cpp \
    tests/unit/FontRendererTests.cpp \
    tests/unit/FrameBuilderTests.cpp \
    tests/unit/GlopBuilderTests.cpp \
    tests/unit/GpuMemoryTrackerTests.cpp \
    tests/unit/GradientCacheTests.cpp \
    tests/unit/GraphicsStatsServiceTests.cpp \
    tests/unit/LayerUpdateQueueTests.cpp \
    tests/unit/LeakCheckTests.cpp \
    tests/unit/LinearAllocatorTests.cpp \
    tests/unit/MatrixTests.cpp \
    tests/unit/MeshStateTests.cpp \
    tests/unit/OffscreenBufferPoolTests.cpp \
    tests/unit/OpDumperTests.cpp \
    tests/unit/PathInterpolatorTests.cpp \
    tests/unit/RenderNodeDrawableTests.cpp \
    tests/unit/RecordingCanvasTests.cpp \
    tests/unit/RenderNodeTests.cpp \
    tests/unit/RenderPropertiesTests.cpp \
    tests/unit/SkiaBehaviorTests.cpp \
    tests/unit/SkiaDisplayListTests.cpp \
    tests/unit/SkiaPipelineTests.cpp \
    tests/unit/SkiaRenderPropertiesTests.cpp \
    tests/unit/SkiaCanvasTests.cpp \
    tests/unit/SnapshotTests.cpp \
    tests/unit/StringUtilsTests.cpp \
    tests/unit/TestUtilsTests.cpp \
    tests/unit/TextDropShadowCacheTests.cpp \
    tests/unit/TextureCacheTests.cpp \
    tests/unit/VectorDrawableTests.cpp \

include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_NATIVE_TEST)

# ------------------------
# Macro-bench app
# ------------------------

include $(CLEAR_VARS)

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/local/tmp
LOCAL_MODULE:= hwuimacro
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_MODULE_TAGS := tests
LOCAL_MULTILIB := both
LOCAL_CFLAGS := $(hwui_cflags)
LOCAL_C_INCLUDES := $(hwui_c_includes)

# set to libhwui_static_debug to skip actual GL commands
LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static
LOCAL_SHARED_LIBRARIES := libmemunreachable

LOCAL_SRC_FILES += \
    $(hwui_test_common_src_files) \
    tests/macrobench/TestSceneRunner.cpp \
    tests/macrobench/main.cpp

include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_NATIVE_BENCHMARK)

# ------------------------
# Micro-bench app
# ---------------------
include $(CLEAR_VARS)

LOCAL_MODULE:= hwuimicro
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_MODULE_TAGS := tests
LOCAL_CFLAGS := \
        $(hwui_cflags) \
        -include debug/wrap_gles.h \
        -DHWUI_NULL_GPU

LOCAL_C_INCLUDES := $(hwui_c_includes)

LOCAL_WHOLE_STATIC_LIBRARIES := libhwui_static_debug
LOCAL_SHARED_LIBRARIES := libmemunreachable

LOCAL_SRC_FILES += \
    $(hwui_test_common_src_files) \
    tests/microbench/main.cpp \
    tests/microbench/DisplayListCanvasBench.cpp \
    tests/microbench/FontBench.cpp \
    tests/microbench/FrameBuilderBench.cpp \
    tests/microbench/LinearAllocatorBench.cpp \
    tests/microbench/PathParserBench.cpp \
    tests/microbench/RenderNodeBench.cpp \
    tests/microbench/ShadowBench.cpp \
    tests/microbench/TaskManagerBench.cpp


include $(LOCAL_PATH)/hwui_static_deps.mk
include $(BUILD_NATIVE_BENCHMARK)

libs/hwui/hwui_static_deps.mk

deleted100644 → 0
+0 −33
Original line number Diff line number Diff line
###############################################################################
#
#
# This file contains the shared and static dependencies needed by any target
# that attempts to statically link HWUI (i.e. libhwui_static build target). This
# file should be included by any target that lists libhwui_static as a
# dependency.
#
# This is a workaround for the fact that the build system does not add these
# transitive dependencies when it attempts to link libhwui_static into another
# library.
#
###############################################################################

LOCAL_SHARED_LIBRARIES += \
    liblog \
    libcutils \
    libutils \
    libEGL \
    libGLESv2 \
    libvulkan \
    libskia \
    libui \
    libgui \
    libprotobuf-cpp-full \
    libharfbuzz_ng \
    libft2 \
    libminikin \
    libandroidfw \
    libRScpp

LOCAL_STATIC_LIBRARIES += \
    libplatformprotos