diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-25 11:09:54 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-03-05 16:52:49 +0100 |
| commit | 02bbb30efea4980c9d133947cbbf69fb599071ad (patch) | |
| tree | 3fea6826fcc5354840a27cb1dc99ff31eef81896 /setup.py | |
| parent | eab809932871f91d6f4aa770fc321af9e156e0f5 (diff) | |
| download | miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.tar.gz miasm-02bbb30efea4980c9d133947cbbf69fb599071ad.zip | |
Support python2/python3
Diffstat (limited to 'setup.py')
| -rwxr-xr-x | setup.py | 216 |
1 files changed, 132 insertions, 84 deletions
diff --git a/setup.py b/setup.py index 7b0fb86d..83e4608e 100755 --- a/setup.py +++ b/setup.py @@ -1,86 +1,122 @@ #! /usr/bin/env python2 +from __future__ import print_function from distutils.core import setup, Extension from distutils.util import get_platform -from shutil import copy2 +import io +import os import platform -import os, sys +from shutil import copy2 +import sys is_win = platform.system() == "Windows" def buil_all(): - packages=["miasm2", - "miasm2/arch", - "miasm2/arch/x86", - "miasm2/arch/arm", - "miasm2/arch/aarch64", - "miasm2/arch/msp430", - "miasm2/arch/mep", - "miasm2/arch/sh4", - "miasm2/arch/mips32", - "miasm2/arch/ppc", - "miasm2/core", - "miasm2/expression", - "miasm2/ir", - "miasm2/ir/translators", - "miasm2/analysis", - "miasm2/os_dep", - "miasm2/os_dep/linux", - "miasm2/jitter", - "miasm2/jitter/arch", - "miasm2/jitter/loader", - ] + packages=[ + "miasm2", + "miasm2/arch", + "miasm2/arch/x86", + "miasm2/arch/arm", + "miasm2/arch/aarch64", + "miasm2/arch/msp430", + "miasm2/arch/mep", + "miasm2/arch/sh4", + "miasm2/arch/mips32", + "miasm2/arch/ppc", + "miasm2/core", + "miasm2/expression", + "miasm2/ir", + "miasm2/ir/translators", + "miasm2/analysis", + "miasm2/os_dep", + "miasm2/os_dep/linux", + "miasm2/jitter", + "miasm2/jitter/arch", + "miasm2/jitter/loader", + ] ext_modules_all = [ - Extension("miasm2.jitter.VmMngr", - ["miasm2/jitter/vm_mngr.c", - "miasm2/jitter/vm_mngr_py.c", - "miasm2/jitter/bn.c", - ]), - Extension("miasm2.jitter.arch.JitCore_x86", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_x86.c"]), - Extension("miasm2.jitter.arch.JitCore_arm", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_arm.c"]), - Extension("miasm2.jitter.arch.JitCore_aarch64", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_aarch64.c"]), - Extension("miasm2.jitter.arch.JitCore_msp430", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_msp430.c"]), - Extension("miasm2.jitter.arch.JitCore_mep", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_mep.c"]), - Extension("miasm2.jitter.arch.JitCore_mips32", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_mips32.c"]), - Extension("miasm2.jitter.arch.JitCore_ppc32", - ["miasm2/jitter/JitCore.c", - "miasm2/jitter/vm_mngr.c", - "miasm2/jitter/op_semantics.c", - "miasm2/jitter/bn.c", - "miasm2/jitter/arch/JitCore_ppc32.c"], - depends=["miasm2/jitter/arch/JitCore_ppc32.h", - "miasm2/jitter/arch/JitCore_ppc32_regs.h", - "miasm2/jitter/bn.h", - ]), + Extension( + "miasm2.jitter.VmMngr", + [ + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/vm_mngr_py.c", + "miasm2/jitter/bn.c", + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_x86", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_x86.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_arm", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_arm.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_aarch64", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_aarch64.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_msp430", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_msp430.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_mep", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_mep.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_mips32", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_mips32.c" + ] + ), + Extension( + "miasm2.jitter.arch.JitCore_ppc32", + [ + "miasm2/jitter/JitCore.c", + "miasm2/jitter/vm_mngr.c", + "miasm2/jitter/op_semantics.c", + "miasm2/jitter/bn.c", + "miasm2/jitter/arch/JitCore_ppc32.c" + ], + depends=[ + "miasm2/jitter/arch/JitCore_ppc32.h", + "miasm2/jitter/arch/JitCore_ppc32_regs.h", + "miasm2/jitter/bn.h", + ] + ), Extension("miasm2.jitter.Jitllvm", ["miasm2/jitter/Jitllvm.c", "miasm2/jitter/bn.c", @@ -96,42 +132,54 @@ def buil_all(): os.environ['MSSdk'] = '1' os.environ['DISTUTILS_USE_SDK'] = '1' - print "building" + print("building") build_ok = False for name, ext_modules in [("all", ext_modules_all), ]: - print "build with", repr(name) + print("build with", repr(name)) try: s = setup( name = "Miasm", version = "2.0", packages = packages, - package_data = {"miasm2":["jitter/*.h", - "jitter/arch/*.h",]}, + package_data = { + "miasm2":[ + "jitter/*.h", + "jitter/arch/*.h", + ] + }, ext_modules = ext_modules, # Metadata author = "Fabrice Desclaux", author_email = "serpilliere@droid-corp.org", description = "Machine code manipulation library", license = "GPLv2", - # keywords = "", - # url = "", + long_description=io.open('README.md', encoding='utf-8').read(), + keywords = [ + "reverse engineering", + "disassembler", + "emulator", + "symbolic execution", + "intermediate representation", + "assembler", + ], + url = "http://miasm.re", ) - except SystemExit, e: - print repr(e) + except SystemExit as e: + print(repr(e)) continue build_ok = True break if not build_ok: raise ValueError("Unable to build Miasm!") - print "build", name + print("build", name) # we copy libraries from build dir to current miasm directory build_base = "build" if "build" in s.command_options: if "build_base" in s.command_options["build"]: build_base = s.command_options["build"]["build_base"] - print build_base + print(build_base) if is_win: libs = [] for root, _, files in os.walk(build_base): @@ -156,7 +204,7 @@ def buil_all(): dst = os.path.join(dst, "arch") dst = os.path.join(dst, filename) if not os.path.isfile(dst): - print "Copying", lib, "to", dst + print("Copying", lib, "to", dst) copy2(lib, dst) buil_all() |