Home | History | Annotate | Download | only in bsdiff
      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 
     15 cc_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.
     33 cc_library_static {
     34     name: "libbspatch",
     35     defaults: ["bsdiff_defaults"],
     36     recovery_available: true,
     37 
     38     srcs: [
     39         "brotli_decompressor.cc",
     40         "bspatch.cc",
     41         "bz2_decompressor.cc",
     42         "buffer_file.cc",
     43         "decompressor_interface.cc",
     44         "extents.cc",
     45         "extents_file.cc",
     46         "file.cc",
     47         "logging.cc",
     48         "memory_file.cc",
     49         "patch_reader.cc",
     50         "sink_file.cc",
     51         "utils.cc",
     52     ],
     53 }
     54 
     55 cc_library_static {
     56     name: "libbsdiff",
     57     defaults: ["bsdiff_defaults"],
     58 
     59     srcs: [
     60         "brotli_compressor.cc",
     61         "bsdiff.cc",
     62         "bz2_compressor.cc",
     63         "compressor_buffer.cc",
     64         "diff_encoder.cc",
     65         "endsley_patch_writer.cc",
     66         "logging.cc",
     67         "patch_writer.cc",
     68         "patch_writer_factory.cc",
     69         "split_patch_writer.cc",
     70         "suffix_array_index.cc",
     71     ],
     72     static_libs: [
     73         "libdivsufsort64",
     74         "libdivsufsort",
     75         "libbrotli",
     76     ],
     77 }
     78 
     79 // Host executables: bsdiff and bspatch are only built for the host.
     80 cc_binary_host {
     81     name: "bspatch",
     82     defaults: ["bsdiff_defaults"],
     83 
     84     srcs: ["bspatch_main.cc"],
     85     static_libs: [
     86         "libbspatch",
     87         "libbz",
     88         "libbrotli",
     89     ],
     90 }
     91 
     92 cc_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.
    110 cc_test {
    111     name: "bsdiff_unittest",
    112     defaults: ["bsdiff_defaults"],
    113     test_suites: ["device-tests"],
    114     srcs: [
    115         "brotli_compressor_unittest.cc",
    116         "brotli_decompressor_unittest.cc",
    117         "bsdiff_arguments.cc",
    118         "bsdiff_arguments_unittest.cc",
    119         "bsdiff_unittest.cc",
    120         "bspatch_unittest.cc",
    121         "bz2_decompressor_unittest.cc",
    122         "diff_encoder_unittest.cc",
    123         "endsley_patch_writer_unittest.cc",
    124         "extents_file_unittest.cc",
    125         "extents_unittest.cc",
    126         "patch_reader_unittest.cc",
    127         "patch_writer_unittest.cc",
    128         "split_patch_writer_unittest.cc",
    129         "suffix_array_index_unittest.cc",
    130         "test_utils.cc",
    131         "testrunner.cc",
    132     ],
    133     static_libs: [
    134         "libbsdiff",
    135         "libbspatch",
    136         "libgmock",
    137         "libdivsufsort64",
    138         "libdivsufsort",
    139         "libbz",
    140         "libbrotli",
    141     ],
    142     target: {
    143         android: {
    144             cflags: ["-DBSDIFF_TARGET_UNITTEST"],
    145         },
    146     },
    147 }
    148