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])
#!/usr/bin/env python # Author: Thomas Liu <*****@*****.**> import os from distutils.core import setup, Extension LIBS=["apol", "qpol"] try: inc=os.getenv("INCLUDES").split(" ") INCLUDES=map(lambda x: x[2:], inc) LIBDIRS=map(lambda x: "/".join(x.split("/")[:-1]), os.getenv("LIBS").split()) except: INCLUDES="" LIBDIRS="" extension_sesearch = Extension("setools._sesearch", [ "sesearch.c"]) extension_sesearch.include_dirs=INCLUDES extension_sesearch.libraries=LIBS extension_sesearch.library_dirs=LIBDIRS extension_seinfo = Extension("setools._seinfo", [ "seinfo.c"]) extension_seinfo.include_dirs=INCLUDES extension_seinfo.libraries=LIBS extension_seinfo.library_dirs=LIBDIRS setup(name = "setools", version="1.0", description="Python setools bindings", author="Thomas Liu", author_email="*****@*****.**", ext_modules=[extension_sesearch, extension_seinfo], packages=["setools"])