dolphin/Externals/LZO
Soren Jorvang 52d3137598 Build with -msse3 on OS X. The first Intel Macs were Core Duo/Solo, which
had SSE3. Keep -msse2 on other platforms. Not sure if there are actually
any Dolphin-capable machines out there without SSE3, but..

Use -search_paths_first to give our statically linked libraries precedence
over /usr/local/lib. 

Some work-in-progress changes to facilitate a more easily redistributable
application bundle on OS X.

Group compiler/preprocessor/linker flags together to make the full set
more intuitively apparent.

The various libraries in Externals have rather inconsistent conventions
for include paths. Best to encapsulate that knowledge in foo/SConscript.

Re-use utils.GenerateRevFile for all three places in the build system 
where we need the SVN revision number.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6030 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-08-01 16:30:22 +00:00
..
lzo Automatically detect and use shared library packages for 2010-06-16 12:42:49 +00:00
LZO.vcproj include the MP compiler option, which will allow for faster compiling + some minorly stuff :p 2010-07-16 09:22:53 +00:00
README.LZO Added the LZO external library. Added very fast LZO save state compression. 2008-09-12 00:08:55 +00:00
SConscript Build with -msse3 on OS X. The first Intel Macs were Core Duo/Solo, which 2010-08-01 16:30:22 +00:00
lzoconf.h Added the LZO external library. Added very fast LZO save state compression. 2008-09-12 00:08:55 +00:00
lzodefs.h Added the LZO external library. Added very fast LZO save state compression. 2008-09-12 00:08:55 +00:00
minilzo.c Added the LZO external library. Added very fast LZO save state compression. 2008-09-12 00:08:55 +00:00
minilzo.h Added the LZO external library. Added very fast LZO save state compression. 2008-09-12 00:08:55 +00:00

README.LZO

 ============================================================================
 miniLZO -- mini subset of the LZO real-time data compression library
 ============================================================================

 Author  : Markus Franz Xaver Johannes Oberhumer
           <markus@oberhumer.com>
           http://www.oberhumer.com/opensource/lzo/
 Version : 2.03
 Date    : 30 Apr 2008

 I've created miniLZO for projects where it is inconvenient to
 include (or require) the full LZO source code just because you
 want to add a little bit of data compression to your application.

 miniLZO implements the LZO1X-1 compressor and both the standard and
 safe LZO1X decompressor. Apart from fast compression it also useful
 for situations where you want to use pre-compressed data files (which
 must have been compressed with LZO1X-999).

 miniLZO consists of one C source file and three header files:
    minilzo.c
    minilzo.h, lzoconf.h, lzodefs.h

 To use miniLZO just copy these files into your source directory, add
 minilzo.c to your Makefile and #include minilzo.h from your program.
 Note: you also must distribute this file (`README.LZO') with your project.

 minilzo.o compiles to about 6 kB (using gcc or Visual C on a i386), and
 the sources are about 30 kB when packed with zip - so there's no more
 excuse that your application doesn't support data compression :-)

 For more information, documentation, example programs and other support
 files (like Makefiles and build scripts) please download the full LZO
 package from
    http://www.oberhumer.com/opensource/lzo/

 Have fun,
  Markus


 P.S. minilzo.c is generated automatically from the LZO sources and
      therefore functionality is completely identical


 Appendix A: building miniLZO
 ----------------------------
 miniLZO is written such a way that it should compile and run
 out-of-the-box on most machines.

 If you are running on a very unusual architecture and lzo_init() fails then
 you should first recompile with `-DLZO_DEBUG' to see what causes the failure.
 The most probable case is something like `sizeof(char *) != sizeof(long)'.
 After identifying the problem you can compile by adding some defines
 like `-DSIZEOF_CHAR_P=8' to your Makefile.

 The best solution is (of course) using Autoconf - if your project uses
 Autoconf anyway just add `-DMINILZO_HAVE_CONFIG_H' to your compiler
 flags when compiling minilzo.c. See the LZO distribution for an example
 how to set up configure.in.


 Appendix B: list of public functions available in miniLZO
 ---------------------------------------------------------
 Library initialization
    lzo_init()

 Compression
    lzo1x_1_compress()

 Decompression
    lzo1x_decompress()
    lzo1x_decompress_safe()

 Checksum functions
    lzo_adler32()

 Version functions
    lzo_version()
    lzo_version_string()
    lzo_version_date()

 Portable (but slow) string functions
    lzo_memcmp()
    lzo_memcpy()
    lzo_memmove()
    lzo_memset()


 Appendix C: suggested macros for `configure.in' when using Autoconf
 -------------------------------------------------------------------
 Checks for typedefs and structures
    AC_CHECK_TYPE(ptrdiff_t,long)
    AC_TYPE_SIZE_T
    AC_CHECK_SIZEOF(short)
    AC_CHECK_SIZEOF(int)
    AC_CHECK_SIZEOF(long)
    AC_CHECK_SIZEOF(long long)
    AC_CHECK_SIZEOF(__int64)
    AC_CHECK_SIZEOF(void *)
    AC_CHECK_SIZEOF(size_t)
    AC_CHECK_SIZEOF(ptrdiff_t)

 Checks for compiler characteristics
    AC_C_CONST

 Checks for library functions
    AC_CHECK_FUNCS(memcmp memcpy memmove memset)


 Appendix D: Copyright
 ---------------------
 LZO and miniLZO are Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 2003, 2004, 2005, 2006, 2007, 2008 Markus Franz Xaver Johannes Oberhumer

 LZO and miniLZO are distributed under the terms of the GNU General
 Public License (GPL).  See the file COPYING.

 Special licenses for commercial and other applications which
 are not willing to accept the GNU General Public License
 are available by contacting the author.