2025-03-20 04:36:46 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace SPC\builder\unix\library;
|
|
|
|
|
|
2025-06-09 09:24:31 +08:00
|
|
|
use SPC\util\executor\UnixCMakeExecutor;
|
2025-06-28 16:36:05 +08:00
|
|
|
use SPC\util\SPCTarget;
|
2025-03-20 04:36:46 +01:00
|
|
|
|
|
|
|
|
trait mimalloc
|
|
|
|
|
{
|
|
|
|
|
protected function build(): void
|
|
|
|
|
{
|
2025-06-09 01:07:30 +08:00
|
|
|
$cmake = UnixCMakeExecutor::create($this)
|
|
|
|
|
->addConfigureArgs(
|
|
|
|
|
'-DMI_BUILD_SHARED=OFF',
|
2025-06-29 16:00:17 +08:00
|
|
|
'-DMI_INSTALL_TOPLEVEL=ON',
|
2025-06-09 01:07:30 +08:00
|
|
|
);
|
2025-06-29 16:00:17 +08:00
|
|
|
if (SPCTarget::getLibc() === 'musl') {
|
2025-06-09 01:07:30 +08:00
|
|
|
$cmake->addConfigureArgs('-DMI_LIBC_MUSL=ON');
|
2025-03-20 04:36:46 +01:00
|
|
|
}
|
2025-06-09 01:07:30 +08:00
|
|
|
$cmake->build();
|
2025-03-20 04:36:46 +01:00
|
|
|
}
|
|
|
|
|
}
|