Introduction to the Portable UnRAR Version
Overview
The Portable UnRAR project serves as a comprehensive package including the UnRAR C++ source code, primarily designed for Unix platforms, along with the necessary makefile. It aims to facilitate the extraction of RAR files, a popular compressed archive format, without the intricacies of the RAR compression algorithm, which remains proprietary.
Structure and Purpose
The UnRAR source is derived automatically from the broader RAR source, through a filtering process that includes a small program stripping unnecessary blocks of code specific to the RAR function. This automated generation might result in some RAR-related elements being included inadvertently, particularly in the header files. As a result, users might encounter some irrelevant code segments when working with UnRAR.
Portability and Customization
For those interested in porting UnRAR to new platforms, certain configurations may need adjustments. Notably, the '#define LITTLE_ENDIAN' directive within the os.hpp
file and the data type specifications in rartypes.hpp
may require modification to adapt to different system architectures.
If the system architecture does not support unaligned data access, users should make corresponding changes: disable ALLOW_NOT_ALIGNED_INT
and enable STRICT_ALIGNMENT_REQUIRED
within the os.h
file.
For Windows users working within Microsoft Visual C++, project files like UnRAR.vcproj
and UnRARDll.vcproj
are included. These enable the creation of the UnRAR library and DLL, respectively, allowing seamless UnRAR integration within Windows environments.
Binary Contributions
Users who successfully compile the UnRAR tool for operating systems not currently supported on the official RARLab website are encouraged to contribute their binaries. Such community efforts aid in expanding the tool's accessibility and usability across diverse computing environments.
Legal Considerations
From a legal standpoint, the UnRAR source code is freely available for inclusion in any software handling RAR archives. However, this open use does not extend to reverse-engineering the RAR compression algorithm, maintaining respect for its proprietary nature. Redistribution of modified UnRAR source code is permissible under the condition that modifications be noted in both the documentation and source code comments, clarifying that the code should not be employed to develop a RAR-compatible archiver.
For further legal details, users should refer to the specific licensing information provided within the package's license.txt
file.
Acknowledgements
Finally, it is important to note that the UnRAR source code includes contributions from multiple authors whose detailed credits are available in the acknow.txt
file. This collaborative spirit underscores the project's open-source ethos and commitment to shared technological advancement.