1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package {
18    // See: http://go/android-license-faq
19    default_applicable_licenses: ["hardware_google_gfxstream_license"],
20}
21
22cc_defaults {
23    name: "libgfxstream_guest_android_defaults",
24    defaults: [
25        "libgfxstream_guest_cc_defaults",
26    ],
27    host_supported: true,
28    vendor: true,
29    header_libs: [
30        "gfxstream_opengl_headers",
31    ],
32    shared_libs: [
33        "libcutils",
34        "libdrm",
35        "liblog",
36        "libutils",
37    ],
38    export_shared_lib_headers: [
39        "libdrm",
40    ],
41    export_include_dirs: [
42        "include",
43    ],
44    local_include_dirs: [
45        ".",
46        "include",
47    ],
48}
49
50cc_library_static {
51    name: "libgfxstream_guest_android",
52    defaults: [
53        "libgfxstream_guest_android_defaults",
54    ],
55    static_libs: [
56        "libplatform",
57    ],
58    target: {
59        android: {
60            header_libs: [
61                "libnativebase_headers",
62                "libgralloc_cb.ranchu",
63                "minigbm_headers",
64            ],
65            shared_libs: [
66                "lib_renderControl_enc",
67                "libnativewindow",
68            ],
69            srcs: [
70                "ANativeWindowAndroid.cpp",
71                "Gralloc.cpp",
72                "GrallocGoldfish.cpp",
73                "GrallocMinigbm.cpp",
74            ],
75        },
76        host: {
77            srcs: [
78                "ANativeWindowStub.cpp",
79                "GrallocStub.cpp",
80            ],
81        },
82    },
83}
84
85cc_library_static {
86    name: "libgfxstream_guest_android_with_host",
87    defaults: [
88        "libgfxstream_guest_android_defaults",
89    ],
90    static_libs: [
91        "libgfxstream_platform_rutabaga",
92    ],
93    target: {
94        host: {
95            compile_multilib: "64",
96        },
97        android: {
98            compile_multilib: "64",
99        },
100    },
101    srcs: [
102        "ANativeWindowEmulated.cpp",
103        "GrallocEmulated.cpp",
104    ],
105}
106