| // |
| // Copyright (C) 2018 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. |
| // |
| |
| // Add an empty config.h so that we can specify HAVE_CONFIG_H, the compile |
| // doesn't work otherwise. All of the values are actually specified in the |
| // cflags. |
| genrule { |
| name: "xz-config-h", |
| cmd: "touch $(out)", |
| out: ["config.h"], |
| } |
| |
| cc_defaults { |
| name: "xz-defaults", |
| |
| stl: "none", |
| local_include_dirs: ["src/common"], |
| generated_headers: ["xz-config-h"], |
| cflags: [ |
| "-DHAVE_CONFIG_H=1", |
| |
| "-DPACKAGE_NAME=\"XZ Utils\"", |
| "-DPACKAGE_BUGREPORT=\"\"", |
| "-DPACKAGE_URL=\"\"", |
| |
| "-DHAVE_ENCODER_LZMA1=1", |
| "-DHAVE_ENCODER_LZMA2=1", |
| "-DHAVE_ENCODER_X86=1", |
| "-DHAVE_ENCODER_DELTA=1", |
| "-DHAVE_ENCODERS=1", |
| "-DHAVE_DECODER_LZMA1=1", |
| "-DHAVE_DECODER_LZMA2=1", |
| "-DHAVE_DECODER_X86=1", |
| "-DHAVE_DECODER_DELTA=1", |
| "-DHAVE_DECODERS=1", |
| |
| "-DHAVE_MF_HC3=1", |
| "-DHAVE_MF_HC4=1", |
| "-DHAVE_MF_BT2=1", |
| "-DHAVE_MF_BT3=1", |
| "-DHAVE_MF_BT4=1", |
| |
| "-DHAVE_CHECK_CRC32=1", |
| "-DHAVE_CHECK_CRC64=1", |
| "-DHAVE_CHECK_SHA256=1", |
| |
| "-DASSUME_RAM=128", |
| |
| "-DPACKAGE=\"xz\"", |
| |
| "-DHAVE_DLFCN_H=1", |
| "-DHAVE_INTTYPES_H=1", |
| "-DHAVE_LIMITS_H=1", |
| "-DHAVE_MEMORY_H=1", |
| "-DHAVE_STDBOOL_H=1", |
| "-DHAVE_STDINT_H=1", |
| "-DHAVE_STRING_H=1", |
| "-DHAVE_STRINGS_H=1", |
| |
| "-DMYTHREAD_POSIX=1", |
| "-DTUKLIB_FAST_UNALIGNED_ACCESS=1", |
| "-DTUKLIB_CPUCORES_SYSCONF=1", |
| ], |
| |
| target: { |
| linux: { |
| cflags: [ |
| "-DHAVE_BYTESWAP_H=1", |
| "-DHAVE_BSWAP_16=1", |
| "-DHAVE_BSWAP_32=1", |
| "-DHAVE_BSWAP_64=1", |
| |
| "-DHAVE_CLOCK_GETTIME=1", |
| "-DHAVE_DECL_CLOCK_MONOTONIC=1", |
| "-DHAVE_PTHREAD_CONDATTR_SETCLOCK=1", |
| "-DHAVE_FUTIMENS=1", |
| "-DHAVE_POSIX_FADVISE=1", |
| |
| "-DTUKLIB_PHYSMEM_SYSCONF=1", |
| ], |
| }, |
| darwin: { |
| cflags: [ |
| "-DHAVE_OPTRESET=1", |
| "-DHAVE_FUTIMES=1", |
| |
| "-DTUKLIB_PHYSMEM_SYSCTL=1", |
| ], |
| }, |
| }, |
| } |
| |
| cc_library_host_static { |
| name: "xz-liblzma", |
| defaults: ["xz-defaults"], |
| |
| srcs: [ |
| // From src/liblzma/Makefile.am |
| "src/common/tuklib_physmem.c", |
| "src/common/tuklib_cpucores.c", |
| |
| // From src/liblzma/common/Makefile.inc |
| "src/liblzma/common/common.c", |
| "src/liblzma/common/block_util.c", |
| "src/liblzma/common/easy_preset.c", |
| "src/liblzma/common/filter_common.c", |
| "src/liblzma/common/hardware_physmem.c", |
| "src/liblzma/common/index.c", |
| "src/liblzma/common/stream_flags_common.c", |
| "src/liblzma/common/vli_size.c", |
| "src/liblzma/common/hardware_cputhreads.c", |
| "src/liblzma/common/alone_encoder.c", |
| "src/liblzma/common/block_buffer_encoder.c", |
| "src/liblzma/common/block_encoder.c", |
| "src/liblzma/common/block_header_encoder.c", |
| "src/liblzma/common/easy_buffer_encoder.c", |
| "src/liblzma/common/easy_encoder.c", |
| "src/liblzma/common/easy_encoder_memusage.c", |
| "src/liblzma/common/filter_buffer_encoder.c", |
| "src/liblzma/common/filter_encoder.c", |
| "src/liblzma/common/filter_flags_encoder.c", |
| "src/liblzma/common/index_encoder.c", |
| "src/liblzma/common/stream_buffer_encoder.c", |
| "src/liblzma/common/stream_encoder.c", |
| "src/liblzma/common/stream_flags_encoder.c", |
| "src/liblzma/common/vli_encoder.c", |
| "src/liblzma/common/outqueue.c", |
| "src/liblzma/common/stream_encoder_mt.c", |
| "src/liblzma/common/alone_decoder.c", |
| "src/liblzma/common/auto_decoder.c", |
| "src/liblzma/common/block_buffer_decoder.c", |
| "src/liblzma/common/block_decoder.c", |
| "src/liblzma/common/block_header_decoder.c", |
| "src/liblzma/common/easy_decoder_memusage.c", |
| "src/liblzma/common/filter_buffer_decoder.c", |
| "src/liblzma/common/filter_decoder.c", |
| "src/liblzma/common/filter_flags_decoder.c", |
| "src/liblzma/common/index_decoder.c", |
| "src/liblzma/common/index_hash.c", |
| "src/liblzma/common/stream_buffer_decoder.c", |
| "src/liblzma/common/stream_decoder.c", |
| "src/liblzma/common/stream_flags_decoder.c", |
| "src/liblzma/common/vli_decoder.c", |
| |
| // src/liblzma/check/Makefile.inc |
| "src/liblzma/check/check.c", |
| "src/liblzma/check/crc32_table.c", |
| "src/liblzma/check/crc32_fast.c", |
| "src/liblzma/check/crc64_table.c", |
| "src/liblzma/check/crc64_fast.c", |
| "src/liblzma/check/sha256.c", |
| |
| // src/liblzma/lz/Makefile.inc |
| "src/liblzma/lz/lz_encoder.c", |
| "src/liblzma/lz/lz_encoder_mf.c", |
| "src/liblzma/lz/lz_decoder.c", |
| |
| // src/liblzma/lzma/Makefile.inc |
| "src/liblzma/lzma/lzma_encoder_presets.c", |
| "src/liblzma/lzma/lzma_encoder.c", |
| "src/liblzma/lzma/lzma_encoder_optimum_fast.c", |
| "src/liblzma/lzma/lzma_encoder_optimum_normal.c", |
| "src/liblzma/lzma/fastpos_table.c", |
| "src/liblzma/lzma/lzma_decoder.c", |
| "src/liblzma/lzma/lzma2_encoder.c", |
| "src/liblzma/lzma/lzma2_decoder.c", |
| |
| // src/liblzma/rangecoder/Makefile.inc |
| "src/liblzma/rangecoder/price_table.c", |
| |
| // src/liblzma/delta/Makefile.inc |
| "src/liblzma/delta/delta_common.c", |
| "src/liblzma/delta/delta_encoder.c", |
| "src/liblzma/delta/delta_decoder.c", |
| |
| // src/liblzma/simple/Makefile.inc |
| "src/liblzma/simple/simple_coder.c", |
| "src/liblzma/simple/simple_encoder.c", |
| "src/liblzma/simple/simple_decoder.c", |
| "src/liblzma/simple/x86.c", |
| ], |
| |
| cflags: ["-DTUKLIB_SYMBOL_PREFIX=lzma_"], |
| |
| local_include_dirs: [ |
| "src/liblzma/common", |
| "src/liblzma/check", |
| "src/liblzma/lz", |
| "src/liblzma/rangecoder", |
| "src/liblzma/lzma", |
| "src/liblzma/delta", |
| "src/liblzma/simple", |
| ], |
| export_include_dirs: [ |
| "src/liblzma/api", |
| ], |
| } |
| |
| cc_binary_host { |
| name: "xz", |
| defaults: ["xz-defaults"], |
| srcs: [ |
| "src/xz/args.c", |
| "src/xz/coder.c", |
| "src/xz/file_io.c", |
| "src/xz/hardware.c", |
| "src/xz/main.c", |
| "src/xz/message.c", |
| "src/xz/mytime.c", |
| "src/xz/options.c", |
| "src/xz/signals.c", |
| "src/xz/suffix.c", |
| "src/xz/util.c", |
| "src/common/tuklib_open_stdxxx.c", |
| "src/common/tuklib_progname.c", |
| "src/common/tuklib_exit.c", |
| "src/common/tuklib_mbstr_width.c", |
| "src/common/tuklib_mbstr_fw.c", |
| |
| "src/xz/list.c", |
| ], |
| local_include_dirs: ["src/xz"], |
| static_libs: ["xz-liblzma"], |
| } |