GYP (программное обеспечение)
| GYP | |
|---|---|
| Тип | Автоматизация сборки |
| Разработчик | |
| Написана на | Python |
| Интерфейс | CLI |
| Операционная система | macOS |
| Первый выпуск | 2009 |
| Репозиторий | chromium.googlesource.com/… |
| Состояние | активное |
| Лицензия | BSD |
| Сайт | gyp.gsrc.io |
GYP (от англ. Generate Your Projects) — система автоматизации сборки, созданная корпорацией Google для генерации проектов различных IDE (таких как Visual Studio Code или Xcode). Первоначально утилита была создана для сборки браузера Chromium и родственных продуктов, например, в движке V8[1], Node.js и т.п[2][3]. На сегодняшний день инструмент можно использовать и в других проектах. Программа распространяется на условиях лицензии BSD.
GYP представляет собой мета-сборочную систему в том смысле, что сам GYP не собирает проекты, а лишь генерирует сценарии для других систем сборки. GYP создана в помощь большим проектам, которые должны собираться на множестве платформ (например, Mac, Windows, Linux), и для которых важно, что проект может быть собран посредством IDE, популярной на каждой платформе, как будто проект является родным.
Пример
Типичный сценарий сборки представляет собой файл в формате JSON с некоторыми расширениями: допускаются комментарии, начинающиеся с решётки (#), и разрешается оставлять запятую (,) в конце списков.
{
'targets': [
{
'target_name': 'foo',
'type': 'executable',
'dependencies': [
'libbar',
],
'sources': [
'foo.c',
'main.c',
],
},
{
'target_name': 'libbar',
'type': '<(library)',
'defines': [
'LOCAL_DEFINE_FOR_LIBBAR',
'DEFINE_TO_USE_LIBBAR',
],
'include_dirs': [
'..',
'include/libbar',
],
'sources': [
'bar.h',
'bar.c',
],
},
],
}
Примечания
- ↑ Архивная копия от 15 ноября 2019 на Wayback Machine The Ninja build tool [LWN.net]
- ↑ Experimenting with GYP - Rioki's Corner. Дата обращения: 6 января 2018. Архивировано 6 января 2018 года.
- ↑ Node.js for Embedded Systems: Using Web Technologies to Build Connected Devices - Patrick Mulder, Kelsey Breseman - Google Книги. Дата обращения: 6 января 2018. Архивировано 6 января 2018 года.