| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright 2014 Google Inc. | 3 # Copyright 2014 Google Inc. |
| 4 # | 4 # |
| 5 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
| 6 # found in the LICENSE file. | 6 # found in the LICENSE file. |
| 7 | 7 |
| 8 """Code for generating Android.mk for a tool.""" | 8 """Code for generating Android.mk for a tool.""" |
| 9 | 9 |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 | 38 |
| 39 if place_in_local_tmp: | 39 if place_in_local_tmp: |
| 40 f.write('LOCAL_MODULE_PATH := $(local_target_dir)\n') | 40 f.write('LOCAL_MODULE_PATH := $(local_target_dir)\n') |
| 41 | 41 |
| 42 makefile_writer.write_include_stlport(f) | 42 makefile_writer.write_include_stlport(f) |
| 43 f.write('include $(BUILD_EXECUTABLE)\n') | 43 f.write('include $(BUILD_EXECUTABLE)\n') |
| 44 | 44 |
| 45 | 45 |
| 46 def generate_tool(gyp_dir, target_file, skia_trunk, dest_dir, | 46 def generate_tool(gyp_dir, target_file, skia_trunk, dest_dir, |
| 47 skia_lib_var_dict, local_module_name, local_module_tags, | 47 skia_lib_var_dict, local_module_name, local_module_tags, |
| 48 desired_targets, |
| 48 place_in_local_tmp=False): | 49 place_in_local_tmp=False): |
| 49 """Common steps for building one of the skia tools. | 50 """Common steps for building one of the skia tools. |
| 50 | 51 |
| 51 Parse a gyp file and create an Android.mk for this tool. | 52 Parse a gyp file and create an Android.mk for this tool. |
| 52 | 53 |
| 53 Args: | 54 Args: |
| 54 gyp_dir: Directory containing gyp files. | 55 gyp_dir: Directory containing gyp files. |
| 55 target_file: gyp file for the project to be built, contained in gyp_dir. | 56 target_file: gyp file for the project to be built, contained in gyp_dir. |
| 56 skia_trunk: Trunk of Skia, used for determining the destination to write | 57 skia_trunk: Trunk of Skia, used for determining the destination to write |
| 57 'Android.mk'. | 58 'Android.mk'. |
| 58 dest_dir: Destination for 'Android.mk', relative to skia_trunk. Used for | 59 dest_dir: Destination for 'Android.mk', relative to skia_trunk. Used for |
| 59 both writing relative paths in the makefile and for determining the | 60 both writing relative paths in the makefile and for determining the |
| 60 destination to write the it. | 61 destination to write the it. |
| 61 skia_lib_var_dict: VarsDict representing libskia. Used as a reference to | 62 skia_lib_var_dict: VarsDict representing libskia. Used as a reference to |
| 62 ensure we do not duplicate anything in this Android.mk. | 63 ensure we do not duplicate anything in this Android.mk. |
| 63 local_module_name: Name for this tool, to set as LOCAL_MODULE. | 64 local_module_name: Name for this tool, to set as LOCAL_MODULE. |
| 64 local_module_tags: Tags to pass to LOCAL_MODULE_TAG. | 65 local_module_tags: Tags to pass to LOCAL_MODULE_TAG. |
| 66 desired_targets: List of targets to parse. |
| 65 place_in_local_tmp: If True, the executable will be synced to | 67 place_in_local_tmp: If True, the executable will be synced to |
| 66 /data/local/tmp. | 68 /data/local/tmp. |
| 67 """ | 69 """ |
| 68 result_file = android_framework_gyp.main(target_dir=gyp_dir, | 70 result_file = android_framework_gyp.main(target_dir=gyp_dir, |
| 69 target_file=target_file, | 71 target_file=target_file, |
| 70 skia_arch_type='other', | 72 skia_arch_type='other', |
| 71 have_neon=False) | 73 have_neon=False) |
| 72 | 74 |
| 73 var_dict = vars_dict_lib.VarsDict() | 75 var_dict = vars_dict_lib.VarsDict() |
| 74 | 76 |
| 75 # Add known targets from skia_lib, so we do not reparse them. | 77 # Add known targets from skia_lib, so we do not reparse them. |
| 76 var_dict.KNOWN_TARGETS.set(skia_lib_var_dict.KNOWN_TARGETS) | 78 var_dict.KNOWN_TARGETS.set(skia_lib_var_dict.KNOWN_TARGETS) |
| 77 | 79 |
| 78 gypd_parser.parse_gypd(var_dict, result_file, dest_dir) | 80 gypd_parser.parse_gypd(var_dict, result_file, dest_dir, desired_targets) |
| 79 | 81 |
| 80 android_framework_gyp.clean_gypd_files(gyp_dir) | 82 android_framework_gyp.clean_gypd_files(gyp_dir) |
| 81 | 83 |
| 82 var_dict.LOCAL_MODULE.add(local_module_name) | 84 var_dict.LOCAL_MODULE.add(local_module_name) |
| 83 for tag in local_module_tags: | 85 for tag in local_module_tags: |
| 84 var_dict.LOCAL_MODULE_TAGS.add(tag) | 86 var_dict.LOCAL_MODULE_TAGS.add(tag) |
| 85 | 87 |
| 86 # No need for defines that are already in skia_lib. | 88 # No need for defines that are already in skia_lib. |
| 87 for define in skia_lib_var_dict.DEFINES: | 89 for define in skia_lib_var_dict.DEFINES: |
| 88 try: | 90 try: |
| 89 var_dict.DEFINES.remove(define) | 91 var_dict.DEFINES.remove(define) |
| 90 except ValueError: | 92 except ValueError: |
| 91 # Okay if the define was not part of the parse for our tool. | 93 # Okay if the define was not part of the parse for our tool. |
| 92 pass | 94 pass |
| 93 | 95 |
| 94 if skia_trunk: | 96 if skia_trunk: |
| 95 full_dest = os.path.join(skia_trunk, dest_dir) | 97 full_dest = os.path.join(skia_trunk, dest_dir) |
| 96 else: | 98 else: |
| 97 full_dest = dest_dir | 99 full_dest = dest_dir |
| 98 | 100 |
| 99 # If the path does not exist, create it. This will happen during testing, | 101 # If the path does not exist, create it. This will happen during testing, |
| 100 # where there is no subdirectory for each tool (just a temporary folder). | 102 # where there is no subdirectory for each tool (just a temporary folder). |
| 101 if not os.path.exists(full_dest): | 103 if not os.path.exists(full_dest): |
| 102 os.mkdir(full_dest) | 104 os.mkdir(full_dest) |
| 103 | 105 |
| 104 write_tool_android_mk(target_dir=full_dest, var_dict=var_dict, | 106 write_tool_android_mk(target_dir=full_dest, var_dict=var_dict, |
| 105 place_in_local_tmp=place_in_local_tmp) | 107 place_in_local_tmp=place_in_local_tmp) |
| OLD | NEW |