summaryrefslogtreecommitdiff
path: root/ext/iostream3/README
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2016-01-11 05:52:18 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2016-01-11 05:52:18 -0500
commit7661f1c2bf2b45603264076fabce2eb42373cd18 (patch)
treecf26bc7090aa90db5ccd5342c1bbf902a839b0cf /ext/iostream3/README
parentc965ca96cccb91632d11f43f24e7a2c5039206d2 (diff)
downloadgem5-7661f1c2bf2b45603264076fabce2eb42373cd18.tar.xz
ext: Replace gzstream with iostream3 from zlib to avoid LGPL
This patch replaces the gzstream zlib wrapper with the iostream3 wrapper provided as part of zlib contributions. The main reason for the switch is to avoid including LGPL in the default gem5 build. iostream3 is provided under a more permissive license: The code is provided "as is", with the permission to use, copy, modify, distribute and sell it for any purpose without fee.
Diffstat (limited to 'ext/iostream3/README')
-rw-r--r--ext/iostream3/README35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/iostream3/README b/ext/iostream3/README
new file mode 100644
index 000000000..f7b319ab9
--- /dev/null
+++ b/ext/iostream3/README
@@ -0,0 +1,35 @@
+These classes provide a C++ stream interface to the zlib library. It allows you
+to do things like:
+
+ gzofstream outf("blah.gz");
+ outf << "These go into the gzip file " << 123 << endl;
+
+It does this by deriving a specialized stream buffer for gzipped files, which is
+the way Stroustrup would have done it. :->
+
+The gzifstream and gzofstream classes were originally written by Kevin Ruland
+and made available in the zlib contrib/iostream directory. The older version still
+compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
+this version.
+
+The new classes are as standard-compliant as possible, closely following the
+approach of the standard library's fstream classes. It compiles under gcc versions
+3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
+library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
+from the previous one in the following respects:
+- added showmanyc
+- added setbuf, with support for unbuffered output via setbuf(0,0)
+- a few bug fixes of stream behavior
+- gzipped output file opened with default compression level instead of maximum level
+- setcompressionlevel()/strategy() members replaced by single setcompression()
+
+The code is provided "as is", with the permission to use, copy, modify, distribute
+and sell it for any purpose without fee.
+
+Ludwig Schwardt
+<schwardt@sun.ac.za>
+
+DSP Lab
+Electrical & Electronic Engineering Department
+University of Stellenbosch
+South Africa