Imported Upstream version 0.4b37
[debian/dump] / 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-----