1/*
2 * Copyright (C) 2023 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_library_headers {
23    name: "libgfxstream_guest_sync",
24    export_include_dirs: [
25        ".",
26    ],
27}
28
29cc_library_headers {
30    name: "libOpenglSystemCommonHeaders",
31    host_supported: true,
32    vendor: true,
33    defaults: [
34        "libgfxstream_guest_cc_defaults",
35    ],
36    export_include_dirs: [
37        ".",
38    ],
39    header_libs: [
40        "libgfxstream_guest_rendercontrol_encoder_headers",
41    ],
42    export_header_lib_headers: [
43        "libgfxstream_guest_rendercontrol_encoder_headers",
44    ],
45}
46
47cc_defaults {
48    name: "libOpenglSystemCommonDefaults",
49    host_supported: true,
50    vendor: true,
51    defaults: [
52        "libgfxstream_guest_cc_defaults",
53    ],
54    header_libs: [
55        "libgfxstream_vulkan_headers",
56        "libgfxstream_guest_graphics_headers",
57        "libgfxstream_guest_iostream",
58        "libhardware_headers",
59        "libnativebase_headers",
60    ],
61    export_header_lib_headers: [
62        "libgfxstream_guest_graphics_headers",
63        "libgfxstream_guest_iostream",
64        "libhardware_headers",
65        "libnativebase_headers",
66    ],
67    shared_libs: [
68        "lib_renderControl_enc",
69        "libbase",
70        "libdrm",
71        "libcutils",
72        "libGLESv1_enc",
73        "libGLESv2_enc",
74        "liblog",
75        "libOpenglCodecCommon",
76    ],
77    export_shared_lib_headers: [
78        "lib_renderControl_enc",
79        "libGLESv1_enc",
80        "libGLESv2_enc",
81    ],
82    static_libs: [
83        "libGoldfishAddressSpace",
84        "libringbuffer",
85        "libqemupipe.ranchu",
86    ],
87    cflags: [
88        "-Wno-unused-variable",
89        "-Wno-unused-parameter",
90    ],
91    srcs: [
92        "FormatConversions.cpp",
93        "HostConnection.cpp",
94        "ProcessPipe.cpp",
95        "QemuPipeStream.cpp",
96        "ThreadInfo.cpp",
97        "VirtioGpuPipeStream.cpp",
98    ],
99    export_include_dirs: [
100        ".",
101    ],
102    target: {
103        android: {
104            header_libs: [
105                "gfxstream_opengl_headers",
106            ],
107            export_header_lib_headers: [
108                "gfxstream_opengl_headers",
109            ],
110        },
111    },
112}
113
114cc_library_shared {
115    name: "libOpenglSystemCommon",
116    defaults: [
117        "libOpenglSystemCommonDefaults",
118    ],
119    shared_libs: [
120        "libandroidemu",
121    ],
122    static_libs: [
123        "libgfxstream_guest_android",
124        "libmesa_util_gfxstream",
125        "libmesa_util_c11_gfxstream",
126        "libvulkan_enc",
127        "libplatform",
128    ],
129    export_static_lib_headers: [
130        "libgfxstream_guest_android",
131        "libplatform",
132    ],
133    target: {
134        android: {
135            shared_libs: [
136                "libnativewindow",
137                "libsync",
138            ],
139        },
140    },
141}
142
143cc_library_shared {
144    name: "libOpenglSystemCommonWithHost",
145    defaults: [
146        "libOpenglSystemCommonDefaults",
147    ],
148    shared_libs: [
149        "libandroidemu",
150        "libgfxstream_platform_rutabaga_server",
151    ],
152    static_libs: [
153        "libgfxstream_guest_android_with_host",
154        "libgfxstream_guest_vulkan_encoder_with_host",
155        "libmesa_util_gfxstream",
156        "libmesa_util_c11_gfxstream",
157        "libgfxstream_platform_rutabaga",
158    ],
159    export_static_lib_headers: [
160        "libgfxstream_guest_android_with_host",
161        "libgfxstream_platform_rutabaga",
162    ],
163    target: {
164        host: {
165            compile_multilib: "64",
166        },
167        android: {
168            compile_multilib: "64",
169        },
170    },
171}
172
173cc_library_static {
174    name: "libgfxstream_guest_system_common",
175    defaults: [
176        "libOpenglSystemCommonDefaults",
177    ],
178    header_libs: [
179        "vulkan_enc_headers",
180    ],
181    static_libs: [
182        "libgfxstream_androidemu_static",
183        "libgfxstream_guest_android",
184        "libplatform",
185    ],
186    export_static_lib_headers: [
187        "libgfxstream_guest_android",
188        "libplatform",
189    ],
190}
191
192cc_library_static {
193    name: "libgfxstream_guest_system_common_with_host",
194    defaults: [
195        "libOpenglSystemCommonDefaults",
196    ],
197    header_libs: [
198        "vulkan_enc_headers",
199    ],
200    shared_libs: [
201        "libgfxstream_platform_rutabaga_server",
202    ],
203    static_libs: [
204        "libgfxstream_androidemu_static",
205        "libgfxstream_guest_android_with_host",
206        "libgfxstream_platform_rutabaga",
207    ],
208    export_static_lib_headers: [
209        "libgfxstream_guest_android_with_host",
210        "libgfxstream_platform_rutabaga",
211    ],
212    target: {
213        host: {
214            compile_multilib: "64",
215        },
216        android: {
217            compile_multilib: "64",
218        },
219    },
220}
221