1cc_library_headers {
2    name: "mesa_common_headers_gfxstream",
3    export_include_dirs: [
4        "src",
5        "include",
6    ],
7    host_supported: true,
8    vendor: true,
9}
10
11cc_defaults {
12    name: "mesa_common_defaults_gfxstream",
13
14    // uncomment to keep the debug symbols
15    // strip: { none: true, },
16
17    vendor: true,
18    header_libs: ["mesa_common_headers_gfxstream"],
19
20    cflags: [
21        "-Wno-error",
22        "-Werror=incompatible-pointer-types",
23        "-Wno-unused-parameter",
24        "-Wno-pointer-arith",
25        "-Wno-missing-field-initializers",
26        "-Wno-initializer-overrides",
27        "-Wno-mismatched-tags",
28        "-DPACKAGE_VERSION=\"20.3.4\"",
29        // PACKAGE_VERSION is in mesa_version_defaults
30        "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"",
31
32        // XXX: The following __STDC_*_MACROS defines should not be needed.
33        // It's likely due to a bug elsewhere, but let's temporarily add them
34        // here to fix the radeonsi build.
35        "-DENABLE_SHADER_CACHE",
36        "-D__STDC_CONSTANT_MACROS",
37        "-D__STDC_LIMIT_MACROS",
38        "-DHAVE___BUILTIN_EXPECT",
39        "-DHAVE___BUILTIN_FFS",
40        "-DHAVE___BUILTIN_FFSLL",
41        "-DHAVE_DLFCN_H",
42        "-DHAVE_FUNC_ATTRIBUTE_FLATTEN",
43        "-DHAVE_FUNC_ATTRIBUTE_UNUSED",
44        "-DHAVE_FUNC_ATTRIBUTE_FORMAT",
45        "-DHAVE_FUNC_ATTRIBUTE_PACKED",
46        "-DHAVE_FUNC_ATTRIBUTE_ALIAS",
47        "-DHAVE_FUNC_ATTRIBUTE_NORETURN",
48        "-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL",
49        "-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT",
50        "-DHAVE___BUILTIN_CTZ",
51        "-DHAVE___BUILTIN_POPCOUNT",
52        "-DHAVE___BUILTIN_POPCOUNTLL",
53        "-DHAVE___BUILTIN_CLZ",
54        "-DHAVE___BUILTIN_CLZLL",
55        "-DHAVE___BUILTIN_UNREACHABLE",
56        "-DHAVE_PTHREAD=1",
57        "-DUSE_XMLCONFIG=0",
58        "-DHAVE_DLADDR",
59        "-DHAVE_DL_ITERATE_PHDR",
60        "-DHAVE_LINUX_FUTEX_H",
61        "-DHAVE_ENDIAN_H",
62        "-DMAJOR_IN_SYSMACROS",
63        "-DVK_USE_PLATFORM_ANDROID_KHR",
64        "-fvisibility=hidden",
65        "-fno-math-errno",
66        "-fno-trapping-math",
67        "-Werror",
68        "-Wno-#warnings",
69        "-Wno-asm-operand-widths",
70        "-Wno-cast-calling-convention",
71        "-Wno-constant-logical-operand",
72        "-Wno-enum-conversion",
73        "-Wno-format",
74        "-Wno-gnu-variable-sized-type-not-at-end",
75        "-Wno-implicit-fallthrough",
76        "-Wno-incompatible-pointer-types",
77        "-Wno-missing-braces",
78        "-Wno-overloaded-virtual",
79        "-Wno-self-assign",
80        "-Wno-shift-negative-value",
81        "-Wno-sign-compare",
82        "-Wno-sometimes-uninitialized",
83        "-Wno-switch",
84        "-Wno-typedef-redefinition",
85        "-Wno-uninitialized",
86        "-Wno-implicit-const-int-float-conversion",
87        "-Wno-sync-alignment",
88        "-Wno-visibility",
89        "-Wno-implicit-function-declaration",
90        "-Wno-int-conversion",
91        "-Wno-implicit-int",
92        "-Wno-unknown-pragmas",
93        "-DHAVE_TIMESPEC_GET",
94        "-DHAVE_STRUCT_TIMESPEC",
95    ],
96
97    c_std: "c11",
98
99    cppflags: [
100        "-D__STDC_CONSTANT_MACROS",
101        "-D__STDC_FORMAT_MACROS",
102        "-D__STDC_LIMIT_MACROS",
103        "-Wno-error=non-virtual-dtor",
104        "-Wno-non-virtual-dtor",
105    ],
106
107    arch: {
108        arm: {
109            cflags: ["-DUSE_ARM_ASM"],
110        },
111        arm64: {
112            cflags: ["-DUSE_AARCH64_ASM"],
113        },
114    },
115
116    product_variables: {
117        platform_sdk_version: {
118            cflags: ["-DANDROID_API_LEVEL=%d"],
119        },
120    },
121
122    target: {
123        host: {
124            cflags: [
125                "-D_GNU_SOURCE",
126                "-DHAVE_LIBDRM",
127            ],
128            shared_libs: ["libdrm"],
129        },
130    },
131}
132