blob: f5c752aec86663f47fa0e544e0a63e46a2fe2b43 [file] [log] [blame]
Colin Crossf55cbaf2018-09-11 15:45:18 -07001// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
Bill Peckham2a13eb62019-10-17 18:07:39 -070016cc_library_static {
Elliott Hughes7e4c2692017-05-23 13:40:14 -070017 name: "libbrotli",
Tianjie Xuefe81522017-07-06 15:35:29 -070018 host_supported: true,
Bill Peckham2254e7c2019-09-17 16:46:36 -070019 vendor_available: true,
Dan Willemsen76c29522018-10-23 13:40:03 -070020 recovery_available: true,
David Anderson46a34002020-09-10 18:19:39 -070021 ramdisk_available: true,
David Anderson557ef162020-11-16 18:49:33 -080022 vendor_ramdisk_available: true,
Bill Peckham2a13eb62019-10-17 18:07:39 -070023
Josh Gaoced742f2020-03-25 17:00:44 -070024 apex_available: [
25 "//apex_available:platform",
26 "com.android.adbd",
27 ],
28
Bill Peckham2a13eb62019-10-17 18:07:39 -070029 visibility: [
30 "//bootable/recovery:__subpackages__",
31 "//external/bsdiff:__subpackages__",
32 "//external/puffin:__subpackages__",
Baligh Uddin43a62ef2020-10-18 14:59:50 +000033 "//packages/modules/adb:__subpackages__",
David Andersonfb834932020-08-06 13:59:11 -070034 "//system/core/fs_mgr/libsnapshot:__subpackages__",
Bill Peckham2a13eb62019-10-17 18:07:39 -070035 "//system/update_engine:__subpackages__",
36 ],
37
Elliott Hughes7e4c2692017-05-23 13:40:14 -070038 cflags: [
39 "-Werror",
40 "-O2",
41 ],
Alex Deymo06117152017-11-09 20:25:41 +010042 export_include_dirs: ["c/include"],
Elliott Hughes7e4c2692017-05-23 13:40:14 -070043 srcs: [
Alex Deymo06117152017-11-09 20:25:41 +010044 "c/common/*.c",
45 "c/dec/*.c",
46 "c/enc/*.c",
Elliott Hughes7e4c2692017-05-23 13:40:14 -070047 ],
Tianjie Xuefe81522017-07-06 15:35:29 -070048 target: {
49 linux_bionic: {
50 enabled: true,
51 },
Josh Gaoced742f2020-03-25 17:00:44 -070052 windows: {
53 enabled: true,
54 },
Tianjie Xuefe81522017-07-06 15:35:29 -070055 },
Elliott Hughes7e4c2692017-05-23 13:40:14 -070056 stl: "none",
57}
58
59cc_binary {
Alex Deymo06117152017-11-09 20:25:41 +010060 name: "brotli",
Tianjie Xuefe81522017-07-06 15:35:29 -070061 host_supported: true,
Elliott Hughes7e4c2692017-05-23 13:40:14 -070062 cflags: ["-Werror"],
Alex Deymo06117152017-11-09 20:25:41 +010063 srcs: ["c/tools/brotli.c"],
Tianjie Xuefe81522017-07-06 15:35:29 -070064 target: {
65 linux_bionic: {
66 enabled: true,
67 },
68 },
Bill Peckham2a13eb62019-10-17 18:07:39 -070069 static_libs: ["libbrotli"],
Elliott Hughes7e4c2692017-05-23 13:40:14 -070070}
Colin Crossf55cbaf2018-09-11 15:45:18 -070071
72//
73// Support for brotli in java code.
74//
75
76java_library {
77 name: "brotli-java",
78 host_supported: true,
79 hostdex: true,
80 srcs: ["java/**/*.java"],
81 exclude_srcs: ["java/**/*Test.java"],
Jeff Sharkey1ac7fc62018-10-02 10:57:12 -060082 sdk_version: "current",
Colin Crossf55cbaf2018-09-11 15:45:18 -070083}
Branden Archer238bb162020-10-31 23:04:21 -070084
85// TODO(b/171429704): Remove this genrule and use the fuzz_data.zip
86// directly in brotli-fuzzer when a corpus_zip option is available.
87genrule {
88 name: "brotli-fuzzer-corpus",
89 srcs: ["java/org/brotli/integration/fuzz_data.zip"],
90 cmd: "mkdir -p $(genDir)/c/fuzz && " +
91 "unzip -q $(in) -d $(genDir)/c/fuzz",
92 out: [
93 "c/fuzz/04bdd9f35a2881027adddb039026623cd2e86664",
94 "c/fuzz/04dc2c1dc1f4612d4dc4892f4444983f2064c252",
95 "c/fuzz/05a79f06cf3f67f726dae68d18a2290f6c9a50c9",
96 "c/fuzz/05b3606442abab241ede01c3b34d1d73afc580d1",
97 "c/fuzz/065977e9fc84bab81eada79880b4481fece00616",
98 "c/fuzz/08e61f98cc5e260e8d9b853bf9d5c1d9c7a9fc4d",
99 "c/fuzz/155b07e636d98a80a53e667caef9e11370cef995",
100 "c/fuzz/2ad192eab5c0f6e50f0c64777811ae9111bad918",
101 "c/fuzz/2b1cba1e32deab80f440d886d1be7ca43733e878",
102 "c/fuzz/2fe9bc36724f80651a75cde84233a4832afec947",
103 "c/fuzz/312287bfd6732b264b54f9d5eda69f79c73898da",
104 "c/fuzz/3254df93e6003641dfc55522f594335e2c871b8f",
105 "c/fuzz/35a8db906eb1834b8acefd0bb9236ab8dc2ebbfe",
106 "c/fuzz/3a8e0fefadd562f706a16ec84c67646ba7ddcf29",
107 "c/fuzz/3edbdb6fcdb1ff53428af36bc4982f4611303eae",
108 "c/fuzz/477f2aa9b6ca0ff2ef72365d227baabb4855646e",
109 "c/fuzz/49fab0752d21ca89e4da04bdbb86dc7abb6b77e9",
110 "c/fuzz/4b809bfcd95342116053b0c057c878f08c1178b9",
111 "c/fuzz/523dfcdc31b2cb3b0f4715faa2be89b3d0a1d373",
112 "c/fuzz/54fd1711209fb1c0781092374132c66e79e2241b",
113 "c/fuzz/5515e03743624befa68a626382b605829300448d",
114 "c/fuzz/5be2ace579d7b0d816c31db7e65dc3245f1e09a6",
115 "c/fuzz/6f672b1c3c8643ce5083f6efee790b29459cbb47",
116 "c/fuzz/6fb6157dc83d29ef5d4da645e4a078179f54f405",
117 "c/fuzz/70eaba097fdbde0c63159f194ec4cec0f201acd8",
118 "c/fuzz/725ce4c76aa864430d7f4cae9e4cc4fbdd889f5e",
119 "c/fuzz/73231c6592f195ffd41100b8706d1138ff6893b9",
120 "c/fuzz/754f38420c156404309fa05f1ed773be47336882",
121 "c/fuzz/7730f322fb995dd3495d6e69906ff1f5b3cd876f",
122 "c/fuzz/7b74620c59451546866d80c0629ec01221246f59",
123 "c/fuzz/7b9cde6a96a7446f6951cca66266284db28be916",
124 "c/fuzz/7cc01983b79447178179e59af8a56cf4f45b9f8f",
125 "c/fuzz/7d3783cb4414c6098f7ac49ebaa8d2122eb06a0e",
126 "c/fuzz/7ecfeb33839bb8cea5027eb9fc7e5689799e704c",
127 "c/fuzz/7f88ed32938bef52eeaf3d3defedbfd2df87f895",
128 "c/fuzz/90450c570b868c4db80473b978529f6ec6dde20d",
129 "c/fuzz/9590340f604e5c729dbf8b54e25715fd18adb318",
130 "c/fuzz/a3491e5bbd78932592cd02dbff09cd05ca36e2e9",
131 "c/fuzz/a848e83a76d026b01bdfc2c0a6ac841564a97347",
132 "c/fuzz/a8abd012eb59b862bf9bc1ea443d2f35a1a2e222",
133 "c/fuzz/abcaee2817f06af41383c41a7e0920f1cc5a14ec",
134 "c/fuzz/ac81161dd772b1c7a47aa5cefed1ec3d8ac442af",
135 "c/fuzz/aec354d02df9ddb8d4e9ebb0c2771f1325cc2b89",
136 "c/fuzz/c01afbfde5a6ff0e5b0873f9d1ab8742293a375e",
137 "c/fuzz/c18cc3b3c69a07404a2c3cc756ed2d18f3dd4348",
138 "c/fuzz/c46fa7f0b56a80fcf8b1a8a6cbc24e4139b59a6b",
139 "c/fuzz/c51ab436e7332470ea2fd3d68ddbc3d0c43cf7ea",
140 "c/fuzz/c95701b41f06e892874d3001b32c64510c33c178",
141 "c/fuzz/d2b552c1f35b645332e7f63dea404046fdc8577b",
142 "c/fuzz/d6b5b93e87be7082e917d4bcc4d3436f34978d4b",
143 "c/fuzz/d75a03333816807599eadcb043a298ffa8c83378",
144 "c/fuzz/da39a3ee5e6b4b0d3255bfef95601890afd80709",
145 "c/fuzz/dc37d2e46439be3aa4bf23102f0960adbf13aae1",
146 "c/fuzz/de7c798e9523bd7e8350f3a391248cc9700bc4b4",
147 "c/fuzz/e1346339b452f86470a562335958bb6729f66bb2",
148 "c/fuzz/e6d0943f26000ee2306f10b1c1d44ab23619b20a",
149 "c/fuzz/ed22dce9884f67e05bcc082ba9b11424cf6e0449",
150 "c/fuzz/f5c1dc2f4906adb429197a011692b71bc1db856a",
151 "c/fuzz/fb1d6415c35cf9d7807e05e14179537e2019e635",
152 ],
153}
154
155cc_fuzz {
156 name: "brotli-fuzzer",
157 static_libs: ["libbrotli"],
158 srcs: ["c/fuzz/decode_fuzzer.c"],
159 corpus: [":brotli-fuzzer-corpus"],
Branden Archerf69b4ab2020-11-12 20:03:18 -0800160 fuzz_config: {
161 componentid: 128577
162 },
Branden Archer238bb162020-10-31 23:04:21 -0700163}