class AutotoolsGen: def __init__(self, conanfile): self.toolchain = AutotoolsToolchain(conanfile) self.deps = AutotoolsDeps(conanfile) self.env = VirtualEnv(conanfile) def build_environment(self): envtoolchain = self.toolchain.environment() envdeps = self.deps.environment() build_env = self.env.build_environment() build_env.compose(envtoolchain) build_env.compose(envdeps) return build_env def run_environment(self): run_env = self.env.run_environment() return run_env def generate(self): build_env = self.build_environment() run_env = self.run_environment() # FIXME: Use settings, not platform Not always defined :( # os_ = self._conanfile.settings_build.get_safe("os") if platform.system() == "Windows": build_env.save_bat("conanbuildenv.bat") run_env.save_bat("conanrunenv.bat") else: build_env.save_sh("conanbuildenv.sh") run_env.save_sh("conanrunenv.sh") self.toolchain.generate_args()
def test_target_triple(): f = temp_folder() chdir(f) conanfile = ConanFileMock() conanfile.settings = MockSettings({"os": "Linux", "arch": "x86_64"}) conanfile.settings_build = MockSettings({"os": "Solaris", "arch": "x86"}) conanfile.conf = Conf() conanfile.conf["tools.gnu:make_program"] = "my_make" conanfile.conf["tools.gnu.make:jobs"] = "23" be = AutotoolsToolchain(conanfile) be.make_args = ["foo", "var"] be.generate_args() obj = load_toolchain_args() assert "--host=x86_64-linux-gnu" in obj["configure_args"] assert "--build=i686-solaris" in obj["configure_args"] assert obj["make_args"].replace("'", "") == "foo var"