diff options
Diffstat (limited to 'setup.py')
| -rw-r--r--[-rwxr-xr-x] | setup.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/setup.py b/setup.py index 9a687160..e8ea7b3a 100755..100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,7 @@ from __future__ import print_function from distutils.core import setup, Extension from distutils.util import get_platform +from distutils.sysconfig import get_python_lib, get_config_vars import io import os import platform @@ -10,6 +11,13 @@ from shutil import copy2 import sys is_win = platform.system() == "Windows" +is_mac = platform.system() == "Darwin" + +def set_extension_compile_args(extension): + rel_lib_path = extension.name.replace('.', '/') + abs_lib_path = os.path.join(get_python_lib(), rel_lib_path) + lib_name = abs_lib_path + '.so' + extension.extra_link_args = [ '-Wl,-install_name,' + lib_name] def buil_all(): packages=[ @@ -49,6 +57,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_x86.c" @@ -59,6 +68,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_arm.c" @@ -69,6 +79,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_aarch64.c" @@ -79,6 +90,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_msp430.c" @@ -89,6 +101,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_mep.c" ] @@ -98,6 +111,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_mips32.c" @@ -108,6 +122,7 @@ def buil_all(): [ "miasm/jitter/JitCore.c", "miasm/jitter/vm_mngr.c", + "miasm/jitter/vm_mngr_py.c", "miasm/jitter/op_semantics.c", "miasm/jitter/bn.c", "miasm/jitter/arch/JitCore_ppc32.c" @@ -132,6 +147,11 @@ def buil_all(): # Force setuptools to use whatever msvc version installed os.environ['MSSdk'] = '1' os.environ['DISTUTILS_USE_SDK'] = '1' + elif is_mac: + for extension in ext_modules_all: + set_extension_compile_args(extension) + cfg_vars = get_config_vars() + cfg_vars['LDSHARED'] = cfg_vars['LDSHARED'].replace('-bundle', '-dynamiclib') print("building") build_ok = False |