1a196e50eSopenharmony_ci------------------------------------------------------------------
2a196e50eSopenharmony_ciThis file is part of bzip2/libbzip2, a program and library for
3a196e50eSopenharmony_cilossless, block-sorting data compression.
4a196e50eSopenharmony_ci
5a196e50eSopenharmony_cibzip2/libbzip2 version 1.0.8 of 13 July 2019
6a196e50eSopenharmony_ciCopyright (C) 1996-2019 Julian Seward <jseward@acm.org>
7a196e50eSopenharmony_ci
8a196e50eSopenharmony_ciPlease read the WARNING, DISCLAIMER and PATENTS sections in the 
9a196e50eSopenharmony_ciREADME file.
10a196e50eSopenharmony_ci
11a196e50eSopenharmony_ciThis program is released under the terms of the license contained
12a196e50eSopenharmony_ciin the file LICENSE.
13a196e50eSopenharmony_ci------------------------------------------------------------------
14a196e50eSopenharmony_ci
15a196e50eSopenharmony_cibzip2 should compile without problems on the vast majority of
16a196e50eSopenharmony_ciplatforms.  Using the supplied Makefile, I've built and tested it
17a196e50eSopenharmony_cimyself for x86-linux and amd64-linux.  With makefile.msc, Visual C++
18a196e50eSopenharmony_ci6.0 and nmake, you can build a native Win32 version too.  Large file
19a196e50eSopenharmony_cisupport seems to work correctly on at least on amd64-linux.
20a196e50eSopenharmony_ci
21a196e50eSopenharmony_ciWhen I say "large file" I mean a file of size 2,147,483,648 (2^31)
22a196e50eSopenharmony_cibytes or above.  Many older OSs can't handle files above this size,
23a196e50eSopenharmony_cibut many newer ones can.  Large files are pretty huge -- most files
24a196e50eSopenharmony_ciyou'll encounter are not Large Files.
25a196e50eSopenharmony_ci
26a196e50eSopenharmony_ciEarly versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety
27a196e50eSopenharmony_ciof platforms without difficulty, and I hope this version will continue
28a196e50eSopenharmony_ciin that tradition.  However, in order to support large files, I've had
29a196e50eSopenharmony_cito include the define -D_FILE_OFFSET_BITS=64 in the Makefile.  This
30a196e50eSopenharmony_cican cause problems.
31a196e50eSopenharmony_ci
32a196e50eSopenharmony_ciThe technique of adding -D_FILE_OFFSET_BITS=64 to get large file
33a196e50eSopenharmony_cisupport is, as far as I know, the Recommended Way to get correct large
34a196e50eSopenharmony_cifile support.  For more details, see the Large File Support
35a196e50eSopenharmony_ciSpecification, published by the Large File Summit, at
36a196e50eSopenharmony_ci
37a196e50eSopenharmony_ci   http://ftp.sas.com/standards/large.file
38a196e50eSopenharmony_ci
39a196e50eSopenharmony_ciAs a general comment, if you get compilation errors which you think
40a196e50eSopenharmony_ciare related to large file support, try removing the above define from
41a196e50eSopenharmony_cithe Makefile, ie, delete the line
42a196e50eSopenharmony_ci
43a196e50eSopenharmony_ci   BIGFILES=-D_FILE_OFFSET_BITS=64 
44a196e50eSopenharmony_ci
45a196e50eSopenharmony_cifrom the Makefile, and do 'make clean ; make'.  This will give you a
46a196e50eSopenharmony_civersion of bzip2 without large file support, which, for most
47a196e50eSopenharmony_ciapplications, is probably not a problem.  
48a196e50eSopenharmony_ci
49a196e50eSopenharmony_ciAlternatively, try some of the platform-specific hints listed below.
50a196e50eSopenharmony_ci
51a196e50eSopenharmony_ciYou can use the spewG.c program to generate huge files to test bzip2's
52a196e50eSopenharmony_cilarge file support, if you are feeling paranoid.  Be aware though that
53a196e50eSopenharmony_ciany compilation problems which affect bzip2 will also affect spewG.c,
54a196e50eSopenharmony_cialas.
55a196e50eSopenharmony_ci
56a196e50eSopenharmony_ciAIX: I have reports that for large file support, you need to specify
57a196e50eSopenharmony_ci-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64.  I have not tested
58a196e50eSopenharmony_cithis myself.
59