You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
6.6 KiB
207 lines
6.6 KiB
// 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"],
|
|
},
|
|
},
|
|
}
|