--- a/contrib/python-zstandard/setup.py Sun Apr 08 01:08:43 2018 +0200
+++ b/contrib/python-zstandard/setup.py Mon Apr 09 10:13:29 2018 -0700
@@ -5,6 +5,7 @@
# This software may be modified and distributed under the terms
# of the BSD license. See the LICENSE file for details.
+import os
import sys
from setuptools import setup
@@ -16,14 +17,32 @@
import setup_zstd
SUPPORT_LEGACY = False
+SYSTEM_ZSTD = False
+WARNINGS_AS_ERRORS = False
-if "--legacy" in sys.argv:
+if os.environ.get('ZSTD_WARNINGS_AS_ERRORS', ''):
+ WARNINGS_AS_ERRORS = True
+
+if '--legacy' in sys.argv:
SUPPORT_LEGACY = True
- sys.argv.remove("--legacy")
+ sys.argv.remove('--legacy')
+
+if '--system-zstd' in sys.argv:
+ SYSTEM_ZSTD = True
+ sys.argv.remove('--system-zstd')
+
+if '--warnings-as-errors' in sys.argv:
+ WARNINGS_AS_ERRORS = True
+ sys.argv.remote('--warning-as-errors')
# Code for obtaining the Extension instance is in its own module to
# facilitate reuse in other projects.
-extensions = [setup_zstd.get_c_extension(SUPPORT_LEGACY, 'zstd')]
+extensions = [
+ setup_zstd.get_c_extension(name='zstd',
+ support_legacy=SUPPORT_LEGACY,
+ system_zstd=SYSTEM_ZSTD,
+ warnings_as_errors=WARNINGS_AS_ERRORS),
+]
install_requires = []
@@ -31,8 +50,11 @@
import make_cffi
extensions.append(make_cffi.ffi.distutils_extension())
- # Need change in 1.8 for ffi.from_buffer() behavior.
- install_requires.append('cffi>=1.8')
+ # Need change in 1.10 for ffi.from_buffer() to handle all buffer types
+ # (like memoryview).
+ # Need feature in 1.11 for ffi.gc() to declare size of objects so we avoid
+ # garbage collection pitfalls.
+ install_requires.append('cffi>=1.11')
version = None
@@ -62,14 +84,13 @@
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: C',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
keywords='zstandard zstd compression',
+ packages=['zstandard'],
ext_modules=extensions,
test_suite='tests',
install_requires=install_requires,