1#
2# Copyright (C) 2009 Google Inc. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met:
7#
8#   * Redistributions of source code must retain the above copyright notice,
9#     this list of conditions and the following disclaimer.
10#   * Redistributions in binary form must reproduce the above copyright 
11#     notice, this list of conditions and the following disclaimer in the
12#     documentation and/or other materials provided with the distribution.
13#   * Neither the name of Google Inc. nor the names of its contributors 
14#     may be used to endorse or promote products derived from this software
15#     without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29
30# This file is used by gclient to fetch the projects that the webkit
31# chromium port depends on.
32
33vars = {
34  'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
35  'chromium_rev': '81564'
36}
37
38deps = {
39  'chromium_deps':
40    File(Var('chromium_svn')+'/DEPS@'+Var('chromium_rev')),
41
42  # build tools
43  'build':
44    Var('chromium_svn')+'/build@'+Var('chromium_rev'),
45  'tools/data_pack':
46    Var('chromium_svn')+'/tools/data_pack@'+Var('chromium_rev'),
47  'tools/gyp':
48    From('chromium_deps', 'src/tools/gyp'),
49
50  # Basic tools
51  'base':
52    Var('chromium_svn')+'/base@'+Var('chromium_rev'),
53
54  # skia dependencies
55  'skia':
56    Var('chromium_svn')+'/skia@'+Var('chromium_rev'),
57  'third_party/skia/gpu':
58    From('chromium_deps', 'src/third_party/skia/gpu'),
59  'third_party/skia/src':
60    From('chromium_deps', 'src/third_party/skia/src'),
61  'third_party/skia/include':
62    From('chromium_deps', 'src/third_party/skia/include'),
63
64  # testing
65  'testing':
66    Var('chromium_svn')+'/testing@'+Var('chromium_rev'),
67  'testing/gtest':
68    From('chromium_deps', 'src/testing/gtest'),
69  'testing/gmock':
70    From('chromium_deps', 'src/testing/gmock'),
71
72  # v8 javascript engine
73  'v8': From('chromium_deps', 'src/v8'),
74
75  # net dependencies
76  'net':
77    Var('chromium_svn')+'/net@'+Var('chromium_rev'),
78  'sdch':
79    Var('chromium_svn')+'/sdch@'+Var('chromium_rev'),
80  'sdch/open-vcdiff':
81    From('chromium_deps', 'src/sdch/open-vcdiff'),
82  'googleurl':
83    From('chromium_deps', 'src/googleurl'),
84
85  # webkit dependencies
86  'webkit': Var('chromium_svn')+'/webkit@'+Var('chromium_rev'),
87
88  'app':
89    Var('chromium_svn')+'/app@'+Var('chromium_rev'), # needed by appcache
90  'gpu':
91    Var('chromium_svn')+'/gpu@'+Var('chromium_rev'),
92  'ipc':
93    Var('chromium_svn')+'/ipc@'+Var('chromium_rev'),
94  'media':
95    Var('chromium_svn')+'/media@'+Var('chromium_rev'),
96  'printing':
97    Var('chromium_svn')+'/printing@'+Var('chromium_rev'),
98  'ppapi':
99    Var('chromium_svn')+'/ppapi@'+Var('chromium_rev'),
100  'third_party/angle':  # needed by the gpu process
101    From('chromium_deps', 'src/third_party/angle'),
102  'third_party/libvpx': # needed by webkit/media
103    From('chromium_deps', 'src/third_party/libvpx'),
104  'third_party/ffmpeg': # needed by webkit/media
105    From('chromium_deps', 'src/third_party/ffmpeg'),
106  'third_party/libjingle/source':
107    From('chromium_deps', 'src/third_party/libjingle/source'),
108  'third_party/libwebp':
109    Var('chromium_svn')+'/third_party/libwebp@'+Var('chromium_rev'),
110  'tools/grit':
111    Var('chromium_svn')+'/tools/grit@'+Var('chromium_rev'),
112  'tools/generate_stubs':
113    Var('chromium_svn')+'/tools/generate_stubs@'+Var('chromium_rev'),
114  'ui':
115    Var('chromium_svn')+'/ui@'+Var('chromium_rev'), # needed by app
116
117  # other third party
118  'third_party/icu':
119    From('chromium_deps', 'src/third_party/icu'),
120  'third_party/ots':
121    From('chromium_deps', 'src/third_party/ots'),
122  'third_party/yasm/source/patched-yasm':
123    From('chromium_deps', 'src/third_party/yasm/source/patched-yasm'),
124  'third_party/libjpeg_turbo':
125    From('chromium_deps', 'src/third_party/libjpeg_turbo'),
126  'third_party/leveldb':
127    From('chromium_deps', 'src/third_party/leveldb'),
128  'third_party/snappy/src':
129    From('chromium_deps', 'src/third_party/snappy/src'),
130  'third_party':
131    Var('chromium_svn')+'/third_party@'+Var('chromium_rev'),
132}
133
134deps_os = {
135  'win': {
136    'third_party/cygwin':
137      From('chromium_deps', 'src/third_party/cygwin'),
138    'third_party/ffmpeg/binaries/chromium/win/ia32':
139      From('chromium_deps', 'src/third_party/ffmpeg/binaries/chromium/win/ia32'),
140    'third_party/lighttpd':
141      From('chromium_deps', 'src/third_party/lighttpd'),
142    'third_party/nss':
143      From('chromium_deps', 'src/third_party/nss'),
144    # Dependencies used by libjpeg-turbo
145    'third_party/yasm/binaries':
146      From('chromium_deps', 'src/third_party/yasm/binaries'),
147  },
148  'mac': {
149    'third_party/nss':
150      From('chromium_deps', 'src/third_party/nss'),
151  },
152  'unix': {
153    # Linux, actually.
154    'tools/xdisplaycheck':
155      Var('chromium_svn')+'/tools/xdisplaycheck@'+Var('chromium_rev'),
156    'third_party/openssl':
157      From('chromium_deps', 'src/third_party/openssl'),
158  },
159}
160
161skip_child_includes = [
162   # Don't look for dependencies in the following folders: 
163   'base',
164   'build',
165   'googleurl',
166   'net',
167   'sdch',
168   'skia',
169   'testing',
170   'third_party',
171   'tools',
172   'v8',
173   'webkit',
174]
175
176include_rules = [
177  # Everybody can use some things.
178  '+base',
179  '+build',
180  '+ipc',
181
182  # For now, we allow ICU to be included by specifying 'unicode/...', although
183  # this should probably change.
184  '+unicode',
185  '+testing',
186
187  # Allow anybody to include files from the 'public' Skia directory in the
188  # webkit port. This is shared between the webkit port and Chromium.
189  '+webkit/port/platform/graphics/skia/public',
190]
191
192
193hooks = [
194  {
195    # A change to any file in this directory should run the gyp generator.
196    'pattern': '.',
197    'action': ['python', 'gyp_webkit'],
198  },
199]
200