Files
static-php-cli/src/StaticPHP/Toolchain/Interface/ToolchainInterface.php
crazywhalecc 14bfb4198a v3 base
2025-11-30 15:35:04 +08:00

44 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace StaticPHP\Toolchain\Interface;
/**
* Interface for toolchain implementations
*
* This interface defines the contract for toolchain classes that handle
* environment initialization and setup for different build targets.
*/
interface ToolchainInterface
{
/**
* Initialize the environment for the given target.
*
* This method should set up any necessary environment variables,
* paths, or configurations required for the build process.
*/
public function initEnv(): void;
/**
* Perform actions after the environment has been initialized for the given target.
*
* This method is called after initEnv() and can be used for any
* post-initialization setup or validation.
*/
public function afterInit(): void;
/**
* Returns the compiler name and version for toolchains.
*
* If the toolchain does not support compiler information,
* this method can return null.
*/
public function getCompilerInfo(): ?string;
/**
* Returns whether the toolchain with target is built for full static linking.
*/
public function isStatic(): bool;
}