Skip to content

Commit

Permalink
Revert #868 and use the old setup.py
Browse files Browse the repository at this point in the history
  • Loading branch information
lh3 committed Apr 29, 2023
1 parent 4483f89 commit f8d46a7
Showing 1 changed file with 21 additions and 31 deletions.
52 changes: 21 additions & 31 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,26 @@
try:
from setuptools import setup, Extension
from setuptools.command.build_ext import build_ext
except ImportError:
from distutils.core import setup
from distutils.extension import Extension
from distutils.command.build_ext import build_ext

import sys, platform, subprocess
import sys, platform

sys.path.append('python')

extra_compile_args = ['-DHAVE_KALLOC']
include_dirs = ["."]

if platform.machine() in ["aarch64", "arm64"]:
include_dirs.append("sse2neon/")
extra_compile_args.extend(['-ftree-vectorize', '-DKSW_SSE2_ONLY', '-D__SSE2__'])
else:
extra_compile_args.append('-msse4.1') # WARNING: ancient x86_64 CPUs don't have SSE4

def readme():
with open('python/README.rst') as f:
return f.read()


class LibMM2Build(build_ext):
# Uses Makefile to build library, avoids duplicating logic
# determining which objects to compile but does require
# end users to have Make (since precompiled wheels are not
# distributed on PyPI).
def run(self):
def compile_libminimap2(*args, **kwargs):
cmd = ['make', 'libminimap2.a'] + list(args)
subprocess.check_call(cmd)
options = []
if platform.machine() in ["aarch64", "arm64"]:
options = ["arm_neon=1", "aarch64=1"]
self.execute(
compile_libminimap2, options,
'Compiling libminimap2 using Makefile')
build_ext.run(self)


setup(
name = 'mappy',
version = '2.25',
Expand All @@ -43,15 +32,16 @@ def compile_libminimap2(*args, **kwargs):
license = 'MIT',
keywords = 'sequence-alignment',
scripts = ['python/minimap2.py'],
cmdclass = {'build_ext': LibMM2Build},
ext_modules = [
Extension(
'mappy',
sources = ['python/mappy.pyx'],
depends = ['python/cmappy.h', 'python/cmappy.pxd'],
include_dirs = ['.'],
extra_objects = ['libminimap2.a'],
libraries = ['z', 'm', 'pthread'])],
ext_modules = [Extension('mappy',
sources = ['python/mappy.pyx', 'align.c', 'bseq.c', 'lchain.c', 'seed.c', 'format.c', 'hit.c', 'index.c', 'pe.c', 'options.c',
'ksw2_extd2_sse.c', 'ksw2_exts2_sse.c', 'ksw2_extz2_sse.c', 'ksw2_ll_sse.c',
'kalloc.c', 'kthread.c', 'map.c', 'misc.c', 'sdust.c', 'sketch.c', 'esterr.c', 'splitidx.c'],
depends = ['minimap.h', 'bseq.h', 'kalloc.h', 'kdq.h', 'khash.h', 'kseq.h', 'ksort.h',
'ksw2.h', 'kthread.h', 'kvec.h', 'mmpriv.h', 'sdust.h',
'python/cmappy.h', 'python/cmappy.pxd'],
extra_compile_args = extra_compile_args,
include_dirs = include_dirs,
libraries = ['z', 'm', 'pthread'])],
classifiers = [
'Development Status :: 5 - Production/Stable',
'License :: OSI Approved :: MIT License',
Expand Down

0 comments on commit f8d46a7

Please sign in to comment.