def __init__(self): # TODO: is this really how we get the build paths? build_cmd = Distribution().get_command_obj('build') build_cmd.finalize_options() self.build_platlib = build_cmd.build_platlib self.build_temp = build_cmd.build_temp if platform.system() == "Windows": # Windows uses separate temp build folders for debug and release if build_cmd.debug: self.build_temp = os.path.join(self.build_temp, "Debug") else: self.build_temp = os.path.join(self.build_temp, "Release") build_ext_cmd = Distribution().get_command_obj('build_ext') build_ext_cmd.initialize_options() build_ext_cmd.setup_shlib_compiler() self.build_ext_cmd = build_ext_cmd self.root = "klayout"
export_symbols, debug, extra_preargs, extra_postargs, build_temp, target_lang, ) setuptools.command.build_ext.libtype = "shared" setuptools.command.build_ext.link_shared_object = always_link_shared_object libtype = setuptools.command.build_ext.libtype build_ext_cmd = Distribution().get_command_obj("build_ext") build_ext_cmd.initialize_options() build_ext_cmd.setup_shlib_compiler() def libname(name): """gets 'name' and returns something like libname.cpython-37m-darwin.so""" filename = build_ext_cmd.get_ext_filename(name) fn, ext = os.path.splitext(filename) return build_ext_cmd.shlib_compiler.library_filename(fn, libtype) pkg_name = "nonpy_rpath" crypt_name = "_cryptexample" crypt_soname = libname(crypt_name) build_cmd = Distribution().get_command_obj("build") build_cmd.finalize_options()