[Del] remove parallel compile patch

This commit is contained in:
nanoric 2019-04-15 12:56:08 -04:00
parent 2e341bffc9
commit 2f618d5796

148
setup.py
View File

@ -22,35 +22,6 @@ import sys
from setuptools import Extension, find_packages, setup from setuptools import Extension, find_packages, setup
# https://stackoverflow.com/a/13176803
# monkey-patch for parallel compilation
def parallelCCompile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0,
extra_preargs=None, extra_postargs=None, depends=None):
# those lines are copied from distutils.ccompiler.CCompiler directly
macros, objects, extra_postargs, pp_opts, build = self._setup_compile(output_dir, macros,
include_dirs, sources,
depends, extra_postargs)
cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
# parallel code
N = 2 # number of parallel compilations
import multiprocessing.pool
def _single_compile(obj):
try:
src, ext = build[obj]
except KeyError:
return
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
# convert to list, imap is evaluated on-demand
list(multiprocessing.pool.ThreadPool(N).imap(_single_compile, objects))
return objects
import distutils.ccompiler
distutils.ccompiler.CCompiler.compile = parallelCCompile
with open("vnpy/__init__.py", "rb") as f: with open("vnpy/__init__.py", "rb") as f:
version_line = re.search( version_line = re.search(
r"__version__\s+=\s+(.*)", f.read().decode("utf-8") r"__version__\s+=\s+(.*)", f.read().decode("utf-8")
@ -58,67 +29,72 @@ with open("vnpy/__init__.py", "rb") as f:
version = str(ast.literal_eval(version_line)) version = str(ast.literal_eval(version_line))
if platform.uname().system == "Windows": if platform.uname().system == "Windows":
compiler_flags = ["/MP", "/std:c++17", # standard compiler_flags = [
"/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization "/MP", "/std:c++17", # standard
"/wd4819" # 936 code page "/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization
] "/wd4819" # 936 code page
]
extra_link_args = [] extra_link_args = []
else: else:
compiler_flags = ["-std=c++17", compiler_flags = [
"-O3", # Optimization "-std=c++17", # standard
"-Wno-delete-incomplete", "-Wno-sign-compare", "-O3", # Optimization
] "-Wno-delete-incomplete", "-Wno-sign-compare",
]
extra_link_args = ["-lstdc++"] extra_link_args = ["-lstdc++"]
vnctpmd = Extension("vnpy.api.ctp.vnctpmd", vnctpmd = Extension(
[ "vnpy.api.ctp.vnctpmd",
"vnpy/api/ctp/vnctp/vnctpmd/vnctpmd.cpp", [
], "vnpy/api/ctp/vnctp/vnctpmd/vnctpmd.cpp",
include_dirs=["vnpy/api/ctp/include", ],
"vnpy/api/ctp/vnctp", ], include_dirs=["vnpy/api/ctp/include",
define_macros=[], "vnpy/api/ctp/vnctp", ],
undef_macros=[], define_macros=[],
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"], undef_macros=[],
libraries=["thostmduserapi", "thosttraderapi", ], library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
extra_compile_args=compiler_flags, libraries=["thostmduserapi", "thosttraderapi", ],
extra_link_args=extra_link_args, extra_compile_args=compiler_flags,
depends=[], extra_link_args=extra_link_args,
runtime_library_dirs=["$ORIGIN"], depends=[],
language="cpp", runtime_library_dirs=["$ORIGIN"],
) language="cpp",
vnctptd = Extension("vnpy.api.ctp.vnctptd", )
[ vnctptd = Extension(
"vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp", "vnpy.api.ctp.vnctptd",
], [
include_dirs=["vnpy/api/ctp/include", "vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp",
"vnpy/api/ctp/vnctp", ], ],
define_macros=[], include_dirs=["vnpy/api/ctp/include",
undef_macros=[], "vnpy/api/ctp/vnctp", ],
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"], define_macros=[],
libraries=["thostmduserapi", "thosttraderapi", ], undef_macros=[],
extra_compile_args=compiler_flags, library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
extra_link_args=extra_link_args, libraries=["thostmduserapi", "thosttraderapi", ],
runtime_library_dirs=["$ORIGIN"], extra_compile_args=compiler_flags,
depends=[], extra_link_args=extra_link_args,
language="cpp", runtime_library_dirs=["$ORIGIN"],
) depends=[],
vnoes = Extension("vnpy.api.oes.vnoes", language="cpp",
[ )
"vnpy/api/oes/vnoes/generated_files/classes_1.cpp", vnoes = Extension(
"vnpy/api/oes/vnoes/generated_files/classes_2.cpp", "vnpy.api.oes.vnoes",
"vnpy/api/oes/vnoes/generated_files/module.cpp", [
], "vnpy/api/oes/vnoes/generated_files/classes_1.cpp",
include_dirs=["vnpy/api/oes/include", "vnpy/api/oes/vnoes/generated_files/classes_2.cpp",
"vnpy/api/oes/vnoes", ], "vnpy/api/oes/vnoes/generated_files/module.cpp",
define_macros=[("BRIGAND_NO_BOOST_SUPPORT", "1")], ],
undef_macros=[], include_dirs=["vnpy/api/oes/include",
library_dirs=["vnpy/api/oes/libs"], "vnpy/api/oes/vnoes", ],
libraries=["oes_api"], define_macros=[("BRIGAND_NO_BOOST_SUPPORT", "1")],
extra_compile_args=compiler_flags, undef_macros=[],
extra_link_args=extra_link_args, library_dirs=["vnpy/api/oes/libs"],
depends=[], libraries=["oes_api"],
language="cpp", extra_compile_args=compiler_flags,
) extra_link_args=extra_link_args,
depends=[],
language="cpp",
)
if platform.uname().system == "Windows": if platform.uname().system == "Windows":
# use pre-built pyd for windows ( support python 3.7 only ) # use pre-built pyd for windows ( support python 3.7 only )