Waf

Waf
Waf
Тип

инструментальное программное обеспечение

Разработчик

Thomas Nagy

Написана на

Python[1]

Операционная система

Windows, POSIX

Последняя версия

1.7.0 (16 июля 2012 года)

Лицензия

BSD

Сайт

waf.googlecode.com

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. Архивировано из первоисточника 8 июля 2012. Проверено 19 декабря 2010.
  2. Benchmarks of various C++ build tools
  3. 1 2 Why the KDE project switched to CMake

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Waf" в других словарях:

  • Waf — Desarrollador Thomas Nagy http://code.google.com/p/waf/ Información general Última versión estable 1.5.18 6 de julio de 2010 …   Wikipedia Español

  • waf — waf; WAF; waf·ture; waf·fle; waf·fled; waf·fler; …   English syllables

  • WAF — may mean:*Workers Autonomous Federation, one of several underground trade unions in the People s Republic of China. *Woman acceptance factor or Wife Acceptance Factor, commonly used in discussions related to HTPC and other media devices. The… …   Wikipedia

  • Waf — ☆ Waf [waf ] n. a member of the WAF …   English World dictionary

  • WAF — steht für: Kreis Warendorf, als Kfz Kennzeichen „Wana Airport“ in Pakistan, nach dem IATA Flughafencode Wittelsbacher Ausgleichsfonds Web Application Firewall, spezielle Software zum Schutz von Webanwendungen Web Application Framework Word… …   Deutsch Wikipedia

  • Waf — /waf/, n. a member of the Women in the Air Force, an auxiliary of the U.S. Air Force. [1948; W(omen in the) A(ir) F(orce)] * * * …   Universalium

  • Waf — AmE informal a woman serving in the US Air Force …   Dictionary of contemporary English

  • WAF — abbrev. Women in the Air Force …   English World dictionary

  • Waf — Infobox Software name = Waf caption = developer = latest release version = 1.4.3 latest release date = June 22, 2008 operating system = Windows, POSIX genre = Software development tools license = New BSD License website =… …   Wikipedia

  • waf — abbr. (in the US) Women in the Air Force. * * * ˈwaf noun ( s) Usage: usually capitalized Etymology: Women in the Air Force : a member of the women s component of the United …   Useful english dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»