getDependencies(recursive: true))); } $sep = match ($style) { 'autoconf' => ' ', 'cmake' => ';', default => throw new RuntimeException('style only support autoconf and cmake'), }; $ret = []; /** @var LibraryBase $lib */ foreach ($libs as $lib) { $libFiles = []; foreach ($lib->getStaticLibs() as $name) { $name = str_replace(' ', '\ ', FileSystem::convertPath(BUILD_LIB_PATH . "/{$name}")); $name = str_replace('"', '\"', $name); $libFiles[] = $name; } array_unshift($ret, implode($sep, $libFiles)); } return implode($sep, $ret); } public function makeAutoconfEnv(string $prefix = null): string { if ($prefix === null) { $prefix = str_replace('-', '_', strtoupper(static::NAME)); } return $prefix . '_CFLAGS="-I' . BUILD_INCLUDE_PATH . '" ' . $prefix . '_LIBS="' . $this->getStaticLibFiles() . '"'; } }