def run_autogen(self): """ Generate auto-generated sources. This must be done before building the python modules, see :trac:`22106`. """ from sage_setup.autogen import autogen_all from sage_setup.find import find_python_sources from sage.env import SAGE_SRC log.info("Generating auto-generated sources") pkgs = autogen_all() python_packages, python_modules, cython_modules = find_python_sources( SAGE_SRC, [pkg.replace('.', '/') for pkg in pkgs]) for pkg in python_packages: if pkg not in self.distribution.packages: self.distribution.packages.append(pkg) for cython_module in cython_modules: self.distribution.ext_modules.append(cython_module)
open(version_file, 'w').write(version_stamp) print "Updating Cython code...." t = time.time() run_cythonize() print "Finished Cythonizing, time: %.2f seconds." % (time.time() - t) ######################################################### ### Discovering Python Sources ######################################################### print "Discovering Python source code...." t = time.time() from sage_setup.find import find_python_sources python_packages, python_modules = find_python_sources(SAGE_SRC, ['sage', 'sage_setup']) print "Discovered Python source, time: %.2f seconds." % (time.time() - t) ######################################################### ### Clean ######################################################### print('Cleaning up stale installed files....') t = time.time() from sage_setup.clean import clean_install_dir output_dirs = SITE_PACKAGES + glob.glob(os.path.join(SAGE_SRC, 'build', 'lib*')) for output_dir in output_dirs: print('- cleaning {0}'.format(output_dir)) clean_install_dir(output_dir, python_packages, python_modules, ext_modules) print('Finished cleaning, time: %.2f seconds.' % (time.time() - t))
distributions = None else: distributions = [''] optional_packages_with_extensions = [ 'mcqd', 'bliss', 'tdlib', 'primecount', 'coxeter3', 'fes', 'sirocco', 'meataxe' ] distributions += [ 'sagemath-{}'.format(pkg) for pkg in optional_packages_with_extensions if is_package_installed_and_updated(pkg) ] log.warn('distributions = {0}'.format(distributions)) from sage_setup.find import find_python_sources python_packages, python_modules, cython_modules = find_python_sources( SAGE_SRC, ['sage'], distributions=distributions) log.debug('python_packages = {0}'.format(python_packages)) print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) from sage_setup.command.sage_install import sage_install_and_clean ######################################################### ### Distutils ######################################################### code = setup( packages=python_packages, package_data={
print("Updating Cython code....") t = time.time() run_cythonize() print("Finished Cythonizing, time: %.2f seconds." % (time.time() - t)) ######################################################### ### Discovering Sources ######################################################### print("Discovering Python/Cython source code....") t = time.time() from sage_setup.find import find_python_sources, find_extra_files python_packages, python_modules = find_python_sources( SAGE_SRC, ['sage', 'sage_setup']) python_data_files = find_extra_files(python_packages, ".", SAGE_CYTHONIZED, SAGE_LIB, ["ntlwrap.cpp"]) print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) ######################################################### ### Clean ######################################################### print('Cleaning up stale installed files....') t = time.time() from sage_setup.clean import clean_install_dir output_dirs = SITE_PACKAGES + glob.glob(os.path.join(SAGE_SRC, 'build', 'lib*')) for output_dir in output_dirs: print('- cleaning {0}'.format(output_dir))