Upgrade xz to 5.2.5

Bug: 161925045
Change-Id: Ifaeca15b70f1a880ddb0550b20ca5da26e5c5aa5
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..8f9022a
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,237 @@
+//
+// 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"],
+}
diff --git a/MODULE_LICENSE_GPL b/MODULE_LICENSE_GPL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_GPL
diff --git a/NOTICE b/NOTICE
new file mode 120000
index 0000000..d24842f
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1 @@
+COPYING
\ No newline at end of file
diff --git a/README.version b/README.version
new file mode 100644
index 0000000..38fe184
--- /dev/null
+++ b/README.version
@@ -0,0 +1,4 @@
+URL: http://git.tukaani.org/xz.git
+Version: v5.2.5
+BugComponent: 119452
+Owners: jmgao