• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// 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", "libbrotli"],
19    // Allow internal includes to be referenced with the "bsdiff/" prefix in the
20    // path.
21    include_dirs: ["external"],
22    export_include_dirs: ["include"],
23    cflags: [
24        "-D_FILE_OFFSET_BITS=64",
25        "-Wall",
26        "-Werror",
27        "-Wextra",
28        "-Wno-unused-parameter",
29    ],
30}
31
32// Host and target static libraries.
33cc_library_static {
34    name: "libbspatch",
35    defaults: ["bsdiff_defaults"],
36
37    srcs: [
38        "brotli_decompressor.cc",
39        "bspatch.cc",
40        "bz2_decompressor.cc",
41        "buffer_file.cc",
42        "decompressor_interface.cc",
43        "extents.cc",
44        "extents_file.cc",
45        "file.cc",
46        "logging.cc",
47        "memory_file.cc",
48        "patch_reader.cc",
49        "sink_file.cc",
50        "utils.cc",
51    ],
52}
53
54cc_library_static {
55    name: "libbsdiff",
56    defaults: ["bsdiff_defaults"],
57
58    srcs: [
59        "brotli_compressor.cc",
60        "bsdiff.cc",
61        "bz2_compressor.cc",
62        "compressor_buffer.cc",
63        "diff_encoder.cc",
64        "endsley_patch_writer.cc",
65        "logging.cc",
66        "patch_writer.cc",
67        "patch_writer_factory.cc",
68        "split_patch_writer.cc",
69        "suffix_array_index.cc",
70    ],
71    static_libs: [
72        "libdivsufsort64",
73        "libdivsufsort",
74        "libbrotli",
75    ],
76}
77
78// Host and target Executables.
79cc_binary {
80    name: "bspatch",
81    defaults: ["bsdiff_defaults"],
82
83    srcs: ["bspatch_main.cc"],
84    static_libs: [
85        "libbspatch",
86        "libbz",
87        "libbrotli",
88    ],
89}
90
91// Host executables, bsdiff is only built for the host.
92cc_binary_host {
93    name: "bsdiff",
94    defaults: ["bsdiff_defaults"],
95
96    srcs: [
97        "bsdiff_arguments.cc",
98        "bsdiff_main.cc",
99    ],
100    static_libs: [
101        "libbsdiff",
102        "libdivsufsort64",
103        "libdivsufsort",
104        "libbz",
105        "libbrotli",
106    ],
107}
108
109// Unit tests.
110cc_test {
111    name: "bsdiff_unittest",
112    defaults: ["bsdiff_defaults"],
113    test_suites: ["device-tests"],
114    srcs: [
115        "brotli_compressor_unittest.cc",
116        "bsdiff_arguments.cc",
117        "bsdiff_arguments_unittest.cc",
118        "bsdiff_unittest.cc",
119        "bspatch_unittest.cc",
120        "diff_encoder_unittest.cc",
121        "endsley_patch_writer_unittest.cc",
122        "extents_file_unittest.cc",
123        "extents_unittest.cc",
124        "patch_reader_unittest.cc",
125        "patch_writer_unittest.cc",
126        "split_patch_writer_unittest.cc",
127        "suffix_array_index_unittest.cc",
128        "test_utils.cc",
129        "testrunner.cc",
130    ],
131    static_libs: [
132        "libbsdiff",
133        "libbspatch",
134        "libgmock",
135        "libdivsufsort64",
136        "libdivsufsort",
137        "libbz",
138        "libbrotli",
139    ],
140    target: {
141        android: {
142            cflags: ["-DBSDIFF_TARGET_UNITTEST"],
143        },
144    },
145}
146