blob: fb98989b31e3f7178f4bcdf4bcdb48d7d298445f [file] [log] [blame]
Alex Deymo831dc452017-09-07 21:09:58 +02001// Copyright (C) 2008 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
15cc_defaults {
16 name: "bsdiff_defaults",
17 host_supported: true,
18 static_libs: ["libbz"],
Alex Deymodcd423b2017-09-13 20:54:24 +020019 // Allow internal includes to be referenced with the "bsdiff/" prefix in the
20 // path.
21 include_dirs: ["external"],
Alex Deymo831dc452017-09-07 21:09:58 +020022 export_include_dirs: [
23 "include",
24 // TODO(deymo): Remove include/bsdiff when all callers use the "bsdiff/"
25 // prefix when including code.
26 "include/bsdiff",
27 ],
28 cflags: [
29 "-D_FILE_OFFSET_BITS=64",
30 "-Wall",
31 "-Werror",
32 "-Wextra",
33 "-Wno-unused-parameter",
34 ],
35}
36
37// Host and target static libraries.
38cc_library_static {
39 name: "libbspatch",
40 defaults: ["bsdiff_defaults"],
41
42 srcs: [
43 "bspatch.cc",
44 "buffer_file.cc",
45 "extents.cc",
46 "extents_file.cc",
47 "file.cc",
48 "memory_file.cc",
49 "sink_file.cc",
50 ],
51}
52
53cc_library_static {
54 name: "libbsdiff",
55 defaults: ["bsdiff_defaults"],
56
Alex Deymoa28e0192017-09-08 14:21:05 +020057 srcs: [
58 "bsdiff.cc",
59 "bz2_compressor.cc",
60 "patch_writer.cc",
61 ],
Alex Deymo831dc452017-09-07 21:09:58 +020062 static_libs: [
63 "libdivsufsort64",
64 "libdivsufsort",
65 ],
66}
67
68// Host and target Executables.
69cc_binary {
70 name: "bspatch",
71 defaults: ["bsdiff_defaults"],
72
73 srcs: ["bspatch_main.cc"],
74 static_libs: [
75 "libbspatch",
76 "libbz",
77 ],
78}
79
80// Host executables, bsdiff is only built for the host.
81cc_binary_host {
82 name: "bsdiff",
83 defaults: ["bsdiff_defaults"],
84
85 srcs: ["bsdiff_main.cc"],
86 static_libs: [
87 "libbsdiff",
88 "libdivsufsort64",
89 "libdivsufsort",
90 "libbz",
91 ],
92}
93
94// Unit tests.
95cc_test {
96 name: "bsdiff_unittest",
97 defaults: ["bsdiff_defaults"],
98 test_suites: ["device-tests"],
99 srcs: [
100 "bsdiff_unittest.cc",
101 "bspatch_unittest.cc",
102 "extents_file_unittest.cc",
103 "extents_unittest.cc",
104 "test_utils.cc",
105 "testrunner.cc",
106 ],
107 cflags: ["-DBSDIFF_TARGET_UNITTEST"],
108 static_libs: [
109 "libbsdiff",
110 "libbspatch",
111 "libgmock",
112 "libdivsufsort64",
113 "libdivsufsort",
114 "libbz",
115 ],
116}