WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Waf
Тип инструментальное программное обеспечение
Разработчик Thomas Nagy
Написана на Python[1]
Операционная система Windows, POSIX
Последняя версия 1.9.8 (13 февраля 2017 года)
Лицензия BSD
Сайт github.com/waf-project/w…

Waf — это система для автоматизации сборки, то есть программа, которая производит автоматическую компиляцию и установку других программ и библиотек.

Возможности

  • Файлы конфигурации являются сценариями на языке Python, что позволяет использовать все возможности этого языка программирования.
  • Встроенная поддержка C, C++, D, Java, Fortran и Qt. Возможность генерации документов TeX и LaTeX. Поддержка других языков или форматов файлов может быть реализована с помощью пользовательских расширений (tools).
  • Для языков C и C++ автоматически анализируются зависимости. В отличие от make не нужно отдельно выполнять команду make depend.
  • Обнаружение изменения содержимого файлов по контрольным суммам MD5, наряду с традиционным обнаружением изменений по времени записи файла.
  • Возможность параллельной сборки.
  • Встроенная возможность поиска необходимых для сборки файлов (#include файлы, библиотеки, и т. д.).
  • Способность кеширования собираемых файлов для ускорения сборки — подобно ccache, но для любых типов файлов.
  • Высокая скорость работы[2]

Пример использования

Ниже приведен пример очень простого wscript-файла, который компилирует файл «hello-world.c», используя один из доступных компиляторов языка C:

top = '.'
out = 'build'

def options(opt):
    opt.load('compiler_c')
 	
def configure(conf):
    conf.load('compiler_c')

def build(bld):
    bld.program(source = 'hello-world.c', target = 'hello-world', features = 'c cprogram')

Сборка проекта запускается следующей командой:

waf configure build

История

Долгое время проект KDE использовал для сборки пакет GNU build system (Autotools), но в силу ограничений последнего решил перейти на SCons[3]. В рамках данного перехода Thomas Nagy создал служебную программу BKsys, которая должна была работать поверх SCons и предоставлять функциональность, аналогичную Autotools. Однако позже Thomas Nagy решил, что архитектурные недостатки SCons (в частности проблема производительности на крупных проектах) слишком велики и трудно исправимы. Поэтому он решил полностью переписать систему SCons. В результате появился «Waf».

Некоторое время проект KDE рассматривал BKsys (а позже Waf) в качестве своей основной системы сборки, однако далее изменил свой выбор в пользу CMake, так как BKsys не решал проблем SCons, а Waf все ещё находился в состоянии пред-альфы[3].

Программные проекты, использующие Waf

См. также

Примечания

  1. Ohloh Analysis Summary - Waf. Ohloh. Проверено 19 декабря 2010. Архивировано 8 июля 2012 года.
  2. Benchmarks of various C++ build tools
  3. 1 2 Why the KDE project switched to CMake

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии