def _build_autotools(module, log): # Workaround for aclocal 1.11 (fixed in 1.12) aclocal_path = os.path.join(config.share_dir, "aclocal") utils.ensure_dir(aclocal_path) makefile_path = os.path.join(module.get_build_dir(), "Makefile") if not os.path.exists(makefile_path): configure = os.path.join(module.get_source_dir(), "autogen.sh") if not os.path.exists(configure): configure = os.path.join(module.get_source_dir(), "configure") args = [configure, "--prefix", config.install_dir] if not module.no_libdir: args.extend(["--libdir", config.lib_dir]) args.extend(module.options) for option in module.options_evaluated: args.append(_eval_option(option)) command.run(args, log) jobs = multiprocessing.cpu_count() * 2 command.run(["make", "-j", "%d" % jobs], log) command.run(["make", "install"], log) _unlink_libtool_files()
def _setup_install_dir(dir, relocatable=False): global system_lib_dirs global install_dir global share_dir global bin_dir global etc_dir global lib_dir global libexec_dir install_dir = dir utils.ensure_dir(install_dir) share_dir = os.path.join(install_dir, "share") bin_dir = os.path.join(install_dir, "bin") etc_dir = os.path.join(install_dir, "etc") libexec_dir = os.path.join(install_dir, "libexec") distro_info = distro.get_distro_info() relative_lib_dir = distro_info.lib_dir if relative_lib_dir is None: relative_lib_dir = "lib" lib_dir = os.path.join(install_dir, relative_lib_dir) system_lib_dirs = ["/usr/lib"] if distro_info.lib_dir is not None: system_lib_dirs.append(os.path.join("/usr", distro_info.lib_dir))
def setup(**kwargs): global config_dir config_dir = kwargs.get("config_dir", None) global logs_dir logs_dir = kwargs["logs_dir"] utils.ensure_dir(logs_dir) global _prefs_path _prefs_path = kwargs.get("prefs_path", None) global _source_dir _source_dir = kwargs["source_dir"] global _build_dir _build_dir = kwargs["build_dir"] relocatable = kwargs.get("relocatable", False) _setup_state_dir(kwargs["state_dir"]) _setup_install_dir(kwargs["install_dir"], relocatable) global log_path if "log_name" in kwargs: log_path = _create_log(kwargs["log_name"])
def _setup_state_dir(state_dir): utils.ensure_dir(state_dir) global build_state_dir build_state_dir = os.path.join(state_dir, "build") utils.ensure_dir(build_state_dir) base_home_dir = os.path.join(state_dir, "home") utils.ensure_dir(base_home_dir) global home_dir home_dir = os.path.join(base_home_dir, get_pref("PROFILE")) utils.ensure_dir(home_dir)
def get_source_dir(): global _source_dir utils.ensure_dir(_source_dir) return _source_dir
def get_build_dir(): global _build_dir utils.ensure_dir(_build_dir) return _build_dir