blob: 6be3b8f540c14b96cf9795166b2aa67347459d03 [file] [log] [blame]
Lei Zhange4bf8342015-10-21 17:11:04 -07001use_relative_paths = True
2
Dan Sinclaira03c3432016-03-16 15:35:20 -04003vars = {
4 'chromium_git': 'https://chromium.googlesource.com',
5 'pdfium_git': 'https://pdfium.googlesource.com',
6
thestig50feafc2016-11-09 23:45:50 -08007 'android_ndk_revision': '26d93ec07f3ce2ec2cdfeae1b21ee6f12ff868d8',
Lei Zhang1831ca92017-03-29 22:55:08 -07008 'build_revision': 'a634e44492100123636cd2e66cc3cadd828f7031',
9 'buildtools_revision': 'e6b510a9daf822bbe9f922c200c58150803d2fd8',
jbudorick2430b302016-11-23 15:43:09 -080010 'catapult_revision': '86352b966b0245d6883e5f7df27687856978b6d7',
Lei Zhang1831ca92017-03-29 22:55:08 -070011 'clang_revision': 'c55112ff399f9ad6958b4bb58ca031b8ada63628',
Dan Sinclaira03c3432016-03-16 15:35:20 -040012 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
Lei Zhangeb39cdb2017-03-31 12:26:15 -070013 'freetype_revision': '66725768cdf758cfb3f9abf03cbf5e5a77f42088',
dsinclair11988d72016-05-04 10:17:00 -070014 'gen_library_loader_revision': '916d4acd8b2cde67a390737dfba90b3c37de23a1',
Dan Sinclaira03c3432016-03-16 15:35:20 -040015 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
16 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
dsinclair94686392016-12-12 08:38:09 -080017 'icu_revision': '73e24736676b4b438270fda44e5b2c83b49fdd80',
Tom Anderson4e8edf52017-03-30 18:27:21 -070018 'instrumented_lib_revision': '45f5814b1543e41ea0be54c771e3840ea52cca4a',
Lei Zhangc0cf3692017-03-30 23:34:45 -070019 'pdfium_tests_revision': '2c5a02609900c6cc67341f67ab49d3073a7081c3',
Ben Wanger9d5fd1d2017-02-09 11:21:11 -050020 'skia_revision': '90e3cd78991ef337dbd0023efb30ece864694308',
dsinclairfb969002016-05-31 12:55:32 -070021 'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d',
thestig08959c62016-11-10 13:19:23 -080022 'trace_event_revision': '06294c8a4a6f744ef284cd63cfe54dbf61eea290',
Dan Sinclair3c4f2a12017-03-23 14:31:50 -040023 'v8_revision': '01498094d09202413aab3ab513785261f82b755d',
Lei Zhanga2af7de2017-03-31 13:33:12 -070024 'zlib_revision': 'eed2732a73838fd581cb25819ab1c4f478d6b38f',
Dan Sinclaira03c3432016-03-16 15:35:20 -040025}
26
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070027deps = {
thestig5fec5972016-08-30 06:39:40 -070028 "base/trace_event/common":
29 Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" +
30 Var('trace_event_revision'),
31
dsinclair685bb882016-04-20 07:32:39 -070032 "build":
33 Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070034
Tom Sepez4c0e2752015-06-05 13:46:08 -070035 "buildtools":
Lei Zhangeb39cdb2017-03-31 12:26:15 -070036 Var('chromium_git') + "/chromium/buildtools.git@" +
37 Var('buildtools_revision'),
Tom Sepez4c0e2752015-06-05 13:46:08 -070038
Tom Sepez9519ab22015-03-16 15:27:19 -070039 "testing/corpus":
Dan Sinclaira03c3432016-03-16 15:35:20 -040040 Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),
Tom Sepez9519ab22015-03-16 15:27:19 -070041
Tom Sepeza310e002015-02-27 13:03:07 -080042 "testing/gmock":
Dan Sinclaira03c3432016-03-16 15:35:20 -040043 Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),
Tom Sepeza310e002015-02-27 13:03:07 -080044
Tom Sepez22ee2482015-01-07 10:04:16 -080045 "testing/gtest":
Dan Sinclaira03c3432016-03-16 15:35:20 -040046 Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),
47
Lei Zhangeb39cdb2017-03-31 12:26:15 -070048 "third_party/freetype/src":
49 Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' +
50 Var('freetype_revision'),
51
dsinclair685bb882016-04-20 07:32:39 -070052 "third_party/icu":
53 Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
54
weili62f36732016-10-14 16:59:40 -070055 "third_party/instrumented_libraries":
Lei Zhangeb39cdb2017-03-31 12:26:15 -070056 Var('chromium_git') +
57 "/chromium/src/third_party/instrumented_libraries.git@" +
58 Var('instrumented_lib_revision'),
weili62f36732016-10-14 16:59:40 -070059
Dan Sinclaira03c3432016-03-16 15:35:20 -040060 "third_party/skia":
Lei Zhangeb39cdb2017-03-31 12:26:15 -070061 Var('chromium_git') + '/skia.git@' + Var('skia_revision'),
Tom Sepez22ee2482015-01-07 10:04:16 -080062
Lei Zhanga2af7de2017-03-31 13:33:12 -070063 "third_party/zlib":
64 Var('chromium_git') + "/chromium/src/third_party/zlib.git@" +
65 Var('zlib_revision'),
66
Oliver Changafaa98e2015-10-21 15:29:47 -070067 "tools/clang":
weilib34d72b2016-04-18 12:24:36 -070068 Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'),
Oliver Changafaa98e2015-10-21 15:29:47 -070069
dsinclair11988d72016-05-04 10:17:00 -070070 "tools/generate_library_loader":
71 Var('chromium_git') + "/chromium/src/tools/generate_library_loader@" +
72 Var('gen_library_loader_revision'),
73
dsinclairfb969002016-05-31 12:55:32 -070074 "tools/memory":
75 Var('chromium_git') + "/chromium/src/tools/memory@" +
76 Var('tools_memory_revision'),
77
John Abd-El-Malekfe453722014-10-16 15:32:26 -070078 "v8":
Dan Sinclaira03c3432016-03-16 15:35:20 -040079 Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070080}
81
82deps_os = {
jbudorick7f3a15f2016-06-10 06:28:40 -070083 "android": {
84 "third_party/android_ndk":
85 Var('chromium_git') + "/android_ndk.git@" + Var('android_ndk_revision'),
86 "third_party/catapult":
Lei Zhangeb39cdb2017-03-31 12:26:15 -070087 Var('chromium_git') +
88 "/external/github.com/catapult-project/catapult.git@" +
89 Var('catapult_revision'),
jbudorick7f3a15f2016-06-10 06:28:40 -070090 },
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070091 "win": {
Lei Zhangce88e772017-03-16 16:34:54 -070092 # TODO(GYP): Remove this when no tools rely on GYP anymore.
93 "tools/gyp":
Lei Zhangeb39cdb2017-03-31 12:26:15 -070094 Var('chromium_git') + '/external/gyp.git@' +
95 'c61b0b35c8396bfd59efc6cfc11401d912b0f510',
Lei Zhangce88e772017-03-16 16:34:54 -070096
John Abd-El-Malekfe453722014-10-16 15:32:26 -070097 "v8/third_party/cygwin":
Dan Sinclaira03c3432016-03-16 15:35:20 -040098 Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070099 },
100}
Tom Sepez4c0e2752015-06-05 13:46:08 -0700101
thestig3873f302016-09-28 17:39:26 -0700102recursedeps = [
103 # buildtools provides clang_format, libc++, and libc++abi
104 'buildtools',
105]
106
Tom Sepez4c0e2752015-06-05 13:46:08 -0700107include_rules = [
Lei Zhang8fec3e42015-11-04 15:32:02 -0800108 # Basic stuff that everyone can use.
109 # Note: public is not here because core cannot depend on public.
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700110 '+testing',
111 '+third_party/base',
Tom Sepez4c0e2752015-06-05 13:46:08 -0700112]
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700113
weili90c964f2016-04-22 15:25:14 -0700114specific_include_rules = {
115 # Allow embedder tests to use public APIs.
116 "(.*embeddertest\.cpp)": [
117 "+public",
118 ]
119}
120
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700121hooks = [
dsinclair685bb882016-04-20 07:32:39 -0700122 # Pull GN binaries. This needs to be before running GYP below.
123 {
dsinclairb4e87082016-04-20 12:18:16 -0700124 'name': 'gn_win',
dsinclair685bb882016-04-20 07:32:39 -0700125 'action': [ 'download_from_google_storage',
126 '--no_resume',
127 '--platform=win32',
128 '--no_auth',
129 '--bucket', 'chromium-gn',
130 '-s', 'pdfium/buildtools/win/gn.exe.sha1',
131 ],
132 },
133 {
134 'name': 'gn_mac',
135 'pattern': '.',
136 'action': [ 'download_from_google_storage',
137 '--no_resume',
138 '--platform=darwin',
139 '--no_auth',
140 '--bucket', 'chromium-gn',
141 '-s', 'pdfium/buildtools/mac/gn.sha1',
142 ],
143 },
144 {
145 'name': 'gn_linux64',
146 'pattern': '.',
147 'action': [ 'download_from_google_storage',
148 '--no_resume',
149 '--platform=linux*',
150 '--no_auth',
151 '--bucket', 'chromium-gn',
152 '-s', 'pdfium/buildtools/linux64/gn.sha1',
153 ],
154 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700155 # Pull clang-format binaries using checked-in hashes.
156 {
157 'name': 'clang_format_win',
158 'pattern': '.',
159 'action': [ 'download_from_google_storage',
160 '--no_resume',
161 '--platform=win32',
162 '--no_auth',
163 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700164 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700165 ],
166 },
167 {
168 'name': 'clang_format_mac',
169 'pattern': '.',
170 'action': [ 'download_from_google_storage',
171 '--no_resume',
172 '--platform=darwin',
173 '--no_auth',
174 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700175 '-s', 'pdfium/buildtools/mac/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700176 ],
177 },
178 {
179 'name': 'clang_format_linux',
180 'pattern': '.',
181 'action': [ 'download_from_google_storage',
182 '--no_resume',
183 '--platform=linux*',
184 '--no_auth',
185 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700186 '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700187 ],
188 },
Oliver Changafaa98e2015-10-21 15:29:47 -0700189 {
dsinclairb12fbdde2016-09-19 10:45:14 -0700190 # Pull clang
Oliver Changafaa98e2015-10-21 15:29:47 -0700191 'name': 'clang',
192 'pattern': '.',
dsinclair685bb882016-04-20 07:32:39 -0700193 'action': ['python',
dsinclairb12fbdde2016-09-19 10:45:14 -0700194 'pdfium/tools/clang/scripts/update.py'
dsinclair685bb882016-04-20 07:32:39 -0700195 ],
Oliver Changafaa98e2015-10-21 15:29:47 -0700196 },
weili9a1b6652016-04-28 15:26:45 -0700197 {
198 # Update the Windows toolchain if necessary.
199 'name': 'win_toolchain',
200 'pattern': '.',
weili5593bb82016-04-29 20:14:55 -0700201 'action': ['python', 'pdfium/build/vs_toolchain.py', 'update'],
weili9a1b6652016-04-28 15:26:45 -0700202 },
weili62f36732016-10-14 16:59:40 -0700203 {
weili9053f192016-11-18 14:03:49 -0800204 # Update the Mac toolchain if necessary.
205 'name': 'mac_toolchain',
206 'pattern': '.',
207 'action': ['python', 'pdfium/build/mac_toolchain.py'],
208 },
Tom Anderson4e8edf52017-03-30 18:27:21 -0700209 {
210 # Pull sanitizer-instrumented third-party libraries if requested via
211 # GYP_DEFINES.
212 'name': 'instrumented_libraries',
213 'pattern': '\\.sha1',
214 'action': ['python', 'pdfium/third_party/instrumented_libraries/scripts/download_binaries.py'],
215 },
weili62f36732016-10-14 16:59:40 -0700216
Tom Sepeze9446f82015-08-13 15:51:43 -0700217]