from distutils.core import setup from distutils.extension import Extension from distutils.command.install_lib import install_lib as _install from Cython.Distutils import build_ext VERSION = '3.0' compile_args = ['-O3', '-fomit-frame-pointer'] ext_modules = [ Extension("capstone.ccapstone", ["pyx/ccapstone.pyx"], libraries=["capstone"], extra_compile_args=compile_args), Extension("capstone.arm", ["pyx/arm.pyx"], extra_compile_args=compile_args), Extension("capstone.arm_const", ["pyx/arm_const.pyx"], extra_compile_args=compile_args), Extension("capstone.arm64", ["pyx/arm64.pyx"], extra_compile_args=compile_args), Extension("capstone.arm64_const", ["pyx/arm64_const.pyx"], extra_compile_args=compile_args), Extension("capstone.mips", ["pyx/mips.pyx"], extra_compile_args=compile_args), Extension("capstone.mips_const", ["pyx/mips_const.pyx"], extra_compile_args=compile_args), Extension("capstone.ppc", ["pyx/ppc.pyx"], extra_compile_args=compile_args), Extension("capstone.ppc_const", ["pyx/ppc_const.pyx"], extra_compile_args=compile_args), Extension("capstone.x86", ["pyx/x86.pyx"], extra_compile_args=compile_args), Extension("capstone.x86_const", ["pyx/x86_const.pyx"], extra_compile_args=compile_args), Extension("capstone.sparc", ["pyx/sparc.pyx"], extra_compile_args=compile_args), Extension("capstone.sparc_const", ["pyx/sparc_const.pyx"], extra_compile_args=compile_args), Extension("capstone.systemz", ["pyx/systemz.pyx"], extra_compile_args=compile_args), Extension("capstone.sysz_const", ["pyx/sysz_const.pyx"], extra_compile_args=compile_args), Extension("capstone.xcore", ["pyx/xcore.pyx"], extra_compile_args=compile_args), Extension("capstone.xcore_const", ["pyx/xcore_const.pyx"], extra_compile_args=compile_args) ] # clean package directory first #import os.path, shutil, sys #for f in sys.path: # if f.endswith('packages'): # pkgdir = os.path.join(f, 'capstone') # #print(pkgdir) # try: # shutil.rmtree(pkgdir) # except: # pass setup( provides = ['capstone'], package_dir = {'capstone' : 'pyx'}, packages = ['capstone'], name = 'capstone', version = VERSION, cmdclass = {'build_ext': build_ext}, ext_modules = ext_modules, author = 'Nguyen Anh Quynh', author_email = 'aquynh@gmail.com', description = 'Capstone disassembly engine', url = 'http://www.capstone-engine.org', classifiers = [ 'License :: OSI Approved :: BSD License', 'Programming Language :: Python :: 2', ], )