mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-08 01:15:37 +08:00
Make openssl build faster
This commit is contained in:
@@ -16,6 +16,9 @@ openssl:
|
|||||||
license: OpenSSL
|
license: OpenSSL
|
||||||
depends:
|
depends:
|
||||||
- zlib
|
- zlib
|
||||||
|
depends@windows:
|
||||||
|
- zlib
|
||||||
|
- jom
|
||||||
headers:
|
headers:
|
||||||
- openssl
|
- openssl
|
||||||
static-libs@unix:
|
static-libs@unix:
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ use StaticPHP\Attribute\Package\Validate;
|
|||||||
use StaticPHP\DI\ApplicationContext;
|
use StaticPHP\DI\ApplicationContext;
|
||||||
use StaticPHP\Exception\EnvironmentException;
|
use StaticPHP\Exception\EnvironmentException;
|
||||||
use StaticPHP\Package\LibraryPackage;
|
use StaticPHP\Package\LibraryPackage;
|
||||||
|
use StaticPHP\Package\PackageBuilder;
|
||||||
use StaticPHP\Runtime\SystemTarget;
|
use StaticPHP\Runtime\SystemTarget;
|
||||||
use StaticPHP\Util\FileSystem;
|
use StaticPHP\Util\FileSystem;
|
||||||
use StaticPHP\Util\System\LinuxUtil;
|
use StaticPHP\Util\System\LinuxUtil;
|
||||||
@@ -36,7 +37,7 @@ class openssl
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[BuildFor('Windows')]
|
#[BuildFor('Windows')]
|
||||||
public function buildWin(LibraryPackage $lib): void
|
public function buildWin(LibraryPackage $lib, PackageBuilder $builder): void
|
||||||
{
|
{
|
||||||
$perl = ApplicationContext::get('perl');
|
$perl = ApplicationContext::get('perl');
|
||||||
$cmd = cmd()->cd($lib->getSourceDir())
|
$cmd = cmd()->cd($lib->getSourceDir())
|
||||||
@@ -47,7 +48,9 @@ class openssl
|
|||||||
'--with-zlib-lib=' . quote($lib->getLibDir()) . ' ' .
|
'--with-zlib-lib=' . quote($lib->getLibDir()) . ' ' .
|
||||||
'--with-zlib-include=' . quote($lib->getIncludeDir()) . ' ' .
|
'--with-zlib-include=' . quote($lib->getIncludeDir()) . ' ' .
|
||||||
'--release ' .
|
'--release ' .
|
||||||
'no-legacy '
|
'no-legacy ' .
|
||||||
|
'no-tests ' .
|
||||||
|
'/FS'
|
||||||
);
|
);
|
||||||
|
|
||||||
// patch zlib
|
// patch zlib
|
||||||
@@ -56,7 +59,7 @@ class openssl
|
|||||||
FileSystem::replaceFileStr("{$lib->getSourceDir()}\\Makefile", '/debug', '/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt');
|
FileSystem::replaceFileStr("{$lib->getSourceDir()}\\Makefile", '/debug', '/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt');
|
||||||
|
|
||||||
// build
|
// build
|
||||||
$cmd->exec("nmake install_dev CNF_LDFLAGS=\"/NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:msvcrt /NODEFAULTLIB:msvcrtd /DEFAULTLIB:libcmt /LIBPATH:{$lib->getLibDir()} zlibstatic.lib\"");
|
$cmd->exec("jom.exe /j{$builder->concurrency} install_dev CNF_LDFLAGS=\"/NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:msvcrt /NODEFAULTLIB:msvcrtd /DEFAULTLIB:libcmt /LIBPATH:{$lib->getLibDir()} zlibstatic.lib\"");
|
||||||
|
|
||||||
// copy necessary c files
|
// copy necessary c files
|
||||||
FileSystem::copy("{$lib->getSourceDir()}\\ms\\applink.c", "{$lib->getIncludeDir()}\\openssl\\applink.c");
|
FileSystem::copy("{$lib->getSourceDir()}\\ms\\applink.c", "{$lib->getIncludeDir()}\\openssl\\applink.c");
|
||||||
|
|||||||
Reference in New Issue
Block a user