Specify the name of tool for creating a makefile.
authorscroggo <scroggo@google.com>
Tue, 1 Jul 2014 15:02:30 +0000 (08:02 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 1 Jul 2014 15:02:30 +0000 (08:02 -0700)
When generating tool Android.mks from gyp files, specify the name
of the target needed.

This fixes a bug where nanobench was being added to the same
makefile as bench, which would not compile.

TODO: Make gyp_to_android more general, so that it handles this
case better. See http://skbug.com/2709

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/366653002

platform_tools/android/bin/gyp_to_android.py
platform_tools/android/gyp_gen/tool_makefile_writer.py

index 4015c38..0719543 100755 (executable)
@@ -137,7 +137,8 @@ def main(target_dir=None, require_sk_user_config=False):
                                        dest_dir='tests',
                                        skia_lib_var_dict=common,
                                        local_module_name='skia_test',
-                                       local_module_tags=['tests'])
+                                       local_module_tags=['tests'],
+                                       desired_targets=['tests'])
 
     tool_makefile_writer.generate_tool(gyp_dir=tmp_folder,
                                        target_file='bench.gyp',
@@ -146,6 +147,7 @@ def main(target_dir=None, require_sk_user_config=False):
                                        skia_lib_var_dict=common,
                                        local_module_name='skia_bench',
                                        local_module_tags=['tests'],
+                                       desired_targets=['bench'],
                                        place_in_local_tmp=True)
 
     tool_makefile_writer.generate_tool(gyp_dir=tmp_folder,
@@ -154,7 +156,8 @@ def main(target_dir=None, require_sk_user_config=False):
                                        dest_dir='gm',
                                        skia_lib_var_dict=common,
                                        local_module_name='skia_gm',
-                                       local_module_tags=['tests'])
+                                       local_module_tags=['tests'],
+                                       desired_targets=['gm'])
 
     tool_makefile_writer.generate_tool(gyp_dir=tmp_folder,
                                        target_file='dm.gyp',
@@ -162,7 +165,8 @@ def main(target_dir=None, require_sk_user_config=False):
                                        dest_dir='dm',
                                        skia_lib_var_dict=common,
                                        local_module_name='skia_dm',
-                                       local_module_tags=['tests'])
+                                       local_module_tags=['tests'],
+                                       desired_targets=['dm'])
 
     # Now that the defines have been written to SkUserConfig and they've been
     # used to skip adding them to the tools makefiles, they are not needed in
index ac2a758..5579b86 100644 (file)
@@ -45,6 +45,7 @@ def write_tool_android_mk(target_dir, var_dict, place_in_local_tmp):
 
 def generate_tool(gyp_dir, target_file, skia_trunk, dest_dir,
                   skia_lib_var_dict, local_module_name, local_module_tags,
+                  desired_targets,
                   place_in_local_tmp=False):
   """Common steps for building one of the skia tools.
 
@@ -62,6 +63,7 @@ def generate_tool(gyp_dir, target_file, skia_trunk, dest_dir,
       ensure we do not duplicate anything in this Android.mk.
     local_module_name: Name for this tool, to set as LOCAL_MODULE.
     local_module_tags: Tags to pass to LOCAL_MODULE_TAG.
+    desired_targets: List of targets to parse.
     place_in_local_tmp: If True, the executable will be synced to
       /data/local/tmp.
   """
@@ -75,7 +77,7 @@ def generate_tool(gyp_dir, target_file, skia_trunk, dest_dir,
   # Add known targets from skia_lib, so we do not reparse them.
   var_dict.KNOWN_TARGETS.set(skia_lib_var_dict.KNOWN_TARGETS)
 
-  gypd_parser.parse_gypd(var_dict, result_file, dest_dir)
+  gypd_parser.parse_gypd(var_dict, result_file, dest_dir, desired_targets)
 
   android_framework_gyp.clean_gypd_files(gyp_dir)