diff options
Diffstat (limited to 'setup.py')
| -rwxr-xr-x | setup.py | 231 |
1 files changed, 140 insertions, 91 deletions
diff --git a/setup.py b/setup.py index 7b0fb86d..81f8e4a2 100755 --- a/setup.py +++ b/setup.py @@ -1,93 +1,130 @@ #! /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=[ + "miasm", + "miasm/arch", + "miasm/arch/x86", + "miasm/arch/arm", + "miasm/arch/aarch64", + "miasm/arch/msp430", + "miasm/arch/mep", + "miasm/arch/sh4", + "miasm/arch/mips32", + "miasm/arch/ppc", + "miasm/core", + "miasm/expression", + "miasm/ir", + "miasm/ir/translators", + "miasm/analysis", + "miasm/os_dep", + "miasm/os_dep/linux", + "miasm/loader", + "miasm/jitter", + "miasm/jitter/arch", + "miasm/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.Jitllvm", - ["miasm2/jitter/Jitllvm.c", - "miasm2/jitter/bn.c", + Extension( + "miasm.jitter.VmMngr", + [ + "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", + "miasm/jitter/bn.c", + ] + ), + Extension( + "miasm.jitter.arch.JitCore_x86", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_x86.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_arm", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_arm.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_aarch64", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_aarch64.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_msp430", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_msp430.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_mep", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_mep.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_mips32", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_mips32.c" + ] + ), + Extension( + "miasm.jitter.arch.JitCore_ppc32", + [ + "miasm/jitter/JitCore.c", + "miasm/jitter/vm_mngr.c", + "miasm/jitter/op_semantics.c", + "miasm/jitter/bn.c", + "miasm/jitter/arch/JitCore_ppc32.c" + ], + depends=[ + "miasm/jitter/arch/JitCore_ppc32.h", + "miasm/jitter/arch/JitCore_ppc32_regs.h", + "miasm/jitter/bn.h", + ] + ), + Extension("miasm.jitter.Jitllvm", + ["miasm/jitter/Jitllvm.c", + "miasm/jitter/bn.c", ]), - Extension("miasm2.jitter.Jitgcc", - ["miasm2/jitter/Jitgcc.c", - "miasm2/jitter/bn.c", + Extension("miasm.jitter.Jitgcc", + ["miasm/jitter/Jitgcc.c", + "miasm/jitter/bn.c", ]), ] @@ -96,42 +133,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 = { + "miasm":[ + "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): @@ -151,12 +200,12 @@ def buil_all(): jitters = [] for lib in libs: filename = os.path.basename(lib) - dst = os.path.join(build_base, lib_dirname, "miasm2", "jitter") + dst = os.path.join(build_base, lib_dirname, "miasm", "jitter") if filename not in ["VmMngr.lib", "Jitgcc.lib", "Jitllvm.lib"]: 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() |