The Android Open Source Project | cfb3b27 | 2009-03-03 19:29:20 -0800 | [diff] [blame] | 1 | ------------------------------------------------------------------ |
| 2 | This file is part of bzip2/libbzip2, a program and library for |
| 3 | lossless, block-sorting data compression. |
| 4 | |
Nick Kralevich | 172b266 | 2010-09-20 17:21:30 -0700 | [diff] [blame] | 5 | bzip2/libbzip2 version 1.0.6 of 6 September 2010 |
| 6 | Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> |
The Android Open Source Project | cfb3b27 | 2009-03-03 19:29:20 -0800 | [diff] [blame] | 7 | |
| 8 | Please read the WARNING, DISCLAIMER and PATENTS sections in the |
| 9 | README file. |
| 10 | |
| 11 | This program is released under the terms of the license contained |
| 12 | in the file LICENSE. |
| 13 | ------------------------------------------------------------------ |
| 14 | |
Nick Kralevich | 172b266 | 2010-09-20 17:21:30 -0700 | [diff] [blame] | 15 | bzip2-1.0.6 should compile without problems on the vast majority of |
The Android Open Source Project | cfb3b27 | 2009-03-03 19:29:20 -0800 | [diff] [blame] | 16 | platforms. Using the supplied Makefile, I've built and tested it |
| 17 | myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ |
| 18 | 6.0 and nmake, you can build a native Win32 version too. Large file |
| 19 | support seems to work correctly on at least on amd64-linux. |
| 20 | |
| 21 | When I say "large file" I mean a file of size 2,147,483,648 (2^31) |
| 22 | bytes or above. Many older OSs can't handle files above this size, |
| 23 | but many newer ones can. Large files are pretty huge -- most files |
| 24 | you'll encounter are not Large Files. |
| 25 | |
| 26 | Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety |
| 27 | of platforms without difficulty, and I hope this version will continue |
| 28 | in that tradition. However, in order to support large files, I've had |
| 29 | to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This |
| 30 | can cause problems. |
| 31 | |
| 32 | The technique of adding -D_FILE_OFFSET_BITS=64 to get large file |
| 33 | support is, as far as I know, the Recommended Way to get correct large |
| 34 | file support. For more details, see the Large File Support |
| 35 | Specification, published by the Large File Summit, at |
| 36 | |
| 37 | http://ftp.sas.com/standards/large.file |
| 38 | |
| 39 | As a general comment, if you get compilation errors which you think |
| 40 | are related to large file support, try removing the above define from |
| 41 | the Makefile, ie, delete the line |
| 42 | |
| 43 | BIGFILES=-D_FILE_OFFSET_BITS=64 |
| 44 | |
| 45 | from the Makefile, and do 'make clean ; make'. This will give you a |
| 46 | version of bzip2 without large file support, which, for most |
| 47 | applications, is probably not a problem. |
| 48 | |
| 49 | Alternatively, try some of the platform-specific hints listed below. |
| 50 | |
| 51 | You can use the spewG.c program to generate huge files to test bzip2's |
| 52 | large file support, if you are feeling paranoid. Be aware though that |
| 53 | any compilation problems which affect bzip2 will also affect spewG.c, |
| 54 | alas. |
| 55 | |
| 56 | AIX: I have reports that for large file support, you need to specify |
| 57 | -D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested |
| 58 | this myself. |