diff --git a/Makefile b/Makefile index 9e83439..9ad4ac7 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,11 @@ -CFLAGS ?= -march=native -O3 -mno-avx512f +CFLAGS ?= -march=native -O3 + +# Function to check if compiler supports a flag +# returns flag if flag is supported, otherwise empty string +check_cflag = $(shell echo "int main(){}" | $(CC) -x c - $(1) -o /dev/null >/dev/null 2>&1 && echo $(1)) + +# Try to add flags only if supported +CFLAGS += $(call check_cflag,-mno-avx512f) # The following conditional statement appends "-std=gnu99" to CFLAGS when the # compiler does not define __STDC_VERSION__. The idea is that many older diff --git a/setup.py b/setup.py index c544de1..c861cab 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ def readme(): - with open(os.path.join(here, 'README.md'), 'r', 'utf-8') as f: + with open(os.path.join(here, "README.md"), "r", "utf-8") as f: return f.read() @@ -17,6 +17,7 @@ class CustomDevelop(develop.develop, object): """ Class needed for "pip install -e ." """ + def run(self): subprocess.check_call("make lib", shell=True) super(CustomDevelop, self).run() @@ -26,27 +27,28 @@ class CustomBuildPy(build_py.build_py, object): """ Class needed for "pip install ransac" """ + def run(self): super(CustomBuildPy, self).run() subprocess.check_call("make lib", shell=True) subprocess.check_call("cp -r lib build/lib/", shell=True) - -requirements = ['numpy'] - -extras_require = {'test': ['pytest']} - -setup(name="ransac", - version="1.0.4", - description="Python wrapper of Enric Meinhardt's RANSAC implementation", - long_description=readme(), - long_description_content_type="text/markdown", - url="https://github.com/cmla/ransac", - author="Carlo de Franchis", - author_email="carlo.de-franchis@ens-cachan.fr", - py_modules=["ransac"], - install_requires=requirements, - extras_require=extras_require, - cmdclass={'develop': CustomDevelop, - 'build_py': CustomBuildPy}) +requirements = ["numpy"] + +extras_require = {"test": ["pytest"]} + +setup( + name="ransac", + version="1.0.5", + description="Python wrapper of Enric Meinhardt's RANSAC implementation", + long_description=readme(), + long_description_content_type="text/markdown", + url="https://github.com/cmla/ransac", + author="Carlo de Franchis", + author_email="carlo.de-franchis@ens-cachan.fr", + py_modules=["ransac"], + install_requires=requirements, + extras_require=extras_require, + cmdclass={"develop": CustomDevelop, "build_py": CustomBuildPy}, +)