~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Externals/LZO/README.LZO

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

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