blob: cf109bd5bee8cf830dd44bc7c9a1a5badde1e683 [file] [log] [blame]
// Mesa 3-D graphics library
//
// Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
// Copyright (C) 2010-2011 LunarG Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
soong_namespace {}
// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
// DEPENDING ON IT IN YOUR PROJECT. ***
package {
default_applicable_licenses: ["external_mesa3d_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "external_mesa3d_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-BSL-1.0",
"SPDX-license-identifier-GPL",
"SPDX-license-identifier-GPL-2.0",
"SPDX-license-identifier-ISC",
"SPDX-license-identifier-MIT",
"SPDX-license-identifier-Unlicense",
"legacy_by_exception_only", // by exception only
"legacy_notice",
"legacy_unencumbered",
],
license_text: [
"LICENSE",
],
}
build = ["Android.gen.bp"]
cc_library_headers {
name: "mesa_common_headers",
export_include_dirs: [
"src",
"include",
],
host_supported: true,
vendor: true,
visibility: [":__subpackages__"],
}
// This needs to be kept in sync with Android.common.mk
cc_defaults {
name: "mesa_common_defaults",
defaults: ["mesa_version_defaults"],
// uncomment to keep the debug symbols
// strip: { none: true, },
vendor: true,
header_libs: ["mesa_common_headers"],
cflags: [
"-Wno-error",
"-Werror=incompatible-pointer-types",
"-Wno-unused-parameter",
"-Wno-pointer-arith",
"-Wno-missing-field-initializers",
"-Wno-initializer-overrides",
"-Wno-mismatched-tags",
// PACKAGE_VERSION is in mesa_version_defaults
"-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"",
// XXX: The following __STDC_*_MACROS defines should not be needed.
// It's likely due to a bug elsewhere, but let's temporarily add them
// here to fix the radeonsi build.
"-DENABLE_SHADER_CACHE",
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_LIMIT_MACROS",
"-DHAVE___BUILTIN_EXPECT",
"-DHAVE___BUILTIN_FFS",
"-DHAVE___BUILTIN_FFSLL",
"-DHAVE_DLFCN_H",
"-DHAVE_FUNC_ATTRIBUTE_FLATTEN",
"-DHAVE_FUNC_ATTRIBUTE_UNUSED",
"-DHAVE_FUNC_ATTRIBUTE_FORMAT",
"-DHAVE_FUNC_ATTRIBUTE_PACKED",
"-DHAVE_FUNC_ATTRIBUTE_ALIAS",
"-DHAVE_FUNC_ATTRIBUTE_NORETURN",
"-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL",
"-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT",
"-DHAVE___BUILTIN_CTZ",
"-DHAVE___BUILTIN_POPCOUNT",
"-DHAVE___BUILTIN_POPCOUNTLL",
"-DHAVE___BUILTIN_CLZ",
"-DHAVE___BUILTIN_CLZLL",
"-DHAVE___BUILTIN_UNREACHABLE",
"-DHAVE_PTHREAD=1",
"-DHAVE_DLADDR",
"-DHAVE_DL_ITERATE_PHDR",
"-DHAVE_LINUX_FUTEX_H",
"-DHAVE_ENDIAN_H",
"-DHAVE_ZLIB",
"-DMAJOR_IN_SYSMACROS",
"-DVK_USE_PLATFORM_ANDROID_KHR",
"-fvisibility=hidden",
"-fno-math-errno",
"-fno-trapping-math",
"-Werror",
"-Wno-#warnings",
"-Wno-asm-operand-widths",
"-Wno-cast-calling-convention",
"-Wno-constant-logical-operand",
"-Wno-enum-conversion",
"-Wno-format",
"-Wno-gnu-variable-sized-type-not-at-end",
"-Wno-implicit-fallthrough",
"-Wno-incompatible-pointer-types",
"-Wno-missing-braces",
"-Wno-overloaded-virtual",
"-Wno-self-assign",
"-Wno-shift-negative-value",
"-Wno-sign-compare",
"-Wno-sometimes-uninitialized",
"-Wno-switch",
"-Wno-typedef-redefinition",
"-Wno-uninitialized",
"-DHAVE_TIMESPEC_GET",
],
// mesa requires at least c99 compiler
c_std: "c99",
cppflags: [
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-D__STDC_LIMIT_MACROS",
"-Wno-error=non-virtual-dtor",
"-Wno-non-virtual-dtor",
],
arch: {
arm: {
neon: {
cflags: ["-DUSE_ARM_ASM"],
},
},
arm64: {
cflags: ["-DUSE_AARCH64_ASM"],
},
},
multilib: {
lib32: {
cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib/dri\""],
},
lib64: {
cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib64/dri\""],
},
},
product_variables: {
platform_sdk_version: {
cflags: ["-DANDROID_API_LEVEL=%d"],
},
},
target: {
host: {
cflags: [
"-D_GNU_SOURCE",
"-DHAVE_LIBDRM",
],
shared_libs: ["libdrm"],
},
},
}