GYP (software)
{{Short description|Build automation tool created by Google}}
{{Infobox software
| name = GYP
| logo =
| screenshot =
| caption =
| author = Mark Mentovai
| developer = [http://chromium.org Chromium.org]
| programming language = Python
| operating system = macOS, Linux, Solaris, FreeBSD, OpenBSD, Windows
| genre = Build automation programming
| license = BSD license
}}
GYP (generate your projects) is an obsolete build automation tool created in 2011 by Google.{{Cite web|title=GitHub - chromium/gyp: GYP is a Meta-Build system: a build system that generates other build systems.|url=https://github.com/chromium/gyp|access-date=2021-07-28|website=GitHub|language=en}} Its purpose was to generate native IDE project files (such as Visual Studio and Xcode) for building the Chromium web browser and is licensed as open source software using the BSD software license.
The functionality of GYP is similar to the CMake build tool. GYP processes a file that contains a JSON dictionary{{cite web|url=https://gyp.gsrc.io/docs/UserDocumentation.md|title=Gyp Make file dictionary|publisher=GYP user documentation}} in order to generate one or more target project make files. The single source .GYP file is generic while the target files are specific to each targeted build tool.
In 2016, the Chromium project replaced GYP with GN, a tool that generates ninja builds. The switch to GN resulted in a 20x speedup for their use case.https://chromium.googlesource.com/chromium/src/tools/gn/+/48062805e19b4697c5fbd926dc649c78b6aaa138/README.md; [https://gn.googlesource.com/gn/+/refs/heads/master/README.md new version]{{cite web | url=https://www.chromium.org/developers/gn-build-configuration | title=GN build configuration }} Other projects that migrated from GYP to GN include the V8 Javascript engine,{{cite web | url=https://v8.dev/docs/build-gn | title=Building V8 with GN| author=Bynens, Mathias|date=2019-08-27|website=v8.dev }} WebRTC[https://bugs.chromium.org/p/webrtc/issues/detail?id=3441 Issue 3441: Convert WebRTC GYP files to GN ] and Dart.{{cite web | url=https://github.com/dart-lang/sdk/blob/master/BUILD.gn | title=Dart | website=GitHub | date=12 May 2022 }}
Software projects that are still built using GYP include Node.js{{cite web|url=https://nodejs.org/en/blog/release/v0.8.0|title=Announcing Node 0.8|publisher=the Node.js official blog|date=25 June 2012|author=Schlueter, Isaac Z|archive-url=https://web.archive.org/web/20140802020109/http://blog.nodejs.org/2012/06/25/node-v0-8-0/|archive-date=2014-08-02|url-status=live}} and Telegram.{{cite web|url=https://github.com/telegramdesktop/tdesktop/tree/master#third-party|title=Telegram Desktop – Official Messenger: Third Party components|last=|first=|date=|website=GitHub|publisher=|access-date=2021-04-10}}
See also
{{Portal|Free and open-source software}}
- {{Annotated link|CMake}}
- {{Annotated link|GNU Build System}}
- {{Section link|List of build automation software|Build script generation}}
- {{Annotated link|Meson (software)|Meson}}
- {{Annotated link|Premake}}
- {{Annotated link|SCons}}
- {{Annotated link|Waf (build system)|Waf}}
References
{{Reflist}}