1167974Sdelphij------------------------------------------------------------------
2167974SdelphijThis file is part of bzip2/libbzip2, a program and library for
3167974Sdelphijlossless, block-sorting data compression.
478556Sobrien
5215041Sobrienbzip2/libbzip2 version 1.0.6 of 6 September 2010
6215041SobrienCopyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
7167974Sdelphij
8167974SdelphijPlease read the WARNING, DISCLAIMER and PATENTS sections in the 
9167974SdelphijREADME file.
10167974Sdelphij
11167974SdelphijThis program is released under the terms of the license contained
12167974Sdelphijin the file LICENSE.
13167974Sdelphij------------------------------------------------------------------
14167974Sdelphij
15215041Sobrienbzip2-1.0.6 should compile without problems on the vast majority of
1678556Sobrienplatforms.  Using the supplied Makefile, I've built and tested it
17167974Sdelphijmyself for x86-linux and amd64-linux.  With makefile.msc, Visual C++
18146293Sobrien6.0 and nmake, you can build a native Win32 version too.  Large file
19167974Sdelphijsupport seems to work correctly on at least on amd64-linux.
2078556Sobrien
2178556SobrienWhen I say "large file" I mean a file of size 2,147,483,648 (2^31)
2278556Sobrienbytes or above.  Many older OSs can't handle files above this size,
2378556Sobrienbut many newer ones can.  Large files are pretty huge -- most files
2478556Sobrienyou'll encounter are not Large Files.
2578556Sobrien
26167974SdelphijEarly versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety
27167974Sdelphijof platforms without difficulty, and I hope this version will continue
28167974Sdelphijin that tradition.  However, in order to support large files, I've had
29167974Sdelphijto include the define -D_FILE_OFFSET_BITS=64 in the Makefile.  This
30167974Sdelphijcan cause problems.
3178556Sobrien
3278556SobrienThe technique of adding -D_FILE_OFFSET_BITS=64 to get large file
3378556Sobriensupport is, as far as I know, the Recommended Way to get correct large
3478556Sobrienfile support.  For more details, see the Large File Support
3578556SobrienSpecification, published by the Large File Summit, at
36167974Sdelphij
37146293Sobrien   http://ftp.sas.com/standards/large.file
3878556Sobrien
3978556SobrienAs a general comment, if you get compilation errors which you think
4078556Sobrienare related to large file support, try removing the above define from
4178556Sobrienthe Makefile, ie, delete the line
42167974Sdelphij
4378556Sobrien   BIGFILES=-D_FILE_OFFSET_BITS=64 
44167974Sdelphij
4578556Sobrienfrom the Makefile, and do 'make clean ; make'.  This will give you a
4678556Sobrienversion of bzip2 without large file support, which, for most
4778556Sobrienapplications, is probably not a problem.  
4878556Sobrien
4978556SobrienAlternatively, try some of the platform-specific hints listed below.
5078556Sobrien
5178556SobrienYou can use the spewG.c program to generate huge files to test bzip2's
5278556Sobrienlarge file support, if you are feeling paranoid.  Be aware though that
5378556Sobrienany compilation problems which affect bzip2 will also affect spewG.c,
5478556Sobrienalas.
55167974Sdelphij
56167974SdelphijAIX: I have reports that for large file support, you need to specify
57167974Sdelphij-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64.  I have not tested
58167974Sdelphijthis myself.
59