| # Copyright (C) 2017 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| { |
| 'target_defaults': { |
| 'cflags': [ |
| '-Wextra', |
| '-Wno-unused-parameter', |
| ], |
| 'cflags_cc': [ |
| '-Wnon-virtual-dtor', |
| ], |
| 'include_dirs': [ |
| 'include', |
| # We need this include dir because we include all the local code as |
| # "bsdiff/...". |
| '<(platform2_root)/../aosp/external', |
| ], |
| 'defines': [ |
| '_FILE_OFFSET_BITS=64', |
| ], |
| }, |
| 'targets': [ |
| # bsdiff static library |
| { |
| 'target_name': 'libbsdiff-static', |
| 'type': 'static_library', |
| 'cflags!': ['-fPIE'], |
| 'cflags': ['-fPIC'], |
| 'all_dependent_settings': { |
| 'link_settings': { |
| 'libraries': [ |
| '-lbz2', |
| '-lbrotlienc', |
| '-ldivsufsort', |
| '-ldivsufsort64', |
| ], |
| }, |
| }, |
| 'sources': [ |
| 'brotli_compressor.cc', |
| 'bsdiff.cc', |
| 'bz2_compressor.cc', |
| 'compressor_buffer.cc', |
| 'diff_encoder.cc', |
| 'endsley_patch_writer.cc', |
| 'logging.cc', |
| 'patch_writer.cc', |
| 'patch_writer_factory.cc', |
| 'split_patch_writer.cc', |
| 'suffix_array_index.cc', |
| ], |
| }, |
| # bsdiff shared library |
| { |
| 'target_name': 'libbsdiff', |
| 'type': 'shared_library', |
| 'dependencies': [ |
| 'libbsdiff-static', |
| ], |
| }, |
| # bsdiff executable |
| { |
| 'target_name': 'bsdiff', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'libbsdiff', |
| ], |
| 'sources': [ |
| 'bsdiff_arguments.cc', |
| 'bsdiff_main.cc', |
| ], |
| }, |
| # bspatch static library |
| { |
| 'target_name': 'libbspatch-static', |
| 'type': 'static_library', |
| 'cflags!': ['-fPIE'], |
| 'cflags': ['-fPIC'], |
| 'all_dependent_settings': { |
| 'link_settings': { |
| 'libraries': [ |
| '-lbz2', |
| '-lbrotlidec', |
| ], |
| }, |
| }, |
| 'sources': [ |
| 'brotli_decompressor.cc', |
| 'bspatch.cc', |
| 'buffer_file.cc', |
| 'bz2_decompressor.cc', |
| 'decompressor_interface.cc', |
| 'extents.cc', |
| 'extents_file.cc', |
| 'file.cc', |
| 'logging.cc', |
| 'memory_file.cc', |
| 'patch_reader.cc', |
| 'sink_file.cc', |
| 'utils.cc', |
| ], |
| }, |
| # bspatch shared library |
| { |
| 'target_name': 'libbspatch', |
| 'type': 'shared_library', |
| 'dependencies': [ |
| 'libbspatch-static', |
| ], |
| }, |
| # bspatch executable |
| { |
| 'target_name': 'bspatch', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'libbspatch', |
| ], |
| 'sources': [ |
| 'bspatch_main.cc', |
| ], |
| }, |
| ], |
| 'conditions': [ |
| ['USE_test == 1', { |
| 'targets': [ |
| { |
| 'target_name': 'bsdiff_unittest', |
| 'type': 'executable', |
| 'dependencies': [ |
| 'libbsdiff-static', |
| 'libbspatch-static', |
| '../common-mk/testrunner.gyp:testrunner', |
| ], |
| 'variables': { |
| 'deps': [ |
| 'libchrome-<(libbase_ver)', |
| ], |
| }, |
| 'includes': ['../common-mk/common_test.gypi'], |
| 'sources': [ |
| 'brotli_compressor_unittest.cc', |
| 'brotli_decompressor_unittest.cc', |
| 'bsdiff_arguments.cc', |
| 'bsdiff_arguments_unittest.cc', |
| 'bsdiff_unittest.cc', |
| 'bspatch_unittest.cc', |
| 'bz2_decompressor_unittest.cc', |
| 'diff_encoder_unittest.cc', |
| 'endsley_patch_writer_unittest.cc', |
| 'extents_file_unittest.cc', |
| 'extents_unittest.cc', |
| 'patch_reader_unittest.cc', |
| 'patch_writer_unittest.cc', |
| 'split_patch_writer_unittest.cc', |
| 'suffix_array_index_unittest.cc', |
| 'test_utils.cc', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |