// // 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"], }