def METHOD_NAME(self):
    env = VirtualBuildEnv(self)
    env.METHOD_NAME()
    tc = AutotoolsToolchain(self)
    msvc_version = {"Visual Studio": "12", "msvc": "180"}
    if is_msvc(self) and Version(self.settings.compiler.version) >= msvc_version[str(self.settings.compiler)]:
        # https://github.com/conan-io/conan/issues/6514
        tc.extra_cflags.append("-FS")
    if cross_building(self) and is_msvc(self):
        triplet_arch_windows = {"x86_64": "x86_64", "x86": "i686", "armv8": "aarch64"}
        # ICU doesn't like GNU triplet of conan for msvc (see https://github.com/conan-io/conan/issues/12546)
        host_arch = triplet_arch_windows.get(str(self.settings.arch))
        build_arch = triplet_arch_windows.get(str(self._settings_build.arch))
        if host_arch and build_arch:
            host = f"{host_arch}-w64-mingw32"
            build = f"{build_arch}-w64-mingw32"
            tc.configure_args.extend([
                f"--host={host}",
                f"--build={build}",
            ])
    env = tc.environment()
    if is_msvc(self) or self._is_clang_cl:
        cc, lib, link = self._msvc_tools
        build_aux_path = os.path.join(self.source_folder, "build-aux")
        lt_compile = unix_path(self, os.path.join(build_aux_path, "compile"))
        lt_ar = unix_path(self, os.path.join(build_aux_path, "ar-lib"))
        env.define("CC", f"{lt_compile} {cc} -nologo")
        env.define("CXX", f"{lt_compile} {cc} -nologo")
        env.define("LD", link)
        env.define("STRIP", ":")
        env.define("AR", f"{lt_ar} {lib}")
        env.define("RANLIB", ":")
        env.define("NM", "dumpbin -symbols")
        env.define("win32_target", "_WIN32_WINNT_VISTA")
    tc.METHOD_NAME(env)