Separate package config

This commit is contained in:
crazywhalecc
2026-02-02 13:32:35 +08:00
parent f232588dbe
commit 455d42d162
21 changed files with 294 additions and 157 deletions

View File

@@ -27,9 +27,9 @@ class openssl
spc_skip_if(!file_exists("{$target_path}/openssl/test/v3ext.c"), 'v3ext.c not found, skipping patch.');
FileSystem::replaceFileStr(
SOURCE_PATH . '/openssl/test/v3ext.c',
"{$target_path}/openssl/test/v3ext.c",
'#include <stdio.h>',
'#include <stdio.h>' . PHP_EOL . '#include <string.h>'
"#include <stdio.h>\n#include <string.h>"
);
}
}

View File

@@ -0,0 +1,25 @@
<?php
declare(strict_types=1);
namespace Package\Library;
use StaticPHP\Attribute\Package\BuildFor;
use StaticPHP\Attribute\Package\Library;
use StaticPHP\Package\LibraryPackage;
use StaticPHP\Runtime\Executor\UnixAutoconfExecutor;
#[Library('gmp')]
class gmp
{
#[BuildFor('Linux')]
#[BuildFor('Darwin')]
public function build(LibraryPackage $lib): void
{
UnixAutoconfExecutor::create($lib)
->appendEnv(['CFLAGS' => '-std=c17'])
->configure('--enable-fat')
->make();
$lib->patchPkgconfPrefix(['gmp.pc']);
}
}