xref: /aosp_15_r20/external/aac/Android.bp (revision e54365361535b070c2db7374cec45c159c7d0e7a)
1*e5436536SAndroid Build Coastguard Worker// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
2*e5436536SAndroid Build Coastguard Worker//     CONSULT THE OWNERS AND [email protected] BEFORE
3*e5436536SAndroid Build Coastguard Worker//     DEPENDING ON IT IN YOUR PROJECT. ***
4*e5436536SAndroid Build Coastguard Workerpackage {
5*e5436536SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_aac_license"],
6*e5436536SAndroid Build Coastguard Worker}
7*e5436536SAndroid Build Coastguard Worker
8*e5436536SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
9*e5436536SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
10*e5436536SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
11*e5436536SAndroid Build Coastguard Worker//
12*e5436536SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
13*e5436536SAndroid Build Coastguard Worker//
14*e5436536SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
15*e5436536SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
16*e5436536SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
17*e5436536SAndroid Build Coastguard Worker//
18*e5436536SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
19*e5436536SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
20*e5436536SAndroid Build Coastguard Worker// used in the current project.
21*e5436536SAndroid Build Coastguard Worker// See: http://go/android-license-faq
22*e5436536SAndroid Build Coastguard Workerlicense {
23*e5436536SAndroid Build Coastguard Worker    name: "external_aac_license",
24*e5436536SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*e5436536SAndroid Build Coastguard Worker    license_kinds: [
26*e5436536SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*e5436536SAndroid Build Coastguard Worker        "legacy_by_exception_only", // by exception only
28*e5436536SAndroid Build Coastguard Worker    ],
29*e5436536SAndroid Build Coastguard Worker    license_text: [
30*e5436536SAndroid Build Coastguard Worker        "NOTICE",
31*e5436536SAndroid Build Coastguard Worker    ],
32*e5436536SAndroid Build Coastguard Worker}
33*e5436536SAndroid Build Coastguard Worker
34*e5436536SAndroid Build Coastguard Workercc_library_static {
35*e5436536SAndroid Build Coastguard Worker    name: "libFraunhoferAAC",
36*e5436536SAndroid Build Coastguard Worker    vendor_available: true,
37*e5436536SAndroid Build Coastguard Worker    host_supported: true,
38*e5436536SAndroid Build Coastguard Worker    srcs: [
39*e5436536SAndroid Build Coastguard Worker        "libAACdec/src/*.cpp",
40*e5436536SAndroid Build Coastguard Worker        "libAACenc/src/*.cpp",
41*e5436536SAndroid Build Coastguard Worker        "libPCMutils/src/*.cpp",
42*e5436536SAndroid Build Coastguard Worker        "libFDK/src/*.cpp",
43*e5436536SAndroid Build Coastguard Worker        "libSYS/src/*.cpp",
44*e5436536SAndroid Build Coastguard Worker        "libMpegTPDec/src/*.cpp",
45*e5436536SAndroid Build Coastguard Worker        "libMpegTPEnc/src/*.cpp",
46*e5436536SAndroid Build Coastguard Worker        "libSBRdec/src/*.cpp",
47*e5436536SAndroid Build Coastguard Worker        "libSBRenc/src/*.cpp",
48*e5436536SAndroid Build Coastguard Worker        "libArithCoding/src/*.cpp",
49*e5436536SAndroid Build Coastguard Worker        "libDRCdec/src/*.cpp",
50*e5436536SAndroid Build Coastguard Worker        "libSACdec/src/*.cpp",
51*e5436536SAndroid Build Coastguard Worker        "libSACenc/src/*.cpp",
52*e5436536SAndroid Build Coastguard Worker    ],
53*e5436536SAndroid Build Coastguard Worker    cflags: [
54*e5436536SAndroid Build Coastguard Worker        "-Werror",
55*e5436536SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
56*e5436536SAndroid Build Coastguard Worker        "-Wno-#warnings",
57*e5436536SAndroid Build Coastguard Worker        "-Wuninitialized",
58*e5436536SAndroid Build Coastguard Worker        "-Wno-self-assign",
59*e5436536SAndroid Build Coastguard Worker        "-Wno-implicit-fallthrough",
60*e5436536SAndroid Build Coastguard Worker        "-DSUPPRESS_BUILD_DATE_INFO",
61*e5436536SAndroid Build Coastguard Worker    ],
62*e5436536SAndroid Build Coastguard Worker    sanitize: {
63*e5436536SAndroid Build Coastguard Worker        misc_undefined: [
64*e5436536SAndroid Build Coastguard Worker            "unsigned-integer-overflow",
65*e5436536SAndroid Build Coastguard Worker            "signed-integer-overflow",
66*e5436536SAndroid Build Coastguard Worker            "bounds",
67*e5436536SAndroid Build Coastguard Worker        ],
68*e5436536SAndroid Build Coastguard Worker        cfi: true,
69*e5436536SAndroid Build Coastguard Worker    },
70*e5436536SAndroid Build Coastguard Worker    shared_libs: [
71*e5436536SAndroid Build Coastguard Worker        "liblog",
72*e5436536SAndroid Build Coastguard Worker    ],
73*e5436536SAndroid Build Coastguard Worker    export_include_dirs: [
74*e5436536SAndroid Build Coastguard Worker        "libAACdec/include",
75*e5436536SAndroid Build Coastguard Worker        "libAACenc/include",
76*e5436536SAndroid Build Coastguard Worker        "libPCMutils/include",
77*e5436536SAndroid Build Coastguard Worker        "libFDK/include",
78*e5436536SAndroid Build Coastguard Worker        "libSYS/include",
79*e5436536SAndroid Build Coastguard Worker        "libMpegTPDec/include",
80*e5436536SAndroid Build Coastguard Worker        "libMpegTPEnc/include",
81*e5436536SAndroid Build Coastguard Worker        "libSBRdec/include",
82*e5436536SAndroid Build Coastguard Worker        "libSBRenc/include",
83*e5436536SAndroid Build Coastguard Worker        "libArithCoding/include",
84*e5436536SAndroid Build Coastguard Worker        "libDRCdec/include",
85*e5436536SAndroid Build Coastguard Worker        "libSACdec/include",
86*e5436536SAndroid Build Coastguard Worker        "libSACenc/include",
87*e5436536SAndroid Build Coastguard Worker    ],
88*e5436536SAndroid Build Coastguard Worker
89*e5436536SAndroid Build Coastguard Worker    target: {
90*e5436536SAndroid Build Coastguard Worker        darwin: {
91*e5436536SAndroid Build Coastguard Worker            enabled: false,
92*e5436536SAndroid Build Coastguard Worker        },
93*e5436536SAndroid Build Coastguard Worker    },
94*e5436536SAndroid Build Coastguard Worker
95*e5436536SAndroid Build Coastguard Worker    apex_available: [
96*e5436536SAndroid Build Coastguard Worker        "//apex_available:platform",
97*e5436536SAndroid Build Coastguard Worker        "com.android.btservices",
98*e5436536SAndroid Build Coastguard Worker        "com.android.media.swcodec",
99*e5436536SAndroid Build Coastguard Worker    ],
100*e5436536SAndroid Build Coastguard Worker    min_sdk_version: "29",
101*e5436536SAndroid Build Coastguard Worker}
102