#!/bin/bash
PYBIN=python3
# Build the extension module
ext()
{
# Symbolic link to source tree so that sdist structure makes sense
ln -s ../../ native
# Re-build wrapper to export C symbols
swig -c++ -python -o native/src/bindings/python/zt_wrap.cxx -I./native/include native/src/bindings/python/zt.i
# Copy language bindings into module directory
cp -f native/src/bindings/python/*.py libzt/
cp -f native/LICENSE.txt LICENSE
# Build C libraries (and then) C++ extension
$PYBIN setup.py build_clib --verbose build_ext -i --verbose
}
# Build a wheel
wheel()
ext
$PYBIN setup.py bdist_wheel
clean()
find . -name '*.so' -type f -delete
find . -name '*.pyc' -type f -delete
find . -name '__pycache__' -type d -delete
rm -rf libzt/sockets.py
rm -rf libzt/libzt.py
rm -rf libzt/node.py
rm -rf src ext build dist native
rm -rf libzt.egg-info
rm -rf LICENSE
"$@"