Commit 532ae71c authored by Michael Davidsaver's avatar Michael Davidsaver

2.6

parent d9865234
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
Building non-python shared libraries (eg. `libY.so`, `libY.dylib`, or `Y.dll`) for inclusion in a Python Wheel. Building non-python shared libraries (eg. `libY.so`, `libY.dylib`, or `Y.dll`) for inclusion in a Python Wheel.
This extension provides at alternative to bundling externally built This extension is an alternative to bundling externally built
libraries in Python Wheel packages. This replaces an external libraries in Python Wheel packages by providing the means to
build system (eg. Makefile), allowing non-python libraries to be replace an external build system (eg. Makefile) so that non-python
built from source within the python ecosystem. libraries to be built from source within the python ecosystem.
- Documentation at https://mdavidsaver.github.io/setuptools_dso - Documentation at https://mdavidsaver.github.io/setuptools_dso
- Github project https://github.com/mdavidsaver/setuptools_dso - Github project https://github.com/mdavidsaver/setuptools_dso
......
...@@ -5,9 +5,15 @@ Release Notes ...@@ -5,9 +5,15 @@ Release Notes
.. currentmodule:: setuptools_dso .. currentmodule:: setuptools_dso
2.6 (UNRELEASED) 2.7 (UNRELEASED)
---------------- ----------------
2.6 (Sept 2022)
---------------
* Avoid mutable default arguments
* Workaround probable `bug <https://github.com/mdavidsaver/setuptools_dso/issues/23>`_ in `setuptools >= 63.4.3 <https://github.com/pypa/setuptools/issues/3591>`_
2.5 (Jan 2022) 2.5 (Jan 2022)
-------------- --------------
......
...@@ -10,7 +10,7 @@ with open('README.md', 'r') as F: ...@@ -10,7 +10,7 @@ with open('README.md', 'r') as F:
setup( setup(
name='setuptools_dso', name='setuptools_dso',
version="2.6a1", version="2.6",
description="setuptools extension to build non-python shared libraries", description="setuptools extension to build non-python shared libraries",
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
......
...@@ -24,6 +24,7 @@ __all__ = ( ...@@ -24,6 +24,7 @@ __all__ = (
# With MSVC this eventually fails. # With MSVC this eventually fails.
def _patch_fix_compile_args(realfn, output_dir, macros, include_dirs, *args, **kws): def _patch_fix_compile_args(realfn, output_dir, macros, include_dirs, *args, **kws):
log.warn('_patch_fix_compile_args include_dirs=%r', include_dirs) log.warn('_patch_fix_compile_args include_dirs=%r', include_dirs)
# turn include_dirs=None into include_dirs=[]
return realfn(output_dir, macros, include_dirs or [], *args, **kws) return realfn(output_dir, macros, include_dirs or [], *args, **kws)
def _default_preprocess(self, *args, **kws): def _default_preprocess(self, *args, **kws):
...@@ -68,7 +69,8 @@ def new_compiler(**kws): ...@@ -68,7 +69,8 @@ def new_compiler(**kws):
compiler = _new_compiler(**kws) compiler = _new_compiler(**kws)
customize_compiler(compiler) customize_compiler(compiler)
if hasattr(compiler.__class__, 'include_dirs'): # setuptools 63.4.3 adds compiler.__class__.include_dirs
if hasattr(compiler.__class__, 'include_dirs') and hasattr(compiler, '_fix_compile_args'):
log.warn('Patch _fix_compile_args() to avoid modification to compiler.include_dirs') log.warn('Patch _fix_compile_args() to avoid modification to compiler.include_dirs')
compiler._fix_compile_args = partial(_patch_fix_compile_args, compiler._fix_compile_args) compiler._fix_compile_args = partial(_patch_fix_compile_args, compiler._fix_compile_args)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment