blob: 3f7a165ee057d4b0c9ff151e9900e33df1abeef7 [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
jbudorick7f3a15f2016-06-10 06:28:40 -07007 'android_ndk_revision': '5022f40f12953c02b2614c5f7beb981ec5d0e833',
thestigc65e11e2016-08-30 21:56:33 -07008 'build_revision': 'b73bafdd0ff0efc8835de6e646b47eec0a2a38a4',
9 'buildtools_revision': 'adb8bf4e8fc92aa1717bf151b862d58e6f27c4f2',
thestig2798a7a2016-07-01 20:26:54 -070010 'catapult_revision': '327256cb1c387e62a2c7e6960e2398867665fb51',
thestig3af1b8d2016-08-26 09:30:25 -070011 'clang_revision': '797371be0a75c9892d6acb486d0430915ea538a6',
Dan Sinclaira03c3432016-03-16 15:35:20 -040012 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
dsinclair11988d72016-05-04 10:17:00 -070013 'gen_library_loader_revision': '916d4acd8b2cde67a390737dfba90b3c37de23a1',
Dan Sinclaira03c3432016-03-16 15:35:20 -040014 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
15 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
thestig71e6e352016-08-26 09:40:19 -070016 'icu_revision': '2341038bf72869a5683a893a2b319a48ffec7f62',
jaepark35512aa2016-08-29 17:15:08 -070017 'pdfium_tests_revision': '5867fa68fa3e00016d3e31374e84eb01a3db6ac7',
thestigc65e11e2016-08-30 21:56:33 -070018 'skia_revision': '3ee255f259541eff1251c8007f9135e8d664346a',
dsinclairfb969002016-05-31 12:55:32 -070019 'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d',
jochen9e077d22016-06-09 02:51:13 -070020 'trace_event_revision': '54b8455be9505c2cb0cf5c26bb86739c236471aa',
thestigc65e11e2016-08-30 21:56:33 -070021 'v8_revision': '3d96d7eecdef82d092889703f56e81d897dcf390',
Dan Sinclaira03c3432016-03-16 15:35:20 -040022}
23
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070024deps = {
thestig5fec5972016-08-30 06:39:40 -070025 "base/trace_event/common":
26 Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" +
27 Var('trace_event_revision'),
28
dsinclair685bb882016-04-20 07:32:39 -070029 "build":
30 Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070031
Tom Sepez4c0e2752015-06-05 13:46:08 -070032 "buildtools":
Dan Sinclaira03c3432016-03-16 15:35:20 -040033 Var('chromium_git') + "/chromium/buildtools.git@" + Var('buildtools_revision'),
Tom Sepez4c0e2752015-06-05 13:46:08 -070034
Tom Sepez9519ab22015-03-16 15:27:19 -070035 "testing/corpus":
Dan Sinclaira03c3432016-03-16 15:35:20 -040036 Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),
Tom Sepez9519ab22015-03-16 15:27:19 -070037
Tom Sepeza310e002015-02-27 13:03:07 -080038 "testing/gmock":
Dan Sinclaira03c3432016-03-16 15:35:20 -040039 Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),
Tom Sepeza310e002015-02-27 13:03:07 -080040
Tom Sepez22ee2482015-01-07 10:04:16 -080041 "testing/gtest":
Dan Sinclaira03c3432016-03-16 15:35:20 -040042 Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),
43
dsinclair685bb882016-04-20 07:32:39 -070044 "third_party/icu":
45 Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
46
Dan Sinclaira03c3432016-03-16 15:35:20 -040047 "third_party/skia":
48 Var('chromium_git') + '/skia.git' + '@' + Var('skia_revision'),
Tom Sepez22ee2482015-01-07 10:04:16 -080049
Oliver Changafaa98e2015-10-21 15:29:47 -070050 "tools/clang":
weilib34d72b2016-04-18 12:24:36 -070051 Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'),
Oliver Changafaa98e2015-10-21 15:29:47 -070052
dsinclair11988d72016-05-04 10:17:00 -070053 "tools/generate_library_loader":
54 Var('chromium_git') + "/chromium/src/tools/generate_library_loader@" +
55 Var('gen_library_loader_revision'),
56
thestigb7fb1fd2016-08-26 14:39:31 -070057 # TODO(GYP): Remove this when no tools rely on GYP anymore.
dsinclair685bb882016-04-20 07:32:39 -070058 "tools/gyp":
thestig2798a7a2016-07-01 20:26:54 -070059 Var('chromium_git') + '/external/gyp.git' + '@' + 'c61b0b35c8396bfd59efc6cfc11401d912b0f510',
dsinclair685bb882016-04-20 07:32:39 -070060
dsinclairfb969002016-05-31 12:55:32 -070061 "tools/memory":
62 Var('chromium_git') + "/chromium/src/tools/memory@" +
63 Var('tools_memory_revision'),
64
John Abd-El-Malekfe453722014-10-16 15:32:26 -070065 "v8":
Dan Sinclaira03c3432016-03-16 15:35:20 -040066 Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070067}
68
69deps_os = {
jbudorick7f3a15f2016-06-10 06:28:40 -070070 "android": {
71 "third_party/android_ndk":
72 Var('chromium_git') + "/android_ndk.git@" + Var('android_ndk_revision'),
73 "third_party/catapult":
74 Var('chromium_git') + "/external/github.com/catapult-project/catapult.git@" + Var('catapult_revision'),
75 },
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070076 "win": {
John Abd-El-Malekfe453722014-10-16 15:32:26 -070077 "v8/third_party/cygwin":
Dan Sinclaira03c3432016-03-16 15:35:20 -040078 Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070079 },
80}
Tom Sepez4c0e2752015-06-05 13:46:08 -070081
82include_rules = [
Lei Zhang8fec3e42015-11-04 15:32:02 -080083 # Basic stuff that everyone can use.
84 # Note: public is not here because core cannot depend on public.
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070085 '+testing',
86 '+third_party/base',
Tom Sepez4c0e2752015-06-05 13:46:08 -070087]
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070088
weili90c964f2016-04-22 15:25:14 -070089specific_include_rules = {
90 # Allow embedder tests to use public APIs.
91 "(.*embeddertest\.cpp)": [
92 "+public",
93 ]
94}
95
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070096hooks = [
dsinclair685bb882016-04-20 07:32:39 -070097 # Pull GN binaries. This needs to be before running GYP below.
98 {
dsinclairb4e87082016-04-20 12:18:16 -070099 'name': 'gn_win',
dsinclair685bb882016-04-20 07:32:39 -0700100 'action': [ 'download_from_google_storage',
101 '--no_resume',
102 '--platform=win32',
103 '--no_auth',
104 '--bucket', 'chromium-gn',
105 '-s', 'pdfium/buildtools/win/gn.exe.sha1',
106 ],
107 },
108 {
109 'name': 'gn_mac',
110 'pattern': '.',
111 'action': [ 'download_from_google_storage',
112 '--no_resume',
113 '--platform=darwin',
114 '--no_auth',
115 '--bucket', 'chromium-gn',
116 '-s', 'pdfium/buildtools/mac/gn.sha1',
117 ],
118 },
119 {
120 'name': 'gn_linux64',
121 'pattern': '.',
122 'action': [ 'download_from_google_storage',
123 '--no_resume',
124 '--platform=linux*',
125 '--no_auth',
126 '--bucket', 'chromium-gn',
127 '-s', 'pdfium/buildtools/linux64/gn.sha1',
128 ],
129 },
130 {
131 # Downloads the current stable linux sysroot to build/linux/ if needed.
132 # This sysroot updates at about the same rate that the chrome build deps
133 # change. This script is a no-op except for linux users who are doing
134 # official chrome builds or cross compiling.
135 'name': 'sysroot',
136 'pattern': '.',
137 'action': ['python',
138 'pdfium/build/linux/sysroot_scripts/install-sysroot.py',
139 '--running-as-hook'
140 ],
141 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700142 # Pull clang-format binaries using checked-in hashes.
143 {
144 'name': 'clang_format_win',
145 'pattern': '.',
146 'action': [ 'download_from_google_storage',
147 '--no_resume',
148 '--platform=win32',
149 '--no_auth',
150 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700151 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700152 ],
153 },
154 {
155 'name': 'clang_format_mac',
156 'pattern': '.',
157 'action': [ 'download_from_google_storage',
158 '--no_resume',
159 '--platform=darwin',
160 '--no_auth',
161 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700162 '-s', 'pdfium/buildtools/mac/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700163 ],
164 },
165 {
166 'name': 'clang_format_linux',
167 'pattern': '.',
168 'action': [ 'download_from_google_storage',
169 '--no_resume',
170 '--platform=linux*',
171 '--no_auth',
172 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700173 '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700174 ],
175 },
Oliver Changafaa98e2015-10-21 15:29:47 -0700176 {
177 # Pull clang if needed or requested via GYP_DEFINES.
178 'name': 'clang',
179 'pattern': '.',
dsinclair685bb882016-04-20 07:32:39 -0700180 'action': ['python',
181 'pdfium/tools/clang/scripts/update.py',
182 '--if-needed'
183 ],
Oliver Changafaa98e2015-10-21 15:29:47 -0700184 },
weili9a1b6652016-04-28 15:26:45 -0700185 {
186 # Update the Windows toolchain if necessary.
187 'name': 'win_toolchain',
188 'pattern': '.',
weili5593bb82016-04-29 20:14:55 -0700189 'action': ['python', 'pdfium/build/vs_toolchain.py', 'update'],
weili9a1b6652016-04-28 15:26:45 -0700190 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700191]