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