Skip to content

Miniz support #548

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Mar 8, 2017
Merged

Miniz support #548

merged 7 commits into from
Mar 8, 2017

Conversation

mgudemann
Copy link
Contributor

this adds basic support for miniz a public domain zlib compatible compression/decompression library.
Integration would remove dependency on libzip/zlib.

@tautschnig
Copy link
Collaborator

That's great! It might be better to refer to https://github.com/richgel999/miniz as code.google.com is in archive-only mode. (Not that miniz would have seen any actual updates, but at least there is active participation and forking, such as https://github.com/uroni/miniz).

@mgudemann
Copy link
Contributor Author

thanks for the pointer, I hadn't seen Rich Geldreich's repo on github, only independent ones.

There's currently some warnings which make building with -Werror fail. Should we try minmizing to the bare necessities, i.e, extracting files from zip/jar?

@mgudemann mgudemann force-pushed the miniz_support branch 2 times, most recently from b2c0858 to 1bad914 Compare February 14, 2017 13:25
@tautschnig
Copy link
Collaborator

Have you merged various improvements from the forks? The "uroni" fork mentions http://www.tenacioussoftware.com/miniz_v116_beta_r1.7z which may be important bug fixes.

On your question: If you start modifying the code, you might as well strip it down to the bare minimum.

@mgudemann
Copy link
Contributor Author

mgudemann commented Feb 14, 2017 via email

@tautschnig
Copy link
Collaborator

In my understanding MIT is hardly different from public-domain, and in particular it is more liberal than BSD. So we should be good to use even the uroni fork as basis, should this be deemed useful.

@mgudemann
Copy link
Contributor Author

ok, I'll wait for @kroening 's comment on this, whether we will do this and which version to use

the uroni patches seem to get (better?) ZIP64 support and a faster CRC32 with lookup tables. The main difference from PD to MIT is probably the obligation to include the copyright/license.
Currently MacOS builds fail (due to XXX64 calls for fseeko, stat etc.) so cannot be merged in current state anyway.

@kroening
Copy link
Member

MIT License would be good, and this would make the build perhaps more robust.
There is also hope that this will build on Windows.
Can you please rebase?

#include <cassert>
#include <iostream>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is iostream needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's not, this was just for debugging / proof of concept, I will add the MIT-licensed "uroni" version and clean this up

@mgudemann
Copy link
Contributor Author

cleanup on-going, windows build on Appveyor works

@mgudemann mgudemann force-pushed the miniz_support branch 2 times, most recently from 26ed675 to f5c72d8 Compare February 23, 2017 13:33
@mgudemann
Copy link
Contributor Author

cleaned-up version, uses https://github.com/uroni/miniz
I ran Jamie's sed output script on the added files, but there's still many style errors, most are "line too long"

@mgudemann
Copy link
Contributor Author

linter is still unhappy, but build/test on Linux/MacOS works, build on Windows as well

@kroening
Copy link
Member

kroening commented Mar 1, 2017

Seems ready to go after rebase.

@mgudemann
Copy link
Contributor Author

rebase done

@mgudemann mgudemann mentioned this pull request Mar 4, 2017
@kroening kroening merged commit 098a52a into diffblue:master Mar 8, 2017
@mgudemann mgudemann deleted the miniz_support branch March 8, 2017 12:59
NathanJPhillips pushed a commit to NathanJPhillips/cbmc that referenced this pull request Aug 22, 2018
…ls_lib_to_Python_driver_script

SEC-633: Updated Python driver script to support XXE models library.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants