| # Copyright 2014 Google Inc. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # Sawbuck builds on Chrome base, uses GYP, GTest, all of which requires |
| # this build configuration. |
| |
| vars = { |
| "chrome_revision": "271365", |
| "gmock_revision": "453", |
| "gtest_revision": "664", |
| "gyp_revision": "1919", |
| "py_etw_revision": "559", |
| |
| "chrome_base": "http://src.chromium.org/svn/trunk", |
| |
| # Paths to installed utilities used in hooks. These need to use |
| # Windows style paths. |
| "python_path": "src\\third_party\\python_26\\python.exe", |
| "gyp_path": "src\\syzygy\\build\\gyp_main.py", |
| } |
| |
| deps = { |
| # Chromium's base library. |
| "src/base": |
| Var("chrome_base") + "/src/base@" + Var("chrome_revision"), |
| |
| # Dependencies required to to build base. |
| "src/third_party/icu": |
| Var("chrome_base") + "/deps/third_party/icu46@" + |
| Var("chrome_revision"), |
| "src/third_party/libxml": |
| Var("chrome_base") + "/src/third_party/libxml@" + |
| Var("chrome_revision"), |
| "src/third_party/modp_b64": |
| Var("chrome_base") + "/src/third_party/modp_b64@" + |
| Var("chrome_revision"), |
| "src/third_party/tcmalloc": |
| Var("chrome_base") + "/src/third_party/tcmalloc@" + |
| Var("chrome_revision"), |
| "src/third_party/zlib": |
| Var("chrome_base") + "/src/third_party/zlib@" + |
| Var("chrome_revision"), |
| |
| # A general purpose X86 disassembler. |
| "src/third_party/distorm/files": |
| "http://distorm.googlecode.com/svn/trunk@229", |
| |
| # Used for benchmarking. |
| "src/third_party/dromaeo/files": |
| Var("chrome_base") + "/src/chrome/test/data/dromaeo@" + |
| Var("chrome_revision"), |
| |
| # Used by our various ETW processing scripts. |
| "src/third_party/sawbuck/py/etw": |
| "http://sawbuck.googlecode.com/svn/trunk/sawbuck/py/etw@" + |
| Var("py_etw_revision"), |
| |
| # A pinned version of Python to use with our scripts. |
| # TODO(chrisha): Upgrade to Python 2.7.6, like the rest of Chromium. |
| "src/third_party/python_26": |
| Var("chrome_base") + "/tools/third_party/python_26@" + |
| Var("chrome_revision"), |
| |
| # This brings in build configuration required to build base. |
| "src/build": |
| Var("chrome_base") + "/src/build@" + Var("chrome_revision"), |
| |
| # This brings in unittesting code. |
| "src/testing": |
| Var("chrome_base") + "/src/testing@" + Var("chrome_revision"), |
| "src/testing/gmock": |
| "http://googlemock.googlecode.com/svn/trunk@" + Var("gmock_revision"), |
| "src/testing/gtest": |
| "http://googletest.googlecode.com/svn/trunk@" + Var("gtest_revision"), |
| |
| # This brings in GYP. |
| "src/tools/gyp": |
| "http://gyp.googlecode.com/svn/trunk@" + Var("gyp_revision"), |
| |
| # This brings in code coverage tools, like croc. This is required for our |
| # coverage generation. |
| "src/tools/code_coverage": |
| Var("chrome_base") + "/src/tools/code_coverage@" + Var("chrome_revision"), |
| |
| # This brings in protobuf, used by SyzyASan metadata. |
| "src/third_party/protobuf/src": |
| "http://protobuf.googlecode.com/svn/trunk/src@573", |
| } |
| |
| |
| include_rules = [ |
| # Everybody can use some things. |
| "+base", |
| "+build", |
| ] |
| |
| hooks = [ |
| { |
| # A change to a .gyp, .gypi, or to GYP itself should run the generator. |
| "pattern": ".", |
| "action": [Var("python_path"), |
| Var("gyp_path"), |
| "--include=src/build/common.gypi", |
| "--include=src/syzygy/syzygy.gypi", |
| "--no-circular-check", |
| "src/syzygy/build/all.gyp"], |
| }, |
| ] |