Skip to content
This repository was archived by the owner on Apr 10, 2025. It is now read-only.

Commit 3f47828

Browse files
committed
Make this buildable again after Chromium SVN turndown
Besides the changes made in trunk, this required cherry-picking Steve's update of proto (since that also used to come from Chromium SVN), and picking an older RE2 release since MPS stable doesn't require C++11. Also updates the travis config to not use the turned down SVN in its scripts to get depot_tools.
2 parents 523e213 + 1bb708b commit 3f47828

30 files changed

+5845
-117
lines changed

.gitignore

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
Makefile
2+
!third_party/libjpeg_turbo/yasm/source/config/linux/Makefile
23
*.mk
34
*.Makefile
45
out/*
56
testing/*
6-
build/android/*
7-
build/mac/*
8-
build/linux/*
9-
build/internal/*
10-
build/win/*
11-
build/ios/*
127
build/gyp_helper.pyc
138
build/landmine_utils.pyc
149
build/temp_gyp/*
@@ -19,7 +14,7 @@ third_party/boringssl/*
1914
third_party/chromium/src/base/*
2015
third_party/chromium/src/build/*
2116
third_party/chromium/src/net/base/*
22-
third_party/chromium/src/url/*
17+
third_party/chromium/src/googleurl/*
2318
third_party/chromium_deps/*
2419
third_party/closure_library/*
2520
third_party/domain_registry_provider/*
@@ -31,14 +26,13 @@ third_party/httpd24/src/*
3126
third_party/icu/*
3227
third_party/jsoncpp/src/*
3328
third_party/libjpeg_turbo/src/*
34-
third_party/libjpeg_turbo/yasm/*
3529
third_party/libpng/src/*
3630
third_party/libwebp/*
3731
third_party/mod_spdy/*
3832
third_party/modp_b64/*
3933
third_party/optipng/*
4034
third_party/pagespeed*
41-
third_party/protobuf/*
35+
third_party/protobuf/src/*
4236
third_party/re2/src/*
4337
third_party/serf/src/*
4438
third_party/zlib/*

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ install:
1111
- sudo sh -c 'echo "image/webp webp" >> /etc/mime.types'
1212
- mkdir -p ~/bin
1313
- cd ~/bin
14-
- svn co https://src.chromium.org/svn/trunk/tools/depot_tools 2>&1 > /dev/null
14+
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
1515
- cd ~/build_directory
1616
- ~/bin/depot_tools/gclient config https://github.com/pagespeed/mod_pagespeed.git --unmanaged --name=src
1717
- ~/bin/depot_tools/gclient sync --force --jobs=1

DEPS

Lines changed: 18 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@ vars = {
1717
# that don't end with a trailing slash to http. We therefore try to make sure
1818
# all https URLs include the trailing slash, but it's unclear if SVN actually
1919
# respects this.
20-
"chromium_trunk": "https://src.chromium.org/svn/trunk/",
2120
"chromium_git": "https://chromium.googlesource.com",
2221
# We don't include @ inside the revision here as is customary since
2322
# we want to pass this into a -D flag
2423
"chromium_revision_num": "256281",
25-
"chromium_deps_root": "src/third_party/chromium_deps",
2624

2725
"libpagespeed_svn_root": "https://github.com/pagespeed/page-speed/trunk/",
2826
"libpagespeed_trunk": "https://github.com/pagespeed/page-speed/trunk/lib/trunk/",
@@ -93,37 +91,18 @@ vars = {
9391

9492
"libpng_src": "https://github.com/glennrp/libpng.git",
9593
"libpng_revision": "@a36c4f3f165fb2dd1772603da7f996eb40326621",
94+
95+
"proto_src": "https://github.com/google/protobuf.git",
96+
"protobuf_revision": "v3.0.0",
9697
}
9798

9899
deps = {
99100

100-
# Fetch dependent DEPS so we can sync our other dependencies relative
101-
# to them.
102-
Var("chromium_deps_root"):
103-
File(Var("chromium_trunk") + "src/DEPS@" + Var("chromium_revision_num")),
104-
105101
# Other dependencies.
106102
"src/build/temp_gyp":
107103
Var("libpagespeed_trunk") + "src/build/temp_gyp/" +
108104
Var("libpagespeed_revision"),
109105

110-
# We check 'build/android' out of Chromium repo to get
111-
# 'android/cpufeatures.gypi', which is needed to compile libwebp.
112-
"src/build/android":
113-
Var("chromium_trunk") + "src/build/android/@" +
114-
Var("chromium_revision_num"),
115-
"src/build/ios":
116-
Var("chromium_trunk") + "src/build/ios/@" + Var("chromium_revision_num"),
117-
"src/build/internal":
118-
Var("chromium_trunk") + "src/build/internal/@" +
119-
Var("chromium_revision_num"),
120-
"src/build/linux":
121-
Var("chromium_trunk") + "src/build/linux/@" + Var("chromium_revision_num"),
122-
"src/build/mac":
123-
Var("chromium_trunk") + "src/build/mac/@" + Var("chromium_revision_num"),
124-
"src/build/win":
125-
Var("chromium_trunk") + "src/build/win/@" + Var("chromium_revision_num"),
126-
127106
# TODO(huibao): Remove references to libpagespeed.
128107
"src/third_party/giflib":
129108
Var("libpagespeed_svn_root") + "deps/giflib-4.1.6/",
@@ -132,21 +111,13 @@ deps = {
132111
Var("libpagespeed_svn_root") + "deps/optipng-0.7.4/",
133112
"src/third_party/zlib": Var("libpagespeed_svn_root") + "deps/zlib-1.2.5/",
134113

135-
# Yasm assember is required for libjpeg_turbo.
136-
"src/third_party/libjpeg_turbo/yasm":
137-
Var("chromium_trunk") + "src/third_party/yasm/@" +
138-
Var("chromium_revision_num"),
139-
140114
"src/third_party/libjpeg_turbo/yasm/source/patched-yasm":
141-
Var("chromium_trunk") + "deps/third_party/yasm/patched-yasm/@" +
142-
Var("chromium_revision_num"),
143-
115+
Var("chromium_git") + "/chromium/deps/yasm/patched-yasm@7da28c6c7c6a1387217352ce02b31754deb54d2a",
144116
"src/third_party/libjpeg_turbo/src":
145-
Var("chromium_trunk") + "deps/third_party/libjpeg_turbo/@" +
146-
Var("chromium_revision_num"),
117+
Var("chromium_git") + "/chromium/deps/libjpeg_turbo/@7260e4d8b8e1e40b17f03fafdf1cd83296900f76",
147118

148119
"src/testing":
149-
Var("chromium_trunk") + "src/testing/@" + Var("chromium_revision_num"),
120+
Var("chromium_git") + "/chromium/src/testing/@3207604f790d18c626e9dcb1a09874618c68844b",
150121
"src/testing/gtest": Var("gtest_src") + Var("gtest_revision"),
151122
"src/testing/gmock": Var("gmock_src") + Var("gmock_revision"),
152123

@@ -170,16 +141,14 @@ deps = {
170141
Var("apache_httpd24_src") + "os/" + Var("apache_httpd24_revision"),
171142

172143
"src/third_party/chromium/src/base":
173-
Var("chromium_trunk") + "src/base/@" + Var("chromium_revision_num"),
144+
Var("chromium_git") + "/chromium/src/base@ccf3c2f324c4ae0d1aa878921b7c98f7deca5ee8",
174145

175146
"src/third_party/chromium/src/build":
176-
Var("chromium_trunk") + "src/build/@" + Var("chromium_revision_num"),
177-
178-
"src/third_party/chromium/src/net/base":
179-
Var("chromium_trunk") + "src/net/base@" + Var("chromium_revision_num"),
147+
Var("chromium_git") + "/chromium/src/build/@06b7bd9c7a8adb3708db8df4dc058de94f0d5554",
180148

181-
"src/third_party/chromium/src/url":
182-
Var("chromium_trunk") + "src/url@" + Var("chromium_revision_num"),
149+
# This revision is before headers got moved to main chromium repo.
150+
"src/third_party/chromium/src/googleurl":
151+
Var("chromium_git") + "/external/google-url@405b6e1798f88e85291820b30344723512e0c38f",
183152

184153
"src/third_party/closure_library":
185154
Var("closure_library") + Var("closure_library_revision"),
@@ -193,9 +162,8 @@ deps = {
193162
"src/third_party/google-sparsehash":
194163
Var("google_sparsehash_root") + Var("google_sparsehash_revision"),
195164

196-
"src/third_party/protobuf":
197-
Var("chromium_trunk") + "src/third_party/protobuf/@" +
198-
Var("chromium_revision_num"),
165+
"src/third_party/protobuf/src":
166+
Var("proto_src") + '@' + Var("protobuf_revision"),
199167

200168
# Json cpp.
201169
"src/third_party/jsoncpp/src":
@@ -209,21 +177,21 @@ deps = {
209177
"src/third_party/libwebp": Var("libwebp_src") + Var("libwebp_revision"),
210178

211179
"src/tools/clang":
212-
Var("chromium_trunk") + "src/tools/clang/@" + Var("chromium_revision_num"),
180+
Var("chromium_git") + "/chromium/src/tools/clang/@bf272f7b05896b9a18de8497383f8b873a86cfbc",
213181

214182
# This is the same commit as the version from svn included from chromium_deps,
215183
# but the svn is down, so we take it from chromium-git.
216184
"src/tools/gyp":
217185
Var("chromium_git") + "/external/gyp@" + "0fb31294ae844bbf83eba05876b7a241b66f1e99",
218186

219187
"src/third_party/modp_b64":
220-
Var("chromium_trunk") + "src/third_party/modp_b64/@" +
221-
Var("chromium_revision_num"),
188+
Var("chromium_git") + "/chromium/src/third_party/modp_b64/@aae60754fa997799e8037f5e8ca1f56d58df763d",
222189

223190
# RE2.
191+
# This is release 2016-02-01, the latest that works w/o C++11 (which we don't
192+
# require on this branch).
224193
"src/third_party/re2/src":
225-
Var("chromium_trunk") + "src/third_party/re2/@" +
226-
Var("chromium_revision_num"),
194+
"https://github.com/google/re2.git/@7436831ef39b89b3a2ea50be91cf09732a900239",
227195

228196
# Comment to disable HTTPS fetching via serf. See also the
229197
# references in src/third_party/serf/serf.gyp.
@@ -239,20 +207,6 @@ deps = {
239207
}
240208

241209

242-
deps_os = {
243-
"win": {
244-
"src/third_party/cygwin": From(Var("chromium_deps_root")),
245-
"src/third_party/python_26":
246-
Var("chromium_trunk") + "tools/third_party/python_26/@" +
247-
Var("chromium_revision_num"),
248-
},
249-
"mac": {
250-
},
251-
"unix": {
252-
},
253-
}
254-
255-
256210
include_rules = [
257211
# Everybody can use some things.
258212
"+base",
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Copyright 2013 The Chromium Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style license that can be
3+
# found in the LICENSE file.
4+
5+
# This file is meant to be included into an action to provide an action that
6+
# combines a directory of shared libraries and an incomplete APK into a
7+
# standalone APK.
8+
#
9+
# To use this, create a gyp action with the following form:
10+
# {
11+
# 'action_name': 'some descriptive action name',
12+
# 'variables': {
13+
# 'inputs': [ 'input_path1', 'input_path2' ],
14+
# 'input_apk_path': '<(unsigned_apk_path)',
15+
# 'output_apk_path': '<(unsigned_standalone_apk_path)',
16+
# 'libraries_top_dir': '<(libraries_top_dir)',
17+
# },
18+
# 'includes': [ 'relative/path/to/create_standalone_apk_action.gypi' ],
19+
# },
20+
21+
{
22+
'message': 'Creating standalone APK: <(output_apk_path)',
23+
'variables': {
24+
'inputs': [],
25+
},
26+
'inputs': [
27+
'<(DEPTH)/build/android/gyp/util/build_utils.py',
28+
'<(DEPTH)/build/android/gyp/create_standalone_apk.py',
29+
'<(input_apk_path)',
30+
'>@(inputs)',
31+
],
32+
'outputs': [
33+
'<(output_apk_path)',
34+
],
35+
'action': [
36+
'python', '<(DEPTH)/build/android/gyp/create_standalone_apk.py',
37+
'--libraries-top-dir=<(libraries_top_dir)',
38+
'--input-apk-path=<(input_apk_path)',
39+
'--output-apk-path=<(output_apk_path)',
40+
],
41+
}

build/android/dex_action.gypi

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Copyright 2013 The Chromium Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style license that can be
3+
# found in the LICENSE file.
4+
5+
# This file is meant to be included into an action to provide a rule that dexes
6+
# compiled java files. If proguard_enabled == "true" and CONFIGURATION_NAME ==
7+
# "Release", then it will dex the proguard_enabled_input_path instead of the
8+
# normal dex_input_paths/dex_generated_input_paths.
9+
#
10+
# To use this, create a gyp target with the following form:
11+
# {
12+
# 'action_name': 'some name for the action'
13+
# 'actions': [
14+
# 'variables': {
15+
# 'dex_input_paths': [ 'files to dex (when proguard is not used) and add to input paths' ],
16+
# 'dex_generated_input_dirs': [ 'dirs that contain generated files to dex' ],
17+
#
18+
# # For targets that use proguard:
19+
# 'proguard_enabled': 'true',
20+
# 'proguard_enabled_input_path': 'path to dex when using proguard',
21+
# },
22+
# 'includes': [ 'relative/path/to/dex_action.gypi' ],
23+
# ],
24+
# },
25+
#
26+
27+
{
28+
'message': 'Creating dex file: <(output_path)',
29+
'variables': {
30+
'dex_input_paths': [],
31+
'dex_generated_input_dirs': [],
32+
'proguard_enabled%': 'false',
33+
'proguard_enabled_input_path%': '',
34+
'dex_no_locals%': 0,
35+
},
36+
'inputs': [
37+
'<(DEPTH)/build/android/gyp/util/build_utils.py',
38+
'<(DEPTH)/build/android/gyp/util/md5_check.py',
39+
'<(DEPTH)/build/android/gyp/dex.py',
40+
'>@(dex_input_paths)',
41+
],
42+
'outputs': [
43+
'<(output_path)',
44+
],
45+
'action': [
46+
'python', '<(DEPTH)/build/android/gyp/dex.py',
47+
'--dex-path=<(output_path)',
48+
'--android-sdk-tools=<(android_sdk_tools)',
49+
'--configuration-name=<(CONFIGURATION_NAME)',
50+
'--proguard-enabled=<(proguard_enabled)',
51+
'--proguard-enabled-input-path=<(proguard_enabled_input_path)',
52+
'--no-locals=<(dex_no_locals)',
53+
'>@(dex_input_paths)',
54+
'>@(dex_generated_input_dirs)',
55+
]
56+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright 2013 The Chromium Authors. All rights reserved.
2+
# Use of this source code is governed by a BSD-style license that can be
3+
# found in the LICENSE file.
4+
5+
# This file is meant to be included into an action to provide an action that
6+
# signs and zipaligns an APK.
7+
#
8+
# To use this, create a gyp action with the following form:
9+
# {
10+
# 'action_name': 'some descriptive action name',
11+
# 'variables': {
12+
# 'input_apk_path': 'relative/path/to/input.apk',
13+
# 'output_apk_path': 'relative/path/to/output.apk',
14+
# },
15+
# 'includes': [ '../../build/android/finalize_apk.gypi' ],
16+
# },
17+
#
18+
19+
{
20+
'message': 'Signing/aligning <(_target_name) APK: <(input_apk_path)',
21+
'variables': {
22+
'keystore_path%': '<(DEPTH)/build/android/ant/chromium-debug.keystore',
23+
},
24+
'inputs': [
25+
'<(DEPTH)/build/android/gyp/util/build_utils.py',
26+
'<(DEPTH)/build/android/gyp/finalize_apk.py',
27+
'<(keystore_path)',
28+
'<(input_apk_path)',
29+
],
30+
'outputs': [
31+
'<(output_apk_path)',
32+
],
33+
'action': [
34+
'python', '<(DEPTH)/build/android/gyp/finalize_apk.py',
35+
'--android-sdk-root=<(android_sdk_root)',
36+
'--unsigned-apk-path=<(input_apk_path)',
37+
'--final-apk-path=<(output_apk_path)',
38+
'--keystore-path=<(keystore_path)',
39+
],
40+
}

0 commit comments

Comments
 (0)