blob: 1a08ef31eb455dc68754ec3c39b62f99851529f1 [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
dsinclair76c53792016-04-26 11:05:26 -07007 'build_revision': '28e8fda8744c8c44bac72eee610642798daf2705',
dsinclair685bb882016-04-20 07:32:39 -07008 'buildtools_revision': '5378d73123b64907773cc5c1bb027b2f765ff00a',
dsinclair76c53792016-04-26 11:05:26 -07009 'clang_revision': 'b6f620b311665e2d96d0921833f54295b9bbf925',
Dan Sinclaira03c3432016-03-16 15:35:20 -040010 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
11 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
12 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
thestigf1accf62016-04-12 16:54:56 -070013 'icu_revision': 'c291cde264469b20ca969ce8832088acb21e0c48',
dsinclair4f70b532016-04-21 10:54:40 -070014 'pdfium_tests_revision': '7e5050a49256a7350df9b8d7ad86e911eb83c021',
Cary Clark029ea3e2016-03-23 15:31:37 -040015 'skia_revision': '0a291c7b7eea1807bd58bdaa60c258fd0ebeb257',
Dan Sinclaira03c3432016-03-16 15:35:20 -040016 'trace_event_revision': 'd83d44b13d07c2fd0a40101a7deef9b93b841732',
dsinclair76c53792016-04-26 11:05:26 -070017 'v8_revision': '5cd0d8f27e3f740179a8a3de7b9d2c0cfae7afb9',
Dan Sinclaira03c3432016-03-16 15:35:20 -040018
19}
20
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070021deps = {
dsinclair685bb882016-04-20 07:32:39 -070022 "build":
23 Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070024
Tom Sepez4c0e2752015-06-05 13:46:08 -070025 "buildtools":
Dan Sinclaira03c3432016-03-16 15:35:20 -040026 Var('chromium_git') + "/chromium/buildtools.git@" + Var('buildtools_revision'),
Tom Sepez4c0e2752015-06-05 13:46:08 -070027
Tom Sepez9519ab22015-03-16 15:27:19 -070028 "testing/corpus":
Dan Sinclaira03c3432016-03-16 15:35:20 -040029 Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),
Tom Sepez9519ab22015-03-16 15:27:19 -070030
Tom Sepeza310e002015-02-27 13:03:07 -080031 "testing/gmock":
Dan Sinclaira03c3432016-03-16 15:35:20 -040032 Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),
Tom Sepeza310e002015-02-27 13:03:07 -080033
Tom Sepez22ee2482015-01-07 10:04:16 -080034 "testing/gtest":
Dan Sinclaira03c3432016-03-16 15:35:20 -040035 Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),
36
dsinclair685bb882016-04-20 07:32:39 -070037 "third_party/icu":
38 Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
39
Dan Sinclaira03c3432016-03-16 15:35:20 -040040 "third_party/skia":
41 Var('chromium_git') + '/skia.git' + '@' + Var('skia_revision'),
Tom Sepez22ee2482015-01-07 10:04:16 -080042
Oliver Changafaa98e2015-10-21 15:29:47 -070043 "tools/clang":
weilib34d72b2016-04-18 12:24:36 -070044 Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'),
Oliver Changafaa98e2015-10-21 15:29:47 -070045
dsinclair685bb882016-04-20 07:32:39 -070046 "tools/gyp":
47 Var('chromium_git') + "/external/gyp",
48
John Abd-El-Malekfe453722014-10-16 15:32:26 -070049 "v8":
Dan Sinclaira03c3432016-03-16 15:35:20 -040050 Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),
Lei Zhang0ef109f2016-01-11 12:24:16 -080051
52 "v8/base/trace_event/common":
Dan Sinclaira03c3432016-03-16 15:35:20 -040053 Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" + Var('trace_event_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070054}
55
56deps_os = {
57 "win": {
John Abd-El-Malekfe453722014-10-16 15:32:26 -070058 "v8/third_party/cygwin":
Dan Sinclaira03c3432016-03-16 15:35:20 -040059 Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
Aneesh Mulye2ee9c3a2014-08-06 18:11:02 -070060 },
61}
Tom Sepez4c0e2752015-06-05 13:46:08 -070062
63include_rules = [
Lei Zhang8fec3e42015-11-04 15:32:02 -080064 # Basic stuff that everyone can use.
65 # Note: public is not here because core cannot depend on public.
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070066 '+testing',
67 '+third_party/base',
Tom Sepez4c0e2752015-06-05 13:46:08 -070068]
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070069
weili90c964f2016-04-22 15:25:14 -070070specific_include_rules = {
71 # Allow embedder tests to use public APIs.
72 "(.*embeddertest\.cpp)": [
73 "+public",
74 ]
75}
76
Tom Sepez0c1bd7c2015-06-17 15:56:43 -070077hooks = [
dsinclair685bb882016-04-20 07:32:39 -070078 # Pull GN binaries. This needs to be before running GYP below.
79 {
dsinclairb4e87082016-04-20 12:18:16 -070080 'name': 'gn_win',
dsinclair685bb882016-04-20 07:32:39 -070081 'action': [ 'download_from_google_storage',
82 '--no_resume',
83 '--platform=win32',
84 '--no_auth',
85 '--bucket', 'chromium-gn',
86 '-s', 'pdfium/buildtools/win/gn.exe.sha1',
87 ],
88 },
89 {
90 'name': 'gn_mac',
91 'pattern': '.',
92 'action': [ 'download_from_google_storage',
93 '--no_resume',
94 '--platform=darwin',
95 '--no_auth',
96 '--bucket', 'chromium-gn',
97 '-s', 'pdfium/buildtools/mac/gn.sha1',
98 ],
99 },
100 {
101 'name': 'gn_linux64',
102 'pattern': '.',
103 'action': [ 'download_from_google_storage',
104 '--no_resume',
105 '--platform=linux*',
106 '--no_auth',
107 '--bucket', 'chromium-gn',
108 '-s', 'pdfium/buildtools/linux64/gn.sha1',
109 ],
110 },
111 {
112 # Downloads the current stable linux sysroot to build/linux/ if needed.
113 # This sysroot updates at about the same rate that the chrome build deps
114 # change. This script is a no-op except for linux users who are doing
115 # official chrome builds or cross compiling.
116 'name': 'sysroot',
117 'pattern': '.',
118 'action': ['python',
119 'pdfium/build/linux/sysroot_scripts/install-sysroot.py',
120 '--running-as-hook'
121 ],
122 },
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700123 {
124 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
125 'name': 'gyp',
126 'pattern': '.',
dsinclairc37b04e2016-04-19 11:04:01 -0700127 'action': ['python', 'pdfium/build_gyp/gyp_pdfium'],
Tom Sepez0c1bd7c2015-06-17 15:56:43 -0700128 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700129 # Pull clang-format binaries using checked-in hashes.
130 {
131 'name': 'clang_format_win',
132 'pattern': '.',
133 'action': [ 'download_from_google_storage',
134 '--no_resume',
135 '--platform=win32',
136 '--no_auth',
137 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700138 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700139 ],
140 },
141 {
142 'name': 'clang_format_mac',
143 'pattern': '.',
144 'action': [ 'download_from_google_storage',
145 '--no_resume',
146 '--platform=darwin',
147 '--no_auth',
148 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700149 '-s', 'pdfium/buildtools/mac/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700150 ],
151 },
152 {
153 'name': 'clang_format_linux',
154 'pattern': '.',
155 'action': [ 'download_from_google_storage',
156 '--no_resume',
157 '--platform=linux*',
158 '--no_auth',
159 '--bucket', 'chromium-clang-format',
Oliver Chang5a21e142015-10-21 15:19:20 -0700160 '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
Tom Sepeze9446f82015-08-13 15:51:43 -0700161 ],
162 },
Oliver Changafaa98e2015-10-21 15:29:47 -0700163 {
164 # Pull clang if needed or requested via GYP_DEFINES.
165 'name': 'clang',
166 'pattern': '.',
dsinclair685bb882016-04-20 07:32:39 -0700167 'action': ['python',
168 'pdfium/tools/clang/scripts/update.py',
169 '--if-needed'
170 ],
Oliver Changafaa98e2015-10-21 15:29:47 -0700171 },
weili9a1b6652016-04-28 15:26:45 -0700172 {
173 # Update the Windows toolchain if necessary.
174 'name': 'win_toolchain',
175 'pattern': '.',
176 'action': ['python', 'pdfium/build_gyp/vs_toolchain.py', 'update'],
177 },
Tom Sepeze9446f82015-08-13 15:51:43 -0700178]