Waf | |
---|---|
Тип | инструментальное программное обеспечение |
Разработчик | Thomas Nagy |
Написана на | Python[1] |
Операционная система | Windows, POSIX |
Последняя версия | 1.9.8 (13 февраля 2017 года) |
Лицензия | BSD |
Сайт | github.com/waf-project/w… |
Waf — это система для автоматизации сборки, то есть программа, которая производит автоматическую компиляцию и установку других программ и библиотек.
Ниже приведен пример очень простого 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].
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .