Add patch description for Windows static linking in libsodium

This commit is contained in:
crazywhalecc
2026-03-23 17:11:37 +08:00
parent 141c737380
commit 6d91f8b2d3

View File

@@ -7,6 +7,7 @@ namespace Package\Library;
use StaticPHP\Attribute\Package\BuildFor; use StaticPHP\Attribute\Package\BuildFor;
use StaticPHP\Attribute\Package\Library; use StaticPHP\Attribute\Package\Library;
use StaticPHP\Attribute\Package\PatchBeforeBuild; use StaticPHP\Attribute\Package\PatchBeforeBuild;
use StaticPHP\Attribute\PatchDescription;
use StaticPHP\Exception\BuildFailureException; use StaticPHP\Exception\BuildFailureException;
use StaticPHP\Exception\EnvironmentException; use StaticPHP\Exception\EnvironmentException;
use StaticPHP\Package\LibraryPackage; use StaticPHP\Package\LibraryPackage;
@@ -19,11 +20,11 @@ use StaticPHP\Util\System\WindowsUtil;
class libsodium class libsodium
{ {
#[PatchBeforeBuild] #[PatchBeforeBuild]
#[PatchDescription('Replace SODIUM_STATIC define guard with unconditional #if 1 for MSVC static linking')]
public function patchBeforeBuild(LibraryPackage $lib): void public function patchBeforeBuild(LibraryPackage $lib): void
{ {
if (SystemTarget::getTargetOS() === 'Windows') { spc_skip_if(SystemTarget::getTargetOS() !== 'Windows', 'This patch is only for Windows builds.');
FileSystem::replaceFileStr("{$lib->getSourceDir()}\\src\\libsodium\\include\\sodium\\export.h", '#ifdef SODIUM_STATIC', '#if 1'); FileSystem::replaceFileStr($lib->getSourceDir() . '\src\libsodium\include\sodium\export.h', '#ifdef SODIUM_STATIC', '#if 1');
}
} }
#[BuildFor('Linux')] #[BuildFor('Linux')]