add macos external extension support

This commit is contained in:
crazywhalecc
2023-05-10 21:59:33 +08:00
parent b7f64e46c2
commit 09f1574264
6 changed files with 26 additions and 19 deletions

View File

@@ -38,6 +38,9 @@ abstract class BuilderBase
/** @var bool 本次编译是否只编译 libs不编译 PHP */
protected bool $libs_only = false;
/** @var bool 是否 strip 最终的二进制 */
protected bool $strip = true;
/**
* 构建指定列表的 libs
*
@@ -70,12 +73,6 @@ abstract class BuilderBase
// 排序 libs根据依赖计算一个新的列表出来
$libraries = DependencyUtil::getLibsByDeps($libraries);
// 这里筛选 libraries比如纯静态模式排除掉ffi
if (defined('BUILD_ALL_STATIC') && BUILD_ALL_STATIC) {
$k = array_search('libffi', $libraries, true);
$k !== false && array_splice($libraries, $k, 1);
}
// 过滤不支持的库后添加
foreach ($libraries as $library) {
if (!isset($support_lib_list[$library])) {
@@ -237,6 +234,11 @@ abstract class BuilderBase
return implode(', ', $ls);
}
public function setStrip(bool $strip): void
{
$this->strip = $strip;
}
/**
* 检查是否存在 lib 库对应的源码,如果不存在,则抛出异常
*