mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-20 23:35:37 +08:00
Add zlib
This commit is contained in:
@@ -14,3 +14,6 @@ zlib:
|
|||||||
- zconf.h
|
- zconf.h
|
||||||
static-libs@unix:
|
static-libs@unix:
|
||||||
- libz.a
|
- libz.a
|
||||||
|
static-libs@windows:
|
||||||
|
- zlibstatic.lib
|
||||||
|
- zlib_a.lib
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ use StaticPHP\Attribute\Package\BuildFor;
|
|||||||
use StaticPHP\Attribute\Package\Library;
|
use StaticPHP\Attribute\Package\Library;
|
||||||
use StaticPHP\Package\LibraryPackage;
|
use StaticPHP\Package\LibraryPackage;
|
||||||
use StaticPHP\Runtime\Executor\UnixAutoconfExecutor;
|
use StaticPHP\Runtime\Executor\UnixAutoconfExecutor;
|
||||||
|
use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
|
||||||
|
use StaticPHP\Util\FileSystem;
|
||||||
|
|
||||||
#[Library('zlib')]
|
#[Library('zlib')]
|
||||||
class zlib
|
class zlib
|
||||||
@@ -21,4 +23,28 @@ class zlib
|
|||||||
// Patch pkg-config file
|
// Patch pkg-config file
|
||||||
$lib->patchPkgconfPrefix(['zlib.pc'], PKGCONF_PATCH_PREFIX);
|
$lib->patchPkgconfPrefix(['zlib.pc'], PKGCONF_PATCH_PREFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[BuildFor('Windows')]
|
||||||
|
public function buildWin(LibraryPackage $lib): void
|
||||||
|
{
|
||||||
|
WindowsCMakeExecutor::create($lib)->build();
|
||||||
|
$detect_list = [
|
||||||
|
'zlibstatic.lib',
|
||||||
|
'zs.lib',
|
||||||
|
'libzs.lib',
|
||||||
|
];
|
||||||
|
foreach ($detect_list as $item) {
|
||||||
|
if (file_exists("{$lib->getLibDir()}\\{$item}")) {
|
||||||
|
FileSystem::copy("{$lib->getLibDir()}\\{$item}", "{$lib->getLibDir()}\\zlib_a.lib");
|
||||||
|
FileSystem::copy("{$lib->getLibDir()}\\{$item}", "{$lib->getLibDir()}\\zlibstatic.lib");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getBinDir()}\\zlib.dll");
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getLibDir()}\\zlib.lib");
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getLibDir()}\\libz.dll");
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getLibDir()}\\libz.lib");
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getLibDir()}\\z.lib");
|
||||||
|
FileSystem::removeFileIfExists("{$lib->getLibDir()}\\z.dll");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user