GYP (software)

GYP
Original author(s)Mark Mentovai
Developer(s)Chromium.org
Repository
Written inPython
Operating systemmacOS, Linux, Solaris, FreeBSD, OpenBSD, Windows
TypeBuild automation programming
LicenseBSD license
Websitegyp.gsrc.io Edit this on Wikidata

GYP (generate your projects) is an obsolete build automation tool created in 2011 by Google.[1] 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[2] 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.[3][4] Other projects that migrated from GYP to GN include the V8 Javascript engine,[5] WebRTC[6] and Dart.[7]

Software projects that are still built using GYP include Node.js[8] and Telegram.[9]

See also

[edit]
  • CMake – Cross-platform build tool for configuring platform-specific builds
  • GNU Build System – Software build toolset from GNU
  • List of build automation software § Build script generation
  • Meson – Build automation tool
  • Premake – Cross-platform build tool for configuring platform-specific builds
  • SCons – software construction tool
  • Waf – software build automation tool

References

[edit]
  1. ^ "GitHub - chromium/gyp: GYP is a Meta-Build system: a build system that generates other build systems". GitHub. Retrieved 2021-07-28.
  2. ^ "Gyp Make file dictionary". GYP user documentation.
  3. ^ https://chromium.googlesource.com/chromium/src/tools/gn/+/48062805e19b4697c5fbd926dc649c78b6aaa138/README.md; new version
  4. ^ "GN build configuration".
  5. ^ Bynens, Mathias (2019-08-27). "Building V8 with GN". v8.dev.
  6. ^ Issue 3441: Convert WebRTC GYP files to GN
  7. ^ "Dart". GitHub. 12 May 2022.
  8. ^ Schlueter, Isaac Z (25 June 2012). "Announcing Node 0.8". the Node.js official blog. Archived from the original on 2014-08-02.
  9. ^ "Telegram Desktop – Official Messenger: Third Party components". GitHub. Retrieved 2021-04-10.
[edit]