Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2346)

Unified Diff: build/android/gyp/write_build_config.py

Issue 1350363002: Make use of md5_check within write_build_config.py (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@md5-check-3
Patch Set: fix empty libs Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/gyp/write_build_config.py
diff --git a/build/android/gyp/write_build_config.py b/build/android/gyp/write_build_config.py
index 3773e98bc70beeb6c154774c395a31999a85b009..340d23f15f8cdc5873baf3f22d8c6210fa515e29 100755
--- a/build/android/gyp/write_build_config.py
+++ b/build/android/gyp/write_build_config.py
@@ -32,6 +32,7 @@ import sys
import xml.dom.minidom
from util import build_utils
+from util import md5_check
import write_ordered_libraries
@@ -323,27 +324,40 @@ def main(argv):
manifest.CheckInstrumentation(manifest.GetPackageName())
library_paths = []
- java_libraries_list = []
- if options.native_libs:
- libraries = build_utils.ParseGypList(options.native_libs)
- if libraries:
+ java_libraries_list_holder = [None]
+ libraries = build_utils.ParseGypList(options.native_libs or '[]')
+ if libraries:
+ def recompute_ordered_libraries():
libraries_dir = os.path.dirname(libraries[0])
write_ordered_libraries.SetReadelfPath(options.readelf_path)
write_ordered_libraries.SetLibraryDirs([libraries_dir])
- all_native_library_deps = (
+ all_deps = (
write_ordered_libraries.GetSortedTransitiveDependenciesForBinaries(
libraries))
# Create a java literal array with the "base" library names:
# e.g. libfoo.so -> foo
- java_libraries_list = '{%s}' % ','.join(
- ['"%s"' % s[3:-3] for s in all_native_library_deps])
- library_paths = map(
- write_ordered_libraries.FullLibraryPath, all_native_library_deps)
-
- config['native'] = {
- 'libraries': library_paths,
- 'java_libraries_list': java_libraries_list
- }
+ java_libraries_list_holder[0] = ('{%s}' % ','.join(
+ ['"%s"' % s[3:-3] for s in all_deps]))
+ library_paths.extend(
+ write_ordered_libraries.FullLibraryPath(x) for x in all_deps)
+
+ # This step takes about 600ms on a z620 for chrome_apk, so it's worth
+ # caching.
+ md5_check.CallAndRecordIfStale(
+ recompute_ordered_libraries,
+ record_path=options.build_config + '.nativelibs.md5.stamp',
+ input_paths=libraries,
+ output_paths=[options.build_config])
+ if not library_paths:
+ prev_config = build_utils.ReadJson(options.build_config)
+ java_libraries_list_holder[0] = (
+ prev_config['native']['java_libraries_list'])
+ library_paths.extend(prev_config['native']['libraries'])
+
+ config['native'] = {
+ 'libraries': library_paths,
+ 'java_libraries_list': java_libraries_list_holder[0],
+ }
build_utils.WriteJson(config, options.build_config, only_if_changed=True)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698