本文整理汇总了Python中distutils.core.Extension.define_macros方法的典型用法代码示例。如果您正苦于以下问题:Python Extension.define_macros方法的具体用法?Python Extension.define_macros怎么用?Python Extension.define_macros使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类distutils.core.Extension
的用法示例。
在下文中一共展示了Extension.define_macros方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Extension
# 需要导入模块: from distutils.core import Extension [as 别名]
# 或者: from distutils.core.Extension import define_macros [as 别名]
from distutils.core import setup
from distutils.core import Extension
import os
import subprocess
import sys
module = Extension("simplepinyin", ["simplepinyin.cpp"])
module.language = 'c++'
if os.system("pkg-config --exists libpinyin") != 0:
print("Please install libpinyin.", file=sys.stderr)
sys.exit(1)
libpinyin_args = subprocess.check_output(["pkg-config", "--cflags", "--libs", "libpinyin"], universal_newlines=True).strip().split(" ")
libpinyin_data = subprocess.check_output(["pkg-config", "--variable=pkgdatadir", "libpinyin"], universal_newlines=True).strip()+"/data"
#print(libpinyin_data)
module.include_dirs = [arg.lstrip("-I") for arg in libpinyin_args if arg.startswith("-I")]
module.library_dirs = [arg.lstrip("-L") for arg in libpinyin_args if arg.startswith("-L")]
module.libraries = [arg.lstrip("-l") for arg in libpinyin_args if arg.startswith("-l")]
module.define_macros = [("LIBPINYIN_DATA", "\""+libpinyin_data+"\"")]
setup(name="simplepinyin", version="1.0",
ext_modules=[module])
示例2: Extension
# 需要导入模块: from distutils.core import Extension [as 别名]
# 或者: from distutils.core.Extension import define_macros [as 别名]
"packages": ['tosdb','tosdb/cli_scripts']
}
# the cross platfrom stub
ext_stub = Extension( "_tosdb",
sources=[ "_tosdb.cpp" ],
include_dirs=[ "../include" ],
optional=True )
ext_win = Extension( **ext_stub.__dict__ )
# add/override for Win
ext_win.library_dirs = [ "../bin/Release/"+ _SYS_ARCHD ]
ext_win.libraries = [ "_tos-databridge-shared-"+ _SYS_ARCH,
"_tos-databridge-static-"+ _SYS_ARCH ]
ext_win.define_macros = [ ("THIS_IMPORTS_IMPLEMENTATION",None),
("THIS_DOESNT_IMPORT_INTERFACE",None) ]
ext_win.extra_compile_args = ["/EHsc"]
ext_win.extra_link_args = ["/LTCG"]
try: # capture setup errors but allow setup to complete (optional=True)
sio = StringIO()
se = sys.stderr
sys.stderr = sio
setup( ext_modules=[ ext_win if _SYS_IS_WIN else ext_stub], **setup_dict )
sys.stderr = se
if sio.getvalue():
print( '\n', "+ Operation 'completed' with errors:\n")
print( sio.getvalue() )
print( "+ Checking on the status of the build...")
t = None
try: