]> git.wh0rd.org - dump.git/blob - compat/lib/README.LZO
Added LZO compression.
[dump.git] / compat / lib / README.LZO
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4
5 ============================================================================
6 miniLZO -- mini subset of the LZO real-time data compression library
7 ============================================================================
8
9 Author : Markus Franz Xaver Johannes Oberhumer
10 <markus@oberhumer.com>
11 http://www.oberhumer.com/opensource/lzo/
12 Version : 1.08
13 Date : 12-Jul-2002
14
15 I've created miniLZO for projects where it is inconvenient to
16 include (or require) the full LZO source code just because you
17 want to add a little bit of data compression to your application.
18
19 miniLZO implements the LZO1X-1 compressor and both the standard and
20 safe LZO1X decompressor. Apart from fast compression it also useful
21 for situations where you want to use pre-compressed data files (which
22 must have been compressed with LZO1X-999).
23
24 miniLZO consists of one C source file and two header files:
25 minilzo.c
26 minilzo.h
27 lzoconf.h
28
29 To use miniLZO just copy these files into your source directory, add
30 minilzo.c to your Makefile and #include minilzo.h from your program.
31 Note: you also must distribute this file (`README.LZO') with your project.
32
33 minilzo.o compiles to about 6 kB (using gcc or Visual C on a i386), and
34 the sources are about 14 kB when packed with zip - so there's no more
35 excuse that your application doesn't support data compression :-)
36
37 For more information, documentation, example programs and other support
38 files (like Makefiles and build scripts) please download the full LZO
39 package from
40 http://www.oberhumer.com/opensource/lzo/
41
42 Have fun,
43 Markus
44
45
46 P.S. minilzo.c is generated automatically from the LZO sources and
47 therefore functionality is completely identical
48
49
50 Appendix A: building miniLZO
51 ----------------------------
52 miniLZO is written such a way that it should compile and run
53 out-of-the-box on most machines.
54
55 If you are running on a very unusual architecture and lzo_init() fails then
56 you should first recompile with `-DLZO_DEBUG' to see what causes the failure.
57 The most probable case is something like `sizeof(char *) != sizeof(long)'.
58 After identifying the problem you can compile by adding some defines
59 like `-DSIZEOF_CHAR_P=8' to your Makefile.
60
61 The best solution is (of course) using Autoconf - if your project uses
62 Autoconf anyway just add `-DMINILZO_HAVE_CONFIG_H' to your compiler
63 flags when compiling minilzo.c. See the LZO distribution for an example
64 how to set up configure.in.
65
66
67 Appendix B: list of public functions available in miniLZO
68 ---------------------------------------------------------
69 Library initialization
70 lzo_init()
71
72 Compression
73 lzo1x_1_compress()
74
75 Decompression
76 lzo1x_decompress()
77 lzo1x_decompress_safe()
78
79 Checksum functions
80 lzo_adler32()
81
82 Version functions
83 lzo_version()
84 lzo_version_string()
85 lzo_version_date()
86
87 Portable (but slow) string functions
88 lzo_memcmp()
89 lzo_memcpy()
90 lzo_memmove()
91 lzo_memset()
92
93
94 Appendix C: suggested macros for `configure.in' when using Autoconf
95 -------------------------------------------------------------------
96 Checks for typedefs and structures
97 AC_CHECK_TYPE(ptrdiff_t,long)
98 AC_TYPE_SIZE_T
99 AC_CHECK_SIZEOF(unsigned short)
100 AC_CHECK_SIZEOF(unsigned)
101 AC_CHECK_SIZEOF(unsigned long)
102 AC_CHECK_SIZEOF(char *)
103 AC_CHECK_SIZEOF(ptrdiff_t)
104 AC_CHECK_SIZEOF(size_t)
105
106 Checks for compiler characteristics
107 AC_C_CONST
108
109 Checks for library functions
110 AC_CHECK_FUNCS(memcmp memcpy memmove memset)
111
112
113 Appendix D: Copyright
114 ---------------------
115 LZO and miniLZO are Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
116 Markus Franz Xaver Johannes Oberhumer
117
118 LZO and miniLZO are distributed under the terms of the GNU General
119 Public License (GPL). See the file COPYING.
120
121 Special licenses for commercial and other applications which
122 are not willing to accept the GNU General Public License
123 are available by contacting the author.
124
125
126
127 -----BEGIN PGP SIGNATURE-----
128 Version: GnuPG v1.0.7 (GNU/Linux)
129
130 iD8DBQE9LPb4TWFXqwsgQ8kRAi/wAKCZ9Iej+voGhmKATaViOPS9chxGUwCgh5Dk
131 uwMS2PQ7BXHT0vf4yz+3tTc=
132 =PsNp
133 -----END PGP SIGNATURE-----