c04ff4788c
What we've got here is a little GN MVP. It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo. I've been hopping back and forth between Linux at work and Mac at home. These seem to be at least partially working, enough to build and run cmake/example.cpp. The xcode backend seems to work. From here, we can start exploring how to handle other backends (cmake,Android make, Google3). There are a couple things I want to try: - add another backend like vs or xcode to GN directly - intercept via a custom toolchain - reverse from ninja -t commands That last option seems kind of fun. This tries to piggyback on Chrome's GN setup as much as possible. Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients. This pulls in some new DEPS: - build: Chrome's GN configuration, and much more - buildtools: hashes for gn binary, pulled via hooks - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build It additionally symlinks tools/gyp to third_party/externals/gyp. GN pulls some stuff from tools/gyp on Mac. Have not yet tried building for Windows, Android, or iOS. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002 Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17 Review-Url: https://codereview.chromium.org/2087593002 |
||
---|---|---|
.. | ||
etc1 | ||
freetype/include/freetype-android | ||
giflib | ||
harfbuzz | ||
ktx | ||
libmicrohttpd | ||
libpng | ||
libsdl | ||
libwebp/webp | ||
lua | ||
qcms | ||
yasm | ||
BUILD.gn | ||
README |
This directory contains a set of dependencies that are needed to build various components and tools within Skia. Some of these dependencies reside within the Skia repo, while others are pulled from other repositories and placed in the third_party/externals directory. These external dependencies are defined in a DEPS file and are kept up-to-date using 'gclient sync'.