pkgconf: быстрая, независимая от зависимостей конфигурация библиотеки для кросс-платформенных сборок
Читает .pc метаданные для предоставления флагов компилятора и компоновщика во время сборок, разрешая графы зависимостей и пути перемещения для портативных инструментальных цепочек. Инструментальный пакет pkgconf нацелен на разработчиков и поддерживающих пакеты, которым необходимо надежное определение во время сборки; проект предоставляет замену командной строки для pkg-config и программный API. Ключевые возможности включают упрощенное разрешение зависимостей, libpkgconf для интеграции и дизайн без зависимостей, который подходит для ограниченных или начальных сред разработки Windows и Unix.
Что на самом деле делает pkgconf для системы сборки?
pkgconf читает стандартные .pc файлы и выдает флаги компилятора и компоновщика, необходимые инструментальной цепочке, так что скрипты сборки могут вызывать его точно так же, как оригинальный pkg-config. Этот инструмент предоставляет интерфейс командной строки, совместимый с freedesktop.org pkg-config, и он открывает libpkgconf, чтобы IDE, компиляторы или генераторы сборки могли программно запрашивать метаданные пакетов, а не вызывать процесс.
Насколько надежно разрешение зависимостей и обработка сложных графов?
Решатель упрощает зависимости, используя направленный граф зависимостей, и применяет правила конфликта, что дает предсказуемые результаты для вложенных или циклических отношений. Проект утверждает, что этот решатель улучшает обработку сложных цепочек зависимостей по сравнению с устаревшей реализацией, так что проекты, сталкивающиеся с циклическими или глубокими графами, должны видеть более четкое вычисление флагов на этапах конфигурации и сборки.
Влияет ли pkgconf на производительность системы или CI во время сборок?
Реализация описывается как легковесная и быстрее оригинального pkg-config, с минимальным следом и без внешних зависимостей библиотек (например, она не требует GLib). Этот дизайн облегчает начальную настройку инструмента в минимальных средах и снижает вероятность добавления зависимости времени выполнения к CI-исполнителям или небольшим виртуальным машинам разработчиков.
Практично и безопасно ли использовать на Windows и в настройках кросс-компиляции?
Поддержка перемещения путей и явные переменные окружения для кросс-компиляции, такие как PKG_CONFIG_SYSROOT_DIR и PKG_CONFIG_LIBDIR, позволяют инструменту находить метаданные для целевых архитектур. Сообщается, что инструмент совместим с MSYS2, MinGW-w64 и интеграционными путями, такими как vcpkg, что делает его подходящим для комплектов разработки Windows, которым нужны перемещаемые метаданные сборки.
Инструмент для разработчиков, управляющих обнаружением библиотек во время сборки
Для разработчиков и интеграторов, которым нужна предсказуемая генерация флагов без подключения дополнительных библиотек времени выполнения в цепочки инструментов, pkgconf предлагает компактную, скриптируемую альтернативу устаревшей реализации. Ожидайте более четких результатов разрешения зависимостей и более простого начального развертывания в ограниченных средах. Используйте API библиотеки при встраивании запросов в IDE или инструменты сборки. Рекомендуется.