SCons

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
SCons
Тип

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

Разработчик

Steven Knight

Написана на

Python

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

Кроссплатформенное программное обеспечение

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

2.3.0 (2 марта 2013 года)

Лицензия

MIT

Сайт

scons.org

SCons — это инструмент для автоматизации сборки программных проектов, разработанный как замена утилиты make с интегрированной функциональностью аналогичной autoconf/automake. SCons автоматически анализирует зависимости между исходными файлами и требования адаптации к операционной системе исходя из описания проекта, и генерирует конечные бинарные файлы для установки на целевую ОС.

SCons использует язык Python в качестве основы, поэтому конфигурация проектов и инструменты для управления процессом сборки являются сценариями на Python.

Возможности[править | править исходный текст]

  • Файлы конфигурации являются сценариями на языке Python, что позволяет использовать все возможности этого языка программирования.
  • Встроенная поддержка C, C++, D, Java, Fortran, Objective-C, Yacc, Lex, Qt и SWIG. Возможность генерации документов TeX и LaTeX. Поддержка других языков или форматов файлов может быть реализована с помощью пользовательских сборщиков (builders).
  • Для языков C, C++ и Fortran автоматически анализируются зависимости. В отличие от make не нужно отдельно выполнять команду make depend.
  • Сборка из репозиториев систем контроля версий.
  • Встроенная поддержка получения исходных кодов из SCCS, RCS, CVS, Subversion, BitKeeper и Perforce.
  • Поддержка проектов Microsoft Visual Studio .NET и более ранних версий Visual Studio, с возможностями генерации файлов .dsp, .dsw, .sln и .vcproj.
  • Обнаружение изменения содержимого файлов по контрольным суммам MD5, наряду с традиционным обнаружением изменений по времени записи файла.
  • Возможность параллельной сборки.
  • Встроенная возможность поиска необходимых для сборки файлов (#include файлы, библиотеки, и т. д.).
  • Способность кеширования собираемых файлов для ускорения параллельной сборки — подобно ccache, но для любых типов файлов.
  • Изначальная поддержка кросплатформенности. В настоящее время работает в Linux и др. POSIX-системах (AIX, *BSD systems, HP-UX, IRIX, Solaris), Windows NT, Mac OS X, OS/2.

Пример использования[править | править исходный текст]

В самом простом варианте файл SConstruct будет содержать всего одну строку

Program('main.c')

При выполнении команды scons, из файла main.c будет сгенерирована программа mainLinux) или main.exeWindows).

История и связанные проекты[править | править исходный текст]

Проект SCons стартовал под именем ScCons и выиграл конкурс Software Carpentry SC Build в августе 2000. Прототипом послужила утилита Cons.

SCons послужил прототипом для проекта Waf, первоначально известного под именем «SCons/BKsys» и рождённого в сообществе KDE. Некоторое время его планировали использовать для KDE4 и последующих версий, но от этой идеи отказались в пользу CMake. [1]

Программные проекты, использующие SCons[править | править исходный текст]

Примечания[править | править исходный текст]

  1. Kegel, Daniel Understanding The Construction System of Chromium. Google Code (April 3, 2009). Проверено 21 июля 2009. Архивировано из первоисточника 20 марта 2012.
  2. Developer documentation for GtkRadiant 1.6.0 (Zeroradiant) (30 июня 2008). Проверено 28 декабря 2009.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]