def METHOD_NAME(self):
    env = VirtualBuildEnv(self)
    env.METHOD_NAME()
    if not cross_building(self):
        env = VirtualRunEnv(self)
        env.METHOD_NAME(scope="build")
    tc = AutotoolsToolchain(self)
    if is_msvc(self):
        tc.configure_args.append(f"--enable-msvc={self.settings.compiler.runtime}")
        tc.extra_cxxflags.append("-EHsc")
        if check_min_vs(self, "180", raise_invalid=False):
            tc.extra_cflags.append("-FS")
            tc.extra_cxxflags.append("-FS")
    env = tc.environment()
    if is_msvc(self):
        compile_wrapper = unix_path(self, self.conf.get("user.automake:compile-wrapper", check_type=str))
        ar_wrapper = unix_path(self, self.conf.get("user.automake:lib-wrapper", check_type=str))
        env.define("CC", f"{compile_wrapper} cl -nologo")
        env.define("CXX", f"{compile_wrapper} cl -nologo")
        env.define("LD", "link -nologo")
        env.define("AR", f"{ar_wrapper} \"lib -nologo\"")
        env.define("NM", "dumpbin -symbols")
        env.define("OBJDUMP", ":")
        env.define("RANLIB", ":")
        env.define("STRIP", ":")
    tc.METHOD_NAME(env)
    if is_msvc(self):
        # Custom AutotoolsDeps for cl like compilers
        # workaround for https://github.com/conan-io/conan/issues/12784
        includedirs = []
        defines = []
        libs = []
        libdirs = []
        linkflags = []
        cxxflags = []
        cflags = []
        for dependency in self.dependencies.values():
            deps_cpp_info = dependency.cpp_info.aggregated_components()
            includedirs.extend(deps_cpp_info.includedirs)
            defines.extend(deps_cpp_info.defines)
            libs.extend(deps_cpp_info.libs + deps_cpp_info.system_libs)
            libdirs.extend(deps_cpp_info.libdirs)
            linkflags.extend(deps_cpp_info.sharedlinkflags + deps_cpp_info.exelinkflags)
            cxxflags.extend(deps_cpp_info.cxxflags)
            cflags.extend(deps_cpp_info.cflags)
        env = Environment()
        env.append("CPPFLAGS", [f"-I{unix_path(self, p)}" for p in includedirs] + [f"-D{d}" for d in defines])
        env.append("_LINK_", [lib if lib.endswith(".lib") else f"{lib}.lib" for lib in libs])
        env.append("LDFLAGS", [f"-L{unix_path(self, p)}" for p in libdirs] + linkflags)
        env.append("CXXFLAGS", cxxflags)
        env.append("CFLAGS", cflags)
        env.vars(self).save_script("conanautotoolsdeps_cl_workaround")
    else:
        deps = AutotoolsDeps(self)
        deps.METHOD_NAME()