Lines Matching +full:xz +full:- +full:utils
2 XZ Embedded
5 XZ Embedded is a relatively small, limited implementation of the .xz
8 XZ Embedded was written for use in the Linux kernel, but the code can
13 of XZ Embedded isn't part of the Linux kernel tree. You should also
14 read linux/Documentation/xz.txt even if you aren't using XZ Embedded
26 cd linux/lib/xz
27 make -C /path/to/kernel/source \
28 KCPPFLAGS=-I"$(pwd)/../../include" M="$(pwd)" \
34 cd linux/lib/xz
35 make -C /path/to/kernel/source \
36 KCPPFLAGS=-I"$(pwd)/../../include" M="$(pwd)" \
51 XZ Embedded should compile as either GNU-C89 (used in the Linux
53 non-GNU C89 compiler or a C++ compiler should be quite easy as
54 long as there is a data type for unsigned 64-bit integer (or the
56 care than just using 32-bit integer instead of 64-bit).
58 If you use GCC, try to use a recent version. For example, on x86-32,
59 xz_dec_lzma2.c compiled with GCC 3.3.6 is 15-25 % slower than when
64 To embed the XZ decoder, copy the following files into a single
67 linux/include/linux/xz.h
68 linux/lib/xz/xz_crc32.c
69 linux/lib/xz/xz_dec_lzma2.c
70 linux/lib/xz/xz_dec_stream.c
71 linux/lib/xz/xz_lzma2.h
72 linux/lib/xz/xz_private.h
73 linux/lib/xz/xz_stream.h
76 Alternatively, xz.h may be placed into a different directory but then
80 Your code should use only the functions declared in xz.h. The rest of
81 the .h files are meant only for internal use in XZ Embedded.
87 Supporting concatenated .xz files
89 Regular .xz files can be concatenated as is and the xz command line
91 other popular formats and tools support this too). This kind of .xz
93 threaded XZ compressor, created this kind of .xz files.
96 This is good when XZ data is stored inside some other file format.
97 However, if one is decompressing regular standalone .xz files, one
104 XZ Embedded always supports the integrity check types None and
105 CRC32. Support for CRC64 is optional. SHA-256 is currently not
106 supported in XZ Embedded although the .xz format does support it.
107 The xz tool from XZ Utils uses CRC64 by default, but CRC32 is usually
110 If you want support for CRC64, you need to copy linux/lib/xz/xz_crc64.c
116 See xz.h for details.
128 If the .xz file being decompressed uses an integrity check type that
129 isn't supported by XZ Embedded, it is treated as an error and the
130 file cannot be decompressed. For multi-call mode, this can be modified
134 integrity check won't be verified. In single-call mode there's
136 in single-call mode.
141 linux/lib/xz/xz_dec_bcj.c into your application, and use appropriate
143 #defines in the code that just uses XZ Embedded via xz.h, but having
147 XZ_DEC_X86 x86-32 or x86-64 Little endian only
149 XZ_DEC_IA64 Itanium (IA-64) Big or little endian
151 XZ_DEC_ARMTHUMB ARM-Thumb Little endian only
154 While some architectures are (partially) bi-endian, the endianness
161 ARM or ARM-Thumb. Implementing filters for them can be considered if
162 there is a need for such filters in real-world applications.
166 If you are including XZ Embedded into a shared library, you very
169 or application that also has XZ Embedded in it (which may even be
170 a different version of XZ Embedded). TODO: Provide an easy way
173 Please don't create a shared library of XZ Embedded itself unless
175 everytime you upgrade to a newer version of XZ Embedded. There are
177 XZ Embedded.