# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Rule to extract integer values for each symbol from an object file. # The output file name is the input file name with extension replaced with # asm or h. # The following gyp variables must be set before including this gypi: # output_format, the output format of integer value. # output_dir, the full path where the output file should be created. # # For example: # # 'sources': ['a.o', 'b.o'], # 'variables': { # 'output_format': 'cheader', # 'output_dir': 'output', # }, # 'includes': ['obj_int_extract.gypi'], # # This extracts the symbol from a.o and b.o, and outputs them to a.h and b.h # in output directory. { 'variables': { 'conditions': [ ['os_posix==1', { 'asm_obj_extension': 'o', }], ['OS=="win"', { 'asm_obj_extension': 'obj', }], ['output_format=="cheader"', { 'output_extension': 'h', }, { 'output_extension': 'asm', }], ], }, 'rules': [ { 'rule_name': 'obj_int_extract', 'extension': '<(asm_obj_extension)', 'inputs': [ '<(PRODUCT_DIR)/libvpx_obj_int_extract', 'obj_int_extract.py', ], 'outputs': [ '<(output_dir)/<(RULE_INPUT_ROOT).<(output_extension)', ], 'action': [ 'python', '<(DEPTH)/third_party/libvpx/obj_int_extract.py', '-e', '<(PRODUCT_DIR)/libvpx_obj_int_extract', '-f', '<(output_format)', '-b', '<(RULE_INPUT_PATH)', '-o', '<(output_dir)/<(RULE_INPUT_ROOT).<(output_extension)', ], 'message': 'Generate assembly offsets <(RULE_INPUT_PATH)', }, ], }