Skip to content

Commit 508cfa6

Browse files
committed
Make openssl build faster
1 parent 08dca42 commit 508cfa6

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

config/pkg/lib/openssl.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ openssl:
1616
license: OpenSSL
1717
depends:
1818
- zlib
19+
depends@windows:
20+
- zlib
21+
- jom
1922
headers:
2023
- openssl
2124
static-libs@unix:

src/Package/Library/openssl.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use StaticPHP\DI\ApplicationContext;
1111
use StaticPHP\Exception\EnvironmentException;
1212
use StaticPHP\Package\LibraryPackage;
13+
use StaticPHP\Package\PackageBuilder;
1314
use StaticPHP\Runtime\SystemTarget;
1415
use StaticPHP\Util\FileSystem;
1516
use StaticPHP\Util\System\LinuxUtil;
@@ -36,7 +37,7 @@ public function validate(): void
3637
}
3738

3839
#[BuildFor('Windows')]
39-
public function buildWin(LibraryPackage $lib): void
40+
public function buildWin(LibraryPackage $lib, PackageBuilder $builder): void
4041
{
4142
$perl = ApplicationContext::get('perl');
4243
$cmd = cmd()->cd($lib->getSourceDir())
@@ -47,7 +48,9 @@ public function buildWin(LibraryPackage $lib): void
4748
'--with-zlib-lib=' . quote($lib->getLibDir()) . ' ' .
4849
'--with-zlib-include=' . quote($lib->getIncludeDir()) . ' ' .
4950
'--release ' .
50-
'no-legacy '
51+
'no-legacy ' .
52+
'no-tests ' .
53+
'/FS'
5154
);
5255

5356
// patch zlib
@@ -56,7 +59,7 @@ public function buildWin(LibraryPackage $lib): void
5659
FileSystem::replaceFileStr("{$lib->getSourceDir()}\\Makefile", '/debug', '/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt');
5760

5861
// build
59-
$cmd->exec("nmake install_dev CNF_LDFLAGS=\"/NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:msvcrt /NODEFAULTLIB:msvcrtd /DEFAULTLIB:libcmt /LIBPATH:{$lib->getLibDir()} zlibstatic.lib\"");
62+
$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\"");
6063

6164
// copy necessary c files
6265
FileSystem::copy("{$lib->getSourceDir()}\\ms\\applink.c", "{$lib->getIncludeDir()}\\openssl\\applink.c");

0 commit comments

Comments
 (0)