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

Unified Diff: platform_tools/android/bin/android_framework_gyp.py

Issue 140503007: Scripts to generate Android.mk for framework Skia. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Respond to comments in patch set 3. Created 6 years, 11 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
Index: platform_tools/android/bin/android_framework_gyp.py
diff --git a/platform_tools/android/bin/android_framework_gyp.py b/platform_tools/android/bin/android_framework_gyp.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac1d598efa67265dd0de77edec6951c517d9d6ac
--- /dev/null
+++ b/platform_tools/android/bin/android_framework_gyp.py
@@ -0,0 +1,61 @@
+#!/usr/bin/python
djsollen 2014/01/22 21:02:44 not sure I'm the best person to review python. Can
scroggo 2014/01/22 23:52:41 Adding elliot, who has been looking at https://cod
+
+# Copyright 2014 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+Modified version of gyp_skia, used by gyp_to_android.py to generate Android.mk
+"""
+
+import os
+import sys
+
+script_dir = os.path.dirname(__file__)
+
+# Unlike gyp_skia, this file is nested deep inside Skia. Move to Skia trunk.
+# This line depends on the fact that the script is three levels deep
+# (specifically, it is in platform_tools/android/bin).
+skia_dir = os.path.normpath(os.path.join(script_dir, os.pardir, os.pardir,
+ os.pardir))
+dir_contents = os.listdir(skia_dir)
+assert 'third_party' in dir_contents and 'gyp' in dir_contents
+
+# Directory within which we can find the gyp source.
+gyp_source_dir = os.path.join(skia_dir, 'third_party', 'externals', 'gyp')
+
+# Directory within which we can find most of Skia's gyp configuration files.
+gyp_config_dir = os.path.join(skia_dir, 'gyp')
+
+# Ensure we import our current gyp source's module, not any version
+# pre-installed in your PYTHONPATH.
+sys.path.insert(0, os.path.join(gyp_source_dir, 'pylib'))
+
+import gyp
+
+def main(skia_arch_type, have_neon):
+ # Set GYP_DEFINES for building for the android framework.
+ gyp_defines = ('skia_android_framework=1 OS=android skia_arch_type=%s '
+ % skia_arch_type)
+ if skia_arch_type == 'arm':
+ # Always use thumb and version 7 for arm
+ gyp_defines = gyp_defines + 'arm_thumb=1 arm_version=7 '
+ if have_neon:
+ gyp_defines = gyp_defines + 'arm_neon=1 '
+ else:
+ gyp_defines = gyp_defines + 'arm_neon=0 '
+
+ os.environ['GYP_DEFINES'] = gyp_defines
+
+ args = []
+ args.extend(['--depth', '.'])
+ # Use the android_framework_lib file instead of skia.gyp
+ args.extend([os.path.join(gyp_config_dir, 'android_framework_lib.gyp')])
+ # Common conditions
+ args.extend(['-I', 'gyp/common.gypi'])
+ # Use the debugging format. We'll use these to create one master make file.
+ args.extend(['-f', 'gypd'])
+
+ # Off we go...
+ return gyp.main(args)

Powered by Google App Engine
This is Rietveld 408576698