Put extension and library compatibility checks before compilation (#451)

This commit is contained in:
Jerry Ma
2024-05-16 13:01:11 +08:00
committed by GitHub
parent 3e84becf77
commit 3136d6edc1
13 changed files with 86 additions and 36 deletions

View File

@@ -93,6 +93,9 @@ class BuildCliCommand extends BuildCommand
if ($this->getOption('no-strip')) {
logger()->warning('--with-upx-pack conflicts with --no-strip, --no-strip won\'t work!');
}
if (($rule & BUILD_TARGET_MICRO) === BUILD_TARGET_MICRO) {
logger()->warning('Some cases micro.sfx cannot be packed via UPX due to dynamic size bug, be aware!');
}
}
try {
// create builder
@@ -133,17 +136,23 @@ class BuildCliCommand extends BuildCommand
}
$this->printFormatInfo($this->getDefinedEnvs(), true);
$this->printFormatInfo($indent_texts);
logger()->notice('Build will start after 2s ...');
sleep(2);
// compile libraries
$builder->proveLibs($libraries);
// check extensions
$builder->proveExts($extensions);
// validate libs and exts
$builder->validateLibsAndExts();
// build libraries
$builder->buildLibs();
if ($this->input->getOption('with-clean')) {
logger()->info('Cleaning source dir...');
FileSystem::removeDir(SOURCE_PATH);
}
// compile libraries
$builder->buildLibs($libraries);
// check extensions
$builder->proveExts($extensions);
// Process -I option
$custom_ini = [];