blob: 27e7a280c82962e2d447ad32a1b5674951df9683 [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
dsinclair11988d72016-05-04 10:17:00 -07007 'build_revision': 'c557a3544d31513394681f40c8c2512cf7ddcb9e',
8 'buildtools_revision': '309289315767f615256eada4653b4917cf148c8e',
dsinclair76c53792016-04-26 11:05:26 -07009 'clang_revision': 'b6f620b311665e2d96d0921833f54295b9bbf925',
Dan Sinclaira03c3432016-03-16 15:35:20 -040010 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
dsinclair11988d72016-05-04 10:17:00 -070011 'gen_library_loader_revision': '916d4acd8b2cde67a390737dfba90b3c37de23a1',
Dan Sinclaira03c3432016-03-16 15:35:20 -040012 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
13 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
thestigf1accf62016-04-12 16:54:56 -070014 'icu_revision': 'c291cde264469b20ca969ce8832088acb21e0c48',
tsepezd7725bb2016-05-04 16:20:35 -070015 'pdfium_tests_revision': '6c769320872e6ca82da4adaec1a497237f71b543',
caryclarkbc85eec2016-06-08 12:58:40 -070016 'skia_revision': '7942f22c607caf826a6a609b89338a569d0a30e7',
dsinclairfb969002016-05-31 12:55:32 -070017 'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d',
Dan Sinclaira03c3432016-03-16 15:35:20 -040018 'trace_event_revision': 'd83d44b13d07c2fd0a40101a7deef9b93b841732',
jochen38a1f0a2016-05-31 12:07:40 -070019 'v8_revision': '055bfa771a7bd763305d3bafd43e39459abc95a4',
Dan Sinclaira03c3432016-03-16 15:35:20 -040020}
21
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070022deps = {
dsinclair685bb882016-04-20 07:32:39 -070023 "build":
24 Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070025
Tom Sepez4c0e2752015-06-05 13:46:08 -070026 "buildtools":
Dan Sinclaira03c3432016-03-16 15:35:20 -040027 Var('chromium_git') + "/chromium/buildtools.git@" + Var('buildtools_revision'),
Tom Sepez4c0e2752015-06-05 13:46:08 -070028
Tom Sepez9519ab22015-03-16 15:27:19 -070029 "testing/corpus":
Dan Sinclaira03c3432016-03-16 15:35:20 -040030 Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),
Tom Sepez9519ab22015-03-16 15:27:19 -070031
Tom Sepeza310e002015-02-27 13:03:07 -080032 "testing/gmock":
Dan Sinclaira03c3432016-03-16 15:35:20 -040033 Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),
Tom Sepeza310e002015-02-27 13:03:07 -080034
Tom Sepez22ee2482015-01-07 10:04:16 -080035 "testing/gtest":
Dan Sinclaira03c3432016-03-16 15:35:20 -040036 Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),
37
dsinclair685bb882016-04-20 07:32:39 -070038 "third_party/icu":
39 Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
40
Dan Sinclaira03c3432016-03-16 15:35:20 -040041 "third_party/skia":
42 Var('chromium_git') + '/skia.git' + '@' + Var('skia_revision'),
Tom Sepez22ee2482015-01-07 10:04:16 -080043
Oliver Changafaa98e2015-10-21 15:29:47 -070044 "tools/clang":
weilib34d72b2016-04-18 12:24:36 -070045 Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'),
Oliver Changafaa98e2015-10-21 15:29:47 -070046
dsinclair11988d72016-05-04 10:17:00 -070047 "tools/generate_library_loader":
48 Var('chromium_git') + "/chromium/src/tools/generate_library_loader@" +
49 Var('gen_library_loader_revision'),
50
dsinclair685bb882016-04-20 07:32:39 -070051 "tools/gyp":
52 Var('chromium_git') + "/external/gyp",
53
dsinclairfb969002016-05-31 12:55:32 -070054 "tools/memory":
55 Var('chromium_git') + "/chromium/src/tools/memory@" +
56 Var('tools_memory_revision'),
57
John Abd-El-Malekfe453722014-10-16 15:32:26 -070058 "v8":
Dan Sinclaira03c3432016-03-16 15:35:20 -040059 Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),
Lei Zhang0ef109f2016-01-11 12:24:16 -080060
61 "v8/base/trace_event/common":
dsinclairfb969002016-05-31 12:55:32 -070062 Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" +
63 Var('trace_event_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070064}
65
66deps_os = {
67 "win": {
John Abd-El-Malekfe453722014-10-16 15:32:26 -070068 "v8/third_party/cygwin":
Dan Sinclaira03c3432016-03-16 15:35:20 -040069 Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070070 },
71}
Tom Sepez4c0e2752015-06-05 13:46:08 -070072
73include_rules = [
Lei Zhang8fec3e42015-11-04 15:32:02 -080074 # Basic stuff that everyone can use.
75 # Note: public is not here because core cannot depend on public.
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070076 '+testing',
77 '+third_party/base',
Tom Sepez4c0e2752015-06-05 13:46:08 -070078]
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070079
weili90c964f2016-04-22 15:25:14 -070080specific_include_rules = {
81 # Allow embedder tests to use public APIs.
82 "(.*embeddertest\.cpp)": [
83 "+public",
84 ]
85}
86
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070087hooks = [
dsinclair685bb882016-04-20 07:32:39 -070088 # Pull GN binaries. This needs to be before running GYP below.
89 {
dsinclairb4e87082016-04-20 12:18:16 -070090 'name': 'gn_win',
dsinclair685bb882016-04-20 07:32:39 -070091 'action': [ 'download_from_google_storage',
92 '--no_resume',
93 '--platform=win32',
94 '--no_auth',
95 '--bucket', 'chromium-gn',
96 '-s', 'pdfium/buildtools/win/gn.exe.sha1',
97 ],
98 },
99 {
100 'name': 'gn_mac',
101 'pattern': '.',
102 'action': [ 'download_from_google_storage',
103 '--no_resume',
104 '--platform=darwin',
105 '--no_auth',
106 '--bucket', 'chromium-gn',
107 '-s', 'pdfium/buildtools/mac/gn.sha1',
108 ],
109 },
110 {
111 'name': 'gn_linux64',
112 'pattern': '.',
113 'action': [ 'download_from_google_storage',
114 '--no_resume',
115 '--platform=linux*',
116 '--no_auth',
117 '--bucket', 'chromium-gn',
118 '-s', 'pdfium/buildtools/linux64/gn.sha1',
119 ],
120 },
121 {
122 # Downloads the current stable linux sysroot to build/linux/ if needed.
123 # This sysroot updates at about the same rate that the chrome build deps
124 # change. This script is a no-op except for linux users who are doing
125 # official chrome builds or cross compiling.
126 'name': 'sysroot',
127 'pattern': '.',
128 'action': ['python',
129 'pdfium/build/linux/sysroot_scripts/install-sysroot.py',
130 '--running-as-hook'
131 ],
132 },
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700133 {
134 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
135 'name': 'gyp',
136 'pattern': '.',
dsinclairc37b04e2016-04-19 11:04:01 -0700137 'action': ['python', 'pdfium/build_gyp/gyp_pdfium'],
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700138 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700139 # Pull clang-format binaries using checked-in hashes.
140 {
141 'name': 'clang_format_win',
142 'pattern': '.',
143 'action': [ 'download_from_google_storage',
144 '--no_resume',
145 '--platform=win32',
146 '--no_auth',
147 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700148 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700149 ],
150 },
151 {
152 'name': 'clang_format_mac',
153 'pattern': '.',
154 'action': [ 'download_from_google_storage',
155 '--no_resume',
156 '--platform=darwin',
157 '--no_auth',
158 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700159 '-s', 'pdfium/buildtools/mac/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700160 ],
161 },
162 {
163 'name': 'clang_format_linux',
164 'pattern': '.',
165 'action': [ 'download_from_google_storage',
166 '--no_resume',
167 '--platform=linux*',
168 '--no_auth',
169 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700170 '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700171 ],
172 },
Oliver Changafaa98e2015-10-21 15:29:47 -0700173 {
174 # Pull clang if needed or requested via GYP_DEFINES.
175 'name': 'clang',
176 'pattern': '.',
dsinclair685bb882016-04-20 07:32:39 -0700177 'action': ['python',
178 'pdfium/tools/clang/scripts/update.py',
179 '--if-needed'
180 ],
Oliver Changafaa98e2015-10-21 15:29:47 -0700181 },
weili9a1b6652016-04-28 15:26:45 -0700182 {
183 # Update the Windows toolchain if necessary.
184 'name': 'win_toolchain',
185 'pattern': '.',
weili5593bb82016-04-29 20:14:55 -0700186 'action': ['python', 'pdfium/build/vs_toolchain.py', 'update'],
weili9a1b6652016-04-28 15:26:45 -0700187 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700188]